분류 전체보기 293

정보처리기사 필기 합격 수기 - 전공자, 직장인 학습법

합격 후기 및 공부법 정보처리기사 필기시험에 합격했습니다👏👏 가채점으로 나오긴 했지만 안정권이기에 합격 포스팅을 작성하게 되었습니다. 직장인으로서 업무와 병행하며 공부하였고, 공부하며 제가 느낀 점을 몇 가지 공유해보고자 합니다. *참고 : 필기 합격 기준은 파트별 40점 이상, 과목 평균 60점 이상 두 가지를 만족하면 합격입니다* 제가 사용한 공부방법 우선 저는 직장인이고, 전공자임을 알려드립니다. (IT 직무 현업 근무중) 책은 가장 유명하다고 하는 이기적으로 공부했습니다. https://www.yes24.com/Product/Goods/113794518 2023 이기적 정보처리기사 필기 절대족보 - YES24 본 도서는 정보처리기사기사 필기시험을 준비하는 분들이 효과적으로 시험에 대비할 수 있도록..

일상 2023.07.16

시간 복잡도에 대하여

시간 복잡도란? 빅-오 표기법 최악의 경우 걸리는 시간 시간 복잡도 그래프 이진탐색 O(logN) 선형탐색 O(N) 정렬 O(N logN) 조합 O(N^2) 순열 O(N!) 입력 데이터 개수별 사용 가능한 시간 복잡도 알고리즘 N 값에 따라 알고리즘 적용 시 최대 1억번이 안넘어야 한다. 1억이 넘는다 ? → 빨리 다른 알고리즘을 찾아봐야한다. 잘못된 문제풀이 문제 확인 → 풀이 고안 & 작성→ 제출 → 완료 올바른 물제풀이 문제 확인 → 풀이 고안 → 효율성 체크 → 풀이 작성 → 제출 → 완료문제풀이 방법론 시간 복잡도 계산하기 어림짐작하기 >> 반복문의 횟수를 계산해보자. 시간 복잡도를 줄이는 방법 정렬된 배열 arr에서 특정 원소의 위치를 찾을 때 전체 순회O(N) → 이진탐색 O(logN) 배열..

알고리즘 2023.07.10

코딩 테스트 준비하기 전에 봐야할 글

코딩테스트 개요 확인 및 주의사항 코딩테스트란? 지원자가 알고있는 자료 구조와 알고리즘 등을 활용 → 문제해결능력을 평가하는 시험 제한 시간 내 푼 문제 개수 + 시간으로 평가 → 빠르고 정확하게 풀어야 한다. 보는 이유 문제해결과정 주어진 문제를 정확하게 파악하는것이 중요 요구하는 방향으로 문제를 해결하려고 하는가 똑같은 결과지만 빠르고 효율적으로 코드의 실행 시간에도 제약이 있다. → 빅오를 배우자. 개발자 실력 = 막연한 구현 (x) 효율적 설계 (o) 기능 구현은 걍 필수다. 빠르고 많이 (X) → 정확하고 효율적으로 (O) 코딩 & 디버깅 잘 짠 코드란? 가독성 + 효율성 가독성 : 코드 역할에 집중 → 메서드나 클래스로 분해하자. 효율성 : 메서드 → 사칙연산으로 해결 흔히 하는 실수 충분한 ..

알고리즘 2023.07.05

[비사이드] 비사이드 후기 - 중간 회고

비사이드 11기에 참여하여 어느덧 10주차 개발일지를 작성하게 되었고, 중간 회고를 한번 해볼 필요성을 느껴 중간 회고록을 작성해 보았다. 나에겐 너무 의미있었던 프로젝트였고, 마무리까지 잘 되어서 끝까지 좋은 경험으로 남았으면 하는 마음에 이 포스팅을 작성하게 되었다. 비사이드 시작하게된 동기 내가 처음으로 사이드 프로젝트에 관심을 가졌던 시기는 웹에 어느정도 익숙해지기 시작하면서부터였다. 그 때 당시의 나는 JPA와 Spring Boot에 대해 공부하고 간단히 프로젝트를 만들 수 있을 정도의 실력이 된다고 생각했었는데, 과정이 너무나도 재미있었다. 또한, 빠른 시일 내에 더 멋진 백엔드 개발자가 되는 것이 꿈인 나에게 멋진 포토폴리오를 만들고 싶다는 생각이 들기 시작했을 때이다. 사람은 보고싶은 것만..

Dev/Bside 2022.08.26

[Next Step] 자바 웹프로그래밍 2.3 정리

요구사항 전달하는 문자를 구분자로 분리하자 각 숫자의 합을 구해 반환하자 쉼표(,) 또는 클론(:)을 구분자로 가지는 문자열을 전달하는 경우 구분자를 기준으로 분리한 각 숫자의 합을 반환하 커스텀 구분자를 지정하자 "//", "\n" 사이에 위치하는 문자를 커스텀 구분자로 사용하자 문자열 계산기에 음수를 전달하는 경우 RuntimeException으로 예외처리하자 요구사항을 더 작은 단위로 쪼개보자 개발자의 역량을 키우기에 좋은 연습이다 String 클래스를 활용하자 2.3.2를 보기 전 내가 구현한 테스트 코드 및 구현 코드 알고리즘이랑 유사하다고 느꼈다. 상당히 자세하고 요구사항이 쪼개지며, 예외에 대한 테스트도 꼼꼼히 작성하게 되는 느낌이었다. 음수가 있으면 예외처리를 던지는 로직을 추가하였다. 테..

Dev 2022.08.24

[Next Step] 자바 웹프로그래밍 2.1,2.2 정리

2.1 main() 메소드를 활용한 테스트의 문제점, 2.2 Junit을 활용해 main() 메소드 문제점 극복을 정리해보았습니다. 학습 목표 문제점과 해결방식에 초점을 맞추어 정리했습니다. 문제점이 무엇인지 아는 상태에 도달하기 위해 노력했습니다. 1. 프로덕션 코드와 테스트코드(main()) 이 같은 클래스에 위치하고 있다. public class Calculator{ ... } public static void main(String[] args){ Calculator cal = new Calculator(); cal.add(1,2); cal.sub(1,2); } 프로덕션 코드와 테스트 코드를 분리하자 public class Calculator{ ... } 분리! public static void m..

Dev 2022.08.22

[Spring Boot] Controller에서 매개변수 넘겨받기

controller단에서 매개변수를 넘겨받는 방법을 한번 정리하고 넘어가고 싶어 포스팅을 남기게 되었다. 1. /test/{id} 로 넘겨받고 싶은 경우 - @PathVariable /* /test/{id} */ @GetMapping("/test/{id}") public String testControllerWithPathVariables(@PathVariable(required = false) int id){ return "hello id : " + id; } 2. /test?id=123으로 넘겨받고 싶은 경우 - @RequestParam /* /test/testRequestParam?id=123 */ @GetMapping("/test/testRequestParam") public String test..

Dev/SpringBoot 2022.07.18

Restful 하다는 것은 뭘까?

REST - Representational State Transfer의 약자로, 아키텍쳐 스타일이다. - 아키텍쳐 스타일 : 반복되는 아키텍쳐 디자인 - 아키텍쳐 패턴 : 어떤 반복되는 문제 상황을 해결하는 도구 - 6가지 제약조건으로 구성되며, 이 가이드라인을 따르는 API를 RESTful API라고 한다. REST 제약조건 - 클라이언트-서버 - 상태가 없음 - 캐시되는 데이터 - 일관적인 인터페이스 - 레이어 시스템 - 코드-온-디멘드(Optional) 1. 클라이언트-서버 - 리소스 : REST API가 리턴할 수 있는 모든 것을 의미. 예를들어 HTML, JSON, 이미지 등이 있다. - 리소스를 관리하는 서버가 존재하고, 다수의 클라이언트가 리소스를 소비하려고 네트워크를 통해 서버에 접근하는 ..

Dev 2022.07.18