본문 바로가기

전체 글

(187)
[우테코-Lv1] TDD- AssertJ 라이브러리 목차 isEqualTo()/isNotEqualTo isNull() / isNotNull() isSameAs() / isNotSameAs() assertThatThrownBy().isInstanceOf() assertThatCode().doesNotThrownAnyException() asserThat -String관련 asserThat - Collection관련 Satisfy Match singleelement() Filtering extracting exception Handling JUnit 테스트코드를 먼저 학습하기를 권장합니다. https://hellobrocolli.tistory.com/137 [우테코-Level1] JUnit 단위 테스트 공부 JUnit5이란? : 자바 언어를 사용하는 소프트웨..
[Intellij IDEA] 페어 프로그래밍 공유 환경설정 / 같은 IDE 공유하기 >>문제상황 우테코 Lv1 단계에서는 같은 문제를 함께 해결하는 페어 프로그래밍을 한다. 그러나, 이 과정에서 다음과 같은 문제가 발생했다. 1. 맥 vs Window 유저에 따라 단축키가 익숙치 않다. 2. 페어 컴퓨터가 아니라 내 컴퓨터에서 코드를 보고 싶을 때가 있다 3. 집에 가서 혼자 고민한 내역을 빠르게 공유하고 싶다. 즉, 구글 공유 문서와 같은 역할을 해주는 기능이 Intellij에 있는지 궁금해졌다. >> Intellij에 공유 환경 설정하기 역시 있었다. Code With Me(EAP)를 다운받아 사용하면 된다. 지원버전은 `2020.03`버전이다 그럼 설치과정을 하나씩 톺아보자 >> Step1. Code With Me File> Settings > Plugins > MarketPlac..
[스크랩] git 커밋 메시지 타입 🔖 type (타입) 의 종류 : ✨ feat : 새로운 기능을 추가할 경우 🐛 fix : 버그를 고친 경우 📝 docs : 문서를 수정한 경우 🎨 style : 코드 포맷 변경, 세미 콜론 누락, 코드 수정이 없는 경우 ♻️ refactor : 프로덕션 코드 리팩토링 ✅ test: 테스트 추가, 테스트 리팩토링 (코드 변경 X) 📦 chore : 빌드 태스트 업데이트, 패키지 매니저를 설정하는 경우 (코드 변경 X) 💄 design : CSS 등 사용자 UI 디자인 변경 💡 comment : 필요한 주석 추가 및 변경 🚚 rename : 파일 혹은 폴더명을 수정하는 경우 🔥 remove : 사용하지 않는 파일 혹은 폴더를 삭제하는 경우 출처: https://velog.io/@gusdh2/%EC%A2%8..
POSIX new line : 파일 끝에 개행을 추가해야 하는 이유 우테코 1주차 미션을 하다가 POSIX new line에 대한 피드백을 받았다. 해당 부분의 코드는 다음과 같다. // then assertEquals(new ArrayList(List.of("carB", "carC")), Service.getWinnerNames(cars)); } } 처음에는 코드에 대한 피드백이 아니라 당황했고, POSIX라는 처음보는 단어에 2차적으로 당황했다. 그럼 차례대로 알아보자 POSIX란? - Portable Operating System Interface의 약자로 운영체제 사이의 호환성을 위해 IEEE에서 만든 표준 - 소스코드 호환을 위해 표준을 정한 것 // then assertEquals(new ArrayList(List.of("carB", "carC")), Serv..
[우테코-Lv1] JUnit 단위 테스트 공부 JUnit5이란? : 자바 언어를 사용하는 소프트웨어 개발자를 위한 테스트 프레임 워크 : 주로 단위 테스트를 작성하고 실행하는 데에 쓰인다. 참고 사이트 요약된 표 JUnit 테스트 프레임 워크 @Test 해당 메서드가 테스트임을 나타내는 애너테이션 @DisplayName 해당 테스트의 이름을 나타냄 @Nested 중첩 클래스임을 나타냄 @Disabled 해당 테스트를 비활성화 @assertEquals(expected, actual) 두 값이 같은지 비교(equals()) @asssertNotEquals(expected, actual) 두 값이 같지 않은지 비교(! equals()) @assertSame(expected, actual) 두 객체가 같은 객체인지(같은 메모리 주소를 가리키는지 확인) @a..
[자바의 정석] ch13. 쓰레드 1. 프로세스와 스레드 프로세스 : 실행중인 프로그램 -- 프로그램을 실행하면 OS로부터 실행에 필요한 자원을 할당받아 프로세스가 된다. 쓰레드 : 프로세스의 자원(데이터/메모리)를 사용해서 실제 작업을 수행하는 것 싱글쓰레드 프로세스 : 하나의 쓰레드를 가진 프로세스 멀티쓰레드 프로세스 : 둘 이상의 쓰레드를 가진 프로세스 >멀티 태스킹 vs 멀티 쓰레드 멀티 태스킹 : 동시에 여러 프로세스를 실행시키는 것 멀티 쓰레딩 : 하나의 프로세스에 여러 쓰레드를 실행시키는 것 - 프로세스 비용 > 쓰레드 생성 비용 - 같은 프로세스내 쓰레드들은 자원을 공유한다 >멀티 스레딩의 장단점 2. 쓰레드의 구현과 실행 방법 2가지 방법1. Thread 클래스를 상속 class MyThread extends Thread..
[Python] 1783. 병든 나이트(실3) /그리디 목차 1. 문제 2. 핵심 아이디어 3. 코드 4. 배운 점 1. 문제 https://www.acmicpc.net/problem/1783 1783번: 병든 나이트 첫째 줄에 체스판의 세로 길이 N와 가로 길이 M이 주어진다. N과 M은 2,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 2. 핵심 아이디어 https://lipcoder.tistory.com/94 병든 나이트 (백준 - 1783번) 그리디 알고리즘을 사용하는 문제였다. 우선 나이트의 모든 이동방법이 위, 아래 오른쪽으로 무조건 1칸 이상 움직이므로, 세로 길이가 1인 체스판의 경우에 나이트는 한번도 이동 할 수 없다. lipcoder.tistory.com 3. 코드 #1783. 병든나이트(실3) n,m= ma..
[이코테 파이썬] #01. 그리디 알고리즘 >>강의 #1. 모험가 길드 >내가 푼 풀이 group=[] cnt=0 n= int(input()) scared= list(map(int, input().split())) scared.sort() for i in scared: group.append(i) if len(group)==max(group): cnt+=1 group=[] print(cnt) > 답안 소스코드 # 답안 소스코드 n= int(input()) data= list(map(int, input().split())) data.sort() result=0 # 총 그룹의 수 count=0 #현재 그룹에 포함된 모함가의 수 for i in data: # 공포도를 낮은 것부터 확인 count+=1 # 현재 그룹에 해당 모험가 포함시키기 if cou..