오늘은 필자가 응시했던 정보처리 산업기사의 필기 공부법을 소개하려한다. 우선 필자는 22년 정기 1회 보처리 산업기사에 합격했다. (22년도부터 정보처리 산업기사 시험이 전면 개편되어서 필자의 응시일자를 말한다.) 위에서 말했다싶이 전면 개정된 22년 정보처리 산업기사를 공부했던 방법을 소개한다. 1. 시험 준비 기간 우선 필자는 3주전부터 공부를 시작했다. 원래 필자는 자격증 공부는 문제은행식인 경우가 많아 기출문제 몇회 풀어보고 응시를 하는 편인데, 이번에 전면 개편이 되었다고 하여 '시나공' 정보처리산업기사 필기 문제집을 구매해 2회독 하였다. ✔ Q. 문제집이 고민된다면? 여기서 잠시 보통 '시나공'과 '이기적' 문제집을 고민하는 분이 많은데 필자가 시나공을 선택한 이유는 (서점가서 직접 비교하고..
클린코드 1장 서평을 남긴다. 1장 코드는 요구사항을 표현하는 언어이다 나쁜 코드란? 켄트 백이 저술한 Implementation Patterns 책은 이렇게 말한다. 이 책은 좋은 코드가 중요하다는 다소 미약한 전제에 기반한다.. 좋은 코드는 중요하다! 우리는 대충 짠 프로그램이 돌아간다는 사실에 안도감을 느끼며 '그래도 안 돌아가는 프로그램보다 돌아가는 쓰레기가 좋다'고 스스로를 위로한 경험이 있을 것이다. 나 또한 개발을 할 때 항상 '아직 나는 실력이 부족하니까 돌아가는 쓰레기(?) 라도 만들자,,' 라는 마인드로 코딩을 했었는데 이번에 클린 코드를 읽으며 마음을 새로 다잡았다. 나중에 다시 정리해야지.. 하며 르블랑의 법칙을 믿었지만, 🤔 나중은 결코 오지 않는다. (그러니 지금부터 깨끗한 코드..
백준 문제 보기 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net 이번 문제 또한 문제 이해 자체는 그리 어렵지 않을 것이다. 바로 코드로 들어가보자. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Q4344 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(..
오늘은 필자의 이전 포스팅에서 설명하기로 했던 equals와 ==의 차이에 대한 포스팅을 진행하겠다. ('이전 포스팅' 클릭) 이전 포스팅에서도 말했지만 👉 equals와 ==의 차이점을 소개하자면 equals의 경우 메서드이기 때문에 ()안의 내용을 비교한다. 📌 즉 두 대상의 값 자체를 비교한다! ==의 경우 객체의 주소를 비교한다. 기본 타입 int형, char형 등은 대상에 주소값을 가지지 않고 쓰이기 때문에 ==(동등비교)가 가능하지만 String은 클래스 이기 때문에 생성할 때마다 새로운 주소값이 부여된다. 📌 그래서 String 타입의 경우 '값' 자체는 같아도 '주소'는 다르다!! 말만 들어선 이해가 어려울 수 있으니 직접 코드를 통해 확인해보자!! 🤔❓ 우선 필자가 위에서 설명한 것을 바..
백준 문제 보기(글자 클릭하면 링크 이동) 문제 이해는 그리 어렵지 않을 것이다. (하지만 오늘도 필자는 엉뚱한 부분에서 해맸다.) (그 부분은 뒤에서,,) 바로 코드로 들어가보자. 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.in)); int N = Integer.parseInt(br.readLine()); // 이전에 같..
백준 문제 보기 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net 문제의 난이도가 딱히 어렵진 않았으나 이상한 실수 하나로 거의 모든 문장을 로그 찍어 확인하며 삽질하다 풀어서 조금은 짜증나는 문제였다ㅋㅋ (이상한 삽질은 아래에서 공개..) 우선 바로 코드로 들어가보자. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public..
백준 문제 보기 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net 바로 코드로 들어보자. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Q3052 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // 10 개 숫자를 42로 나눈 나머지 int[] a..
최근에 클린코드 라는 책을 읽게 되었다. 개발자의 필독서라 불릴만큼 유명한 책인데, 책을 읽다 꼭 기억해두고 싶은 문장들을 간단히 정리해 올릴 예정이다. 그럼 바로 들어가보도록 하겠다! 추천사 사소한 곳에서 발휘하는 정직은 사소하지 않다 깨끗한 코드가 중요한 이유! 첫째, 큰 실무에서 실력을 쌓고 신뢰를 얻으려는 전문가는 먼저 작은 실무부터 실력을 쌓고 신뢰를 얻어야한다. 둘째, 꼭 맞게 닫히지 않는 문이나 비뚤어진 바닥 타일이나 지저분한 책상 등 아주 사소한 것들이 전체의 매력을 깎아먹기 때문이다. 소프트웨어는 80% 이상이 소위 "유지보수"이다! 좋은 소프트웨어를 만드는 데 치중하는 전형적인 서양식 사고를 포용하는 대신, 우리는 좀 더 건축 업계의 수리공이나 자동차 업계의 수리공처럼 소프트웨어 개발자..
백준 문제 보기 두 가지 방법을 이용해 풀어보겠다. 첫 번째 풀이 결과를 먼저 말하자면 사실상 시간초과가 났었던 코드이다. 먼저 코드는 다음과 같다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Q10818 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String..
JPA의 플러시에 대해 알아보자. 이전 포스팅과 연결되므로 이전 포스팅을 참고하길 바란다. (이전 포스팅 글씨를 누르면 이동할 수 있다.) 🤔 플러시는 언제 발생할까? 데이터 베이스 트랜잭션이 일어나면 플러시는 자동으로 일어난다! 지난 포스팅에서 db에 쿼리는 commit할 때 날아간다고 했다. 그런데 만약 내가 comimit 하기 전에 db에 쿼리가 제대로 날아가는지 확인하고 싶다면 어떻게 해야할까? 바로 이렇게 하면 된다 em.flush()를 하게 되면 db에 쿼리가 바로 날아간다. 그럼 확인해보자. 보이는가? 구분을 위해 그어둔 ================선이 쿼리문 뒤에 나타났다. 플러시에 대해 정리해보자 플로시는 영속성 컨텍스트를 비우지 않고, 영속성 컨텍스트의 변경내용을 데이터베이스에 동기화..
오늘은 JPA의 영속성 관리에 대해 알아보자. 이전 포스팅과 이어지는 내용이므로 이전 포스팅을 참고하기를 바란다. JPA에서 필수로 알아야 할 단어 중 하나인 '영속성 컨텍스트'에 대해 알아보자. 영속성 컨텍스트란, 엔티티를 영구 저장하는 환경을 의미한다. EntityManager.persist(entity)로 엔티티를 영속성 컨텍스트에 저장한다. 엔티티는 생명주기가 있다. 비영속(new/transient) 우리가 흔히 new 연산자를 이용해 객체를 생성한 상태는 영속성 컨텍스트와 관계가 없는 새로운 상태를 의미한다. 영속(managed) EntityManager.persist(entity)를 하게 되면 영속 상태가 되는데 영속성 컨텍스트에 '관리'되는 상태이다. 위 사진에서 설명한 대로 Member 객..
JPA(Maven)를 이용하여 프로젝트를 시작해보자. 먼저, 아래줄의 링크를 눌러 H2 데이터베이스를 설치해보자. H2 데이터베이스 설치(링크) H2 데이터 장점 가볍다(1.5M) 시퀀스, AUTO INCREMENT 기능을 지원한다. 웹용 쿼리툴을 제공한다. Maven 특징(링크) 자바 라이브러리, 빌드 관리 도구 라이브러리 자동 다운로드 및 의존성 관리 최근에는 Gradle이 점점 유명해짐. ⚙ Project Settings 자바 8 버전 이상 Maven Setting groupId : jpa-basic artifactId : ex1-hello-jpa version : 1.0.0 먼저, pom.xml 파일에 사용할 라이브러리를 추가해보자. 우리는 JPA hibernate 라이브러리와 H2 databas..
백준 문제 보기 두 가지 방법을 이용하여 풀어보겠다. 자바에서 입력을 받는 방식은 크게 두 가지인데, Scanner와 BufferedReader이다. 흔히 학교에서 (전공생의 경우) Scanner를 이용하여 예제를 많이 풀어보았을텐데, 속도는 BufferedReader가 훨씬 빠르다. 그래서 BufferedReader를 이용하여 두 가지 방식으로 문제를 풀었다. 첫 번째 풀이 먼저 코드는 다음과 같다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Q10952 { public static void mai..
- Total
- Today
- Yesterday
- 자바의 정석
- 코드
- 강의
- 정보처리 산업기사
- BAEKJOON
- 22 정보처리 산업기사
- hackerrank
- 개발자
- challenges
- 해커랭크 자바 챌린지
- 챌린지
- 해커랭크
- 해커랭크 챌린지
- 정보처리산업기사 공부법
- 그리디
- LinkedList
- 해커랭크 자바
- 정보처리산업기사
- queue
- Java
- stack
- 22 정보처리산업기사
- 소스코드
- 백준
- JPA
- 풀이
- hackerrank challenges
- ORM
- 디버깅
- 자바
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |