전체 글

Linux/Ubuntu

파일, 디렉터리의 소유권과 허가권

소유권과 허가권 리눅스는 각각의 파일과 디렉터리마다 소유권과 허가권이라는 속성이 있다. 소유권이란 파일/디렉터리를 소유한 사용자와 그룹을 말한다. 또한 허가권이란 사용자 유형 별로 파일을 r(read), w(write), x(execute) 할 수 있는 권한을 말한다. 파일의 모든 속성은 아래와 같이 나타난다. 파일 유형 : 파일이 어떤 유형인지 나타낸다. 파일 허가권 : 사용자 유형 별로 파일을 r(read), w(write), x(execute) 할 수 있는 권한을 말함. rw-, r--, r-- 3개씩 끊어서 인식하면 된다. 즉 rw-는 읽거나 쓸 수 있지만 실행할 수 없다는 의미이며 rwx는 읽기,쓰기,실행이 가능하다. 참고로 해당 디렉터리로 이동하려면 사용자는 반드시 실행(x) 권한이 있어야한다..

Linux/Ubuntu

Ubuntu 기본 명령어

Ubuntu 기본 명령어 우분투를 사용하기 위한 기본 명령어를 알아보자. ls : List의 약자로 해당 디렉터리(리눅스에서는 보통 폴더를 디렉터리라 칭함)의 파일 목록 나열 ls 현재 디렉터리의 파일 목록 ls /etc/systemd /etc/systemd 디렉터리의 파일 목록 ls -a 현재 디렉터리의 파일 목록(숨김 파일 포함) ls -l 현재 디렉터리의 파일 목록을 자세히 보여줌 ls *.conf 현재 디렉터리에서 확장자가 conf인 파일 목록을 보여줌 ls -l /etc/systemd/b* /etc/systemd 디렉터리에 있는 파일 목록 중 앞 글자가 ‘b’인것 의 목록을 자세히 보여줌 *참고 : 리눅스는 파일 이름이나 디렉터리 제일 앞 글자를 ‘.’으로 하면 자동으로 숨김 파일이 됨 cd :..

Infra/Cloud

AWS S3

S3 (Simple Storage Service) AWS S3란 AWS에서 제공하는 객체 스토리지 서비스이다. 설명에 의하면 최고 수준의 확장성, 데이터 가용성, 보안 및 성능을 제공한다고 한다. 분석 데이터, 로그 데이터, 앱 데이터, 비디오 및 그림 등의 데이터를 S3에 쉽게 저장할 수 있다. AWS S3에는 단순히 데이터를 저장하는 서비스다. 이와 다른 저장 서비스로 EBS(Block storage Service)가 있다. EBS에서는 하드와 같이 프로그램을 저장하고 프로그램을 구동시킬 수 있다. S3의 특징 저장 용량이 무한대이고, 파일 저장에 최적화되어 있다. S3 자체가 수천 대 이상의 매우 성능이 좋은 웹 서버로 구성되어 있어서 EC2와 EBS로 구축했을 때 처럼 Auto Scaling이나 ..

Computer Science/DataBase

Mysql 서브 쿼리

서브 쿼리 쿼리 내부에 포함된 select 쿼리를 서브 쿼리(Sub Query)라 부른다. select 쿼리에 들어가는 서브 쿼리 종류에는 인라인 뷰, 스칼라 서브쿼리, 중첩 서브쿼리가 있다. 이때 서브 쿼리를 포함한 select 쿼리를 메인 쿼리라 하며 서브 쿼리가 실행 된 후 메인 쿼리가 실행된다. 1. 인라인 뷰 from 절에 들어가는 서브 쿼리 서브 쿼리의 조회 결과를 테이블 처럼 사용할 때 씀 alias 지정 필수 select * from ( select l.common, l.col_l, r.col_r from table_l l left join table_r r #on table_l.common = table_r.common; using(common) union select r.common, ..

Computer Science/DataBase

MySQL Join

Join MySQL의 sql로 관계 대수의 자연 조인, 세타 조인, 외부 조인, 세미 조인, 카티션 곱 등이 가능하다. inner join 두 릴레이션에 있는 모든 튜플을 조회 한다. 조인을 할 때 주로 ANSI 조인 형태를 사용한다. ANSI 조인은 JOIN 키워드와 ON이 있기 때문에 쉽게 조인 조건을 알 수 있다. # ANSI 조인 형태 # 다른 sql에서도 범용적으로 사용 가능 # where 조건절과 join 조건이 분리되므로 가독성이 높음 select * from table_l [inner] join table_r on table_l.common = table_r.common; # 조인 속성이 동일 하다면 아래와 같이 쓸 수 있음 select * from table_l [inner] join t..

Spring/기타

Logger

Logging Logging이란 애플리케이션의 로그를 기록하는 작업을 말하며 Spring에서는 주로 SLF4J(Simple Logging Facade for Java)와 Logback, Log4j와 같은 로깅 라이브러리를 주로 사용해 로그를 기록한다. 단순히 화면에 정보를 출력하는 sysout보다는 더 많은 기능을 제공하는 로깅 라이브러리로 로그를 기록하는 것이 더 좋은 방법이다. 아래는 SLF4J로 로그를 기록하는 코드이다. import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.mysql.cj.log.Slf4JLogger; class LoggerTest { Logger lo..

Spring/Spring Legacy

MyBatis

MyBatis 자바 Object와 SQL을 맵핑하는 SQL Mapper이다. Object - SQL 사이의 parameter mapping, result mapping 작업을 자동으로 해준다. SQL을 별도의 파일(xml)로 분리해서 관리한다. 반복되는 JDBC 코드가 제거된다. MyBatis도 JDBC를 기반으로 동작한다. RDB에 종속적인 단점이 있지만 복잡한 쿼리도 쉽게 적용할 수 있기에 ORM Framework와 같이 사용되는 추세이다. JDBC 동작 방식 DataSource 객체(구현체) 준비 DB Connection (DataSource로부터 커넥션을 가져옴) SQL 작성, parameter mapping 실행 R.S Data Get (result Mapping) Close JDBC 코드를 작..

Spring/Spring Legacy

스프링 MVC 설정 파일, 동작 순서

설정 파일 Eclipse에서 Spring Legacy 프로젝트를 열면 3개의 설정 파일(xml)이 있다. web.xml 서블릿 컨테이너 설정 파일. 톰캣이 실행되면 web.xml을 통해 서블릿, 필터 등의 설정 수행 ex - 디스패처 서블릿 등록, post 요청 파라미터 인코딩을 수행하는 필터 등록 servlet-context.xml 웹, MVC 관련 빈 객체가 정의되는 스프링 설정 파일 (ex - 핸들러 어댑터, 뷰 리졸버, 컨트롤러) 해당 설정 파일에 정의된 빈 객체는 Spring Container에 생성됨 웹과 관련 있는 객체 component-scan 요청 맵핑 설정 위 설정은 InternalResourceViewResolver가 논리적 뷰 이름으로부터 물리 뷰 경로를 만들 때 사용되는 접두사(p..

gunjoon98
하루한방울