일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- input
- 카데인 알고리즘
- SpringBoot 2
- array
- heroku
- 자바 스레드 실행 순서 제어
- 수학
- 자바 thread 실행 순서 제어
- Easy
- scanner
- JAVA11
- 자바입력
- Kadane's Algorithm
- R
- hash table
- 사칙연산
- Today
- Total
목록분류 전체보기 (192)
DeFacto-Standard IT
MySQL TCP/IP 네트워크를 지원, Client-Server 시스템과 같이 동작 - MySQL DB server 기본 TCP 포트 번호는 3306. 서버는 여러개의 table을 포함하는 1개 이상의 DB를 포함, table은 rows(records)와 columns(fields)로 이루어져있다. - MySQL Workbench DB 아키텍쳐, 개발자, DBA들이 사용하는 통합 GUI 도구 Community Edition (Open Source, GPL) MySQL Workbench - Design, Development, Adminmistation Data Design/Modeling - DB model을 GUI환경에서 생성, 조작 가능 - Forward 엔지니어는 모델을 script나 live d..
MVC Architecture Model, View, Controller를 분리한 디자인 패턴. Model - 어플리케이션의 state(data)를 표현. Java Beans가 해당됨 View - data를 보여주는 presentation 역할. JSP가 해당됨 Controller - view와 model사이의 인터페이스 역할. 유저의 input을 받고, Model/View를 조작하여 적절한 변화를 수행한다. Servlet이 해당됨 1. browser는 servlet에 request를 보냄 2. servlet은 DB로부터 정보를 읽어 Java bean을 인스턴스화 함 3. servlet은 JSP 페이지와 커뮤니케이션 4. JSP 페이지는 java bean과 커뮤니케이션 5. JSP 페이지는 browser..
Spring Boot로 Hello World를 찍는다. 보통은 Project를 Dynamic Web Project 혹은 Spring Legacy Project로 구성을 하는데, Spring Boot는 Spring Starter Project라는 프로젝트를 만들어야 한다. next를 누르다보면 다음과 같이 기본적으로 포함할 Dependencies를 선택하는 옵션이 나온다. 이 글에서는 Hello World를 찍는 것이 목적이고, 아무거나 추가했다가는 값을 넣지 않았다고 에러가 날 수 있으므로 Web만 체크하도록 한다. 프로젝트를 만들면 다음과 같은 구조가 생성된다. 1. InternalResourceViewResolver Prefix, Suffix 설정 위 구조에서 application.properties..
1. Java Server Pages JSP기술은 정규식 조합과, 동적으로 생성된 컨텐츠와 정적 HTML을 사용할 수 있게 한다. 동적페이지는 다른 컨텍스트 또는 파라미터에 따라 다른 페이지를 보여주는 것을 의미한다. JSP는 서블릿 기술의 확장판이다. 서블릿의 모든 특징들은 물론, 추가적으로 암시적 객체(Implicit objects), 미리 정의된 태그(predefined tags), expression language, 커스텀 태그 등을 지원한다. 유지보수에 쉽다. Business Logic과 Presentation Logic을 분리시킨다. 배포하기 쉽다. 만약 JSP pages가 수정되면, 재배포를 할 필요가 없다. 하지만, 서블릿안의 코드 변경이 필요한 경우에는, 전체 코드가 업데이트되고 재컴파..
선점 스케쥴링(Preemptive Scheduling) 1. 최소 잔여시간 우선 스케쥴링(SRTF, Shortest Remaining Time First Scheduling) 선점형SJF, 선점 최소 작업 우선 스케쥴링 이라고도 한다. 2. 선점 우선순위 스케쥴링 새로 도착한 프로세스의 우선순위가, 현재 실행되는 프로세스의 우선순위보다 높으면 프로세서를 선점 3. 순환 할당 (Round Robin) 스케쥴링 시분할 시스템을 위한 스케쥴링. 규정 시간량(Time Quantum) 또는 시간 할당량(Time Slice)이라고 하는 작은 단위의 시간을 정의. 일반적으로 10x10밀리 초에서 100x10밀리초 범위로 한다. 프로세스는 프로세서에 Time Slice만큼 할당되고 시간이 지나면 다시 준비 큐의 맨 뒤..
인터페이스를 사용하는 경우 - 관련되지 않은 클래스에 일반적인 기능을 제공하는데 적합 - 만들고 있는 기능이 광범위한 분산 개체에서 유용하게 사용될 것으로 예상되는 경우 - 작고 간결한 기능을 디자인 하는 경우 추상클래스를 사용하는 경우 - 밀접하게 관련된 개체에 사용 - 여러 버전의 구성요소를 만들 것으로 예상되는 경우 간단하고 쉽게 구성요소의 버전을 작성할 수 있다. 기본 클래스를 업데이트하면 모든 상속 클래스의 변경 내용이 자동으로 업데이트. (인터페이스의 경우 한번 만들면 변경 불가. 새 버전의 인터페이스가 필요하면 완전히 새롭게 인터페이스를 만들어야 한다.) - 큰 기능 단위들을 디자인하는 경우 - 모든 구성 요소의 구현 사이의 일반적인 구현된 기능을 제공하는 경우. 추상 클래스를 사용하면 부분..
에리히 감마 Erich Gamma 리차드 헬름 Richard Helm 랄프 존슨 Ralph Johnson 존 블리시디스 John Vlissides 생성 패턴 구조 패턴 행위 패턴 추상 팩토리 (Abstract Factory) 어댑터 (Adapter) 책임 연쇄 (Chain of Responsibility) 빌더 (Builder) 브리지 (Bridge) 커맨드 (Command) 팩토리 메서드 (Factory Method) 컴퍼지트 (Composite) 인터프리터 (Interpreter) 프로토타입 (Prototype) 데커레이터 (Decorator) 아이터레이터 (Iterator) 싱글턴 (Singleton) 퍼사드 (Facade) 미디에이터 (Mediator) 플라이웨이트 (Flyweight) 메멘토 (..
인터페이스 분리 원칙 (ISP, Interface Segregation Principle) 프로그래밍 능력에 변화가 생기더라도 외국어 능력이나 발표 능력을 사용하는 영업 업무에는 영향을 미치지 않을 확률이 높지만 개발 업무 부서에는 영향을 미칠 수 있다. ISP는 위의 관점(클라이언트의 관점에서 바라는)에서 생긴 객체지향 설계 원칙에는 클라이언트 자신이 이용하지 않는 기능에는 영향을 받지 않아야 한다는 내용이 담겨있다. 복합기 기능을 제공하는 클래스는 매우 비대해질 가능성이 크다. 하지만 이 비대한 클래스의 모든 기능을 클라이언트가 동시에 사용하는 경우는 거의 없다. 클라이언트의 필요에 따라 프린터, 팩스, 복사기 중 하나의 기능만 이용할 수 있다. 따라서 프린터 기능만 이용하는 클라이언트가 팩스 기능의..
의존 역전 원칙 (DIP, Dependency Inversion Principle) 객체 사이에 서로 도움을 주고받으면 의존 관계가 발생한다. 의존 역전 원칙은 그러한 의존 관계를 맺을 때의 가이드라인에 해당. *DIP는 의존 관계를 맺을 때 변화하기 쉬운 것 또는 자주 변화하는 것 보다는 변화하기 어려운 것, 거의 변화가 없는 것에 의존하라는 원칙. 변하기 쉬운 것과 변하기 어려운 것은 어떻게 구분하는가. 정책, 전략과 같은 어떤 큰 흐름이나 개념 같은 추상적인 것은 변하기 어려운 것에 해당하고 구체적인 방식, 사물 등과 같은 것은 변하기 쉬운 것으로 구분하면 좋다. 아이가 장난감을 가지고 노는데 어떤 경우에는 로봇을, 어떤 경우에는 자동차를 가지고 놀 것이다. 이때 구체적인 장난감은 변하기 쉬운 것이..
리스코프 치환 원칙 (LSP, Liskov Substitution Principle) 일반화 관계에 대한 이야기며 자식 클래스는 최소한 자신의 부모 클래스에서 가능한 행위는 수행할 수 있어야 한다. LSP를 만족하면 프로그램에서 부모 클래스의 인스턴스 대신에 자식 클래스의 인스턴스로 대체해도 프로그램의 의미는 변화되지 않는다. 이를 위해 부모 클래스와 자식 클래스 사이는 행위가 일관되어야 한다. LSP를 이해하려면 일반화 관계를 다시 생각해야한다. 일반화 관계는 'is a kind of 관계' 라고도 한다. 예를들어 원숭이는 포유류이고, 원숭이와 포유류 사이에 '원숭이 is a kind of 포유류 관계'가 성립한다. 따라서 부모 클래스로 포유류, 자식 클래스로 원숭이를 설정하는 것에 대체로 반론의 여지..