반응형

프로그래밍 개념들 15

혼동된 대리인 문제

소프트웨어는 보통 각각 전문화(specialized)된 서비스를 제공하는 여러 서브젝트(혹은 컴포넌트, 프로시저, 함수, 서브루틴, 오브젝트)로 구성된다. 안전한 시스템의 경우 이런 서브젝트가 일을 수행하기 위해서는 이를 사용하는 클라이언트가 적절한 권한을 가지고 있어야 한다. 이 경우 서비스 서브젝트는 대리인이라고 불리는데, 클라이언트에게 위임 받은 권한으로 필요한 일을 해주기 때문이다. 혼동된 대리인(confused deputy)는 서브젝트가 클라이언트의 권한을 사용해야 하는 경우에 실수로 자기 자신의 권한으로 일을 수행했을 경우를 일컫는다. 클라이언트는 권한이 없지만 대리인은 권한이 있는 일을 부탁했을 때 대리인이 혼동하여 이 일을 수행해 준다면 보안 문제가 발생하게 되는 것이다. [위키피디아] 혼..

애그리거트

1. 애그리거트란 여러 개의 객체를 묶어 하나의 큰 객체로 다루는 것 관련된 객체들을 모아 하나의 단위로 취급하는 개념으로 객체 지향 프로그래밍에서, 객체 간의 관계를 정의하는 방법 중 하나 논리적으로 관련된 객체들을 그룹화하여 하나의 묶음으로 다룬다. 2. 구성 요소 엔티티와 밸류로 구성 불변성을 유지하며, 내부 구현을 캡슐화한다. 응용 프로그램의 유지 보수성과 확장성을 높일 수 있다. 데이터베이스 트랜잭션 처리를 단순화하고, 일관성을 유지 3. 참고 링크 https://velog.io/@hope0206/DDD-%EB%8F%84%EB%A9%94%EC%9D%B8-%EC%A3%BC%EB%8F%84-%EC%84%A4%EA%B3%84-%EC%95%A0%EA%B7%B8%EB%A6%AC%EA%B1%B0%ED%8A..

[join] 꼭 on 을 붙여 조건을 해줄 필요는 없음

꼭 join 시 on 을 붙여서 조건을 해줄 필요는 없다 자세한 내용은 추후 아래 링크를 참고 하자 https://self-interest.tistory.com/entry/ON-%EC%A1%B0%EA%B1%B4-%EC%97%86%EC%9D%B4-%EC%A1%B0%EC%9D%B8JOIN-%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95 ON 조건 없이 조인(JOIN) 하는 방법 회사에서 조인(JOIN)을 하려 하는데 조건 없이 조인해야 했습니다. 보통 SQL에서 조인할 때 아래와 같은 형식으로 합니다. SELECT (Distinct) Column, Column, Column FROM 첫번째 Table Name LEFT/RIGHT JOIN 두번째 Tabl self-interest.tisto..

[TDD] Test Driven Develop

팀장님께서 TDD 에 대해서 빨리 습득을 해서 업무에 적응해야 한다고 강조하심. 자세한 내용은 아래 링크 참고할 것 https://wooaoe.tistory.com/33 [기술면접] TDD(Test-Driven-Development) 방법론에 대해서 TDD(Test-Driven-Development) 방법론에 대해서 파헤쳐보자! ❓ TDD가 무엇입니까? - TDD란 Test Driven Development의 약자로 '테스트 주도 개발'이라고 한다. 반복 테스트를 이용한 소프트웨어 방법론으로, 작은. wooaoe.tistory.com

윈도우 path notation 에 대한 정리

윈도우에 path notation 이 있는지는 이번에 처음 알았다. 한마디로 단축키인데... program files -> progra~1 / progra-1 로 표시해도 경로가 인식이 되는 방식이다. MS-DOS 시절부터 윈도우에 FAT 시스템에 적용이 되어 왔다고 한다. 신기하구만... 2. 참고 링크 https://superuser.com/questions/529400/how-does-progra1-path-notation-work How does "PROGRA~1" path notation work? Since my first Windows 98 (and even now on Win7), I could enter the first 6 letters (symbols) of a folder's nam..

에러 / 성능 테스트 참고

향후 에러 테스트 및 성능 테스트를 하게 될것으로 생각하여 미리 책을 추천받고자 했다. 아래와 같은 답변을 받았다 책보단 블로그를 살펴보시는게 좋을것같습니다. 요새 정리를 잘해놔서요 jmeter하고 nGrinder 위주로 검색해보시면 됩니다 jmeter는 인텔리제이에서도 연동돼있어서 바로 테스트도 해보실 수 있을거예요 감사합니다!!

CORS - 교차 출처 리소스 공유

1. 의미 교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS)는 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제이다. 웹 애플리케이션은 리소스가 자신의 출처(도메인, 프로토콜, 포트)와 다를 때 교차 출처 HTTP 요청을 실행한다. 보안 상의 이유로, 브라우저는 스크립트에서 시작한 교차 출처 HTTP 요청을 제한하는데 예를 들어, XMLHttpRequest와 Fetch API는 동일 출처 정책을 따른다. 즉, 이 API를 사용하는 웹 애플리케이션은 자신의 출처와 동일한 리소스만 불러올 수 있으며, 다른 출처의 리소스를 불러오려면 그 출처에서 올바른 CORS ..

8. latency ( 레이턴시 ) - 지연성

1. 정의 레이턴시(latency)는 자극과 반응 사이의 시간이며, 시스템에서의 어떠한 변화에 대한 원인과 결과 간의 지연 시간이다. 레이턴시는 물리적 상호작용이 추진할 수 있는, 물리적으로 제한된 속도의 결과라고 할 수 있다. 한마디로, 결과가 나오기 까지의 지연시간이라고 보면 될 것 같다. Latency는 데이터가 네트워크의 한 지점에서 다른 지점에 도달하는데 필요한 시간으로, 일반적으로 데이터가 어플리케이션 서버를 떠나 사용자 기기에 도달할 때까지의 시간 차이를 말한다. 또한 어떤 경우에는 Round Trip Time (RTT; 왕복 시간)으로, 데이터 패킷이 사용자를 떠나 목적지로 왕복 후 돌아오기까지 걸리는 시간이다.

6. 가상환경 ( 가상머신 ) - 패캠 리눅스 올인원 패키지 스터디 내용 포함

1. 가상환경(가상머신)이란 ? 컴퓨터 환경을 소프트웨어로 구현한 것, 가상머신상에서 운영체제나 응용 프로그램을 설치 및 실행할 수 있다. 가상 머신에는 시스템 가상머신, 프로세스 가상머신 2가지의 종류가 있다. 그리고 통상 우리에게 익숙한 가상머신은 아래의 프로그램들이 있다. 2. 시스템 가상머신 이란? 하드웨어 가상머신이라고 하며 각 운영 체제를 실행하는 가상 머신 사이의 기초가 되는 물리 컴퓨터를 다중화한다. 가상화를 제공하는 소프트웨어 계층은 가상 머신 모니터 또는 하이퍼바이저라고 한다. 하이퍼바이저는 순 그대로의 하드웨어 또는 호스트 운영체제 위에서 실행할 수 있다. 다시 말해, 같은 컴퓨터에서 다른 운영체제를 돌릴 수 있게 해 준다. 1) 주요 이점 여러 운영 체제를 스는 환경은 운영 체제가 ..

5. 하이퍼바이저(Hypervisor)

1. 개요 하이퍼 바이저는 호스트 컴퓨터에서 다수의 운영체제를 동시에 실행하기 위한 논리적 플랫폼을 말한다. 가상화 머신 모니터 또는 가상화 머신 매니저라고도 불린다. 2. 분류 하이퍼 바이저는 일반적으로 2가지로 나뉘는데 1) 타입 1(native or bare-metal) - 하이퍼 바이저가 해당 하드웨어에서 직접 실행 - 게스트 운영 체제는 하드웨어 위에서 2번재 수준으로 실행 - VMware 의 ESX Server, 마이크로소프트의 하이퍼-V 등이 존재 2) 타입 2(hosted) - 일반 프로그램과 같이 호스트 운영체제에서 실행 - VM 내부에서 동작되는 게스트 운영체제는 하드웨어에서 3번재 수준으로 실행 - Virtual Box, VMware Server 등이 존재 심화학습은 추후 아래 링크를..

반응형