일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |
- 시스템호출
- 프로그래머스
- 가상면접사례로배우는대규모시스템설계기초
- Spring
- spring boot
- OpenCV
- 알고리즘
- thymeleaf
- 코딩테스트
- 컴포넌트스캔
- TypeORM
- 구조체배열
- nestjs auth
- 해시
- 코테
- python
- AWS
- @Component
- 카카오
- 스프링
- C++
- git
- Nodejs
- 카카오 알고리즘
- @Autowired
- nestJS
- C언어
- nestjs typeorm
- 파이썬
- 카카오 코테
- Today
- Total
목록# Language & Tools (54)
공부 기록장 💻
Linux Commadns 1. ls list 파일이나 디렉토리를 보는 명령어 옵션 a- : 전부 표시 (숨김 파일, 디렉토리 포함) -l : 상세 정보 (소유자, 크기, 수정 시간 등) -S : 크기별 정렬 -h ㅣ 단위 표현 변경 (KB, GB 등) $ ls -al 2. cd Change Directory 디렉토리 이동 절대 경로, 상대 경로로 이동 가능 $ cd /users/data $ cd .. $ cd ./downloads 3. pwd Print Working Directory 현재 작업중인 디렉토리를 보여줌 $ pwd 4. mkdir Make Directory 신규 디렉토리 생성 5. rmdir Remove Direcotry 디렉토리 삭제 (삭제 시 디렉토리 내에 파일이 없어야 함) $ mkd..
테스트 코드를 작성하는 방법은 다양한데, 많은 사람들이 'Given-When-Then' 패턴과 'F.I.R.S.T' 전략을 소개해보고자 한다. Given-When-Then 패턴 Given-When-Then 패턴은 테스트 코드를 표현하는 방식 중 하나로, 다음과 같은 단계를 설정하여 각 단계의 목적에 맞게 코드를 작성한다. Given 테스트를 수행하기 전에 테스트에 필요한 환경을 설정하는 단계로, 테스트에 필요한 변수를 정의하거나 Mock 객체를 통해 특정 상황에 대한 행동을 정의한다. When 테스트의 목적을 보여주는 단계로, 실제 테스트 코드가 포함되며 테스트를 통한 결괏값을 가져오게 된다. Then 테스트의 결과를 검증하는 단계로, 일반적으로 When 단계에서 나온 결괏값을 검증하는 작업을 수행한다...
12. 데이터 시각화 matplotlib을 이용한 시각화 정보 시각화는 특잇값을 찾아내거나, 데이터 변형이 필요한지 알아보거나, 모델에 대한 아이디어를 찾기 위한 과정의 일부이다. 파이썬은 다양한 시각화 도구를 제공하고 있는데, matplotlib 기반의 도구들을 살펴보자. 2D 그래프를 위한 desktop package로, 파이썬에서 매트랩과 유사한 인터페이스를 2002년 지우너하기 시작했다. pdf, svg, jpg, png, bmp, gif 등 일반적으로 널리 사용되는 벡터 포맷과 래스터 포맷으로 그래프를 저장할 수 있다. matplotlib과 함께 seaborn 이라는 새로운 데이터 시각화 라이브러리도 살펴보자. 1. matplotlib API 간략하게 살펴보기 matplotlib을 다음과 같은 ..
CH7. 데이터 정제 및 준비 pandas 라이브러리는 데이터를 원하는 형태로 가공하는 작업을 유연하고 빠른 고수준의 알고리즘과 처리 기능을 제공 결측치, 중복 데이터, 문자열 처리 그리고 다른 분석 데이터 변환에 대한 도구들을 다루어보자 1. 누락된 데이터 처리하기 (Handling Missing Data) 누락 데이터를 처리하는 일은 데이터 분석 애플리케이션에서 흔히 발생하는 일이며, pandas의 설계 목표 중 하나는 누락 데이터를 가능한 한 쉽게 처리할 수 있도록 하는 것이다. 산술 데이터의 경우 pandas는 누락된 값을 쉽게 찾을 수 있도록 하기 위해 누락된 데이터를 실숫값인 NaN으로 취급한다. 분석을 위해 데이터를 정제하는 과정에서 결측치 자체를 데이터 수집 과정에서의 실수나 결측치로 인한..
우아한테크코스 프리코스 2주차 미션으로 각 기능의 작동을 테스트하는 코드를 작성하는 것이 프로그래밍 요구사항 중 하나로 추가되었다. JUnit 5 와 AssertJ를 이용하여 기능 목록이 정상 동작함을 테스트 코드로 확인하여야 한다. 따라서 테스트코드가 무엇인지 알아보고 이를 적용해보자. 우테코 프리코스 2주차 숫자 야구게임에서 제공된 학습용 테스트 코드 stduy 폴더에 간단한 테스트 코드가 추가되어 있는데, 이를 통해 테스트 코드가 어떤 역할을 하며, 어떤 방식으로 작성되어야 하는지 간단히 학습해보고 테스팅에 대한 자세한 내용은 따로 추가적으로 공부해보자. 우선 study 폴더 내 StringTest 클래스 파일을 보면 다음과 같이 org.junit.jupiter.api.Test와 org.assert..
Python for Data Analysis CH6. 데이터 로딩과 저장, 파일 형식 정리 이전 글(https://dream-and-develop.tistory.com/272) 에 이어 Python을 이용한 웹 문서 파싱, 이진 데이터 형식 다루기, 웹 API를 통한 스크래핑, SQLite3 DB 연결 후 데이터 저장하는 법에 대해 알아보자. 웹 데이터 다루기: HTML, XTML HTML 스크래핑 파이썬에서는 lxml, BeautifulSoup , html5lib 과 같은 HTML과 XML 형식의 웹 데이터를 읽고 쓸 수 있는 라이브러리가 많다. 그중에서도 lxml은 가장 빠르게 동작하고 깨진 HTML과 XML 파일도 잘 처리해줌 내장 함수 read_html() : lxml이나 BeautifulSoup..
Python for Data Analysis CH 6. 데이터 로딩과 저장, 파일 형식 1. 텍스트 파일에서 데이터를 읽고 쓰는 법 pandas에서 표 형식의 텍스트 데이터를 DataFrame 객체로 읽어오는 몇 가지 기능 **옵션** 색인 : 반환하는 DataFrame에서 하나 이상의 컬럼을 색인으로 지정. 파일이나 사용자로부터 컬럼 이름을 받거나 아무것도 받지 않을 수 있다. 자료형 추론과 데이터 변환 : 사용자 정의 값 변환과 비어있는 값을 위한 사용자 리스트를 포함 날짜 분석 : 여러 컬럼에 걸쳐 있는 날짜와 시간 정보를 하나의 컬럼에 조합해서 결과 반영 반복: 여러 파일에 걸쳐 있는 자료를 반복적으로 읽어옴 정제되지 않은 데이터 처리: 로우나 꼬리말, 주석 건너뛰기 또는 천 단위마다 쉼표로 구분..
Python for Data Analysis CH5. Panadas 데이터 분석을 위한 파이썬 판다스 라이브러리 Pandas 자료구조 파이썬에서 쉽고 빠르게 데이터를 분석하고 다루기 위한 자료구조와 도구들을 포함함 기존 python 라이브러리와 가장 큰 차이는, for문을 사용하지 않고 데이터를 처리하거나 배열 기반의 함수를 제공하는 등 NumPy 배열 기반 계산 스타일을 많이 차용하여, 테이블 기반 및 이종의 데이터를 쉽게 다룰 수 있게 된다는 점 NumPy와 다른 점은, pandas는 표 형식의 데이터나 다양한 형태의 데이터를 다루는데 초점을 맞춰 설계했다는 점 (Numpy는 단일 산술 배열 데이터를 다루는데 특화되어 있음) 다른 산술 계산 도구인 Numpy 와 SciPy , 분석 라이브러리인 sta..
Python for Data Analysis CH4. Numpy 데이터 분석을 위한 파이썬 CH4. Numpy NumPy 배열이란? Numpy : Numerical Python, 파이썬에서 산술 계산을 위한 가장 중요한 필수 패키지 중 하나 특징 ndarray : 배열 중심의 빠른 산술 연산을 지원하는 다차원 배열, 브로드캐스팅 기능 지원 (행렬 연산) 반복되는 루프를 가지지 않고, 전체 배열에서의 빠른 연산을 지원 디스크에 배열 데이터를 읽고 쓰기 위한 도구와 메모리에 적재된 파일을 다루는 도구 지원 선형 대수, random number 생성, 푸리에 변환 등 고급 수학 연산 지원 C, C++ 로 작성된 라이브러리를 C API를 사용해 NumPy 와 연동 데이터 분석을 위한 NumPy 벡터 배열 상에서..
Python for Data Analysis (데이터 분석을 위한 파이썬) 3장. 내장 자료구조, 함수, 파일 정리 CH3. 내장 자료구조, 함수, 파일 자료구조와 순차 자료형 1. 튜플 1차원의 고정된 크기를 가지는 변경 불가능한 순차 자료형 tup = tuple(['foo', [1,2,], True]) tup[1].append(3) nested_tup = (1,2,3), (4,5,6) print(tuple('string')) # ('s', 't', 'r', 'i', 'n', 'g') print(tup[0]) # 인덱스로 접근 가능 튜플에서 값 분리하기 (대입 연산자 사용) tup = (4..
Python 자료구조 set 집합 자료형 s1 = list(set([1,2,3,3])) -> [2,1,3] 특징: 순서가 없으며, 중복을 허용하지 않는다. 교집합: s1&s2, s1.intersection(s2) 합집합: s1|s2, s1.union(s2) 차집합: s1-s2, s2-s1, s1.difference(s2), s2.difference(s1) 값 1개 추가: s1.add(4) 값 여러개 추가: s1.update([4,5,6]) 특정값 제거: s1.remove(2) 문자열 문자열 거꾸로 뒤집기 reversed_a = a[::-1] 아스키코드 ord(word) : word의 아스키코드값 chr(num) : 아스키코드값 num을 문자로 변환 리스트 형태를 문자열로 반환 ''.join..
수행 시간 측정 import time start\_time = time.time() # 측정 시작 # 프로그램 end\_time = time.time() print('time: ', end\_time-start\_time) # 수행 시간 출력 파이썬 자료형 - 리스트: C++의 벡터, Java의 ArrayList - 정수형, 실수형 - 문자열 - 튜플 - 사전 수 자료형 지수 표현 방식 1e9의 경우 10의 9제곱(1,000,000,000) 지수 표현 방식은 임의의 큰 수를 표현하기 위해 자주 사용됨 최단 경로 알고리즘에선 도달할 수 없는 노드에 대하여 최단 거리를 무한(INF)로 설정 이 때 가능한 최댓값이 10억 미만인 경우 무한(INF)의 값으로 1e9 이용 가능 # 1,000,000..
사용자가 객체에 대한 연산자 함수를 사용하기 위해 연산자를 중복 정의하여 작성할 때, 연산자를 연속적으로 사용하기 위해서는 참조 리턴을 하도록 구현해야 한다. 다음의 Power 클래스의 두 객체 a와 b에 대한 연산을 살펴보자. a
CH 7 이론 - 연산자 중복 함수, friend 함수 CH 7 실습 CH 8 이론 - 상속 CH 8 실습 CH 9 이론 - 오버라이딩(가상 함수 재정의), 동적 바인딩, 추상 클래스 CH 9 실습 CH 10 이론 - 템플릿 / 제네릭 함수, 클래스 / 표준 템플릿 STL CH 10 실습 CH 11 이론 - C++ 입출력 - 스트림, 버퍼, 포맷, 조작자 CH 11 실습 CH 12 이론 - C++ 파일 입출력 I/O CH 12 실습
명품 C++ 프로그래밍 12장 1. #include #include using namespace std; int main(){ fstream fin("c:\\temp\\test.txt", ios::in); if(!fin){ cout
(명품 C++ 프로그래밍 CH 12) 텍스트 파일 & 바이너리 파일 파일(File): 저장 매체에 저장되는 정보 - 바이트나 블록 단위로 입출력된다. - 데이터 종류에 따라 텍스트(문자) / 바이너리(문자, 이미지 등) 파일로 나뉜다. 텍스트 파일 - 글자 혹은 문자로만 구성되는 문서 파일 - 각 글자마다 고유한 바이너리 코드(이진코드- ASCII/UNI code) 로 구성되어 있으며, 텍스트 파일엔 문자 코드만 저장됨 - ex) txt, html, xml, c/c++/java source file 텍스트 파일의 키 1) '\r' carriage return 제어 코드(ASCII코듸 0x0D(십진수 13)) - 커서를 현재 줄의 맨 앞으로 옮기도록 하는 지시 2) '\n' line feed 제어 코드 (..
명품 C++ 프로그래밍 11장 1. ch=cin.get() EOF #include using namespace std; int main(){ int ch, cnt=0; while((ch=cin.get())!=EOF){ if(ch=='\n') break; if(ch=='a') cnt++; } cout
명품 C++ 프로그래밍 9장 실습 문제 1. #include using namespace std; class Converter{ protected: double ratio; virtual double convert(double src)=0; // src를 다른 단위로 변환 virtual string getSourceString()=0; // src 단위 명칭 virtual string getDestString()=0; // dest 단위 명칭 public: Converter(double ratio){this->ratio=ratio;} void run(){ double src; cout
(명품 C++ Programming 10장) 1. #include using namespace std; template T biggest(T arr[], int n){ T big=arr[0]; for(int i=1;ibig) big=arr[i]; return big; } int main(){ int x[]={1,10,100,5,4}; cout
(명품 C++ 프로그래밍 CH. 11) C++ 표준 입출력 스트림 C++ 표준에서는 오직 스트림 입출력만 다룬다. 버퍼를 가지지 않는 저수준 입출력 방식을 다루지 않는다. 스트림(stream) - 프로그램과 장치를 연결하며 바이트 단위로 입출력 C++ 표준 입력 스트림 객체 : cin C++ 표준 출력 스트림 객체 : cout C++ 표준 오류 출력 스트림 객체 : cerr(버퍼 x), clog(버퍼 ㅇ) 버퍼(buffer) - 운영체제 API를 호출하여 입출력 장치와 프로그램 사이의 데이터 전송 전 버퍼에 모아두어 API 호출의 호출 횟수를 줄인다. cin 입력 스트림 버퍼 : 입력된 데이터를 프로그램에 전달하기 전에 일시 저장하는 공간 - 버퍼를 제어하는 제어키 - 입력되면 버퍼의 키들을 전달 cou..