전체 글
-
TCP Socket 알아보기Network 2022. 12. 19. 22:59
- 목차 소개.TCP 소켓에 대해서 가볍게 알아보는 시간을 가지려고 합니다. 소켓은 TCP 소켓과 같은 네트워크 통신 뿐만 아니라 IPC (Inter Process Communication) 에서도 Socket 방식의 통신 기법이 있는데요. 두 소켓 통신의 차이점은 "네트워크 스택을 사용하는가 사용하지 않는가?" 입니다. TCP 소켓은 IP 와 PORT 정보가 필요한데 반해, IPC Socket 통신은 그렇지 않죠. Socket 통신은 여러 System Call 을 필요로합니다. NIC(Network Interface Card), Operating System 와 소통하고 도움을 받아야하기 때문에 System Call 이 사용됩니다. 사용되는 네트워크 System Call 의 종류로는 - socket -..
-
[Programmers] 상품 별 오프라인 매출 구하기 (SQL)Algorithm 2022. 12. 18. 16:00
- 목차 문제 설명. https://school.programmers.co.kr/learn/courses/30/lessons/131533 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 다음은 어느 의류 쇼핑몰에서 판매중인 상품들의 상품 정보를 담은 PRODUCT 테이블과 오프라인 상품 판매 정보를 담은 OFFLINE_SALE 테이블 입니다. PRODUCT 테이블은 아래와 같은 구조로 PRODUCT_ID, PRODUCT_CODE, PRICE는 각각 상품 ID, 상품코드, 판매가를 나타냅니다. PRODUCT_ID INTEGER FALSE PRODUCT_COD..
-
[Programmers] 피로도 (lv2, Java, 완전정복, DFS)Algorithm 2022. 12. 18. 16:00
- 목차 문제 설명. https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던전 탐험을 마쳤을 때 소모되는 "소모 피로도"가 있습니다. "최소 필요 피로도"는 해당 던전을 탐험하기 위해 가지고 있어야 하는 최소한의 피로도를 나타내며, "소모 피로도"는 던전을 탐..
-
Thread 알아보기System 2022. 12. 13. 19:09
- 목차 같이 읽으면 좋은 글 https://westlife0615.tistory.com/285 Call Stack 이해하기 - 목차 * 소개 어떤 프로그램을 사용한다는 의미에 대해서 생각해 볼 필요가 있습니다. 예를 들어, 크롬같은 웹 브라우저를 사용한다거나 Spring 같은 서버를 실행시킨다거나 하는 행동들을 말이 westlife0615.tistory.com 소개. Thread 는 프로그램의 실질적인 실행 단위입니다. 소위 프로그램이 실행되면, 실행된 프로그램을 Process 라고 하죠. Thread 는 이 실행 중인 Process 내부에서 다루어지는 가장 작은 실행 단위입니다. 실제로 CPU 를 차지해서 코드들을 순차적으로 실행하는 것이 Thread 입니다. Thread 는 Task Schedule..
-
(Java) Programmers 타겟 넘버 [DFS, 재귀함수]Algorithm 2022. 7. 22. 07:12
- 목차 문제 설명. n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘버를 만드는 방법의 수를 return 하도록 solution 함수를 작성해주세요. 제한사항 주어지는 숫자의 개수는 2개 이상 20개 이하입니다. 각 숫자는 1 이상 50 이하인 자연수입니다. 타겟 넘버는 1 ..
-
[Spark] Docker 로 Spark Cluster 구현하기 ( Standalone Mode )Spark 2022. 7. 18. 04:40
- 목차 소개. Docker 로 Spark Cluster 를 실행시키는 방법에 대해서 알아보고자 합니다. 이러한 방식으로 Spark Master Node 와 여러개의 Worker Node 들을 구동시키는 방식을 Standalone Mode 라고 합니다. 이번 글에서는 Standalone 방식의 Deployment 를 설명하며, Spark 클러스터 환경에서 여러가지 테스트를 진행하기 위해서 2개 이상의 Worker 를 실행시키는 것이 목표입니다. Docker Yaml. 먼저 docker-compose.yaml 파일을 생성합니다. 저는 /tmp/ 디렉토리 하위에 해당 yaml 파일을 생성하였습니다. 이미지는 bitnami/spark:3.2.4 이미지를 사용합니다. < spark-docker-compose.y..
-
(Java) Programmers 문자열 압축 (Deque)Algorithm 2022. 7. 18. 04:23
- 목차 소개. 아래 웹 링크는 "프로그래머스 문자열 압축" 에 대한 링크입니다. https://school.programmers.co.kr/learn/courses/30/lessons/60057 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명. 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자열에서 같은 값이 연속해서 나타나는 것을 그 문자의 개수와 반복되는 값으로 표현하여 더 짧은 문자열로 줄여서 표현하..
-
[Programmers] 더 맵게 ( PriorityQueue )Algorithm 2022. 7. 18. 03:54
- 목차 문제 설명. 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2) Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다. Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하는 스코빌 지수 K가 주어질 때, 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 섞어야 하는 최소 횟수를 return 하도록 solution 함수를 작성해주세요. 제한 사항 ..
-
[pytorch] DataLoader 알아보기AI-ML 2022. 7. 18. 03:48
- 목차 키워드.- DataLoader- Dataset- Iteration 들어가며.pytorch 는 학습할 데이터의 관리를 위해서 Dataset 와 DataLoader 클래스를 제공합니다.Dataset 클래스는 학습 또는 테스트를 위한 데이터를 수월하게 관리하기 위한 인터페이스를 제공합니다.예를 들어서 데이터의 총 갯수를 알려주는 len 함수, Iteration 을 위해 개별 데이터를 획득할 수 있는 getitem 함수 등이 제공됩니다.즉, 데이터 관리를 손쉽게 하기 위한 유틸리티 함수들이 첨가된 클래스라고 생각하시면 됩니다.이러한 Dataset 과 더불어 DataLoader 는 Iteration 을 위한 인터페이스가 제공됩니다.흔히 epoch, batch 등과 같이 용어들이 사용되죠 ?이는 학습 과정..
-
(Java) Programmers/연습문제/피보나치 수Algorithm 2022. 6. 15. 11:05
- 목차 문제 설명 "프로그래머스 피보나치 수" 문제의 웹링크입니다. https://school.programmers.co.kr/learn/courses/30/lessons/12945 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) ..