전체 글(113)
-
리눅스에서 빈번하게 마주치는 권한 문제(Permission Denied)
Permission Denied 에러 마주치는 경우- 무지성으로 sudo 를 붙이게 되면, 에러를 디버깅할 때 어느 순간 발목이 붙잡히게 된다.- 그러니 에러 원인과 해결방법을 알아야 한다. 사용자(user), 슈퍼 사용자(super user)란?✅ 컴퓨터에 생성되어 있는 모든 사용자 계정 조회하기$ cat /etc/passwd ✅ 리눅스에서의 사용자 유형리눅스에서 사용자 유형은 크게 3가지 종류로 나뉜다.- 슈퍼 사용자 (관리자) : 시스템의 모든 권한을 가진 계정어떠한 제한도 없이 모든 명령어를 실행시킬 수 있으며 모든 파일을 조작할 수 있다.(안전을 위헤, 평소에는 일반사용자 계정을 사용하는 것을 추천한다.)일반적으로 root 계정이 슈퍼 사용자로 설정되어 있다.- 일반 사용자권한이 허용된 명령어만..
2025.09.08 -
파일을 작성/조회할 때 자주 사용하는 명령어
리눅스에서 가장 많이 사용하는 텍스트 에디터 (vim)- vscode, intellij 등 여러가지가 있지만, 리눅스에서는 vim을 쓴다.- 리눅스 환경에서는 리눅스 환경에 최적화된 텍스트 에디터를 주로 사용한다.vim = vinanoemacs등등vim 에디터 기본 사용법 - 1- vi app.txt: 파일이 없다면 생성, 있다면 조회를 하게 된다.- 파일 수정할 때, i를 눌러 insert모드로 들어간다.- 파일 수정을 다했을 땐, esc를 통해 command모드로 들어간다.- :wq를 누르면 수정한대로 수정이 되어 저장된다.- :q를 누르면 수정이 되지 않고 저장된다. vim 에디터 기본 사용법 - 2- No write sice last change (add ! to override) => :q!로 ..
2025.09.06 -
Hello World
개발 환경 설정- 자바로 개발하는 대부분의 메이저 회사들도 최근에는 인텔리제이를 주로 사용하므로 우리도 인텔리제이로 학습 자바 프로그램 실행public class HelloJava { public static void main(String[] args){ System.out.println("Hello Java"); }}- HelloJava를 클래스라고 한다.- main 메서드, 자바는 main(String[] args) 메서드를 찾아서 프로그램을 시작한다.- System.out.println(): 값을 콘솔에 출력하는 기능이다.- 문장이 끝날 때 ';' 은 필수이다.- 들여쓰기 tap으로 한다. => 가독성을 위함이다. 주석- 한 줄 주석: //- 여러 줄 ..
2025.09.06 -
필수로 꼭 알아야 하는 기본 명령어
리눅스에서의 파일(file), 디렉터리(directory)의 의미- 리눅스에서의 디렉터리는 윈도우의 폴더와 같다.- 리눅스에서는 모든 것을 파일이라고 부른다.일반 파일 : 텍스트, 동영상 파일 등디렉터리 파일 : 윈도우에서의 폴더와 같은 개념(심볼릭 링크 파일, 디바이스 파일, 소켓 파일 등등)폴더 이동하면서 파일 둘러보기 / 리눅스의 기본 폴더 구조 (pwd, cd, ls)✅ 현재 디렉터리 경로 조회 (pwd)- 현재 디렉터리 경로를 조회하여 출력해준다. ✅ 디렉터리 이동 (cd)- cd 뒤에 파일명을 입력하면 그 파일 위치로 이동한다.- $ cd /var/log/apt # /var/log/apt라는 곳으로 경로 이동- $ cd .. # 현재 디렉터리 경로에서 상위 디렉터리(..)로 이동 ✅ 리눅스의 ..
2025.09.05 -
리눅스 기본 개념 / 리눅스 실습 환경 구축
리눅스(Linux)란?- 윈도우와 맥과 같은 운영체제의 한 종류이다.- 리눅스 토발즈가 개발한 유닉스 계열의 오픈 소스 운영 체제이다.다양한 리눅스의 종류 / 리눅스 배포판- 다양한 목적에 따라서 리눅스의 종류가 다양한데, 이를 리눅스 배포판이라고도 부른다.- 가장 많이 쓰이는 리눅스는 우분투(Ubuntu)이다.리눅스 환경 구축하는 방법 (feat. AWS EC2)- 최근에는 Virtual Box보다 AWS EC2를 이용하여 리눅스 환경을 구축한다.- AWS의 프리티어 기능들로 구현해보자.터미널(Terminal)이란 ?- 명령어를 통해서 컴퓨터를 제어할 수 있는 창- [Windows의 Powershell], [Mac의 Terminal], WSL2, Git Bash, CMD 등 리눅스를 실행시키자마자 뜨는..
2025.09.02 -
DB 설계 Q&A
정규화를 하면 성능이 떨어진다던데요 ?✅ 정규화를 하면 성능이 떨어진다던데요 ?특정 회사의 데이터베이스를 까보면 정규화가 안 되어 있는 설계를 종종 만난다. 그래서 DB 설계를 하신 분한테 왜 정규화를 적용시키지 않았냐고 물어보면 대부분 아래와 같이 답변한다.정규화를 지키면 테이블 개수가 많아져서 관리가 불편해요.→ 데이터 중복으로 인해 발생하는 단점들이 훨씬 크고 관리하기가 더 어렵다.정규화로 테이블을 나누면 조회할 때 JOIN을 해야 해서 쿼리가 복잡해져요.→ 이렇게 얘기하는 사람 치고 SQL문 잘 작성하는 사람 못봤다. 자신이 JOIN 문이 어려우니까 쿼리가 복잡하다고 얘기하는 것이다. SQL문에서 JOIN문은 기본적인 문법 중 하나다.JOIN을 많이 하면 할수록 성능이 안 좋아져서 정규화를 안 했..
2025.08.27