일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- gcp
- 파이썬
- 리트코드
- GenAI
- codeup
- 클라우드
- nlp
- 투포인터
- 데이터사이언스
- Python
- C#
- 파이썬기초
- GenerativeAI
- 파이썬알고리즘
- Python3
- 릿코드
- Blazor
- 알고리즘
- 생성형AI
- 코드업파이썬
- 코드업
- 파이썬기초100제
- 구글퀵랩
- 머신러닝
- TwoPointer
- Azure
- LeetCode
- 자연어처리
- Microsoft
- 빅데이터
- Today
- Total
목록All (107)
Tech for good
Multithreading - Python's GIL Keyword - Cpython, 메모리 관리, GIL 사용 이유 01. Python GIL(Global Interpreter Lock) - CPython -> Python(bytecode) 실행 시 여러 thread 사용할 경우, 단일 스레드만이 Python object에 접근하게 제한하는 mutex - CPython 메모리 관리가 취약하기 때문 (즉, Thread를 Safe하게 사용하기 위해 필요) - 단일 스레드로도 충분히 빠르다. - 프로세스 사용 가능(Numpy, Scipy 등) Gil 외부 영역에서 효율적인 코딩 - 병렬 처리는 Multiprocessing, asyncio 등 선택지 다양함. - thread 동시성 완벽 처리를 위해 Jyth..

1. 프로세스(Process) - 운영체제 -> 할당 받는 자원 단위 (실행 중인 프로그램) Mac의 경우 Alt + Space 클릭하여, Search 창에 Activity Monitor 켜서 확인 가능 - CPU 동작 시간, 주소 공간 (독립적) - Code, Data, Stack, Heap -> 독립적 - 최소 1개의 메인 스레드 보유 - 파이프, 파일, 소켓 등을 사용해서 프로세스간 통신 (Cost 높음) => Context Switching 2. 스레드(Thread) - 프로세스(Process) 내에 실행 흐름 단위 - 프로세스의 자원 사용 - Stack만 별도 할당, 나머지는 공유(Code, Data, Heap) - 메모리 공유(변수 공유) - 한 스레드의 결과가 다른 스레드에 영향 끼침 - 동..
페어 프로그래밍 시, 페어의 브랜치를 가져오는 방법이다. 1. 먼저 VS에서 Git 페치를 한다. 2. Git 분기관리를 클릭한 후, remotes/origin 폴더를 찾는다. - 로컬 기록에서 해당 커밋 기록이 최신인지 확인해야 한다. 앞선 과정에서 페치가 잘 되었는지 확인하는 과정이다. 3. 위 폴더에서 가져오고 싶은 브랜치를 찾아서 우클릭 후, '새 로컬 분기 시작 위치(Create a new branch)'를 클릭한다. - 분기 이름을 다르게 설정하여 작업하는 게 안전하다.

IT 교양 지식서를 찾는다면 추천하는 책이다. 기술의 탄생 배경 및 역사, 트렌드 등에 대한 방대한 정보들이 읽기 쉽게 구성되어 있다. 교양을 쌓는다는 느낌으로 가볍게 읽기 좋은 책이라 IT 업계의 「알쓸신잡」, 이라고 비유할 수 있을 거 같다. "한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다."

6092 : [기초-리스트] 이상한 출석 번호 부르기1 정보 선생님은 수업을 시작하기 전에 이상한 출석을 부른다. 선생님은 출석부를 보고 번호를 부르는데, 학생들의 얼굴과 이름을 빨리 익히기 위해 번호를 무작위(랜덤)으로 부른다. 그리고 얼굴과 이름이 잘 기억되지 않는 학생들은 번호를 여러 번 불러 이름과 얼굴을 빨리 익히려고 하는 것이다. 출석 번호를 n번 무작위로 불렀을 때, 각 번호(1 ~ 23)가 불린 횟수를 각각 출력해보자. 예시 n = int(input()) #개수를 입력받아 n에 정수로 저장 a = input().split() #공백을 기준으로 잘라 a에 순서대로 저장 for i in range(n) : #0부터 n-1까지... a[i] = int(a[i]) #a에 순서대로 저장되어있는 각 ..

6087 : [기초-종합] 3의 배수는 통과 1부터 입력한 정수까지 1씩 증가시켜 출력하는 프로그램을 작성하되, 3의 배수인 경우는 출력하지 않도록 만들어보자. 예를 들면, 1 2 4 5 7 8 10 11 13 14 ... 와 같이 출력하는 것이다. 예시 ... for i in range(1, n+1) : if i%2==0 : continue #다음 반복 단계로 넘어간다. print(i, end=' ') #i가 짝수가 아닐 때만 실행된다. ... 위 코드는 홀 수만 출력하는 예시이다. 참고 조건문이나 반복문의 코드블록 안에서 continue 가 실행되면, 반복 블록 안에 있는 나머지 부분을 실행하지 않고, 다음 반복 단계로 넘어간다. 즉, 반복 블록의 나머지 부분은 실행되지 않고, 다음 단계의 반복을 계..

6085 : [기초-종합] 그림 파일 저장용량 계산하기이미지가 컴퓨터에 저장될 때에도 디지털 데이터화 되어 저장된다.가장 기본적인 방법으로는 그림을 구성하는 한 점(pixel, 픽셀)의 색상을빨강(r), 초록(g), 파랑(b)의 3가지의 빛의 세기 값으로 따로 변환하여 저장하는 것인데,예를 들어 r, g, b 각 색에 대해서 8비트(0~255, 256가지 가능)씩을 사용한다고 하면,한 점의 색상은 3가지 r, g, b의 8비트+8비트+8비트로 총 24비트로 표현해서총 2^24 가지의 서로 다른 빛의 색깔을 사용할 수 있는 것이다.그렇게 저장하는 점을 모아 하나의 큰 이미지를 저장할 수 있게 되는데,1024 * 768 사이즈에 각 점에 대해 24비트로 저장하면 그 이미지를 저장하기 위한저장 용량을 계산할 ..

6083 : [기초-종합] 빛 섞어 색 만들기 빨강(red), 초록(green), 파랑(blue) 빛을 섞어 여러 가지 다른 색 빛을 만들어 내려고 한다. 빨강(r), 초록(g), 파랑(b) 각 빛의 가짓수가 주어질 때, 주어진 rgb 빛들을 섞어 만들 수 있는 모든 경우의 조합(r g b)과 만들 수 있는 색의 가짓 수를 계산해보자. **모니터, 스마트폰과 같은 디스플레이에서 각 픽셀의 색을 만들어내기 위해서 r, g, b 색을 조합할 수 있다. **픽셀(pixel)은 그림(picture)을 구성하는 셀(cell)에서 이름이 만들어졌다. 입력 빨녹파(r, g, b) 각 빛의 가짓수가 공백을 두고 입력된다. 예를 들어, 3 3 3 은 빨녹파 빛에 대해서 각각 0~2까지 3가지 색이 있음을 의미한다. 0

들어가며 대량의 데이터를 쉽게 수집할 수 있고, 수집한 데이터를 처리하는 하드웨어의 성능은 좋아졌으며, 최신 알고리즘이 구현된 오픈소스 프레임워크를 손쉽게 사용할 수 있게 된 시대이다! 덕분에 머신러닝을 도입하기 위한 장벽은 한층 낮아졌다. 하지만 이를 실제 비즈니스에 적용하는 문제는 다르다. 해결해야 하는 문제를 스스로 정의하고 시스템을 설계하는 방법은 조금 더 고차원적이기 때문이다. 이 책은 머신러닝 입문서를 떼고 실무에 활용하려는 개발자, 머신러닝 시스템 및 기술적인 내용에 흥미가 있는 비즈니스 담당자 같은 독자를 대상으로 머신러닝과 데이터 분석 도구를 비즈니스에 활용하는 방법을 알려주고 있다. 조금 더 구체적으로 살펴보면 아래와 같은 사항들을 배울 수 있다. 머신러닝 프로젝트를 시작하는 방법 기존..

6080 : [기초-종합] 주사위 2개 던지기 1부터 n까지, 1부터 m까지 숫자가 적힌 서로 다른 주사위 2개를 던졌을 때, 나올 수 있는 모든 경우를 출력해보자. 예시 ... for i in range(1, n+1) : for j in range(1, m+1) : print(i, j) ... 참고 위 코드는 바깥쪽의 i 값이 1부터 n까지 순서대로 바뀌는 각각의 동안에 안쪽의 j 값이 다시 1부터 m까지 변하며 출력되는 코드이다. 조건선택 실행구조 안에 다른 조건선택 실행구조를 넣어 처리할 수 있는 것과 마찬가지로 반복 실행구조 안에 다른 반복 실행구조를 넣어 처리할 수 있다. 원하는 형태로 실행 구조를 결합하거나 중첩시킬 수 있다. 입력 서로 다른 주사위 2개의 면의 개수 n, m이 공백을 두고 입..