Java에는 Http 상의 데이터 즉, URL 기반으로 파일을 download할 수 있는 다양한 라이브러리들이 있고, 기본 버전으로도 제공을 하고 있다. 본 포스팅은 3가지의 대표적인 방법들을 모두 써보고 비교하여 성능을 점검해보도록 하였다. 고전적인 방법 public static void fileDown(String url, String fileName) throws MalformedURLException, IOException { BufferedInputStream in = null; FileOutputStream fout = null; try { in = new BufferedInputStream(new URL(url).openStream()); fout = new FileOutputStream(f..
내가 혹시 누군가에게 불필요한 감정을 낭비했는지를 곰곰히 생각해볼 필요가 있다. 분명 아니라곤 말을 못하겠다 속상한 마음에 말을 하지만, 굳이 그 언어로 표현할 필요는 없을텐데 말이다. 최근 들어 MZ 세대를 이해하고자 책도 사서 보지만, 문득 이런 생각이 들었다. 내가 MZ 세대에 맞춰서 바꾼 다는 것은 우리 세대의 행동이 모두 잘못됐다는 것 아닌가? 우리 세대의 문제점도 있겠지만 내가 볼때 MZ 세대의 문제점도 명확해서 누가 옳고 그르다라고 판단하는 것은 위험해보였다. 결국 서로간의 차이를 인정하고, "감정 소모를 최대한으로 줄이자"라는 결론이 내렸고 검색을 하니 "기린 대화법"이라는 것이 있어서 가져와봤다. 기린 대화법 = 비폭력 대화법 미국의 심리학자 마셜 로젠버그 박사가 35년 전에 제안한’ 비..
요즘 너도나도 풀스택 개발 강의와 데이터 사이언티스트 강의를 수강하는 사람들과 자신을 풀스택과 데이터 사이언티스트라고 소개하는 신입들을 보고 있자면 참 답답한 마음이 너무 크다. 학원에서 저렇게 강의하라고 한 것일까? 왜 저 소리에 답답한지 SI 10년 이상의 PL 및 TA 경력에 데이터 사이언티스트인 사람으로 일침을 한번 가해보고 싶다. 풀스택(Full-Stack) 풀스택이란 무엇인가? 쉽게 생각하면 백엔드와 프론트엔드 및 모든 스택을 마스터한 사람이라 생각할 수 있다. 한마디로 만능 개발자라는 것이다. 하지만 프론트엔드와 백엔드만 둘다 다루면 풀스택이라 칭하는 사람들이 있다. 이 정의가 맞다면 웹개발자 대다수는 모두 풀스택 개발자가 되는 것이다. 결국 풀스택이 일반적인 웹개발자랑 차이가 날려면 일반적..
트랜스퍼 러닝(Transfer Learning) 즉 전이 학습은 특정 태스크에서 학습된 모델을 이용하여 다른 태스트에 재사용하는 기법을 말한다. 전이 학습은 최근 들어 자연어 처리 분야에 상당 부문 많이 활용이 되고 있는데 BERT(Bidirectional Encoder Representations from Transformers)나 GPT(Generative Pre-trained Transformer)와 같은 모델을 이용하여 대규모의 데이터셋을 학습하고 이 학습된 모델을 토대로 다른 분야에 많이 활용 되곤 한다. 전이학습을 사용하는 이유 일반적으로 전이학습이 없이 모두 한번에 학습하는 일반적인 방식은 속도도 매우 오래 걸리고, 태스크(Task)간의 최적화를 이루어낼 수 없다. 이를 현실 세계로 예시를 ..