일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 시스템호출
- 코딩테스트
- 스프링
- 코테
- AWS
- thymeleaf
- C언어
- Spring
- 카카오 알고리즘
- nestjs auth
- python
- TypeORM
- @Component
- OpenCV
- spring boot
- nestjs typeorm
- @Autowired
- 컴포넌트스캔
- 카카오 코테
- 알고리즘
- 해시
- 파이썬
- 가상면접사례로배우는대규모시스템설계기초
- C++
- git
- 구조체배열
- Nodejs
- 카카오
- 프로그래머스
- nestJS
- Today
- Total
목록전체 (333)
공부 기록장 💻
보호되어 있는 글입니다.
vscode, intellij 등 프로젝트 실행을 편리하게 해주는 도구와 IDE를 사용하다 보니 컴파일과 빌드의 개념에 대한 이해가 부족한 경우가 많다. 개발 생산성 향상을 위해 IDE 내에서 소스 코드를 작성하고 run을 실행하면 알아서 모든 과정이 자동으로 실행되기 때문이다. 컴파일과 빌드가 무엇인지와 그 차이점을 다시 이해해본 뒤, Spring boot Application 빌드 파일을 직접 생성하여 실행해보도록 하자. 빌드, 컴파일, 링크 1. 빌드 (build) 소스 코드 파일을 실행 가능한 소프트웨어 산출물로 만드는 일련의 과정을 build 라고 한다. 빌드의 단계 중 컴파일 그리고 링크가 포함 되어 있으며, 컴파일과 링크 모두 빌드의 부분 집합이라 할 수 있다. 빌드 과정을 도와주는 도구를 ..
인프런 "스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술" 정리 Spring Boot의 Welcome Page 정적 페이지 로드 기능 Spring Boot에서 Servlet Web applications 에서는 Static Content를 이용해 Welcome Page 정적 페이지를 띄우는 기능을 제공하고 있다. 다음의 공식 문서에서 자세하게 설명하고 있다. https://docs.spring.io/spring-boot/docs/current/reference/html/web.html#web Web Graceful shutdown is supported with all four embedded web servers (Jetty, Reactor Netty, Tomcat, and U..
Gradle은 의존 관계가 있는 라이브러리를 함께다운로드 하는데, Spring Boot에는 다음과 같은 핵심적인 라이브러리들이 있다. spring-boot-starter-web spring-boot-starter-tomcat: 내장 웹서버 톰캣 spring-webmvc spring-boot-starter-thymeleaf: 템플릿 엔진(view) spring-boot-starter(공통) : spring boot + core + logging spring-boot-starter-test junit 테스트 프레임워크 mockito 목 라이브러리 assertj : 테스트 코드 작성을 편리하게 돕는 라이브러리 spring-test: 스프링 통합 테스트 지원 라이브러리 기존에 spring boot 프로젝트를 새..
인프런 "스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술" 정리 JAVA SDK 17과 IntelliJ IDEA 설치 본격적으로 프로젝트 환경 설정을 하기에 앞서, Java SDK 17과 IntelliJ IDE (Community 무료 버전) 설치를 완료하였다. Spring Boot 프로젝트 초기화 및 생성 Spring Boot를 기반으로 스프링 프로젝트를 만들 것이기 때문에, https://start.spring.io/ 에서 만들어보자. 필요한 라이브러리를 관리하는 Tool로는 Gradle로 설정하고, Spring Boot 버전은 3.0.1을 선택하였다. (SNAPSHOT, M1 같은 미정식 버전 제외한 최신 버전) Project Metedata 부분에 Group은 hello,..
인턴 과정을 수행하며 Java Spring, Spring Boot에 대한 이해를 깊이 있게 해야 하기 때문에 자율 공부가 주어지는 시간에 인프런에서 제공하고 있는 김영한 님의 "스프링 입문 - 코드로 배우는 스프링 부, 웹 MVC, DB 접근 기술" 을 수강하며 필수적인 내용들을 정리해보고자 한다. 인프런 "스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술" 정리 본 강의의 강사는 우아한 형제들 개발 팀장을 맡고 있는 김영한 님이다. 스프링 완전 정복 로드맵의 첫번째 강의로, 스프링 학습의 제대로 된 첫 길잡이 역할을 하는 것이 본 강의의 목표이다. 다음과 같은 순서로, 실제 동작하는 간단한 웹 어플리캐이션을 개발해보자. 1. 스프링 프로젝트 생성 2. 스프링 부트로 웹 서버 실행..
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
새해를 맞이해, 운동 계정에 기록했던 22년도 클라이밍 회고 일지를 블로그에도, 짧게 나마 남겨보고자 한다. 제작년 처음 친구 따라 클라이밍장에 한 두번 놀러가보며 클라이밍을 처음 접했다. 그 때 갔던 암장이 어딘지도 생생히 기억이 난다. 신논현의 클라이밍 파크와 망포 클라임바운스였다..ㅎㅎ 그리고 결국 올해 6월 큰맘먹고 회원권을 끊어 여름 방학동안 정말 열심히 클라이밍하며 지냈다. 가끔 자전거 타는 것을 제외한다면, 운동이라면 질색팔색하던 내가 클라이밍이라는 스포츠를 통해 운동을 정말 사랑하게 되고 진심으로 즐기게 되었다. 운동할 때 만큼은 복잡한 생각과 고민 없이, 움직임 그 자체에만 집중하면 되니까 말이다. 도전하는 것을 너무너무 좋아하는 나에게 정말 딱 맞는 취미를 찾아 올 한 해 클라이밍하며 ..
"Do It! BERT와 GPT로 배우는 자연어처리" 1장 정리 학습 목표 모델 학습의 전체 파이프라인에 대해 알아보자. 해당 학습 파이프라인은 자연어 처리 모델이 수행하는 문서 분류, 개체명 인식, 질의응답, 문서 검색, 문장 생성의 5가지 과제에 상관없이 공통적으로 적용된다. 학습 파이프라인을 그림으로 나타내면 다음과 같다. 모든 실습은 ratsnlp 라는 오픈소스 파이썬 패키지를 사용하고, 패키지는 구글 Colab 환경에서 실습을 진행하게 된다. 1. 각종 설정값 정하기 모델을 만들기 위해선 가장 먼저 각종 설정값을 결정해야 한다. 어떤 pre-train model을 사용할 것인가? 학습에 사용할 데이터는 무엇인가? 학습 결과는 어디에 저장할 것인가? 하이퍼파라미터(hyperparmeter)란 모델..
"Do It! BERT와 GPT로 배우는 자연어처리" 1장 정리 학습 목표 해당 책에서 소개하는 자연어 처리 모델의 학습 방법은 전이 학습(Transfer Learning)이다. Pre-train, Fine Tuning 등 트랜스퍼 러닝과 관련된 개념을 이해해보도록 하자. Transfer Learning 트랜스퍼 러닝(Transfer Learning) 이란, 특정 태스크를 학습한 모델을 다른 태스크 수행에 재사용하는 기법을 가리킨다. 사람이 새로운 지식을 배울 때, 그간 평생 쌓아왔던 지식을 요긴하게 다시 써먹는 것과 같다. 아래와 같이 태스크 2를 수행하는 모델을 만든다고 가정해볼 때 트랜스퍼 러닝이 도움이 될 수 있다. 모델이 태스크 2를 배울 때 태스크 1을 수행했던 경험을 재활용하기 때문이다. T..
"Do It! BERT와 GPT로 배우는 자연어처리" 1장 정리 학습 목표 딥러닝 기반에 둔 자연어 처리 모델의 개념과 학습 방법을 살펴 보자. 기계의 자연어 처리 모델(model)이란 입력을 받아 어떤 처리를 수행하는 함수(function)라 할 수 있다. 아래 그림과 같이 모델의 출력은 어떤 사건이 일어날 가능성을 의미하는, 0과 1 사이의 값의 확률(probability)이라는 점에 주목해야 한다. 즉, 모델이란 어떤 입력을 받아 해당 입력이 특정 범주일 확률을 반환하는 확률 함수이다. 그렇다면, 자연어 처리 모델의 입력은 자연어, 즉 사람의 말이다. 이를 정리해보면 자연어 처리 모델은 자연어를 입력 받아 해당 입력이 특정 범주일 확률을 반환하는 확률 함수라고 할 수 있다. 예를 들어 영화 리뷰의 ..
책 "가상 면접 사례로 배우는 대규모 시스템 설계 기초" 3장 정리 학습 목표 "널리 알려진 제품 X를 설계해 보라" 라는 식의 막연한 시스템 설계 질문은 모호하고, 범위도 지나치게 넓다. 이러한 시스템 설계 면접의 경우, 최종적으로 도출된 설계안이 중요하기보다는, 면접을 통해 설계 과정에서 내린 결정들에 대한 방어 능력을 보이는 자리이며, 면접관의 피드백을 건설적인 방식으로 처리할 자질이 있음을 보이는 것이 중요하다. 시스템 설계 면접은 지원자의 설계 능력의 기술적 측면과 더불어 지원자가 협력에 적합한 사람인지, 압박이 심한 상황도 잘 헤쳐 나갈 자질이 있는지, 모호한 문제를 건설적으로 해결할 능력이 있는지 등을 살펴보는 면접이다. 좋은 질문을 던질 능력이 있는지도 중요하다. 훌륭한 면접관은 부정적 신..
OpenCV 4로 배우는 영상 처리와 컴퓨터 비전 CH 12. 레이블링과 외곽선 검출 정리 레이블링 이진화를 수행하면 주요 객체와 배경 영역을 구분할 수 있다. 객체와 배경을 구분하였다면, 이제 다시 각각의 객체를 구분하고 분석하는 작업이 필요하다. 이 때 사용하는 기법이 레이블링(labeling) 기법으로, 이진 영상에서 흰색으로 구분된 각 객체 픽셀 집합에 고유의 번호를 매기는 작업으로 연결된 구성 요소 레이블링(connected componetns labeling) 이라고도 한다. 레이블링 기법을 이용해 각 객체의 위치와 크기, 모양 등 정보를 추출하고 특징을 분석하는 작업은 객체 인식을 위한 전처리 과정으로 자주 사용된다. 영상의 레이블링은 일반적으로 이진화된 영상에서 수행되며, 이때 검은색 픽셀..
프로젝트를 생성한 뒤 초기 세팅을 마친 후, git에 해당 폴더를 업로드 하여 깃허브에 push 하고자 했는데 아래와 같이 "error: does not have a commit checked out", "fatal: adding files failed" 에러가 떠 폴더 자체를 add 할 수 없는 문제가 발생했다. 예전에도 비슷한 문제가 떠서 어려움을 겪었었는데, 다시 한 번 구글링을 해보니 프로젝트 세팅과 git 연결 과정에서 발생한 문제였다. 해당 에러는 로컬 리포지토리 안의 다른 디렉토리(폴더)에 .git이 있었기 때문에 발생한 문제였다. 깃허브에 있는 리포지터리(delimo)를 먼저 clone 한뒤 해당 리포지터리 내에서 nestjs 프로젝트를 생성하고 git 에 add 하는 과정에서, 해당 ne..
OpenCV 4로 배우는 영상 처리와 컴퓨터 비전 CH 11.이진화와 모폴로지 정리 모폴로지 연산 (Morphology) 모폴로지 연산은 영상 내부 객체의 형태와 구조를 분석하고 처리하는 기법이다. 이는 그레이스케일 영상과 이진 영상에 모두 적용 가능하지만, 주로 이진화된 영상에서 객체의 모양을 변형하는 용도로 사용된다. 이진 영상에서 사용되는 기본적인 모폴로지 연산 동작에 대해 이해해보고, 모폴로지 함수 사용 방법에 대해 알아보자. 이진 영상의 침식과 팽창 모폴로지(Morphology)는 형태 또는 모양에 관한 학문을 의미한다. 영상 처리 분야에서 모폴로지는 영상에서 객체의 형태 및 구조에 대해 분석하고 처리하는 기법을 의미하며, 수학적 모폴로지(mathematical morphology)라고도 한다...
OpenCV 4로 배우는 영상 처리와 컴퓨터 비전 CH 11.이진화와 모폴로지 정리 영상의 이진화 (Binarization) 영상의 이진화 (binarization) 은 영상의 각 픽셀을 두 개의 부류로 나누는 작업이다. 이는 그레이스케일 영상의 픽셀 값을 0 또는 255로 변환하는 기법인데, 이는 영상에서 관심있는 객체 영역 (ROI, Region of Interest) 과 배경 영역을 구분하거나 관심 영역과 비관심 영역으로 구분하는 용도로 널리 사용된다. 이진화가 적용된 이진 영상은 보통 흰색과 검은색 픽셀로만 구성된다. 아래가 다양한 영상에 대해 이진화를 수행한 결과이다. 윗줄은 그레이스케일 영상이고, 아래 줄은 적절한 방법으로 이진화가 수행된 결과 영상이다. (a)의 경우 왼쪽에 위치한 흑백 사각..
나는 작년 2021년 멋쟁이 사자처럼 9기에서 아기사자로 활동을 마쳤다. 9기 활동을 수료했지만, 나는 10기 운영진에 대한 마음이 딱히 없었고, 나 스스로 리더의 역할은 어울린다고 생각하진 않았기에 운영진 신청을 따로 하지는 않았다. 결국 올해 22년도 멋쟁이사자처럼 10기는 교내에서 운영이 되지 않았다. 그렇게 1여년간 학교 생활과 타 프로젝트 활동들을 열심히 하며 지내오던 와중, 같은 학과 친구가 11기 대표에 대한 생각이 있다며 함께 운영진 활동을 하자고 제안을 하였다. 그렇게 12월 초 함께 지원서를 다듬어 작성였고, 12월 15일 신규 대학 지원 결과로 1차 선발 합격 통보를 받게 되었다. 같이 운영진을 지원하신 다른 학과 재학생분을 포함한 3명은 단톡방을 개설하여 상의를 하였고, 친구가 대표..
Fitbit 프로젝트 개요 본 프로젝트는 2022년 2학기 ‘빅데이터 프로그래밍’ 과목에서 수행하는 최종 기말 프로젝트로, Fitbit 활동량 데이터를 기반으로 하여 데이터를 분석하는 과제를 수행하는 것이 목표이다. 프로젝트에 활용하기 위해 수업 시간에 주어진 원본 데이터는 result_calories.txt, results_distance.txt, results_steps.txt 의 총 세 텍스트 파일에 저장되어 있는 calories, distance, steps 데이터이다. 각 데이터는 아래 사진과 같이, 2021년 4월 7일부터 2021년 11월 14일까지의 Date 객체와 각 데이터의 값이 저장되어 있다. 위의 데이터를 활용하고자 했으나, 수업 시간에 명시된 것처럼 순천향대학교 AI&빅데이터 센터..