-
URL and URINetwork/Basics 2019. 4. 6. 15:31
■URI ( Uniform Resource Identifier )- 인터넷 상의 자원을 식별하기 위한 문자열의 구성- URL(Uniform Resource Locator)와 URN(Uniform Resource Name) 을 포함 ■URL ( Uniform Resource Locator )- URI의 한 형태로, 인터넷 상의 자원 위치- 인터넷 상의 자원의 위치와 식별자. - 실제의 네트웍 경로를 가리키며, 네트웍 상의 리소스 접근시에 사용- 언뜻 보면 같은 것을 의미하는 듯 하다. 하지만 '자원의 위치'라는 것은 결국은 '하나의 파일 위치'를 나타내는 것- URL의 첫 번째 부분은 다음과 같은 프로토콜을 명시하는데, 대부분의 경우 http이며,가끔은 ftp 혹은 mailto이며, 드물게 gopher, ..
-
트랜잭션Database/Basics 2019. 4. 6. 15:25
■트랜잭션이란?? - db 내에서 한꺼번에 수행되어야 할 연산들의 작업 단위 ■트랜잭션의 특징- 트랜잭션 내의 모든 연산은 반드시 한꺼번에 완료가 되어야 하며그렇지 않은 경우에는 한꺼번에 취소되어야 하는 원자성을 가져야 한다.- 모두 정상적으로 완료가 된 경우 -> COMMIT(작업결과는 데이터베이스에 반영)- 하나라도 비정상적으로 종료된 경우 -> ROLLBACK(작업결과는 모두 취소, 데이터베이스에 반영x) ■트랜잭션의 성질- 원자성(Atomicity)분리 할수 없는 하나의 단위로 작업은 모두 완료되거나 모두 취소 되어야 한다.- 일관성(Consistency)사용되는 모든 데이터는 일관되어야 한다.- 격리성(Isolation)접근하고 있는 데이터는 다른 트랜잭션으로 부터 격리 되어야 한다.트랜잭션이 ..
-
네트워크의 지도, OSI 7 계층Network/Basics 2019. 4. 6. 15:24
■ 개요- Open System Interconnection의 약자- 네트워크 작업 과정 중 서로 다른 시스템간의 원활한 통신을 위한 규칙,규약(인터페이스)- 모델 구성 : L1물리계층 ~ L7응용계층- 이렇게 역할을 나누어 계층간 결합도를 낮추면 - 다른 계층과의 의존성이 낮아져 작업에 용이!- 네트워크 작업의 지도! 내가 어디를 작업하고 있는지 확인가능. 디버깅 용이! ■ L7 응용계층- 일반적인 응용 소프트웨어들이 사용하는 계층으로, 인터넷 소프트웨어 개발자로서는 가장 많이 신경쓰는 계층- ex) 프로젝트 상에서 비지니스 로직 작성- 프로토콜 종류 : HTTP/HTTPS , FTP , SMTP(메일보낼 때) , POP3(메일 받을 때) , IMAP , Telnet(원격접속프로토콜) , DNS(IP..
-
IOC (DI)Java/Spring 2019. 4. 6. 15:17
■IoC/DI의 실생활 비유- 전자제품을 살 때, 우리는 플러그에 대해서 신경쓰지 않고 구매한다.(IOC)- 왜냐하면 우리나라에서는 220v 형태의 플러그로 만들도록 암묵적인(?) 규칙이 정해져 있기 때문이다.(인터페이스)- 그래서 전자제품 회사들도 제품을 만들 때, 220v 형태로 만드는 규칙(인터페이스)만 잘 따르면제품을 어떻게 만들든 사람들이 사용하도록 만들 수 있다!(DI) ■스프링에서 IOC/DI를 사용하게 된 이유- ejb 때문에 희미해져버린 객체지향을 다시 살려보자! 하면서IOC/DI같은 객체지향 기법을 도입함~(+IOC/DI가 스프링 고유의 기법은 아니라는걸 알수있다 ㅎㅎ)- 사실 스프링은 IOC, DI, AOP 같은 기존의 객체지향 기법들을 더욱 잘 쓰게 해주는 중재자(?)라고 할 수 있..
-
스프링이란Java/Spring 2019. 4. 6. 15:16
■스프링의 역사 - 자바 엔터프라이즈(기업) 개발에 사용되는 애플리케이션 프레임워크 (프레임워크vs라이브러리)- 기원은 로드 존슨의 J2EE에 관한 서적에 딸린 예제코드- 책의 내용에 매료된 몇몇 개발자들이 로드 존슨을 꼬셔서(?) 정식 프레임워크로 만들기로 함.그것이 바로 스.프.링!- 스프링은 ejb의 한계로 인해 등장했으므로 ejb와의 비교를 통해 스프링에 대해 깊은 이해를 할 수 있음! ■스프링은 경량급이다!- 코드에 불필요하게 등장하던 프레임워크와 서버환경에 의존적인 부분을 제거해줌- 이전 자바 웹프레임워크인 ejb는 기술에 대한 과도한 욕심으로 매우 무겁고 복잡했었음 (ex 고급 was를 사용해야 하는 것 등)- 예를들어- 톰캣,제티같은 경량급(?) was에서도 개발 가능! - ejb에서의..
-
프레임워크vs라이브러리Java/Spring 2019. 4. 6. 15:13
■Framework(프레임워크)- 뼈대나 기반구조를 뜻하고, 제어의 역전 개념이 적용된 대표적인 기술- 소프트웨어에서의 프레임워크는 '소프트웨어의 특정 문제를 해결하기 위해서 상호 협력하는 클래스와 인터페이스의 집합' - 완성된 어플리케이션이 아닌 프로그래머가 완성시키는 작업을 필요로 한다! ■Library(라이브러리)- 라이브러리는 단순 활용가능한 도구들의 집합- 개발자가 만든 클래스에서 호출하여 사용- 그 자체로 완성된 상품(?) ■Framework vs Library- 제어 흐름에 대한 주도성이 누구에게/어디에 있는가에 있음- 프레임워크는 전체적인 흐름을 스스로가 쥐고 있으며 사용자는 그 안에서 필요한 코드를 짜 넣는다- 반면에 라이브러리는 사용자가 전체적인 흐름을 만들며 라이브러리를 가져다 씀-..
-
REST APINetwork/Http 2019. 4. 6. 15:10
■REST API의 의미REST(REpresentational State Transfer) '대표적인 상태 전달' REST란, "웹에 존재하는 모든 자원(이미지, 동영상, DB 자원)에 고유한 URI를 부여해 활용"하는 것 자원을 정의하고 자원에 대한 주소를 지정하는 방법론을 의미 따라서 Restful API는 REST 특징을 지키면서 API를 제공하는 것 ■REST API의 예시 http://uniesta.com/news/view.do?ncd=3421128 이 URI는 Non RESTful URI로, 어떤 자원(resource)인지 쉽게 파악할 수 없다. http://uniesta.com/boards/1/posts/406 이 URL는 RESTful URI로, 요청하는 자원(resource)이 게시판들 ..
-
inner join vs outer joinDatabase/Basics 2019. 4. 6. 14:31
■조인(join)- 2개 이상의 테이블들을 공통된 조건으로 데이터를 합쳐 표현!- inner join과 outer join이 있다 ■inner join- 두 테이블간의 조인 조건을 만족하는 row'만' 리턴 - 예제 1)select m.mem_no,o.order_no,p.prd_nofrom member m,order o,product pwhere 1=1and m.mem_no=o.mem_noand o.prd_no=p.prd_noand m.mem_no like '1%'- 예제 2) select m.mem_no,o.order_no,p.prd_nofrom member mjoin order oon m.mem_no=o.mem_nojoin product pon o.prd_no=p.prd_nowhere 1=1and m..