개발자의 삶

개발자의 삶/JPA

[JPA] JPA vs hibernate vs Spring Data JPA

JPA ? - Java Persistence API - 자바 진영의 ORM 기술 표준 - 기술명세 ORM ? - Object-Relation Mapping - 객체는 객체대로, DB는 DB대로 - SQL Mapper 로 직접 query를 만들어 DB조회 > mybatis - 객체와 DB의 데이터를 매핑해서 query 자동 생성 > JPA Hibernate ? - JPA의 구현체 - DataNucleus, EclipseLink 등 다른 구현체도 존재. Spring Data JPA ? - JPA를 쉽게 사용하기 위해 스프링에서 제공하는 프레임워크 아래는 유명한 개념도 1. Application 2.1 JPA (Raw JPA 사용) 2.2 Spring Data JPA (Repository 사용) > JPA 3..

개발자의 삶/JPA

[JPA] study note

개발자로 일하면서 거의 대부분의 프로젝트는 mybtis를 사용하여 개발했다 JPA는 겉 핥기식으로 토이프로젝트 정도만 진행해보았다 최근 이직 준비를 하면서 JPA를 사용,요구하는 회사가 많아졌다는걸 깨달았다. 물론 현재 회사에서도 JPA를 사용하진 않는다 JPA를 사용해보지 않았기에, 아무래도 이직 준비할때 JPA를 사용하는 회사들은 선택권에서 제외됐다. (사실 JPA를 사용하는 곳도 지원은 해봤지만 면접에서 JPA에 대한 이해도가 높지 않아 좋은 결과를 맺긴 힘들었다.) 더 효율적인 개발을 위해 단단한 내 자신을 만들기 위해 그렇게 JPA 공부의 서막이 올랐다. 내돈내산으로 김영한님의 JPA 강의를 인프런에서 듣기 시작했고 구글링으로 많은 대단한 개발자분들의 도움을 받을 예정이다. 제대로된 정리 글을 ..

개발자의 삶/Spring

[Spring] Message (feat, 다국어 처리)

오늘 옆자리 신입분이 질문을 하셨다. "다국어 처리를 하는 중인데, properties 에 있는 내용들을 Controller에서 쓸 수는 없나요?" Controller 단에서 작업시에 환경(로컬, 개발)마다 다른 작업을 하려고 할때는 env(Environment, 환경변수)를 통해 구분했었다. 환경변수 관련해서는 구글링 해보면 좋을 것 같다. MessageSource 객체를 이용하여 properties 파일을 등록해주면 Spring message 를 사용 가능하다. ResourceBundleMessageSource 와 ReloadableResourceBundleMessageSource 가 있는데 후자는 서버를 가동되는 중에도 수정이 가능하다는 점이 있다. 자세한 내용은 구글링 해보면 좋을 것 같다. Sp..

개발자의 삶/Algorithm

[프로그래머스] 최대공약수와 최소공배수

문제 설명 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다. 제한 사항 두 수는 1이상 1000000이하의 자연수입니다. 입출력 예nmreturn 3 12 [3, 12] 2 5 [1, 10] 입출력 예 설명 입출력 예 #1 위의 설명과 같습니다. 입출력 예 #2 자연수 2와 5의 최대공약수는 1, 최소공배수는 10이므로 [1, 10]을 리턴해야 합니다. 정말 간단한 문제다 수포자 개발자(?)로서 최대공약수와 최소공배수의 기억이 가물가물해서 다시 찾아..

개발자의 삶/Algorithm

[LeetCode] Palindrome Number (with Go)

Given an integer x, return true if x is palindrome integer. An integer is a palindrome when it reads the same backward as forward. For example, 121 is a palindrome while 123 is not. Example 1: Input: x = 121 Output: true Explanation: 121 reads as 121 from left to right and from right to left. 뭔말인가 했다 palindrome 이 무슨 뜻인지 몰라서 검색을 해보려다가 예제를 보니 대충 주어지는 숫자(혹은 문자) 를 역순 정렬했을 때도 이전과 같은 것을 의미하는것 같다 ex, 1..

개발자의 삶/Algorithm

[LeetCode] Two Sum (with Go)

최근 Go 에 관심을 가지고 있습니다. 알고리즘 문제를 Java 혹은 Go로 풀어볼 생각입니다. LeetCode에서 기초적인 문제부터 풀어보았습니다. Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target. You may assume that each input would have exactly one solution, and you may not use the same element twice. You can return the answer in any order. Example 1: Input: nums = [2,7,11,15], target..

개발자의 삶/IntelliJ

[Intellij] org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

결론 pom.xml 파일에 build 태그 안에 아래 소스를 넣어주니 해결되었다. src/main/java **/*.xml 이 에러 때문에 한참을 헤맸다. 구글링을 해봐도 namespace나 classpath가 잘못되었다는 정보들만 나왔고 나는 꼬박 하루를 잘못 적었거나 오타가 있나 확인했지만 해결하지 못했다. 그러다 mapper가 제대로 mapping이 되지 않았다는 글을 보고 순간 어? 하고 target폴더를 보니 정말 mapper가 build 되어 있지 않았다. 왜지? 평소대로 똑같이 했는데 왜 안될까를 다시 고민하다가 소스를 보니 평소에는 mapper를 resource 폴더 밑에 만들었었는데 새로 할당받은 프로젝트는 interface 부분에 mapper가 있었던 것이다. 왜 이상하다고 생각하지 않..

개발자의 삶/기타

[객체지향] SOLID 설계원칙

SOLID 설계원칙이란? 위키백과에서는 SOLID를 아래와 같이 서술하고 있다. 컴퓨터 프로그래밍에서 SOLID란 로버트 마틴이 2000년대 초반에 명명한 객체 지향 프로그래밍 및 설계의 다섯 가지 기본 원칙을 마이클 페더스가 두문자어 기억술로 소개한 것이다. 프로그래머가 시간이 지나도 유지 보수와 확장이 쉬운 시스템을 만들고자 할 때 이 원칙들을 함께 적용할 수 있다. SOLID 원칙들은 소프트웨어 작업에서 프로그래머가 소스 코드가 읽기 쉽고 확장하기 쉽게 될 때까지 소프트웨어 소스 코드를 리팩터링하여 코드 냄새를 제거하기 위해 적용할 수 있는 지침이다. 이 원칙들은 애자일 소프트웨어 개발과 적응적 소프트웨어 개발의 전반적 전략의 일부다. 간단히 말하자면 '유지보수와 확장이 쉬운 시스템을 만들고자 할때..

개발자의 삶/Algorithm

[Codility] 4. FrogJmp

A small frog wants to get to the other side of the road. The frog is currently located at position X and wants to get to a position greater than or equal to Y. The small frog always jumps a fixed distance, D. Count the minimal number of jumps that the small frog must perform to reach its target. Write a function: class Solution { public int solution(int X, int Y, int D); } that, given three inte..

개발자의 삶/Algorithm

[Codility] 3. OddOccurrencesInArray

A non-empty array A consisting of N integers is given. The array contains an odd number of elements, and each element of the array can be paired with another element that has the same value, except for one element that is left unpaired. For example, in array A such that: A[0] = 9 A[1] = 3 A[2] = 9 A[3] = 3 A[4] = 9 A[5] = 7 A[6] = 9 the elements at indexes 0 and 2 have value 9, the elements at i..

Kedric
'개발자의 삶' 카테고리의 글 목록 (3 Page)