일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바 가비지컬렉션
- 스프링핵심요소
- 객체지향다형성
- 자바스크립트map
- 자바스크립트filter
- Programmers도둑질
- 자바stream
- openvidu
- webrtc
- 객체지향solid
- node의존성주입
- 자바reduce
- 도둑질자바
- 객체지향추상화
- 프로젝트회고
- 모놀리틱 아키텍처
- 팀프로젝트
- 우선순위큐자바
- 자바foreach
- Programmers가장큰수
- 자바배열정렬
- 자바리스트정렬
- 자바스크립트foreach
- 자바스크립트reduce
- 프로그래머스가장큰수
- 자바filter
- 자바Comparator
- 클라우드타입
- 프로그래머스도둑질
- 자바Comparable
- Today
- Total
목록CS (9)
I'm pine thank you and you?
IoC Inversion of Control (제어의 역전) 클래스는 개발자가 만들지만 인스턴스의 생성 및 수명 주기 관리는 Framework나 Web Container가 하는 방식 💡 제어를 Spring 컨테이너로 역전 시키기 때문에 제어의 역전이라 부르며, Spring Container 를 IoC Container라고 부르기도 한다. IoC 컨테이너에 등록만 되면, 컨테이너는 등록된 Bean 의 [생성 - 의존성 설정 - 초기화 - 소멸] 과 같이 생명주기를 관리한다. 👉 비유를 하자면 정말 바쁜 사업가(개발자)가 가사 도우미(Spring Container)에게 집안일(개발적이지 않은 것)을 시키고, 본인은 본업(기획, 설계, 프로그래밍, 개발적인 것)에 더 집중 할 수 있는 것과 같다. 예시 // ..
가비지 컬렉터를 알아보기 전에 JVM 메모리 구조를 먼저 살펴보자. Method Area ( == Static Area) Heap 애플리케이션 실행 중에 생성한 모든 객체가 저장되는 영역 (new를 통해 생성한 모든 Object 타입의 인스턴스가 저장된다.) 메모리가 동적으로 할당된다. 👉 인스턴스가 소멸되면 같이 소멸 Heap 영역에 보관되는 메모리는 메소드 호출이 끝나도 사라지지 않고 유지되다가 이것을 JVM의 가비지 컬렉터 가 메모리 해제하여 처리 👉 자신을 참조하는 데이터가 없으면 메모리 정리 대상이 됨 Stack PC Register Native Method Stack Garbage Collector란? 동적으로 할당한 메모리 영역 중 사용하지 않는 영역을 탐지하여 해제하는 역할 public c..
캡슐화 정보 은닉: 필요 없는 정보는 외부에서 접근하지 못하도록 제한 👉 접근 지정자 높은 응집도, 낮은 결합도로 유연함과 유지보수성 증가 추상화 여러 개의 객체가 공통된 모양을 갖는 경우 이 공통된 모양을 클래스로 정의해두고 사용하는 것 👉 클래스, 인스턴스 상속 하위 클래스(derived class)가 상위 클래스(based class)의 모든 것을 물려받는 것 👉 코드 중복 방지 기존 상위 클래스에 근거하여 새롭게 클래스와 행위를 정의할 수 있게 도와주는 개념 👉 상위 클래스 내용을 확장 하고자 할 때 다형성 형태가 같은데 다른 기능을 하는 것을 의미 동일한 메시지에 대하여 다르게 반응하는 성질 ex) 여자가 숫자 1, 2 입력 → 1+2 출력 남자가 숫자 1, 2 입력 → 1*2 출력 개별적인 함..
Redis Key, Value 구조의 비정형 데이터를 저장하고 관리하기 위한 비관계형 데이터 베이스 관리 시스템(DBMS) 인메모리 데이터 베이스 인메모리 데이터 베이스를 쓰는 이유는? 데이터 베이스는 데이터를 물리 디스크에 직접 쓰기 때문에 서버에 문제가 발생하여 다운되더라도 데이터가 손실되지 않는다. 하지만, 매번 디스크에 접근해야 하기 때문에 사용자가 많아질수록 부하가 많아져서 느려질 수 있다. 이때, 보조저장소로 사용할 수 있는 것이 Redis이다. Redis는 디스크가 아닌 RAM에 데이터를 저장한다. RAM은 캐시 메모리로 쓰인다. (캐시는 한번 읽어온 데이터를 임의의 공간에 저장하여 다음에 읽을 때는 빠르게 결괏값을 받을 수 있도록 도와주는 공간) 때문에 DB의 부하를 줄이고 서비스의 속도도..
정의 Web Real-Time Communication 📡 우리가 잘 알고있는 화상 통화, 화상 공유를 구현할 수 있는 오픈소스 비디오, 음성, 일반 데이터가 실시간으로 P2P방식으로 전송 JavaScript API로 제공 관련 용어 1. data streams 말그대로 데이터들의 흐름 데이터의 양이 한정되어 있지 않고 끊임없이 생성되고 변하는 데이터의 흐름 2. Signaling 세션 제어 메세지, 네트워크 구성, 미디어 기능 등의 정보를 교환하는 과정 세션 제어 메세지: 통신을 초기화하거나 종료, 오류 보고 네트워크 구성: 컴퓨터의 IP주소와 포트가 무엇인지 파악 미디어 기능: 브라우저에서 처리할 수 있는 코덱과 해상도 P2P 통신이 일어나기 전 Signaling이 완료 되어야 한다! 3. ICE (..
TIL(Today I Learned) 느낌으로 적는 글,, 우선 Monolithic Architecture(모놀리틱 아키텍처)가 무엇인지 알아보자! 하나의 서비스에서 API, ADMIN, BATCH, WEB, DB이 관리되는 구조 모놀리틱 아키텍처는 이 두 개로 나뉜다. - 단일 모듈 멀티 프로젝트 - 멀티 모듈 단일 프로젝트 그럼 MSA는? Micro Service Architecture 서비스를 도메인 단위로 상세하게(micro) 분리하고 그 서비스들을 모놀리틱 하게 구상한 방식 각각의 서비스는 독립적이고 느슨하게 결합되어 있다. MSA와 멀티 모듈의 관계 의존성의 분리(독립성)를 통해 시스템의 분리&통합을 유연하게 만들 수 있기 때문 여기서 잠깐, 애플리케이션? 서비스? 헷갈리는 용어 정의🤯 라이브..
Singleton Pattern 정의 객체의 인스턴스를 오직 1개만 생성할 수 있는 패턴 public class Singleton { // 외부에서 직접 인스턴스 생성을 못하도록 생성자의 접근 지정자 private private Singleton() {} // static하게 데이터를 만들어서 주입하고 private static Singleton singleton; // return public static Singleton sharedInstance() { if(singleton == null) { singleton = new Singleton(); } return singleton; } } Singleton 클래스 정의 public class Main { public static void main(S..
IaaS (Infrastructure as a Service) 인프라만 클라우드 벤더의 장비를 빌려서 사용 인프라 즉, 기반시설만 제공 서버, 네트워크, 스토리지, 메모리, CPU 등 가상 인프라를 빌려주는 서비스 IaaS의 대표적인 예) AWS "나는 직접 화덕을 설치해서 피자를 구울 거야" 클라우드 벤더❓ 클라우딩 컴퓨팅 서비스 솔루션을 만드는 업체 또는 개인 클라우드타입, AWS, GCP 같은 서버 PaaS (Platform as a Service) 운영~개발 환경까지 클라우드 벤더가 모든 자원을 제공하고 유지 관리 애플리케이션 설계, 개발, 테스트, 배포, 호스팅을 포함 운영에 대한 자유도는 떨어지지만, 개발에 집중할 수 있다. PaaS의 대표적인 예) 클라우드 타입 "나는 직접 피자를 만들거야"..