목록전체 글 (212)
개발자 끄적끄적
- 교착상태 발생이 허용되는 시스템 - 교착상태 예방/회피 알고리즘을 사용하지 않는 시스템 - 구성 방법 - 탐지 알고리즘(Detection algorithm) - 시스템을 검사해 교착상태 발생여부 결정 - 복구 기법(Recovery scheme) - 교착상태 상태로부터 회복 - 교착상태 탐지 알고리즘 - 대기 그래프(Wait-for graph) - 자원 할당 그래프의 변형 - 자원 유형의 노드 제거 후 적절한 간선들을 집합 - Pi -> Pj : Pi is waiting for Pj - 주기적으로 그래프 안에서 사이클 존재를 탐지하는 알고리즘 - 사이클이 존재하면 교착상태 발생 가능 - Available - 각 유형 당 가용 자..
- REST stands for REpresentational State Transfer - An architectural 'style' for developing web services - REST is a web standards based architecture and uses 'HTTP' Protocol for data communication - It revolves around 'resources' which are accessed by a common interface using HTTP standard methods ex) Client -> (URI, GET) http://weather.example.com/seoul -> Server(Resource(Seoul)) Server -> (..
- SOLID 원칙에 따라 좋은 소프트웨어를 만들 수 있다 - 이해하기 쉽다 - 변경 하기 용이(유지보수) - 새로운 기능에 대해 확장이 용이 - 로버트 마틴이 주창한 다섯 가지 설계원칙 - SRP(단일 책임 원칙, Single Responsibility Principle) - OCP(개방 폐쇄 원칙, Open Closed Principle) - LSP(리스코프의 대입 원칙, Liskov Substitution Principle) - ISP(인터페이스 분리 원칙, Interface Segregation Principle) - DIP(의존성 역전 원칙, Dependency Inversion Principle) => Design Pattern에 기반 - 단일 책임 원칙 즉,..
- 무엇을 공개하는 것인가? 소스코드를 공개한다는 의미 - 소스코드를 공개한다는 의미는 누구라도 사용할 수 있다는 의미를 내포 - Copyleft(카피레프트) - 독점적인 의미의 저작권에(카피라이트, copyright)에 반대되는 개념이며, 저작권을 포함한 지식재산권에 기반을 둔 사용 제한이 아니라 정보의 공유를 위한 조치이다 카피레프트를 주장하는 사람들은 보통, 지식과 정보는 소수에게 독점되어서는 안되며, 모든 사람에게 열려 있어야 한다고 주장 - 독점 소프트웨어 - 상용 소프트웨어 - 일반적으로 실행파일만 제공 - 역공학 금지 - 바이너리도 복제, 배포, 수정 불가 - 사용기간 제한 - OSS - 소스코드 제공 - 소스코드 사용, 복제, 수정, 재배포 허용 ..
- 시스템 측면에서 자원의 요구가 뒤엉킨 상태 - 한 스레드 집합 내의 모든 스레드가 그 집합 내의 다른 스레드에 의해서만 발생될 수 있는 사건을 서로 무한히 기다리는 상황 - 다중 프로그래밍 환경에서 - 둘 이상의 스레드가 - 서로 상대방의 작업을 끝나기만을 기다리기에 - 결과적으로 아무것도 하지 못하는 상태 - 병행 처리 기술과 자원 공유에 따른 일종의 부작용 - 교각을 자원에 비유 - 교착상태가 발생하면 한쪽의 차가 후진해야 해결될 수 있음 - 때로는 몇몇의 차가 모두 후진해야 할 수도 - 기아 상태가 가능 - 대부분의 OS에서 교착상태를 완전히 예방해주지는 못함 - 커널 내에서는 거의 발생하지 않음 - 매우 정교하게 작성되기 때문 - 멀티 스레드 app에서 주로..
1) JDBC : Low-Level Database Access 2) JAP : a technical specification that stands for Java Persistence API 3) Hibernate : implementations of JPA 4) Spring Data JPA : a module that makes it eaiser to use JPA - Java 진영에서 ORM(Object-Relational Mapping) 기술 표준으로 사용하는 인터페이스 모음 - 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스 - 인터페이스 이기 때문에 Hibernate, OpenJPA 등이 JPA를 구현함 - Only a specification - Defines a..
- 홈페이지에 인증(Authentication) 및 권한(Authorization)기능을 빠르게 부여해 인증 및 권한 보호 기능을 손쉽게 추가할 수 있는 Spring의 프레임워크 중 하나 - Spring Security is entirely based on 'servlet filter' - ex) Brower (Container) Filter --> Servlet *Container안에 Filter와 Servlet 존재 - Security Filter Chain이란 Spring Security에서 제공하는 인증, 인가를 위한 필터들의 모음 - Spring Security에서 가장 핵심이 되는 기능을 제공하며, 거의 대부분의 서비스는 'Security Filter Chain'에서 실행된다 - 기본적..
- The qurey string(in GET Method) - ex) GET /helloWeb/docreate?name=Alice&email=alice.hansung.ac.kr Host: myserver.com User-Agent: ... Accept-Encoding: ... - The HTTP entitiy body(in POST Method) - ex) POST /helloWeb/docreate HTTP/1.1 Host: myserver.com User-Agent: ... Accept-Encoding: name=Alice&email=alice@hansung.ac.kr - How to move from the 'request prarmeters' to corresponding 'object' 1) N..
- 클라이언트의 요청을 처리하도록 특약 규약이 맞춰 Java 코드로 작성하는 클래스 파일 - 아파치 톰캣(Apache Tomcat)은 이러한 서블릿들이 웹 애플리케이션으로 실행할 수 있도록 해주는 서블릿 컨테이너(Servlet Container) 중 하나이다 - MVC 패턴은 애플리케이션을 개발할 때 사용하는 디자인 패턴 1. Model : 작업의 처리 결과 데이터 - 클라이언트의 요청을 구체적으로 처리하는 영역을 서비스 계층(Service layer) - 요청사항을 처리하기 위해 Java 코드로 구현한 것을 비즈니스 로직(Business Logic) 2. View : Model을 이용하여 화면에 보이는 리소스(Resource)역할을 한다 - HTML 페이지 출력 ..
- Spring의 DI Container에 의해 관리되는 POJO(Plain Old Java Object)를 Bean이라 부른다 - POFO는 Spring 애플리케이션을 구성하는 핵심 객체 - Spring Ioc Container 또는 DI 컨테이너에 의해 생성 및 관리 - 메소드 레벨에서 선언하며, 반환되는 객체(인스턴스)를 개발자가 수동으로 빈으로 등록 - 메소드에서 사용, 즉 메소드 이름으로 빈 이름이 결정 - 개발자가 컨트롤이 불가능한 외부 라이으버리 사용 시 사용 - ex) @Configuration public class AppConfig{ @Bean public MemberService memberService(){ return new MemverServiceImpl(); } } - 클래스 ..