전체 글 186

[백준] 11650번:좌표 정렬하기 -JAVA

문제 2차원 평면 위의 점 N개가 주어진다. 좌표를 x좌표가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. 출력 첫째 줄부터 N개의 줄에 점을 정렬한 결과를 출력한다. 풀이 Comparator 인터페이스를 활용하여 정렬 compare 메서드 첫 번째 원소가 두 번째 원소보다 클 경우 자리를 변경 [0]배열을 비교, 같을 경우에는 [1]배열의 원소를 비교하여 정렬 import java.io.BufferedR..

백준 2023.08.16

[DI] @Autowird vs @RequiredArgsConstructor

의존성 주입에는 생성자 주입, Setter 주입, 필드 주입이 있다. 방장은 필드 주입을 통해 프로젝트를 수행했었고, @Autowired 어노테이션을 사용했었다. 이직을 하면서 새 프로젝트를 수행하게 되었는데 이 때 @RequiredArgsConstructor 어노테이션을 처음 접하게 되었다. 결론부터 말하면 스프링에서는 생성자 주입을 권고하기 때문에 방장은 앞으로 @RequiredArgsConstructor를 사용할 예정이다. :D 따라서 이에 대해 정리해보려고 한다. @Autowired 의존 객체의 타입에 해당하는 bean을 찾아주는 역할을 한다. bean으로 등록되어 있지 않은 객체를 의존성 주입할 경우 에러가 발생한다. (Could not autowire. No beans of 'TestServi..

DI(의존성 주입) 란?

방장은 회사 프로젝트에서 @Autowired를 통해 객체를 주입하여 사용했었다. 이직을 하면서 다양한 프로젝트를 통해 생성자, Setter를 통한 의존성 주입을 경험하게 되었고, 그에 따라 DI에 대해 정리하게 되었다. DI(의존성 주입) ? Dependency Injection의 약자로 의존성 주입이라는 뜻 이해가 쉽게 코드로 설명하겠다. public class Code1 { ... } public class Computer { private Code1 code1 = new Code1(); public getCode() { this.code1.getCode(); } } 위 코드에서 Computer 객체가 Code1 객체를 생성하여 사용하고 있다.(Computer -> Code1에 의존한다.) 만약 ge..

[Sourcetree] GIT 접속 ID 및 Password 변경

원격 저장소에 연결 시, git id나 password가 변경되었으나 push할 경우 설정해두었던 id나 password로 계속 로그인을 시도하여 답답했던 경험이 있었다. MAC의 경우 keychain에 git 계정에 대한 password를 가지고 있고, sourcetree 내부에 프로젝트에 대한 git 로그인 정보가 있어 해당 내용을 수정/삭제하여야 새로 로그인을 시도할 수 있다. ID 변경 sourcetree 설정 - 고급에서 해당정보를 편집/제거 하여 수정 PASSWORD 변경 키체인 접근 - 로그인 탭 - github 키체인 삭제

Etc 2023.08.14

[MAC] 단축키 정리 - OS X : Keyboard Shortcuts

이직을 하게 되면서 MAC 을 사용하게 되었다. Windows와 단축키가 달라서 사용하면서 편리한 단축키에 대해 작성해보았다. * 업데이트가 계속 될 예정입니다. Command = ⌘ ⌘ + w 닫기 ⌘ + alt + l 런치패드 ⌘ + tab 사용 중인 앱 전환 Capslock 한/영 전환 ⌘ + s 저장 ⌘ + backspace 삭제 ⌘ + c 복사 ⌘ + v 붙여넣기 ⌘ + f 찾기 ⌘ + p 프린트 ⌘ + a 전체 선택 Ctrl + ⌘ + space 이모티콘 Ctrl + ⌘ + f 전체화면 ⌘ + , 앱의 설정 열기 ⌘ + ↑ 상위 디렉토리 이동 ⌘ + ↓ 하위 디렉토리 이동 or 파일 열기 [Safari] ⌘ + t 새 탭 ⌘ + w 탭 닫기 ⌘ + q 창 닫기 ⌘ + ← 이전 페이지 ⌘ + →..

Etc/MAC 2023.08.14

Google SpreadSheet API와 JAVA 연동하기 #2

https://many.tistory.com/11에서 google에 대한 설정을 마쳤다. 이번 글에서는 java에서 코드 작성 후 api 연동까지 수행해보겠다. 방장은 maven spring boot 프로젝트로 라이브러리를 추가하여 개발을 수행하였다. 1. pom.xml 필요한 라이브러리들을 추가했다. com.google.api-client google-api-client 1.25.0 com.google.oauth-client google-oauth-client 1.34.1 com.google.apis google-api-services-sheets v4-rev612-1.25.0 com.google.oauth-client google-oauth-client-java6 1.21.0 com.google.oa..

Google SpreadSheet API와 JAVA 연동하기 #1

업무사항 중에 통계 데이터를 google sheet에 전송하여 사업팀에서 즉각적으로 확인할 수 있게 해달라는 요청에 따라 연동작업을 수행하게 되었다. 준비(Google) 1. google cloud 접속 에 google spreadsheet api를 검색 후 google cloud에 접속한다. 2. 프로젝트 생성 google 로고 바로 옆에 project를 클릭 후 새 프로젝트를 생성한다. 해당 프로젝트로 이동 후 API 및 서비스 사용 설정을 클릭하여 Google Sheets API를 사용으로 변경한다. 3. 서비스 계정 생성 좌측 사용자 인증 정보 탭을 클릭 후 사용자 인증 정보 만들기를 클릭, 서비스 계정을 생성한다. 방장은 google-spread-sheet라는 계정명으로 생성했다. 생성된 계정의..

[백준] 2750번 : 수 정렬하기

https://www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net ################################################ 문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한..

백준 2022.04.06

[백준] 1018번:체스판 칠하기 - JAVA

https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net ################################################ 문제 지민이는 자신의 저택에서 MN개의 단위 정사각형으로 나누어져 있는 M×N 크기의 보드를 찾았다. 어떤 정사각형은 검은색으로 칠해져 있고, 나머지는 흰색으로 칠해져 있다. 지민이는 이 보드를 잘라서 8×8 크기의 체스판으로 만들려고 한다. 체스판은 검은색과 흰색이 번갈아서 칠해져 있어야 한다. 구체적..

백준 2022.04.06

01. 무작정 따라하기 - Django 실행

Django 문서 | Django 문서 | Django (djangoproject.com) Django 문서 | Django 문서 | Django Django The web framework for perfectionists with deadlines. Overview Download Documentation News Community Code Issues About ♥ Donate docs.djangoproject.com 처음에 공식 사이트의 가이드를 따라해봤다. 해당 내용은 투표 사이트를 만들어, 투표를 하고 해당 결과값을 보여주는 사이트를 만드는 내용에 대한 설명인데, 문서로만 따라하려니 이해도 쉽지 않았고, 따라해서 구현은 했으나 내가 새로 만들려니 엄두가 나지 않았다. 그래서 유튜브를 따라해보았..