전체 글
-
[SparkML] Linear Regression 구현하기 ( Kaggle )Spark/SparkML 2021. 12. 5. 21:43
- 목차 소개. 아래 링크는 kaggle 의 Conf. Interval for Inferences 의 Linear Regression 관련 문제입니다. https://www.kaggle.com/code/abdulazizdusbabaev/conf-interval-for-inferences/notebook Conf. Interval for Inferences Explore and run machine learning code with Kaggle Notebooks | Using data from Linear Regression www.kaggle.com SparkML 을 기반으로 Linear Regression 을 구현한 예시코드입니다. import os from pyspark.ml.feature impor..
-
(Java) Programmers 괄호 회전하기 [Stack, Queue]Algorithm 2021. 12. 4. 17:23
- 목차 문제 설명. 다음 규칙을 지키는 문자열을 올바른 괄호 문자열이라고 정의합니다. (), [], {} 는 모두 올바른 괄호 문자열입니다. 만약 A가 올바른 괄호 문자열이라면, (A), [A], {A} 도 올바른 괄호 문자열입니다. 예를 들어, [] 가 올바른 괄호 문자열이므로, ([]) 도 올바른 괄호 문자열입니다. 만약 A, B가 올바른 괄호 문자열이라면, AB 도 올바른 괄호 문자열입니다. 예를 들어, {} 와 ([]) 가 올바른 괄호 문자열이므로, {}([]) 도 올바른 괄호 문자열입니다. 대괄호, 중괄호, 그리고 소괄호로 이루어진 문자열 s가 매개변수로 주어집니다. 이 s를 왼쪽으로 x (0 ≤ x < (s의 길이)) 칸만큼 회전시켰을 때 s가 올바른 괄호 문자열이 되게 하는 x의 개수를 r..
-
[SparkML] VectorAssembler 알아보기Spark/SparkML 2021. 12. 4. 16:57
- 목차 소개. SparkML 에서 VectorAssembler 는 feature 들을 하나의 Vector 로 만들어주는 모듈입니다. Vector 와 Assemble 은 이름 그대로 feature 들을 모아 하나의 Vector 를 만듭니다. Assemble 이 "모으다", "집합시키다", "조합하다" 뜻을 가지듯 말이죠. VectorAssembler 를 통해서 DataFrame 의 Column 들은 하나의 Vector 됩니다. 아래 예시는 Boolean, Integer, Double 타입의 칼럼 3개를 하나의 Vector 로 만드는 예시입니다. from pyspark.ml.feature import VectorAssembler from pyspark.sql import SparkSession from p..
-
[Programmers] 최솟값 만들기 (lv2, Java)Algorithm 2021. 12. 4. 16:51
- 목차 문제 설명. https://school.programmers.co.kr/learn/courses/30/lessons/12941# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱한 값을 누적하여 더합니다. 이때 최종적으로 누적된 값이 최소가 되도록 만드는 것이 목표입니다. (단, 각 배열에서 k번째 숫자를 뽑았다면 다음에 k번째 숫자는 다시 뽑을 수 ..
-
[Sarama] Sarama 로 Kafka Producer 만들어보기 ( Golang )Language/Golang 2021. 12. 4. 16:25
- 목차 들어가며. 이번 글에서는 Golang 의 Kafka Clients 라이브러리인 Sarama 에 대해서 알아보려고 합니다. 무엇보다도 구체적인 예시와 시각적인 자료가 이해하는데에 있어서 큰 도움이 된다고 생각해서 Sarama 를 활용한 Kafka Producer 를 만들어보겠습니다. 현 시점의 가장 최신 버전인 Golang 1.19 와 Sarama 1.43.0 버전을 사용하도록 하겠습니다. Sarama 와 Golang 의 버전 호환성은 아래와 링크를 통해서 확인하실 수 있습니다. https://github.com/IBM/sarama/releases Releases · IBM/sarama Sarama is a Go library for Apache Kafka. Contribute to IBM/sar..
-
Linux awk 알아보기Linux & Shell 2021. 12. 4. 16:25
- 목차 소개. awk 는 텍스트를 분석 및 처리하는 유닉스/리눅스의 실행파일입니다. Aho, Weinberger, Kernighan 세 사람에 의해서 개발되어 AWK 라고 이름붙여졌구요. awk 를 통해서 간단한 텍스트 또는 문서를 프로세싱할 수 있습니다. 이번 글에서는 awk 실행파일을 사용하는 문법과 여러 케이스들에 대해서 알아보려고 합니다. awk 란 ? awk 는 텍스트를 처리하는 명령어입니다. Unix, Linux, MacOS 등에서 사용할 수 있는 실행파일로써 built-in binary file 로써 제공됩니다. 텍스트파일을 행 기반으로 처리하는 대표적인 유닉스 도구이구요. 텍스트 파일의 행은 한 줄의 Line 을 의미합니다. 텍스트의 문자를 추출할 수 있습니다. "Andy Bob Chri..
-
Programmers 멀리 뛰기Algorithm 2021. 12. 3. 22:24
- 목차 소개. "프로그래머스 멀리 뛰기" 문제의 웹 링크를 첨부합니다. https://school.programmers.co.kr/learn/courses/30/lessons/12914 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 분석. 멀리 뛰기 문제는 대표적인 점화식과 관련된 문제입니다. 제가 시도한 문제 해결의 접근 방법을 나열해보겠습니다. 효진이가 1칸을 뛰는 방법. 1칸만큼 점프를 할 수 있으므로 1개의 방법이 존재합니다. j(1) = 1 효진이가 2칸을 뛰는 방법. 1 칸만큼 2 번 점프를 할 수 있고, 2 칸만큼 1 번 점프할 수 있..
-
JUnit Test Discovery 알아보기Test 2019. 7. 25. 09:15
- 목차 소개. JUnit Test Framework 에는 Test Runner 라는 코어 컴포넌트가 존재합니다. Test Runner 가 수행하는 여러 역할들 중에서 Test Discovery 에 대해서 살펴보려고 합니다. Test Discovery 는 선언된 모든 테스트 케이스들을 탐색하는 과정입니다. JUnit 으로 세팅하는 java test 는 메소드 형식으로 생성됩니다. 예를 들어, 아래와 같은 형식이죠. @Test void test1() { // ... } Test Runner 는 테스트를 실행하기 위해서 모든 테스트 메소드를 탐색하게 되는데, Test Runner 어떻게 Test Discovery 를 수행하는지 알아보겠습니다. Annotation 이란 ? @Test Annotation 은 R..
-
Linux File DescriptorLinux & Shell 2019. 7. 25. 08:54
소개 File Descriptor 는 프로세스가 관리하는 파일의 식별값입니다. 만약 프로세스가 read, write 등의 방식으로 파일에 접근하게 되면 커널은 프로세스에게 해당 파일의 식별값을 제공합니다. 예를 들어 A process 가 특정 파일 a.txt 를 read 하게 되면, 커널은 A process 에게 a.txt 에 대한 식별값으로 5 와 같은 정수형 숫자를 제공합니다. 그렇게 되면 A process 는 5 라는 식별값을 가지고 커널에게 a.txt 파일에 대한 작업을 요청합니다. "어떤 문구를 추가한다던지", "읽는다던지", "파일 자체를 삭제해버린다던지" 등의 요청을 커널과 주고 받을 수 있는데, 이때 5 라는 식별값으로 소통을 하게 됩니다. 그리고 이 식별값을 File Descriptor ..
-
ReactiveX 알아보기Language/ReactiveX 2019. 7. 23. 08:40
- 목차 소개. Reactive X 패러다임에 대해서 알아보려고 합니다. Push and Pull. 데이터 커뮤니케이션에는 Push 와 Pull 두가지 방식이 있습니다. Pull. Pull 모델에 대해서 이야기하기 이전에 데이터의 생성자와 소비자가 있다고 가정하겠습니다. 데이터의 생성자는 데이터를 생성하는 서비스이고, 소비자는 데이터 생성자가 생성하는 데이터를 소비하는 서비스입니다. Pull 모델은 데이터 커뮤니케이션의 주체가 데이터 소비자인 데이터 커뮤니케이션 모델입니다. 아래는 Pull 모델의 간단한 구조도입니다. 데이터 소비자는 생산자가 생성한 데이터를 가져옵니다. 이러한 방식은 Polling 이라고 하는데요. 데이터 소비자는 자기 자신의 상황에 따라서 주체적으로 데이터를 생산자로부터 가져옵니다. ..