일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 자바
- cor()
- programmers
- git
- java
- summary()
- str()
- queryDSL
- git오류
- 머신러닝프로세스
- DTO사용이유
- R프로그래밍
- 한글깨지는문제
- 이중배열
- Spring
- JPA
- 프로그래머스
- querydsl적용하기
- Rstudio
- r
- Q타입클래스
- 알고리즘
- RProgramming
- 이클립스
- Eclipse
- 머신러닝
- stepfilter
- LIKE검색
- core.autocrlf
- R명령어
- Today
- Total
목록전체 글 (48)
놀고 싶어요
우리는 자바 웹 어플리케이션을 개발할 때 컨트롤러에서 요청과 응답으로 엔티티를 직접 사용하는 경우가 있습니다. 하지만 엔티티를 사용하는 것보다는 DTO 사용을 권장하고 있는데요. 왜 DTO 사용을 권장할까요? 1. 엔티티 내부 구현을 캡슐화할 수 있다. 엔티티가 setter를 갖게 된다면 비즈니스 로직과 상관없는 곳에서도 자원 속성을 실수로라도 변경할 수 있습니다. 만약 그렇게 되면 개발자의 경우에는 어디서 이 값이 변경되었는지 찾아봐야 하는 범위가 커지죠! (컨트롤러도 봐야 되고 서비스도 봐야 되고..) 또한 엔티티를 응답에 노출하게 되면 테이블 설계를 모두 공개하게 되어 보안상으로도 바람직하지 못합니다. 2. 화면에 필요한 데이터만 보여줄 수 있다. 서비스가 커지면 엔티티의 크기도 점차 커집니다. 화..
백엔드 개발자들은 보통 intellij를 많이 사용한다. 현재 근무하고 있는 회사에서 VSCode를 사용하길래 나도 그 흐름에 맞춰서 개발을 진행하고 있다. 근데 querydsl을 사용하려고 보니 import할 때 빨간줄이 계속 생긴다. 어쩔 땐 빨간 줄이 안뜨고 어쩔 땐 빨간 줄이 뜬다. .. 안 뜨는 경우에는 clean하고 compile해도 요지부동이다. 프로젝트 사이즈가 클수록 compile 하는데 걸리는 시간도 오래 걸려서 서터레스를 받았는데 어찌저찌 해결방법을 찾아서 포스팅하게 됐다. 1. Extension에서 Gradle for Java를 설치한다. 설치가 완료되면 옆에 코끼리 아이콘이 생겼을 거다. 2. 아이콘을 누르면 다음과 같이 gradle tasks와 프로젝트 dependencies가 ..
Querydsl에서 쿼리 작성 시 모델을 어떻게 사용하는지 알아보겠습니다. Querydsl에서는 엔티티로 설정된 클래스에 Q모델이라는 쿼리타입 클래스를 미리 생성해놓고 메타데이터로 사용하여 쿼리를 메소드 기반으로 작성합니다. 쉽게 말하자면 querydsl 프레임워크를 사용하면서 쿼리문을 작성하려면 Q타입 클래스가 필요합니다. Q타입 클래스를 사용하는 방법은 세 가지 정도가 있습니다. 1. 별칭 직접 지정하여 사용하기 2. 기본 인스턴스 사용하기 3. static import하여 사용하기 package study.querydsl.repository; import com.querydsl.jpa.impl.JPAQueryFactory; import study.querydsl.domain.Member; impor..
Querydsl 사용하기 전, 설정을 진행해봅시다. `build.gradle`은 준비되었다는 전제하에 진행하도록 하겠습니다. QueryDSL Configuration 설정 프로젝트 어느 곳에서나 JPAQueryFactory를 주입받아 Querydsl을 사용할 수 있게 만듭니다. package study.querydsl.config; import com.querydsl.jpa.impl.JPAQueryFactory; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import javax.persistence.EntityManager; import javax..
Dependency Injection (DI) Spring Framework는 Java 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크로 IoC, DI, AOP 특징을 갖고 있습니다. 그 중 DI(Dependency Injection)에 대해서 설명해보려 합니다. Dependency Injection을 우리나라 말로 풀어쓰면 `의존 주입`이라는 의미입니다. 여기서의 `의존`이라는 건 무슨 의미일까요? 🤔 한 클래스가 다른 클래스의 메서드를 실행할 때 이를 `의존`한다고 표현합니다. 예를 들어, Service 클래스에서 DB 처리를 위해 Dao 클래스의 메서드를 사용한다고 하면, "Service 클래스가 Dao 클래스에 의존한다"고 표현할 수 있습니다. 의존하는 대상이 있으면 그 대상을 구하는..
유닉스(맥/리눅스) 개발자와 윈도우 개발자가 협업할 때 발생하는 whitespace 오류는 어느 쪽을 선택할지 git에게 혼란이 온 경우다. 유닉스는 라인 하나가 LF, 윈도우는 CRLF로 이루어지기 때문이다. 터미널에 git 명령어 입력 시 오류가 나는 경우 git config core.autocrlf true 이는 해당 프로젝트에서만 적용되도록 한다. global로 오류가 안나게 하고 싶다면 git config --global core.autocrlf true
public class 비밀지도 { public static void main(String[] args) { System.out.println(Arrays.toString(solution(5, new int[]{9, 20, 28, 18, 11}, new int[]{30, 1, 21, 17, 28}))); } public static String[] solution(int n, int[] arr1, int[] arr2) { char[][] map1 = changeTwoArray(n, arr1); char[][] map2 = changeTwoArray(n, arr2); char[][] newMap = new char[n][n]; for (int i = 0; i < n; i++) { for (int j = 0..
문제 분류가 떡하니 DFS/BFS로 되어 있다. 문제를 읽다보니 bit masking으로도 풀이가 가능해서 bit masking으로 풀이한 코드를 공유하려고 한다. 비트 마스킹을 이용한 풀이 class Solution { public int solution(int[] numbers, int target) { int answer = 0; // 0 ~ 2^(numbers.length-1) for (int i = 0; i < (1
windows > preferences 선택 후, encoding 검색하게 되면 왼쪽에 encoding을 설정할 수 있는 항목들이 조회가 된다. 나는 txt, css, jsp, xml 을 기본으로 UTF-8로 하고 싶기 때문에 일일이 다 설정해준다. 하지만 프로젝트 새로 생성할 때마다 일일이 해주기 귀찮다ㅠㅠ eclipse를 설치한 폴더 위치에 가면 eclipse.ini 파일이 있는데 이 파일을 수정하면 된다. -Dfile.encoding=UTF-8 을 추가하면 굳이 일일이 안해도 UTF-8이 적용된다.
package programmers; import java.util.HashSet; import java.util.Set; /** * https://programmers.co.kr/learn/courses/30/lessons/1845 */ public class 폰켓몬 { public static int solution(int[] nums) { int answer = 0; Set n = new HashSet(); // set은 중복이 없음 // nums 배열에 있는 숫자를 입력한다. for(int i=0; i