IT
jitPack으로 라이브러리 배포하기
내가 개발한 무언가를 라이브러리로 만들어서 배포하고 싶을때 jitPack을 활용하면 간단하게 할 수 있다. 그런데 불행히도 공식 문서가 약간 부족한 느낌이고 블로그도 제대로 정리된게 없는것 같아 몇 자 적어본다. 1. 배포할 라이브러리 개발 우선 Github Repository를 만들어서 코드를 올린다. 여기까지는 되어있어야 한다. 예제로 간단히 오늘 날짜를 조회할 수 있는 DataService를 만들어봤다고 치자. (언어는 코틀린이다.) @Component class DateService { fun getBaseDate(): LocalDate { return LocalDate.now() } fun getBaseDateTime(): LocalDateTime { return LocalDateTime.now..
정규 표현식 빠르게 만들기
정규 표현식 문법은 왜 그렇게 봐도봐도 헷갈리는지 쓸때마다 stackoverflow를 전전하다가 최근에 들어서 정규 표현식을 빠르게 뚝딱 만드는 절차(?)를 정립했다. 하지만 먼저 기본적인 문법 정도는 알고 있다는 전제가 필요하다. 그러니까 대충 email에 사용되는 표현식을 만든다고 했을때 정확하지 않더라도 검색없이 대충 작성해볼 정도는 되어야한다. 만약 기초가 아예 없다면 아래 문서를 빠르게 한번 훑자. https://learn.microsoft.com/ko-kr/dotnet/api/system.text.regularexpressions.regex?view=net-6.0 Regex 클래스 (System.Text.RegularExpressions) 변경할 수 없는 정규식을 나타냅니다. learn.mic..
한국은 왜 자바 왕국이 됐을까
최근 미국 출신의 엔지니어들과 일해볼 기회가 생겼는데, 대다수의 한국인 개발자들이 자바&스프링으로만 개발을 하는 것에 대해 의아한듯 한마디씩 하는게 인상깊었다. "자바는 내 생각에 너무 무겁습니다. 파이썬같이 가벼운 기술 기반으로 바꾸었으면 좋겠네요." "자바 & 스프링 기반으로 개발을 하는게 진심으로 편한가요?" 나도 경력 초반부터 당연하게 자바&스프링으로 개발을 시작했고 쭉 그래왔으니까 한국은 자바 지분율이 좀 높은 편이라는 것쯤은 알고 있다. 근데.. 그러게. 어쩌다 한국은 자바(+스프링) 왕국이 됐을까. 바보야, 문제는 전자정부프레임워크야 이 문제에 대해 물어보면 많은 개발자들이 전자정부프레임워크를 원흉으로 지목한다. 90년대 후반 웹에 대한 수요가 폭발하기 시작하자 국가적 차원에서 웹 프로젝트..
Pandas 정리(+NumPy)
csv file read import pandas as pd train_df = pd.read_csv('taxi_train.zip') 데이터 확인 train_df.head() # 일부 데이터 출력. 파라미터로 건수 지정 가능 train_df.info() # Data frame에 대한 메타 정보 출력 train_df.shape() # 데이터의 축 정보 확인(몇개의 행과 열로 이루어져 있는지) 컬럼 정보 train_df.columns train_df.dtypes Python Dictionary 통해 DataFrame 생성 dic_df = pd.DataFrame({'column_name' : train_df.columns, 'column_type' : train_df.dtypes'}) index 리셋 dic..
[Classification] Feature Engineering
Language : Python Library : NumPy, Pandas, Scikit-learn 좋은 결과를 얻기 위해 모델링에 앞서서 Feature 데이터의 형태를 보고 적절하게 전처리하는 과정이 필요하다. Data Scaling Feature 데이터의 Scale을 맞추어줌. 데이터의 Feature별로 Scale의 차이가 크다면 정확한 결과를 얻기 어려울 수 있다. Standard Scaler : 평균 0, 분산 1인 정규분포로 변환 MinMax Scaler : min = 0, max = 1이 되도록 변환 데이터 분포를 확인하기 위해 시각화 라이브러리, 함수 이용 Encoding 문자열 데이터를 모델이 처리할 수 없으므로 문자열 형식의 데이터를 Number 타입으로 변환 필요 Label Encode..