본문 바로가기

분류 전체보기

(249)
[부스트코스 웹 프로그래밍] 자바 웹 개발 기초 부스트코스 웹 프로그래밍 BE 영상을 보며 공부한 것을 간단히 정리한다. 1. 자바를 이용한 웹 개발 기초 웹 서버와 WAS란? 웹 서버 클라이언트에에게 HTML 문서나 각종 리소스를 응답을 전달해주는 역할. 서버 범위 중 클라이언트와 가장 맞닿아 있음. ex. Nginx, Apache WAS (Web application server) 웹 어플리케이션이 동작하도록 지원하는 목적을 가짐. 즉, 서비스 및 비즈니스 로직을 담고있는 서버. ex. Tomcat 보통 WAS 도 웹 서버 기능을 내장하지만, 규모가 커지면 이 둘을 분리. 웹 서버는 주로 정적 컨텐츠를, WAS 는 동적 컨텐츠를 지원. Servlet 과 JSP Servlet 웹에서 동작해야하는 로직을 담고있는 클래스(코드) uri 매핑, 다른 로직..
부주의해서 생긴 AWS 과금 돌려받았다. 며칠 전, 오랜만에 지메일에 들어가 봤는데 이런 메일이 보였다. 일단 달러표시가 보이고... 뭔가 돈내라는거 같은데, 난 전에 AWS free-tier ec2 인스턴스 밖에 쓴 적이 없는데 왜 돈 내라는 거지 싶었다. 그래서 혹시나 싶어서, AWS Billing 페이지로 들어가니 .. ???? 작년 7월인가부터 과금이 계속 청구되고 있었다. 돈 빠져나가면 내가 진작 알았을 텐데, 왜 몰랐지?? 일단 상황을 살펴보고 하니, 문제는 이랬다. 프리 티어 인스턴스는 1년 간만 무료인 듯했다. 7월을 기점으로 그 기간이 끝나서 과금이 나온 거고 내가 등록해놓은 결제 카드를 전에 분실해서 지금은 막혀있다. 따라서 과금 청구만 되고 결제는 안된 것. 결과적으로 내가 내야 하는 돈은 대략 80달러 정도. 피 같은 내 ..
작년의 12월. 그리고 맞이한 1월. 마지막 포스팅이 12월에 뭐할지 적어놓은 것이었는데, 생각보다 갑자기 이런 일 저런 일이 생겨서, 다 끝내놓은게 없다. 지난 12월에 갑작스레 생긴 일들을 포함해, 마지막 달을 어떻게 보냈는지 기록해본다. 1. 프로그래머스 머신러닝 온라인 잡페어 12월 초 약 2주간, 프로그래머스에서 머신러닝 온라인 잡페어를 열었다. 즉, 머신러닝 관련 대회를 열어 이를 일종의 입사 과제로 활용, 어느정도 상위권에 들면 일부 기업에서 채용해가겠다는 것이다. 대회는 '추천 시스템' 과 '컴퓨터 비전' 두 분야로 있었고, 각 기업에서 채용하는 포지션도 거의 이와 비슷했다. 나는 '추천 시스템' 분야에 도전했고, 다음 기업들에 지원했다. (대회 전 지원할 기업을 미리 선택해야하고, 최대 5개 기업까지 지원가능 했다.) 추천 ..
코사인 vs 유클리디안 유사도, 케이스로 이해하기 벡터 간 유사도 측정에는 여러가지 방법이 있지만, 여기서는 코사인 유사도와 유클리디안 유사도만 다룬다. 기본 개념은 구글링 치면 훌륭한 글들이 많으니, 거기서 참고하면 된다. 여기서는 직접 두 벡터를 가지고 요리조리 굴려보며, '직관적으로' 어떻게 다른지 느껴보고자 한다. 먼저 두 벡터가 완전히 동일한 경우를 보자. a = np.array([[1, 0, 0]]) b = np.array([[1, 0, 0]]) print(cosine_similarity(a, b)) print(euclidean_similarity(a, b)) # output [[1.]] [[1.]] 두 유사도 값 모두 1이 나온다. 그 값만 조금 다른 경우를 보자. a = np.array([[1, 0, 0]]) b = np.array([[2..
일단 12월 내로 마무리할 일들 일단은, 쉬고있다. 취업 공부 전에, 그냥 해보고싶었던 공부 틈틈히 하면서. 그래도 쉬는거니, 12월 내로 마무리하고, 다시 취업 공부를 하려고 한다. 아직 뭐가될진(개발 중심일지, 분석 중심일지...) 모르겠음. 1. 진행 중인 대회 마무리 현재 3개의 데이터 분석 대회에 참가하고 있다. 일단 이거 3개 마무리 해야한다. 지금도 피처엔지니어링 하고 하루 종일 CV 돌리고 있음... 그 사이 또 다른 대회 하고... 좀 정신없다. 그리고 커널도 다시 잘 정리해서 캐글이든 블로그든 어디든 좀 올려놔야 겠다. 로컬에 썩히지 말고. 2. 한국어 임베딩 다 읽고 정리하기 이번 주에 구매한 책 '한국어 임베딩' 을 12월 내로 2회독한 뒤 정리하려고 한다. 지금 1회독 중 절반 좀 안되게 읽었는데, 12월 초면 ..
올해 취업은 이렇게 실패로 끝났다. CNS 부트캠프를 마지막으로, 조금은 참담하게 끝이 났다. 솔직히 올해 안에 취업할 줄 알았는데, 안돼서 좀 서글프기도 하고 억울하기도 하고... 쉬운 게 하나 없다. 일단, 올해는 이렇게 끝이 났다. 채용공고가 내년 상반기는 돼야 올라올 테니... 그래서 아무것도 없는 지금 이 시점에서, 지난 내 1년간에 무얼 했고, 무얼 느꼈는지, 나는 어느 방향으로 흘러가고 있었는지, 그냥 하나씩 넋두리처럼 정리해보려 한다. 1. 8 학기 생 작년 11월쯤이었던 것 같다. 난 4학년이었고, 내가 극혐 하는 일반물리랑 정수론 + 졸업 프로젝트 + 취업준비로 정신없던 때였다. 다른 건 다 최소화하고 코테 준비에 최대한 몰입하고 있었다. 여자 친구에겐 정말 미안했지만, 데이트도 카페에서 같이 공부하는 게 대부분이었다. ..
[디자인 패턴 3편] 생성 패턴, 팩토리 메쏘드 (Factory) 1. 개념 팩토리 패턴은 인터페이스로 객체들을 정의하고, 팩토리가 인스턴스를 생성하는 패턴이다. 1.1. 장점 객체 생성 하는 코드를 분리하여 클라이언트 코드와 결합도(의존성)를 낮춤. 코드에 변경이 필요할 시, 객체 생성 클래스만 수정하면 된다. 인터페이스를 바탕으로 유연성과 확장성이 뛰어난 코드 제작이 가능 객체의 자료형이 하위 클래스 의해서 결정됨 확장에 용이함 상위 클래스에서 그 객체에 대한 정확한 타입을 몰라도 된다. SOLID 원칙 중 DIP (Dependency Inversion Principle, 의존 관계 역전 원칙) 를 성립함 1.2. 단점 새로 생성할 객체의 종류가 늘어날 때마다, 클래스가 많아짐. 1.3. 활용 상황 딱히 구분없이 일반적으로 많이 사용됨. 대표적인 것이 JAVA 의 ..
[디자인 패턴 2편] 생성 패턴, 싱글톤(Singleton) 1. 개념 싱글톤 패턴은 단 하나의 인스턴스를 생성해 사용하는 디자인 패턴이다. 1.1. 장점 하나의 인스턴스를 사용 -> 메모리 낭비를 방지할 수 있음 전역 인스턴스 -> 다른 클래스의 인스턴스들이 데이터를 공유 1.2. 단점 싱글톤 인스턴스가 너무 많은 일을 하거나 많은 데이터를 공유시킬 경우, SOLID 원칙 중 SRP, OCP 원칙에 위배됨. 즉, 수정과 테스트가 어려워짐 꼭 필요한 경우아니면 지양해야 함 1.3. 활용 상황 공통된 객체를 여러 개 생성해서 사용해야하는 상황 전역에서 사용될 하나의 객체를 만들어야하는 상황 ex. DBCP(Database Connection Pool), 로거(Logger) 2. 구조 3. 코드 // SingletonPatternDemo.java public clas..