전체 글 230

취준생 라이프#1

일하지 않은지 6개월쯤 되간다. 사실 앞에 5개월은 필요한 공부(개인 프로젝트 , 알고리즘 테스트 등등..)를하면서 바쁘게 지냈기 때문에 실질적으로 취준한 기간은 한달 정도지만 그동안의 스트레스나 불안감이 쌓여서였을까.. 서류도 광탈하고 서류를 붙어도 그 뒤에서 떨어지니 멘탈이 무너지기 시작한다. 오랜 기간 취준을 한 경험이 있는 사람들이 보면 재수없다고 할지도 모르겠지만 참 부딪혀보기 시작하니 만만한 일이 아니라고 생각된다. 학교 다닐때만 해도 게임 개발자를 하겠다고 맨날 팀원들이랑 게임만들고 하다보니 거기에 빠져있을땐 몰랐지만 개발하던게 다 엎어지고 이제 뭘 해야하나 방황하다가 웹 백엔드 개발을 하기로 맘 먹었을땐 참 막막했다. (전에도 하기도 했고 공부도 했었지만 원래하려고 하던 게임개발 목표를 포..

잡담 2020.06.19

알고스팟 - 보글게임(무식하게 풀기방법만 적용)

#include #include #include #include #include using namespace std; int n, m; int dx[] = {-1,-1,-1,1,1,1,0,0}; int dy[] = {-1,0,1,-1,0,1,-1,1}; vector visit; string board[5]; bool findword(const string& s, int x, int y ) { //s.substr(1) 로 인해서 재귀를 한번 할때마다 첫번째 글자가 다음 글자로 바뀜 if (board[x][y] != s[0]) return false; if (s.size() == 1) return true;//비교할 글자가 한글자가 되면 탈출 for (int i = 0;i < 8;i++) {//상하좌우대각선..

알고리즘 2020.06.15

Spring boot 의 구조

이전 포스팅에서 우리는 자바 JDK 설치, 환경 변수 설정, STS 설치 및 환경 설정, 스프링 부트 프로젝트 생성, 플러그인 설치 등의 작업을 진행하였습니다. 이번에는 생성한 프로젝트에서 중요한 역할을 하는 파일들과 기존 스프링 프로젝트와의 차이점 등에 대해 가볍게 알아보는 시간을 가져보도록 하겠습니다. 스프링 부트 프로젝트 구조 1. src/main/java 기존의 스프링과 마찬가지로 클래스, 인터페이스 등 자바 파일이 들어가는 디렉터리입니다. 이전 포스팅에서 생성한 com.board 패키지 안에 BoradApplication 클래스가 생성되어 있는 것을 볼 수 있는데요, 파일을 열어보면 클래스 선언부 위에 @SpringBootAplication이 선언되어 있습니다. 이 애너테이션은 다음의 세 가지 ..

BackEnd/Java Spring 2020.05.23

Spring annotation @Component, @Configuration

Spring 프로젝트를 진행하면서 Bean으로 등록하기위해 @Component, @Configuration, @Controller … 등의 여러 어노테이션을 사용합니다. 그중에서도 @Component와 @Configuration은 사용상에 있어 차이가 있는데, 정확히 어떠한 차이로 이 어노테이션들을 구분하여 사용하는지 알아보도록 하겠습니다. Spring Bean Bean : Spring bean container에 존재하는 객체로써, default 설정으로는 싱글턴으로 존재합니다. 일반적으로 bean 으로 등록하기위해서는 다음과 같은 방법들이 존재합니다. xml 등록 레거시 방식으로, xml 방식으로 등록하는 방법입니다. 위와같이 xml에 class 경로와 id 를 직접 지정해주어 bean으로 등록해줄수..

BackEnd/Java Spring 2020.05.23

Spring IoC 컨테이너 , 빈 , 의존성 주입 개념정리

Spring IoC 컨테이너 IoC (Inversion of Control) 이름에서도 알 수 있듯 제어의 역전을 의미한다. 그렇다면 제어의 역전이 무슨 말일까? 보통 일반적인 프로그램을 작성할 때는 main 함수가 있어서 시작 부분을 자신이 컨트롤 할 수 있는데 프레임워크를 사용할 때는 main 함수에서 SpringApplication.run 을 해줄뿐 내가 작성한 코드는 따로 호출하지를 않는다. 처음 스프링 프레임워크를 사용했을때는 이 부분의 의아했었던 기억이 난다. 이 의아함을 해결해주는것이 바로 IoC 컨테이너이다. 생성하고 초기화 실행 소멸을 알아서 처리하는것이다. 어떤 요청이 들어왔을때 어떤 객체를 어떻게 조작할 것인가 를 대신 수행주는것이 이 컨테이너다. 개발자가 객체를 생성하고 작동하는 로..

BackEnd/Java Spring 2020.05.05

스프링 동작 정리-1

위 그림처럼 스프링의 대체적인 경로와 사용목적은 이렇게 된다. 하나하나 간단하게 설명을 하자면 src/main/java 에서는 보통 VO , DAO , Controller, Service 등 직접 개발자가 개발하는 주요 코드들이 동작하는곳이다. src/main/resources 는 서버가 실행될 때 필요한 파일들의 경로라고 되어있는데 예를 들자면 위의 그림과 같다. 서버가 작동할때 찍을 로그라던지 서버가 실행될때 DB를 조작하기 위한 mybatis 를 사용하기위한 설정파일 그리고 그것의 실질적인 동작을 표현하는 mappers 파일등이 여기에 들어간다. servlet-context 는 브라우저의 요청으로부터 그 요청을 처리한 controller를 이어주는 작업을 한다. 사진의 가장 아래에 component..

BackEnd/Java Spring 2020.05.05

백준 - 동전2 , 제곱수의 합

dp유형중 헷갈리는 유형을 정리해보려고 급하게 쓴다. 이런 유형들의 문제는 착각하기 쉬운게 가장 적게 사용하도록 만들라고 해서 조건에 해당하는것중에서 가장 큰거부터 골라나가면 가장 적게 사용하고 구해지겠지? 라고 착각하는것이다. 말이 이상한데 풀어말하자면 동전2 같은 경우에는 동전 종류 3개 이것들을 사용해서 합 15를 만드는데 동전을 가장 적게 사용할때를 구하는건데 동전 종류중에서 12원이 가장 크므로 12를 선택해버리면 남는 3원은 1원짜리 3개로 채워야하기 때문에 동전을 4개 써야하는데 이건 최소가 아니다. 5원동전 3개를 쓰면 해결되기 때문. 이런 오류를 범해서는 안된다. 아래는 제곱수의 합 코드 #include int main(void){ int N; int Dp[100001] = {}; sca..

알고리즘/DP 2020.04.26

나의 부족함을 돌아보며.

어제 프로그래머스에서 백엔드 채용을 위한 코딩테스트를 진행했다. 이런 글을 쓰는건 나도 참가했기 때문이다. 결과는 망했다. sql 문제만 제대로 풀고 나머진 다 끄적거리기만 하다 제대로 된 답을 내지도 못했으니까.. 맞다. 이 글은 사실 푸념할려고 쓴글이다. 사실 개발은 즐겁고 새로운 기술을 배우는것도 좋은데 알고리즘은 왜 이렇게 귀찮았을까. 학교 다닐때 알고리즘 공부라곤 학교에서 수업을 따라가고 열심히 들은것 뿐 따로 알고리즘 문제를 인터넷에서 찾아서 풀어보거나 그러지는 않았다. 하기 싫었다기보다는 해야겠다는 생각도 많고 시도도 했었지만 그 만큼 동기부여라던지 흥미를 못붙였던게 큰거겠지.. 지금은 내가 왜 그랬을까 하면서 후회하곤 한다. 그래도 후회해도 무슨 소용이 있겠는가 그것도 결국 나의 선택이였고..

잡담 2020.04.19