일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- npm
- Python
- Clone
- type
- JavaScript
- webpack
- generic
- C++
- leetcode
- scss
- security
- loop
- machine learning
- 보안
- AI
- TypeScript
- 앙상블
- C#
- bash
- VUE
- nginx
- docker
- BOJ
- condition
- git
- vuetify
- dotenv
- vue.js
- property
- var
- Today
- Total
목록분류 전체보기 (162)
ice rabbit programming
현재는 AI와는 꽤 거리가 먼 직무를 맡고 있고, 그나마 있는 경험은 학부생 시절에도 관련 수업을 한두 개 들은 정도였다. 12월 한 달 동안 AI의 기초에 관한 강의를 수강할 기회가 있어, 배운 내용들을 정리 및 공유하기 위해 포스팅을 시작하려 한다. 일전에 한 달 정도 포스팅했던 typescript와 비슷할 것 같다. 다만, 지식 공유도 목적에 있기는 하지만 전문가가 아니고, 개념적인 내용 정리에 초점을 맞출 생각이기에 그림 등 시각 자료가 다소 부족하고, 코드가 부족할 수 있다. 프로그래밍에 종사하고 있지만 AI 관련 지식이 없는 사람으로서, 이해한 내용을 최대한 쉽게 정리하려고 했다는 장점이 있지만 좀 더 전문적이고 세세한 설명을 원하시는 분들은 다른 글을 찾아보심이 좋을 것이라 생각된다. 머신러..
대부분의 언어에는 파일 입출력 기능을 제공한다. 심플함이 모토인 파이썬답게, 파일 입출력 쪽도 간단하게 구현할 수 있다. 이번 포스팅에서는 그 중에서 패키지를 활용한 Excel 파일 읽기를 다룰 것이다. pip install xlrd로 패키지를 우선 설치하고, 다음 코드로 간단하게 파일을 읽어올 수 있다. import pandas as pd data = pd.read_excel("./data.xls") 간단한 코드로 data에는 data.xls의 내용들이 담긴다. 단, 엑셀 파일 내에 header가 존재한다면 타입이 다르기 때문에 우리가 원하는 형태인 row별 데이터를 뽑아올 수 없다. extract_data = data["코드"] 이런 식으로 데이터를 가공해주는 것이 필요하다.
python은 스타일 가이드가 꽤 엄격한 편에 속한다. 특히 다른 언어에서는 논쟁거리가 되는 indent(들여쓰기)가 아예 문법으로서 기능하기도 한다. PEP-8이라는 공식 스타일 가이드를 배포하는데, 양이 매우 방대하다. C#에서 문법 검사 및 오토 포매팅해주는 툴인 Resharper를 사용해보고, 툴의 강력함을 느꼈었는데, VS Code에서는 무료 확장으로 많은 linter를 제공한다. 본인은 많이 쓰는 pylint, pyright, black을 설치하여 사용하고 있다. (좀 더 자세한 설명을 원한다면 VS Code 공식 문서 혹은 이쪽 글에도 비교 정리가 잘 되어있다.) 이번 포스팅에서는 간략한 개요와, 설치 가이드 위주로 다룰 예정이다. Code Style Checker 문법 검사를 하고 Warn..
이전 글에서도 언급했듯이, Decorator와 Type Guard를 마지막으로 typescript 개념 정리는 1차적으로 마칠 예정이다. 추후에 다른 강의를 듣거나, 사용하다가 팁 등을 알게 되면 올릴 것 같다. Decorator Decorator는 Class, Method, Parameter, Property에 붙일 수 있는 특수한 선언이다. @를 붙여서 표현하는데, 생김새는 자바의 annotation과 흡사하다. @뒤에는 선언에 대한 정보와 함께 런타임에 호출되는 함수여야 한다. 역시 아래 코드를 보자. class decorator function hello(constructFuntion: Function) { // signature는 생성자를 인자로 지정하는 것 } function helloFact..
Typescript의 중요한 개념들의 정리는 거의 마무리되었고, Iterator, Decorator, Type Guard에 대해서 다루면 Typescript 정리 포스팅은 일단 마무리될 것 같다. 이번에 사용하기 위해 기초 강의를 들었고, 이를 정리했다. 아마 사이드 프로젝트로 nest.js를 사용해볼 것 같은데, 이게 ts를 사용하니 기회가 된다면 좀 더 발전된 내용을 가지고 돌아올 수도 있겠다. 각설하고, 이번 포스팅에서는 iterator(반복자)에 대해서 다룰 것이다. 반복문 우선 반복문을 한 번 짚고 넘어가자. for문의 사용은 이 글을 읽는 분들은 모두 아실 테니 넘어가고, ES5냐 ES6이냐 혹은 배열이냐 그 외이냐에 따라서 다르다. ES5 : array.forEach 사용. break가 불가..
이전 글에서 WebPack에서 dotenv 패키지를 활용하여 환경변수를 사용하는 것을 다루었었다. 이번 프로젝트에서는 Vue-Cli를 활용하였고, 여러 모로 편리함이 증가하였다. 편리했던 것 중 하나는 dotenv의 활용이었다. WebPack에서 dotenv 패키지를 사용해봤거나, 이전 포스팅을 읽어보신 분들은 아시겠지만, 외부 패키지를 깔고 webpack 설정 파일에서 직접 코드를 수정해주어야 했다. 하지만 vue-cli에서는 그럴 필요가 없다. 실행 script에서 실행 인자 넘겨주기 우선 가장 큰 차이점은 vue app을 실행하는 script이다. package.json의 실행 script에서 webpack을 활용할 경우에는 "webpack-dev-server .... "로 이어지는 script인데..
이번 글에서는 OOP에서 함수(메소드)와 클래스를 General하게 사용할 수 있는 Generic을 다룰 것이다. C#이나 자바의 Generic, C++의 Template 개념과 완전히 동일하다. 때문에 간단하게만 살펴보자. 타 언어에서 다루어보았다면 어렵지 않게 이해할 수 있을 것이다. 아래 함수 Generic의 예시를 보자. function hello(msg: T): T { return msg } hello('hi') // str hello(35) // number 타 언어와 동일함을 볼 수 있다. T에 들어가는 type이 모든 T에 적용된다. Union Type을 이용하여 제약을 줄 수도 있다. C#에서 generic - where 구문과 같다. function hello(msg: T) : T { ..
지난 글에서 인터페이스에 대해 다루었다. 이번 글에서는 객체지향의 가장 중요한 개념 중 하나인 클래스를 다룰 것이다. C++이나 C#에서의 Class 사용법과 비슷하다. 관례적으로 한 파일에 한 클래스를 사용하는 것도 비슷하다. 아래 class 작성 예시를 보면서 차이점을 보도록 하자. class Person { private _age: number // 관례적으로 private 변수에는 _ 를 붙인다. public name: string = 'ice' // class 내에서 초기화 가능 address: string // default가 public이다. static country: string = 'Korean' // 전역으로 사용 가능 constructor(name: string, age: numbe..