본문 바로가기

항해 99

(151)
프로그래밍 테스트 및 IDE 프로젝트 빌드 오류 해결 인텔리제이 프로젝트 빌드 오류 해결방법 에러 코드 Module 'week' production: java.lang.ClassCastException: class org.jetbrains.jps.builders.java.dependencyView.TypeRepr$PrimitiveType cannot be cast to class org.jetbrains.jps.builders.java.dependencyView.TypeRepr$ClassType (org.jetbrains.jps.builders.java.dependencyView.TypeRepr$PrimitiveType and org.jetbrains.jps.builders.java.dependencyView.TypeRepr$ClassType are in ..
Java - 모던 자바 모던 자바_Java8 Java 8에서 새로 추가된 개념 함수형 프로그래밍(lambda) 객체지향 프로그래밍의 핵심 아이디어 코드의 재사용성 높아짐 유지보수 및 확장하기 쉬워짐 신뢰성 있게 사용하기 쉬워짐 함수형 프로그래밍의 핵심 아이디어 수학의 함수처럼, 특정한 데이터에 의존하지 않고, 관련없는 데이터를 변경하지 않으며, 결과 값이 오직 입력 값에만 영향을 받는 함수(순수 함수) 프로그램을 순수한 함수의 모음으로 바로보고 구현 효용 검증이 쉬움(검증이 필요한 부분만 검증 가능) 성능 최적화가 쉽다(특정 input에 대한 output을 재사용할 수 있음 - 캐싱) 동시성 문제를 해결하기 쉽다(함수는 다른 값의 변경을 야기하지 않음) 자바 함수의 변화 함수를 일급 값으로 일급 값(일급 객체) 특징 함수에 인..
Java - 프로세스, 쓰레드 프로세스(Process) , 쓰레드(Thread) 프로세스 : 운영체제로부터 자원을 할당받는 작업의 단위 쓰레드 : 프로세스가 할당받은 자원을 이용하는 실행의 단위 프로세스는 "실행 중인 프로그램"을 의미 프로세스 구조 Code : Java main 메서드와 같은 코드 Data : 프로그램 실행 중 저장할 수 있는 저장공간 전역 변수, 정적 변수, 배열 등 초기화된 데이터를 저장하는 공간 Memory (메모리 영역) Stack : 지역 변수, 매개변수 리턴 변수 저장하는 공간 Heap : 프로그램이 동적으로 필요한 변수를 저장하는 공간(new( ), mallock( )) 쓰레드는 프로세스 내에서 일하는 일꾼 쓰레드 생성 프로세스가 작업 중인 프로그램에서 실행요청이 들어오면 쓰레드를 만들어 명령을 처리 쓰..
WIL - 2 Fact : 이번주 있었던 일, 내가 한 일 월 : 설연휴 화 : 페어 프로그래밍 1일차 - 코딩 테스트 알고리즘 문제 풀이 수 : 페어 프로그래밍 2일차 - 코딩 테스트 알고리즘 문제 풀이 목 : 페어 프로그래밍 3일차 - 코딩 테스트 알고리즘 문제 풀이 금 : 페어 프로그래밍 4일차 - 코딩 테스트 알고리즘 문제 풀이, 자바 예외 처리 학습 토 : 페어 프로그래밍 5일차 - 코딩 테스트 알고리즘 문제 풀이, 자바 예외 처리, 제네릭 문법, Collection 학습 Feeling : 나의 감정적인 반응, 느낌 페어 프로그래밍을 통해 다른 사람과 같이 알고리즘 문제를 푸는 것이 여러 관점에서 문제를 해석하고 방법을 찾을 수 있어서 좋았음 몇몇 알고리즘 문제들은 상당히 어렵게 느껴졌고, 개발 공부에 많은 ..
페어 프로그래밍 - 코딩 테스트 5 코드 리뷰 - ChatGPT 44. 2016년 페어 프로그래밍 코드 package pair5; import java.time.DayOfWeek; import java.time.LocalDate; import java.time.format.TextStyle; import java.util.Locale; /** * 2016년 * 2016년 1월 1일은 금요일입니다. * 2016년 a월 b일은 무슨 요일일까요? * 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, `solution`을 완성하세요. */ public class Calender { // [31 29 31 30 31 30 31 31 30 31 30 31] // a = 월, b = 일 // 1월 1일 = 금 // 1월 ..
Java - 오류 및 예외 처리, 제네릭, Collection 오류 및 예외 처리 오류(Error) : 일반적으로 회복이 불가능한 문제 시스템 레벨 도는 환경적인 이유로 발생 코드의 문제로 발생하는 경우도 있으나, 발생하면 일반적으로 회복이 불가능 에러가 발생한 경우 어떤 에러로 프로그램이 종료되었는지 확인하고 대응 예외(Exception) : 일반적으로 회복이 가능한 문제 회복이 가능하다는 전제는 예외가 발생할 수 있다는 것을 인지하고 대응했을 것 코드레벨에서 할 수 있는 문제사항에 대한 대응은 "예외 처리"에 속함 예외의 종류 코드 실행 관점에서의 예외 종류 컴파일 에러(예외) .java 파일을 .class 파일로 컴파일할 때 발생하는 에러 대부분 자바 프로그래밍 언어의 규칙을 어겨서 발생 없는 클래스 호출, 접근이 불가능한 프로퍼티나 메서드에 접근하는 경우 해..
페어 프로그래밍 - 코딩 테스트 4 개인 풀이 코드 리뷰 - ChatGPT 40. 가장 가까운 같은 글자 package test2; public class Test40 { //문자열 s의 각 위치마다 자신보다 앞에 나오면서 //자신과 가장 가까운 곳에 있는 같은 글자의 위치 // "banana"가 주어진다면 // b = -1, a = -1, n = -1, a = 2, n = 2, a = 2 // 자신 앞에 없을 때 -1 반환, 자신 앞에 값이 있을 때 얼마나 앞에 있는지 반환 // count는 자신을 0으로 했을 때 글자 1개 마다 1씩 증가하도록 // 모든 단어의 결과를 int[] 배열로 반환 // 문자열을 split으로 모두 "" 단위로 자르고 // int[] answer의 크기는 s.length // StringBuilder로 Rev..
페어 프로그래밍 - 코딩 테스트 3 개인 풀이 코드 리뷰 - ChatGPT 29. 최대 공약수와 최소 공배수 class Solution { public int[] solution(int n, int m) { // 유클리드 호제법 사용 int[] answer = {gcd(n, m), lcm(n, m)}; return answer; } //최대 공약수 구하기 public static int gcd(int a, int b) { if (b == 0) return a; return gcd(b, a % b); } //최소 공배수 구하기 public static int lcm(int a, int b) { return a * b / gcd(a, b); } } 유클리드 호제법 사용이 핵심 코드 리뷰 가독성 명명 규칙: 함수명 gcd와 lcm은 각각 최대 ..