분류 전체보기 520

A Deeper Inspection Into Compilation And Interpretation - Compiled

요약LearningTrying to find the pieces that fit around a random puzzle piece without knowing how each of them fit the big picture.If you stick around long enough, you'll find some pieces start to come together.BinaryMachine language/machine code - the code that computers read.Given to the machine and run by CPUProcess of source code -> Machine code TranslationThe two translators called the compiler..

카테고리 없음 2024.05.25

컴퓨터-CPU(프로세서)-작업-프로세스

컴퓨터-CPU(프로세서)-작업-프로세스프로세서(처리기,CPU)에서 처리하는 프로그램.작업 또는 타스크라고도 한다.프로세스 상태 전이프로세스가 시스템 내에 있는 동안 상태가 변하는 것.PCB(Process Control Block)HAS address, state, time, id프로세스 상태 전이제출 : 작업이 시스템에 제출된 상태접수 : 제출된 작업이 디스크에 저장된 상태준비 : 프로세스가 프로세서를 할당받기 전에 대기중인 상태. 잡스케줄러가 접수에서 준비 상태로 전이함.실행 : 프로세스가 프로세서를 할당받아 실행되는 상태.대기 : 프로세스에 입 출력이 필요하면 현재 실행 중인 프로세스가 중단되고, 입 출력이 끝날 때까지 대기하고 있는다.종료 : 프로세스의 실행이 끝나고 프로세스 할당이 해제된 상태.W..

클래스 설계의 5가지 원칙 - SOLID

GPT 설명SOLID 원칙은 유지보수성, 유연성 및 확장성을 촉진하는 객체 지향 프로그래밍 및 소프트웨어 개발의 5가지 설계 원칙입니다. 이러한 원칙은 로버트 C. 마틴(일명 밥 아저씨라고도 함)에 의해 소개되었으며 소프트웨어 개발 커뮤니티에서 널리 채택되고 있습니다. SOLID의 약어는 다음과 같습니다:단일 책임 원칙(SRP)개방형/폐쇄형 원칙(OCP)리스코프 대체 원칙(LSP)인터페이스 분리 원칙(ISP)의존성 반전 원칙(DIP)각 원칙을 자세히 살펴보겠습니다:단일 책임 원칙(SRP):클래스가 변경해야 할 이유가 하나만 있어야 한다는 원칙으로, 클래스는 하나의 책임만 가져야 한다는 의미입니다. 이 원칙을 따르면 separation of concerns로 코드를 더 모듈화하고 이해, 유지 관리 및 수정..

Java - 디자인 패턴

요약상품(객체) 공장을 어떻게 만들고 구성하고 어떻게 운영할까? 설명서 같은 것생성 패턴접근점에 인터페이스 사용, 역할 분리추상 펙토리 패턴 :독립적인 객체들을 생성하기 위한 인터페이스를 제공하는 이걸 토대로 구체적인 클래스를 지정하는 패턴빌더 패턴 : 복합 객체의 생성과정과 표현과정을 분리시켜 동일한 생성과정에서 다양한 표현을 생성할 수 있는 패턴입니다.팩토리 메소드 패턴 : 자식 클래스가 객체를 생성하고 부모 클래스는 생성 메소드만 선언만하는 인터페이스 역할을 한다.싱글톤 패턴 : 클래스의 인스턴스가 하나임을 보장하고 접근할 수 있는 전역적인 접근점을 제공하는 패턴구조 패턴용도변화, 트리구조 사용, 인터페이스로 통합어댑터 패턴 : 용도에 맞게끔 인터페이스를 바꿔주는 어댑터 클래스를 사용. 다른 곳에서..

만들면서 배우는 클린 아키텍쳐

계층형 아키텍쳐의 문제?계층형 아키텍쳐란웹 계층에서는 요청을 받아서 도메인 혹은 비즈니스 계층에 있는 서비스로 요청을 보낸다.서비스에서 필요한 비즈니스 로직을 수행하고, 도메인 엔티티의 현재 상태롤 조회하거나 변경하기 위해 영속성 계층의 컴포넌트를 호출한다.약점DB 주도 설계를 유도 (웹 계층은 도메인 계층에 의존하고, 도메인 계층은 영속성 계층에 의존하기 때문에 자연스럽게 DB 의존하게 된다.)하지만 우리가 만드는 앱은 보통 상태가 아니라 행동 중심으로 모델링한다.비즈니스 관점에서는 도메인 로직이 DB 구조보다 우선이 된다.영속성 계층의 단점모든 것에 접근이 가능하기 때문에 시간이 지나면서 점점 비대해진다.테스트가 어려워진다 (하나의 필드를 조작하더라도 돔메인 로직을 웹 계층에 구현하게 된다. -> 유..

Javascript Promise

Promise 등장 배경 : 콜백 지옥!JavaScript를 작성할 때 종종 다른 작업에 의존하는(순차적인) 작업을 처리해야 해!이미지 조회 후 저장하기 예제이미지를 가져 와서 압축하고 필터를 적용하고 저장📸하는 작업이 필요하다고 가정해보면.1 먼저 getImage 함수가 편집하려는 이미를 얻고! 해당 이미지가 성공적으로 조회 된 후에만 해당 값을2 resizeImage 함수에 전달하고3 이미지 크기가 성공적으로 조정되면 applyFilter 함수로 이미지에 필터를 적용해.4 이미지가 압축되고 필터를 추가한 후 이미지를 저장하고 (saveImage) 사용자에게 모든 것이 올바르게 작동했다는 걸 알려줘 (console.log)근데 이 방식은 너무 지저분하지 않아? 이전 콜백 함수에 의존하는 너무 많은 중..

Javascript 엔진 : 우리가 만든 코드를 어떻게 이해할까?

HTML parserhtml에 이런 스크립트를 넣고 크롬으로 열어본다고 가정해볼거야.어떤 일이 발생할까?HTML parser가 script 태그를 소스코드에서 읽어서 네트워크, 캐시, 또는 서비스 워커에서 읽혀서 byte stream decoder에 보내!byte stream decoder : UTF-16 byte stream을 컴퓨터가 읽고 해석하는 byte코드로 변환해.byte stream decoder 는 decoding한 byte로 토큰을 만들어.예를 들어 0066 ->(decode) f , 0075 -> u, 등.이렇게 변환된 토큰은 parser에게 보내. (pre-parse).JS 엔진은 두 가지 종류의 parser가 있어 : pre-parser와 parser.웹페이지 로딩시간을 최소화하려면 ..

CORS 이해 및 설명

CORS 정의CORS는 웹 브라우저에 구현된 보안 기능인 Cross Origin Resource Sharing의 약자야.이 기능을 사용하면 한 도메인에서 실행 중인 웹 애플리케이션이 다른 도메인의 리소스에 액세스할 수 있어.CORS의 주요 목적은 다른 도메인의 리소스에 대한 액세스를 제한하여 악성 스크립트가 다른 도메인의 중요한 데이터를 자신도 모르게 훔치는 것을 방지하는 것이야.CORS는 리소스를 제공하기 전에 브라우저에서 확인하는 서버 응답에 몇 가지 HTTP 헤더를 설정하여 구현돼.이런 헤더에는 Access-Control-Allow-Origin, Access-Control-Allow-Methods, Access-Control-Allow-Headers 등이 포함되는데.웹 애플리케이션에 CORS를 사용..

728x90
반응형