본문 바로가기

분류 전체보기137

방구석 개발자의 21년 회고와 22년 다짐 안녕하세요. 방구석 개발자입니다.😄 벌써 21년 한해가 마무리 되고 있습니다.😂 한번도 회고정리를 포스팅 해보지 않았는데 이번에 한번 해보고 지속적으로 하려고 합니다. 21년의 목표는 뭐였을까? 저는 원노트를 애용하는 데요. 원노트에 21년 첫 목표를 적었습니다. 커다란 목표 : 개발 경험 및 개발 실력을 올리자 sqld자격증 따기 깃허브와 깃에 익숙해지기 !! 블로그 포스팅 총 100개 만들기 토이 프로젝트 만들기(웹 구축 및 배포까지) 코딩테스트 3번 이상 보기 이력서 정리 (깃허브 링크, 원티드, 프로그래머스에 올려서 최신화) aws 자격증 따기 왜 그런 목표를 세웠는지 20년도 si로 이직을 하게되었고 그 즈음에 개발역량이 많이 부족하다는 것을 알게 되었습니다. 그럼에도 감사하게도 아이핍이라는 스.. 2021. 12. 30.
우아한 테크캠프Pro 3기 후기 안녕하세요. 방구석개발자 입니다.😄 그동안 포스팅을 많이 못했는데요 우테코pro에 집중 하고자 잠시 포스팅 하지 못했습니다. 우테코Pro를 하면서 많은 경험, 인사이트를 얻어서 공유해보고자 합니다. 우테코Pro 란? 우아한테크캠프Pro는 NextStep에서 만들었고 우아한형제들에서 후원하는 강의입니다. 강의 대상자는 경력 3년이상의 웹백엔드 개발자입니다. 소프트웨어 장인으로 성장해 나가는 과정의 로드맵을 제시하고, 어떤 개발자로 성장해 나갈 것인지를 제시하는 과정입니다. 링크를 타고 가보시면 더 자세하게 나와있습니다. 왜 우테코Pro를 했는지? 저는 SI회사에 근무를 하였고 SI에서는 개발 역량을 올리기 힘들었습니다. 어느 순간 자신의 성장 한계를 느꼈고 제가 짠 코드가 맞게 짠건지 앞으로도 이렇게 개발.. 2021. 12. 29.
클린 코드를 읽고 나서 안녕하세요. 방구석 개발자입니다. 클린 코드를 사서 열심히 읽었는데요. 너무 좋은 책이라서 추천 드리려고 합니다. (2회독을 했지만 아직도 어려운 부분이 많긴해요.. ㅎㅎ) 후기 이 책을 읽고 나서는 제 자신이 부끄러웠습니다. 그동안 쓰레기 코드를 양산하는게 아닐까 싶은 생각도 들었습니다. 특히 저는 예전에 boolean을 매개변수로 가지는 함수를 만든 적이 있는데 이 책을 읽고 다신 그렇게 하지 말아야한다는 것을 알게 되었습니다. 특히 동시성부분에서 멀티스레드 코드를 정말 지독하게 테스트 해야 되는 구나를 알게 되었습니다. 최근에 쓰레드를 직접 객체 생성하도록 작성한 스케줄링 코드를 개선한 적이 있는데 스프링에서 주워지는 비동기 코드라던지 의존성주입을 통해 제어했으면 어땠을까? 라는 생각과 조금 일찍 .. 2021. 9. 28.
Spring4 Junit 테스트 코드 작성기 안녕하세요. 방구석 개발자입니다. 현재 프로젝트는 스프링4, 전자정부프레임워크를 이용하여 진행하고 있습니다. 스프링부트가 아니여서 아쉽지만 코드품질을 높이고자 테스트 코드를 작성하려고 합니다. 테스트 코드 작성 각 MVC 패턴에 맞게 테스트 코드가 이루어져야 된다고 생각하여 각 패턴에 맞는 샘플 테스트 코드를 작성해보겠습니다. 우선 pom.xml 에 필요한 dependecy 추가했습니다. junit junit 4.12 test org.springframework spring-test 4.3.22.RELEASE test ControllerTest @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath*:ego.. 2021. 9. 20.
나도 코드 리뷰 좀 해보자! 안녕하세요. 방구석 개발자 입니다. 우리회사는 코드리뷰 문화가 없어요...😂 그렇지만 저는 코드리뷰를 하고 싶었어요. 그래서 https://shinsunyoung.tistory.com/92 포스팅 글을 보고 용기내어 동료개발자에게 코드 리뷰를 해보자고 했습니다. 다행스럽게 흔쾌히 같이 하자고 하여 이번 프로젝트에서 코드리뷰를 시도 해보았어요.👍 현재 프로젝트는 폐쇄망 + SVN 을 사용했기 때문에 git처럼 댓글형식으로 리뷰를 하진 못하였고 엑셀을 이용하여 진행했어요. 무엇을 얻었을까? 좋았던 점 지켜본다는 생각에 코드를 가독성 좋게 누군가 읽기 쉽게 짜려고 노력하게 되었어요. 제가 놓친 부분들을 짚어주워서 에러를 방지 할 수도 있었어요. 궁금한 점들을 쉽게 물어보고 또한 질문 받은 것들을 다시 정리 하.. 2021. 9. 20.
'리팩토링'을 읽고 나서 안녕하세요. 방구석개발자입니다. 여자친구가 리팩토링 책을 1판 그 귀하다는 책을 구하였고 저도 접하게 되어 읽었습니다. 좋은 코드를 만들고 싶었는데 지침은 충분히 될 수 있을 것 같습니다. 소감 chapter01 리팩토링 할만한 예제를 먼저 보여주고 리팩토링 하는 과정을 차근차근 설명해줍니다. 저도 과정을 같이 따라해보았는데요.(github_url) 맛보기 예제만으로도 좋은 리팩토링 기법을 알려줘서 어느정도 감을 잡을 수 있습니다. 리팩토링이란? 리팩토링이란 겉으로 드러나는 기능을 그대로 둔채 , 알아보기 쉽고 수정하기 간편하게 소프트웨어 내부를 수정하는 작업이다. 리팩토링의 목적은 소프트웨어를 더 이해하기 쉽고 수정하기 쉽게 만드는 것이다. 리팩토링을 수행하면 겉으로 드러나는 기능에 거의 또는 아예 영.. 2021. 9. 12.
백준 5014 스타트링크 자바 5014 스타트링크 문제 보러가기 5014번: 스타트링크 첫째 줄에 F, S, G, U, D가 주어진다. (1 ≤ S, G ≤ F ≤ 1000000, 0 ≤ U, D ≤ 1000000) 건물은 1층부터 시작하고, 가장 높은 층은 F층이다. www.acmicpc.net 문제 설명 자바 코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; import java.util.LinkedList; import java.util.Queue; public class Main { static int visited[]; public static void main(String[] args) throws Excep.. 2021. 8. 17.
프로그래머스 상호 평가 자바 https://programmers.co.kr/learn/courses/30/lessons/83201 코딩테스트 연습 - 2주차 [[100,90,98,88,65],[50,45,99,85,77],[47,88,95,80,67],[61,57,100,80,65],[24,90,94,75,65]] "FBABD" [[70,49,90],[68,50,38],[73,31,100]] "CFD" programmers.co.kr 자바 코드 class Solution { public String solution(int[][] scores) { StringBuilder answer = new StringBuilder(); for(int i=0;i=80){ return "B"; }else if(score>=70){ return "C.. 2021. 8. 10.
백준 7576 토마토 자바 7576 토마토 문제 보러가기 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 문제 설명 자바 코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class Main { static int n, m; static int[] dx = {0, 0, -1, 1}; .. 2021. 8. 4.
ThreadPoolTaskScheduler를 이용하여 자바 스케줄러 구현 및 강제종료 구현 안녕하세요. 방구석 개발자입니다. 현재 진행중인 프로젝트에서 원하는 시간대 실행되는 배치를 등록하고 실행하는 기능을 만들어야 돼서 ThreadPoolTaskScheduler를 이용하여 구현하였는데요. ThreadPoolTaskScheduler가 뭔지 또 어떻게 사용되는지 알아보도록 하겠습니다. ThreadPoolTaskScheduler란 ThreadPoolTaskScheduler는 태스크실행 및 스케줄링에 사용되는 스프링 라이브러리 입니다. 배치 관리 할때 Thread를 개발자가 직접 제어하지 않고 실행하고 싶은 Task와 시간을 Pool에 넣습니다.그러면 ThreadPoolTaskScheduler에서 제어하여 해당 시간에 맞춰서 Thread를 생성 및 실행 시키고 종료 까지 해줍니다. 스프링 공식 문서.. 2021. 8. 2.
백준 1149 RGB거리 자바 1149 RGB거리 문제 보러가기 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net 문제 설명 자바 코드 import java.util.*; public class Main{ public static void main(String[] args) throws Exception { Scanner scanner=new Scanner(System.in); int n = scanner.nextInt(); int color[][]=new int[3][n+1]; int result[][]=new int.. 2021. 7. 29.
노마드 코더 니꼴라스와 만드는 진짜 리액트 앱 공부 안녕하세요. 방구석 개발자입니다. 노마드 코더 니꼴라스와 만드는 진짜 리액트 앱 책을 보면서 리액트를 공부했습니다. 공부한 것들을 정리 해보겠습니다. 리액트 기본 동작 원리 자바스크립트 코드를 리액트가 해석 후 html로 끼워 넣는다. ex) index.js 를 리액트가 해석 한다 -> index.html에 끼워 넣는다. 리액트 기초 개념 리액트는 반드시 알아야 할 기초 개념이 있다. 바로 컴포넌트, JSX, props 이다. 이 3가지 개념을 꼭 알아야 한다. 컴포넌트 //App.js import React from 'react' function App(){ return ( Hello ); } 코드에서 App컴포넌트를 정의 했고 App컴포넌트는 HTML을 반환하고 있다. //index.js import.. 2021. 7. 25.
백준 1932 정수 삼각형 자바 1932 정수 삼각형 문제 보러가기 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net 문제 설명 자바 코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.pa.. 2021. 7. 14.
백준 2579 계단 오르기 자바 계단 오르기 문제 보러가기 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net 문제 설명 자바 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.. 2021. 7. 14.
백준 1463 1로 만들기 자바 1로 만들기 문제 보러가기 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 문제 설명 자바 코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.LinkedList; public class Main { static int []isVisited; public static void main(String[] args) throws Exception{ BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); int n=Integer.parseInt(br.readL.. 2021. 7. 13.
백준 1003 피보나치 함수 자바 피보나치 함수 문제 보러가기 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net 문제 설명 자바 코드 import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { static int[] result=new int[41]; public static void main(String[] args) throws Exception{ BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); int testCase=Integer.parseInt(br.readLin.. 2021. 7. 13.
반응형