리눅스란?리눅스(Linux)는 컴퓨터 운영 체제 중 하나로, 개발자 리누스 토발즈(Linus Torvalds)에 의해 개발.유닉스(Unix)와 호환되는 운영 체제로서, 안정성과 보안성이 높음.다양한 하드웨어 플랫폼에서 동작하며, 서버, 데스크톱, 임베디드 시스템 등 다양한 용도로 활용.오픈 소스소스 코드가 공개되어 있어 누구나 자유롭게 사용하고 수정 가능. 안정성리눅스는 안정성이 높고 시스템이 멈추는 현상이 적음.보안성리눅스는 보안이 강화된 운영 체제로 알려져 있음.다양한 용도서버 운영체제로 널리 사용되지만, 데스크톱 환경부터 모바일 기기, 임베디드 시스템까지 다양한 용도로 활용.설치더 상세한 설치 과정은 해당 게시글에서 참조하면 된다VirtualBox를 설치를 먼저 하도록한다. 설치 시에 자신의 운영체..
이전 게시글에서는 dynamic 프로젝트로 생성해 spring프로젝트로 생성하긴 하였지만 편의성을 위해 mvc spring설정으로 다시 생성해줬다. 그래서 거기에 대한 기본설정에 있는 pom.xml을 사용하고 추가적으로 필요한 설정을 추가해나가겠다.설정한 pom.xml파일은 아래의 형태이다. 4.0.0 com.coin mabi macoin war 1.0.0-BUILD-SNAPSHOT 1.8 5.2.5.RELEASE 1.6.10 1.6.6 org.springframework spring-context ${org.springframework-version} commons-logging commons-logging ..
이번에는 내가 사용해보고 싶은 페이지를 만들고 싶어 개인 프로젝트를 시작하게 되었다.그러면서 좀 더 꼼꼼히 그 과정을 기록해보고자 한다. 이전엔 수업을 따라 설정을 진행하였다면 이번엔 직접 설정해보면서 이 설정이 어떤식으로 사용되는지 공부해볼 것이다.스프링 프로젝트를 MVC패턴으로 만드는 방법은 2가지가 있다.Dynamic Web Project에서 Spring 구조 파일을 직접 만드는 방법STS에서 제공하는 Spring Legacy Project의 Spring MVC Project를 사용하는 방법각 프로젝트의 차이점은 다른 블로그 내용에서 확인할 수 있다.2번째 방법은 이미 수업 시에 사용해봤기 때문에 한번 1번 방법으로 만들어보게 되었다.next를 쭉 넘겨서 web.xml도 추가하였다. 완료를 누르면 ..
SPRING객체를 관리할 수 있는 컨테이너를 제공공통적으로 사용하는 객체를 같이 쓸 수 있도록 컨테이너를 통해 관리함컨테이너로 자바 객체를 관리하여 의존성 주입과 제어의 역전을 통해 결합도를 낮추게 됩니다. 의존성 주입(DI; Dependency Injection)컨테이너가 의존 관계를 자동으로 연결객체간의 의존관계를 미리 설정해두면 스프링 컨테이너가 의존관계를 자동으로 연결직접 의존하는 객체를 생성하거나 검색해서 가져올 필요없어서 결합도가 낮아지는 장점이 존재제어의 역전(IoC; Inversion of Control)제어권이 사용자에게 있지 않고 프레임워크에 존재필요에 따라서 사용자의 코드를 호출하게 됨스프링에서는 인스턴스의 생성부터 소멸까지 개발자가 아닌 컨테이너에서 대신 관리ORM(Object Re..
자바 애플리케이션 실행 과정컴파일러가 자바 소스를 바이트 코드로 변환Class Loader가 바이트 코드를 런타임 데이터 영역에 로드로딩된 바이트 코드가 실행 엔진에 의해 실행자바 메모리 구조공통Method Area클래스 별로 전역변수, 정적 변수, 메소드 정보들이 저장Heap Area런타임중에 생성되는 객체들이 동적으로 할당스레드 별JVM Stack Area호출된 메소드의 매개변수, 지역변수, 리턴정보들이 저장PC Register현재 수행중인 JVM 명령어Native Method Stack자바 외의 언어인 C나 C++같은 것들을 수행하기 위한 영역가비지 컬렉션JVM에서 메모리 관리해주는 모듈잠깐 멈춘 다음에 참조되지 않는 객체를 삭제 > Mark and Sweep객체지향 프로그래밍현실 세계의 사물같은 ..
데이터베이스와 DBMSDBMS데이터베이스 내 데이터에 접근하도록 도와주는 시스템크게 질의처리기와 저장 시스템으로 이루어짐MySQL, Oracle데이터 베이스 VS 파일 시스템엔티티와 스키마트랜잭션과 ACID데이터의 무결성과 일관성을 위해 지켜야함A : 원자성모두 되거나 되지 않는것C : 일관성일관적인 DB상태를 유지I : 격리성다른 트랜잭션의 작업이 끼어들지 못함D : 지속성성공적으로 수행된 트랜잭션 영원히 반영되는 것 RDBMS와 SQLSQL효율적 쿠데이터베이스 설계파티셔닝테이블을 컬럼 단위로 나누어 관리하는 기법update나 insert같은 작업이 분산되어 성능이 향상테이블 간 join 비용이 증가index를 별도로 파티셔닝 할 수 없다는 단점을 가지고있음샤딩테이블을 row단위로 분산하여 저장하는 방..