[목차]310 [기술적 선택] JPA 선택 이유 개요 필자는 올해 상반기 JPA를 활용한 프로젝트를 진행한 바 있다. 하지만 가장 중요한 점은 어떻게 동작하는지에 대한 확실한 개념없이 프로젝트를 진행했던 터라 JPA 에 대해 자세히 물어보면 죄송합니다부터 나올 거라고 생각한다. 최근 네이버, 카카오 같은 IT 기업에서 면접을 보고 느꼈던 것은 "왜 이 기술을 사용했는지, 어떻게 동작하는지"에 대해 깊게 생각하고 고민하고 파고드는 개발자를 원한다는 것을 간접적으로 뼈저리게 느꼈다. 그래서 오늘은 JPA를 대체 왜 쓰는가부터 천천히 정리해 볼 생각이다. SQL 의 문제점 보통 프로젝트를 진행하면 스프링과 데이터베이스와 연동을 하면서 서로 데이터를 넣고 받는 역할을 많이 한다. 그렇다면 데이터베이스의 데이터를 얻기 위해서는 수많은 쿼리문들을 개발자들이 짜야.. 프로젝트/기술적 선택 2022. 12. 27. [Java] 해시 충돌 오늘은 해시 충돌에 대해서 알아보고자 한다. 얼마전 hashCode() 와 equals() 메소드를 파헤쳐보았다. 이 글을 좀 더 쉽게 읽기 위해서는 아래의 링크를 클릭해서 해당 메소드들을 필수적으로 이해를 해야한다. [Java] equals 와 hashCode equals와 hashCode 는 최상위 클래스의 Object에서 정의되어있다. 그렇기 때문에 모든 객체는 Object 클래스에서 정의된 equals와 hashCode 함수를 상속받고 있다. equals 정확히 equals를 직역해보면 동일한가 baebalja.tistory.com 개념 해시 충돌 그게 무엇인가?? 코딩 테스트를 준비를 하면서 Java 개발자들은 HashMap 이라는 자료구조를 정말 많이 쓴다. 혹시 HashMap 이 어떠한 방식.. 개발 일지/Java 2022. 12. 19. [Java] equals 와 hashCode equals와 hashCode 는 최상위 클래스의 Object에서 정의되어있다. 그렇기 때문에 모든 객체는 Object 클래스에서 정의된 equals와 hashCode 함수를 상속받고 있다. equals 정확히 equals를 직역해보면 동일한가라는 뜻이다. 한 번 Obejct 클래스에 정의된 equals 메소드를 살펴보자. //equals 메소드 public boolean equals(Object obj) { return (this == obj); } equals의 구현부를 보면 "this==obj" 로 정의되어있다. 이 말의 즉슨, 2개의 객체가 동일한지 검사한다는 것이고 2개의 객체가 참조하는 것이 동일하냐? 그것을 묻는 것이다. 쉽게 말해 두 개의 객체가 같은 메모리 주소가 맞냐? 그걸 묻는 것이다.. 개발 일지/Java 2022. 12. 18. [Java] public static void main 인 이유? 코테를 볼 때 클래스를 생성을 하고 나면 main 문을 자동완성 시켜서 코드를 짜기 시작한다. 하지만 main문이 왜 저렇게 구성되어 있는지는 깊게 생각해본 적이 없었다. 오늘의 포스팅은 왜 "public static void main(String[] args)" 로 구성되어 있는지 알아보려고 한다. 먼저, JVM은 다들 아시겠지만 Java Virtual Machine 으로 운영체제 독립적으로 자바를 실행할 수 있게 도와주는 녀석이다. JVM 은 먼저 main 이라는 이름이 붙은 메서드를 찾아 프로그램을 시작하도록 설계되어 있다고 한다. 그렇게 때문에 우선적으로 JVM 이 접근할 수 있도록 public 이라는 접근 제한자가 붙여져 있어야한다. public public은 "접근 제한이 없고, 자바 프로젝트.. 개발 일지/Java 2022. 12. 18. [Java] Java 8 / Java 11 버전 별 특징 오늘 포스팅 할 얘기는 Java 8 / Java 11 변화에 대해서 포스팅하려고 한다. Java 9, 10, 12, 13, 14 ...... 등 이런 버전들도 많지만 왜 "8, 11" 이냐????? 먼저 Java 8 / Java 11은 LTS 버전이다 LTS란? LTS(Long Term Support)는 말 그대로 장기 지원되는 버전을 의미한다. 출시 후 8년 동안 업데이트 및 버그 수정을 지원하고 일반 버전과 달리 안정성에 중점을 둔 버전으로 기능 업데이트는 최소한으로 이루어지거나 아예 없는 반면, 보안 업데이트의 지원이 일반 버전보다 훨씬 길다. 그렇기 때문에 서버 등 최신 기능보다 안정성이 중요한 곳에서 많이 쓰이며 기업이나 기관 등에서 기능 업데이트로 인해 이용 중인 다른 소프트웨어가 영향을 받는.. 개발 일지/Java 2022. 12. 17. [Java] ArrayList 동작원리 ArrayList 라는 자료구조는 코딩테스트에 워낙 많이 쓰이기 때문에 모든 자바 개발자들은 익숙한 자료구조일 것이다. ArrayList의 특징으로는 인덱스로 원소를 관리하고 원소를 빠르게 탐색할 수 있다. 하지만 중간에 원소를 추가하거나 삭제하게되면 원소의 인덱스가 밀리거나 줄어들게 되어 성능적인 측면에서 안좋다. 이 정도의 개념은 알테지만 내부적으로 어떻게 동작하는지 모르는 분들이 대부분일 것이다. 필자 또한 그렇다! 배열과 arrayList 차이점은 아래 클릭! 더보기 1. 배열은 크기가 고정되어있지만 arrayList는 사이즈가 동적인 배열이다. 2. 배열은 primitive type(int, byte, char 등)과 object 모두를 담을 수 있지만, arrayList는 object elem.. 개발 일지/Java 2022. 12. 17. [SSAFY/싸피] 8기 서울 캠퍼스 밥!!! 안녕하세요 ㅎㅎ 개발자 배씨입니다! 요즘 싸피 9기 모집 시즌이라 조회수가 많이 나오더라구요! 그래서 다들 싸피에 관심이 많으시구나 생각이 들면서 또 궁금한 점들이 없을까 찾아보게 되었어요~ 사실 제가 지원했을 당시 5기부터 모두 온라인으로 진행을 했었기 때문에 싸피에서 제공해주는 "점심 밥" 에 대해서 찾아보진 않았는데 현재 8기 커리큘럼이 전부 대면 수업으로 변경되었어요~ 학기 초반에는 오프라인 3번 온라인 2번이였는데 최근 3주 전부터 올 오프라인으로 진행하면서 싸피에서 제공해주는 "점심 밥" 을 매일 먹고 있어요~ 제가 지금부터 싸피에서 제공해주는 점심 밥을 올릴건데 진지하게 겁나 맛있어요 ㅋㅋㅋㅋ 진짜 제가 입이 비싼 편인데 싸피 점심 밥이 너무 맛있으니까 매일 기대하면서 간답니다 ㅎㅎ 일단 싸.. 기타/SSAFY 2022. 11. 13. [SSAFY/싸피] 8기 온라인 스터디 안녕하세요 개발자 배씨입니다 ㅎㅎ 요즘 너무 바쁘게 살다보니 포스팅을 자주 못하게 되네요! 오늘은 싸피 활동 중에 진행했던 온라인 스터디에 대해서 소개해볼까 합니다~~ 사실 싸피에서 정말 많은 프로그램을 진행을 하는데 그 중에서도 달 마다 온라인 스터디를 모집합니다!! 온라인 스터디에 참가하는 팀에게는 웹엑스 계정을 부여해주고 해당 팀원들은 그 계정으로 개설한 방에 입장하여 시간 제한 없이 무료로 스터디를 진행할 수 있는거죠!! 😎😎 그리고 스터디를 시작하기 전에 스터디 계획서를 제출해야하고 한달 후에는 결과 보고서를 제출합니다. 여기서 계획서 및 결과 보고서를 통해 스터디 운영이 잘 이루어진 팀들에게는 전원 기프티콘을 선물로 준답니다 ㅎㅎ 그래서 저희는 스터디 계획서 우수 팀으로 뽑혀서 "배스킨 라빈스.. 기타/SSAFY 2022. 10. 12. 2382. [모의 SW 역량테스트] 미생물 격리 package swea; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.ArrayList; import java.util.Arrays; import java.util.StringTokenizer; public class Solution_2382 { static int N,M,K;//크기, 격리시간, 군집의 개수 static int [][] map; //뭉쳤을 때 군집 숫자 합산 static int [][] microbeNumber; // 뭉.. 카테고리 없음 2022. 10. 12. 2117. [모의 SW 역량테스트] 홈 방범 서비스 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.StringTokenizer; public class Solution { static int testCase; static int N; static int [][] map; static int M; static int result; public static void main(String[] args) throws IOException { BufferedReader br = new Buffered.. 카테고리 없음 2022. 10. 12. 이전 1 ··· 5 6 7 8 9 10 11 ··· 31 다음 반응형