본문 바로가기
반응형

학습146

그림으로 보는 도커 개념 + 명령어 정리 * 개요 이번 글의 내용 및 사진은 따라하며 배우는 도커와 CI환경 , 생활코딩 Docker 입구 수업 기반으로 작성하였습니다. 도커를 쓰는 이유 가상화 기술 등장 이전 가상화 기술 등장 이전에 하나 서버에 하나의 응용 프로그램만을 설치해야만 했습니다. 웹서버, Database를 구성하기 위해 '모든 서버마다 OS를 설치'하는 것은 메모리가 매우 비효율적인 일이었습니다. 하이퍼 바이저 기반 VM 등장   하이퍼 바이저의 등장으로 '논리적으로 공간을 분할'하여 VM(Virtual Machine)이라는 '독립적 가상 환경의 서버'를 사용할 수 있게 되었습니다. 하이퍼 바이저는 다수의 게스트 OS를 구동할 수 있도록 소프트웨어, 하드웨어 자원을 가상화하면서 하드웨어와 VM을 모니터링하는 중간 관리자역할입니다... 2024. 9. 13.
Windows 도커 설치하기 해당 글의 Windows 도커 설치는  MicroSoft의 이전 버전 WSL의 수동 설치 단계을 따릅니다.  도커 설치 순서1단계 - Linux용 Windows 하위 시스템 사용 2단계 - WSL 2 실행을 위한 요구 사항 확인 3단계 - Virtual Machine 기능 사용 4단계 - Linux 커널 업데이트 패키지 다운로드  기본적으로 관리자 권한으로 PowerShell을 이용하여 관련 파일을 설치합니다. WSL란, 별도의 가상머신 또는 이중부팅 없이 Windows 컴퓨터에서 Linux 환경을 실행할 수 있는 Windows의 기능입니다.   관리자 권한으로 PowerShell에서 아래 명령어를 입력합니다.dism.exe /online /enable-feature /featurename:Microso.. 2024. 9. 10.
웹 게임을 만들며 배우는 Vue(섹션별 회고) *개요   웹 게임을 만들며 배우는 Vue 강의를 듣고 유용한 문법을 섹션별로 회고합니다. 데이터 중심으로 사고하라(화면에서 변경되는 부분과 아닌 부분을 잘 구분하라)  섹션 1 끝말잇기- ref를 사용하면 특정 요소에 접근할 수 있습니다. 예를 들어, this.$refs를 사용해 ref="answer"로 정의한 요소에 계속 커서를 유지하도록 focus()를 걸 수 있습니다.  제출 ...export default { ... methods : { onSubmit(e) { e.preventDefault(); this.$refs.answer.focus(); } }}   섹션 2 구구단- 같은 화면을 여러번 넣고 싶다면(각기 다른 d.. 2024. 8. 1.
computed vs watch vs method *개요data, computed, watch 사용의 차이를 알아봅니다.  추가사항(2024-10-23) 매개변수가 전달되는 경우에는 computed 캐싱 기능을 활용 못하므로 methods 사용 computed vs method  computed: { // a computed getter reversedMessage: function () { // `this` points to the vm instance return this.message.split('').reverse().join('') } } methods: { reverseMessage: function () { return this.message.split('').reverse().join('').. 2024. 6. 12.
[vue 터미널 실행 오류] "vue : 이 시스템에서 스크립트를 실행할 수 없으므로 파일을 로드할 수 없습니다" *개요*npm install @vue/cli 명령어로 Vue를 설치하고 Vue 버전을 확인하려고 하는데 오류가 났습니다.(Vue CLI 설치는 공식문서를 참고하세요 - https://cli.vuejs.org/guide/installation.html)    원인 및 해결방안 해당 오류의 원인은 Windows 실행 정책입니다. 기본은 Restricted으로 "개별 명령을 허용하지만 스크립트는 허용하지 않습니다." 따라서 정책을 변경하거나 개별 명령을 실행해야 합니다. 자세한 내용은 공식문서를 참고하세요(about_Execution_Policies)  정책더보기AllSigned 스크립트를 실행할 수 있습니다. 로컬 컴퓨터에서 작성하는 스크립트를 포함하여 신뢰할 수 있는 게시자가 모든 스크립트 및 구성 파일에.. 2024. 5. 29.
싱글톤(Singleton) singleton 싱글톤은 유일한 1개의 공유 인스턴스만 관리하며, 해당 빈 정의와 일치하는 ID를 가진 모든 요청은 스프링 컨테이너에 의해 유일하게 "하나의 빈"만 반환합니다. 만약 싱글톤으로 1개의 빈을 정의했다면, 스프링 IoC 컨테이너는 해당 빈 정의로 유일한 1개의 객체 인스턴스를 생성합니다. 유일한 객체 인스턴스들은 캐시에 저장되고 해당 빈이 필요하면 저장된 캐시 객체를 반환합니다. 스프링의 싱글톤 개념과 디자인 패턴의 싱글톤 개념 다릅니다. 디자인패턴 싱글톤은 '클래스 로더'마다 특정 클래스의 유일한 1개의 인스턴스만 생성합니다. 하지만 스프링 싱글톤은 '스프링 컨테이너'마다 1개의 빈을 생성합니다. 즉, 하나의 스프링 컨테이너에 특정 클래스를 빈으로 정의했다면, 스프링 컨테이너는 해당 클래.. 2024. 3. 18.
OOD, OOP(객체 지향 개발)의 원칙 - SOLID 개요 책에서 6장에 'OOD(객체 지향 개발)의 원칙'에서 5가지의 객체 지향 개발의 원칙을 설명하고 있습니다. 이 내용을 정리해보겠습니다. 또한 인프런 김영한님의 강의를 참고했습니다. 단 하나의 책임 원칙(The Single Responsibility Principle, SRP) 어떤 클래스를 변경해야 하는 이유는 오직 하나뿐이어야 한다. 클래스는 오직 하나의 주제만 알아야 합니다. 즉, 오직 하나의 책임만 져야 합니다. 다시 말해, 어떤 클래스를 변경해야 하는 이유는 오직 하나뿐이어야 합니다. 그림 6.1을 보겠습니다. 이 클래스는 너무 많은 정보를 가지고 있습니다. 임금과 세금을 계산하는 방법, 자신을 디스크에 저장하거나 읽어 오는 방법, 그리고 자신을 XML 입출력하는 방법, 다양한 보고서 형식으.. 2024. 3. 15.
Generics의 Type Erasure(타입 소거) *개요 지네릭의 타입소거를 알아봅니다. 타입 소거란? 타입 소거는 지네릭을 사용할 때 '컴파일 타임'에 엄격한 타입 체크를 위해 자바에서 제공하는 전략입니다. 왜 '컴파일 타임'일까요? 지네릭 타입은 컴파일 타임에만 존재하고 런타임에서는 사라지도록 설계되었기 때문입니다. JDK 1.5 이전 버전에서는 지네릭이 존재하지 않았기 때문에 과거 레거시 코드와의 호환성을 위해 컴파일에서만 엄격하게 타입 체크를 하고 런타임은 동일하게 유지합니다. class 파일로 변환된 코드를 확인해보면 지네릭 코드는 하나도 없고 모두 적절하게 형 변환되어 레거시 코드와 호환을 보장할 수 있습니다. 개발자는 지네릭을 통해 컴파일 타임에 미리 문제를 파악할 수 있어 안전한 코딩을 할 수 있습니다. "지네릭 타입은 컴파일 타임에만 존.. 2024. 3. 8.
Generics의 Wildcards(와일드카드) *개요 자바 문법 Generics의 Wildcards 내용을 정리합니다. Wildcards란? 지네릭 코드에서 물음표 (?) 이며, 다른 말로 알려지지 않은 타입(unknown type) 입니다. 매개변수, 필드, 로컬 변수, 리턴타입 등에 사용할 수 있습니다. (리턴타입은 구체적인 타입 선언이 바람직합니다.) 단, 와일드 카드는 지네릭 메서드 호출, 지네릭 클래스 생성, 슈퍼타입 생성에서 타입 인자(type argument)로 사용하지 않습니다. 와일드카드의 장점은 하나의 참조변수에 다양한 매개변수화된 타입을 가지는 지네릭 객체를 담는 다형성 구현입니다. 와일드카드 매개변수화된 타입은 new 인스턴스 초기화에 사용할 수 없습니다. (cannot be instantiated directly 에러 발생) .. 2024. 3. 7.
반응형