소개
안녕하세요. IT 지식 크리에이터, 윤상석입니다. 🎩
더 유익하고 본질적인 지식 콘텐츠로 많은 가치를 드릴 수 있도록 노력하겠습니다.
- (주)하이퍼이지 대표이사
- (사)한국정보통신네트워크협회 AI분과기술위원
- (주)블루밴드 기술이사
- 前 (주)마로마브 웹 개발자
- 前 소프트웨어 엔지니어 기술 용역 (카카오, 포스코DX, )
- 前 소프트웨어 공학 온/오프라인 교육 다수 (스타트업, GS리테일, 삼성 등)
문의사항, 추가질문, 집필, 강의제안 ==> EndUpFree@gmail.com
강의
전체 3수강평
- 파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)
- 탄탄한 백엔드 NestJS, 기초부터 심화까지
- 탄탄한 백엔드 NestJS, 기초부터 심화까지
- 타입 파이썬! 올바른 class 사용법과 객체지향 프로그래밍
게시글
질문&답변
2023.05.15
cpu 연산
먼저 두 가지 개념에 대해 한 번 더 정리하고 설명드리겠습니다.병렬성(Parallelism)병렬성은 두 개 이상의 작업이 실제로 동시에 실행되는 상황.주로 여러 코어를 가진 CPU나 GPU에서 볼 수 있음.각 코어는 독립적으로 작업을 수행할 수 있으므로, 여러 작업을 동시에 실행할 수 있음.동시성(Concurrency)동시성은 두 개 이상의 작업이 동시에 발생하는 것처럼 보이는 상황.실제로는 이러한 작업들이 빠르게 번갈아 가며 실행되는 것이지만, 사용자는 이러한 작업들이 동시에 진행되는 것처럼 느낌.예를 들어, 단일 코어 CPU에서 운영체제는 여러 프로세스나 스레드를 관리하며, 각 작업이 동시에 실행되는 것처럼 보이게 할 수 있음. 이는 각 작업을 빠르게 전환하며 CPU 시간을 분할하는 것으로 가능. 이미지 처리 작업으로 예시를 들어보면, 동시성의 경우, CPU는 이미지의 한 픽셀을 처리한 후 다음 픽셀로 넘어가며, 이를 빠르게 반복합니다. 이는 각 픽셀이 동시에 처리되는 것처럼 보이지만, 실제로는 각 픽셀이 순차적으로 처리됩니다. 반면에 병렬성의 경우, 여러 코어를 가진 CPU나 GPU는 이미지의 여러 픽셀을 동시에 처리할 수 있습니다. 각 코어는 다른 픽셀을 독립적으로 처리하기 때문에, 실제로 여러 작업이 동시에 수행됩니다.동시성, 병렬성 내용 자체가 사실 정말 어려운 개념입니다 ㅎㅎ 강의 내용을 반복해 보시면서, 컴퓨터 공학, 운영체제 쪽으로 깊게 공부하고 싶으시면,쉽게 배우는 운영체제 - YES24 이 책을 빌려서 가볍게 읽어 보시는 것을 추천드립니다. (단순하게 그냥 추천 드리는게 아니라, 저도 직접 읽어봤습니다 ㅎㅎ)추가적으로 궁금하신 내용 있으시면 질문해주세요!
- 0
- 1
- 262
질문&답변
2023.05.14
보너스 강의
안녕하세요 이종은님 :)보너스 강의는 질문에 대한 추가적인 강의가 필요할시에 기존 강의를 업데이트 하거나, 추가하는 강의입니다! 따로 보너스 강의라는 단어로 명시는 안했습니다! 강의 수강하시면서 궁금하신 사항을 질문으로 올려주시거나 메일로 보내주시면, 추가 강의를 제작하거나 글로 답변을 드리겠습니다.만일, 개인적으로 해당 강의의 주제 말고 더 알고 싶은 주제나 궁금한 새로운 주제가 있으시면, 저에게 요청주시면, 검토 후에 강의를 따로 제작하고 무료 쿠폰을 드리고 있습니다.개인적으로 AI를 활용한 강의를 많이 요청 주셔서 따로 강의를 제작하고 있습니다. 출시가 되면, 요청주신 분께 무료 쿠폰을 드릴 예정입니다.감사합니다.
- 0
- 1
- 206
질문&답변
2023.05.14
싱글턴 관련해서 이해가 잘 가지 않습니다
좋은 질문 감사합니다. 앞서 답변에 대해, 명확하게 전달을 못드린 것 같아서 제대로 정리해드리겠습니다.싱글톤의 정의 : 특정 클래스의 인스턴스를 단 하나만 생성함.디자인적 관점 : 싱글톤은 전역 접근 가능하면서도 인스턴스화가 통제된 객체를 제공해서 코드의 일관성을 유지하고 자원 공유를 쉽게 함.메모리 관점 : 싱글톤은 단일 인스턴스만 유지함으로써 메모리 사용량을 최적화하고, 공유 리소스에 대한 중복 생성을 방지함.사실 메모리 관점으로 봤을때, NodeJS에서는 싱글톤패턴 구현이 의미가 없습니다. 이유 : node.js 에서 싱글톤이 필요한 이유가 무엇인가요? - 인프런 | 질문 & 답변 (inflearn.com)하지만, 코드 디자인적 의미로도 중요한 의미를 같기 때문에 이를 설명하고자, app을 하나로 정의하여 설명하였습니다. 실제 싱글톤을 구현하는 예시를 들어서 설명을 드리겠습니다.NodeJS에서 싱글톤 패턴을 사용하려면, (NodeJS의 모듈은 싱글톤과 유사하게 동작하기 때문에), 모듈 시스템을 사용하는 것이 일반적입니다. require() 함수로 모듈을 불러올 때, NodeJS는 모듈의 인스턴스를 생성하고 이를 캐시에 저장합니다. 그 다음부터는 캐시에 있는 동일한 인스턴스를 반환합니다.// mySingleton.js class MySingleton { constructor() { if (!MySingleton.instance) { this.data = []; MySingleton.instance = this; } return MySingleton.instance; } addData(item) { this.data.push(item); } getData() { return this.data; } } module.exports = MySingleton;// app.js const MySingleton = require('./mySingleton'); const singleton1 = new MySingleton(); singleton1.addData('Item 1'); const singleton2 = new MySingleton(); singleton2.addData('Item 2'); console.log(singleton1.getData()); // ['Item 1', 'Item 2'] console.log(singleton2.getData()); // ['Item 1', 'Item 2']위 코드에서 singleton1과 singleton2는 동일한 인스턴스를 참조하며, singleton1에 추가한 데이터를 singleton2에서도 확인하실 수 있습니다. // app.js const MySingleton = require("./mySingleton"); const singleton1 = new MySingleton(); const singleton2 = new MySingleton(); singleton1.user = { hello: "world" }; console.log(singleton1.user); // { hello: 'world' } console.log(singleton2.user); // { hello: 'world' } 위의 코드도 확인해보세요.이제 express 인스턴스도 실험해보면 아래와 같습니다.// app.js const express = require("express"); const app1 = express(); const app2 = express(); app1.user = { hello: "world" }; console.log(app1.user); // { hello: 'world' } console.log(app2.user); // undefined 따라서, const app = express() 이렇게 하나로 정의해서 app 객체만을 사용하면, 의미적으로 싱글톤 패턴과 유사하게 동작하게 동작하는 것을 기대할 수 있습니다.추가적으로 궁금하신 사항 있으시면 답글 달아주세요!
- 3
- 4
- 554
질문&답변
2023.05.12
싱글턴 관련해서 이해가 잘 가지 않습니다
자바에서의 싱글턴과는 다릅니다! server1과 server2는 다른 인스턴스입니다.하나의 Server 인스턴스 내에서 모두 동일한 express.Express 타입의 app을 공유한다는 의미입니다
- 3
- 4
- 554
질문&답변
2023.05.09
깃허브 REAME.md
안녕하세요 본 강의 자료는 아래의 세 가지입니다!! 참고하시면 좋을 것 같습니다.- 강의 코드 : amamov/teaching-async-python: [인프런] 파이썬 동시성 프로그래밍 (feat. FastAPI) (github.com)- 강의 자료 마인드맵 : Yoon - Sang Seok (async-py.netlify.app)- 파이썬설치가이드 : teaching-async-python/2-파이썬-멀티-스레딩과-멀티-프로세스 at main · amamov/teaching-async-python (github.com)혹시 강의의 어떤 부분을 말씀하시는지 제목과 분을 말씀해주시면 조금 더 도움드리겠습니다!!
- 1
- 2
- 390