-
스트래티지 패턴 (Strategy Pattern)Develpment/Design Pattern 2020. 9. 13. 21:18
1. 스트래티지 패턴 알고리즘군을 정의하고 각각을 캡슐화하여 바꿔 쓸 수 있게 만듭니다. 스트래티지 패턴을 이용하면 알고리즘을 활용하는 클라이언트와 독립적으로 알고리즘을 변경할 수 있습니다. 1-1. 객체지향의 기초추상화캡슐화다형성상속 1-2. 객체지향 원칙 바뀌는 부분은 캡슐화 한다.상속보다는 구성을 활용한다.구현이 아닌 인터페이스에 맞춰서 프로그래밍 한다. 1-3. Sample SourceQuack QuackBehavior.java 123456package fly; public interface FlyBehavior { public void fly();} cs Quack.java 1234567891011package quack; public class Quack implements QuackBehav..
-
TCP/IP 4계층(5계층)Develpment/Network 2020. 9. 13. 21:17
TCP/IP 4계층(5계층) OSI 7계층 TCP/IP 4계층 Application Application응용계층프로토콜 : HTTP, FTP, DNS TCP/IP 기반의 응용프로그램을 구분할 때 사용 Presentation Session Transport Transport전송계층프로토콜 : TCP, UDP 통신 노드 간의 연결을 제어하고, 자료의 송수신을 담당 Network Internet인터넷계층프로토콜 : IP, ICMP 통신 노드 간의 IP 패킷을 전송하는 기능 및 라우팅 기능을 담당 Data-Link Network Interface( + Hardware)네트워크 인터페이스 계층(+ 하드웨어 계층)프로토콜 : Ehternet MAC 프로토콜, LAN, 위성 통신 등 전송에 사용. Physical
-
OSI 7계층Develpment/Network 2020. 9. 13. 21:17
OSI (Open System Interconnection) 모델의 7개 계층 구조 구분 설명 네트워크 지원계층(한 장치에서 다른 장치로 데이터를 이동할 때 필요한 물리적인면 처리) 1계층Physical Layer(물리층)장비 : 허브, 리피터프로토콜 : Ethernet 물리적 매체를 통해 비트 흐름을 전송하기위해 필요한 기능들을 조정하고, 인터페이스의 기계적*전기적 규격, 전송매체를 다룸. 물리적인 장치와 인터페이스가 전송을 위해 필요한 기능과 처리절차를 규정함 2계층Data link Layer(데이터링크층)장비 : 브리지, 스위치프로토콜 : MAC 가공되지 않은 내용의 전송을 담당하는 물리층을 신뢰성 있는 링크로 변환시켜주고 노드-대-노드 전달 3계층Network Layer(네트워크층)장비 : 라우터..
-
[0] 동적 계획법(Dynamic Programming) + 메모이 제이션Develpment/Algorithm 2020. 9. 13. 21:16
* 동적 계획법 이란? 수학과 컴퓨터 공학, 그리고 경제학에서 동적 계획법(動的計劃法, dynamic programming)이란 복잡한 문제를 간단한 여러 개의 문제로 나누어 푸는 방법을 말한다. 이것은 부분 문제 반복과 최적 기본 구조를 가지고 있는 알고리즘을 일반적인 방법에 비해 더욱 적은 시간 내에 풀 때 사용한다. Ex) 피보나치 수열 package main; import java.util.Scanner; public class Main{static long count;public static void main(String args[]){/* 피보나치 수열 * 처음 두항을 1과 1로 한 후, 그 다음 항 부터는 바로 앞 두 개의 항을 더해 만든 수열. * ex ) 1, 1, 2, 3, 5, 8, ..
-
oauth 2.0 흐름Develpment/Oauth 2.0 2020. 9. 13. 21:15
사용자가 이용하려는 서비스에 접근 (web, app) 사용자에게 oauth를 이용하려는 Resource Server(ex. google, facebook, twitter)의 인증요청(로그인) 사용자의 인증 정보를 Resource Server전달 사용자에게 Resource Server권한 승인 요청 권한 승인 시 CODE 값을 를 전달받음 Resource Server에서 서비스(web, app)를 등록하면서 생성된 Client id, Client Secret 과 5번에서 전달 받은 CODE를 전달 access token을 전달받음 ( offline의 경우 refresh token을 전달 받아 갱신 가능, access token은 시간제한 있음 ) access token을 이용하여 Resource Sever..
-
[Flutter] Android Studio 설치Develpment/Flutter 2020. 9. 13. 00:53
1. Android Studio 설치 (https://developer.android.com/studio/install?hl=ko) 2. Flutter 설치 - 운영 체제에 맞게 선택하여 설치 - Windows (https://flutter-ko.dev/docs/get-started/install/windows) - Mac (https://flutter-ko.dev/docs/get-started/install/macos) - 절차에 맞게 Path 등록, Flutter doctor 를 진행 - Android Studio > Configure > Plugins > Flutter 설치 3. 테스트 - Flutter 생성 위치, Project 저장 위치 설정 - mac의 경우 Simulator를 실행시켜서 확인..