전체 글 101

명령어

컴파일 언어와 인터프리터 언어 - 개발자들이 고급 언어로 작성한 소스 코드는 결국 저급 언어로 변환되어 실행되는데, 여기에는 크게 두가지 방식이 있다. 컴파일 방식과 인터프리터 방식이 있다. * 컴파일 언어 - 컴파일 언어는 컴파일러에 의해 소스 코드 전체가 저급 언어로 변환되어 실행되는 고급 언어이다. - 대표적 컴파일 언어로는 C가 있다. - 컴파일 언어로 작성된 소스코드는 코드 전체가 저급 언어로 변환되는 과정을 거치는데, 이 과정을 컴파일이라고 한다. 그리고 컴파일을 수행해주는 도구를 컴파일러 라고 한다. - 컴파일러를 통해 저급 언어로 변환된 코드를 목적 코드 라고 한다. * 인터프리터 언어 - 인터프리터 언어는 인터프리터에 의해 소스코드가 한 줄씩 실행되는 고급 언어입니다. 대표적인 언어로는 ..

프로그래머스 2016년

다른사람의 풀이를 보고 매우 간단한 방법이어서 글을 남겨본다. LocalDate 클래스를 활용하여 아주아주 간단하게 문제를 해결했다. getDayOfWeek() 메서드는 해당 날짜의 요일을 반환한다. 문자열로 변환후에 substring으로 앞에 3글자만 가져오면 끝이 난다. LocalDate - LocalDate는 Java 8부터 제공되는 날짜를 나타내는 클래스 중 하나로, 시간 정보가 포함되지 않은 날짜를 다루기 위한 클래스이다. 이 클래스는 java.time 패키지에 속해 있다. - 현재 날짜 얻기 : LocalDate.now() - LocalDate는 날짜 간의 연산을 지원한다. 예를 들어, plusDays( ) 메서드를 사용하여 특정 일 수를 더하거나, minusMonths( )를 사용하여 특정 ..

프로그래머스 2023.11.23

프로그래머스 명예의 전당 (1)

먼저 명예의전당에 들어갈 점수 리스트를 만들고 k일차 까지는 모든 점수를 다 넣어준다. 그리고 리스트를 정렬해주고, 그러면 0번인덱스가 자동으로 가장 최하위 점수가 된다. 최하위점수 리스트 만든곳에 0번인덱스를 추가해준다. k일차가 지나고 나서 부터는 명예의전당 리스트 점수 중 최하위 점수를 제거하고 새로운 점수를 리스트에 추가한다. 그리고 다시 명예의 전당 리스트를 한번 더 정렬해주고 최하위 점수인 0번인덱스를 최하위점수 리스트에 추가한다. import java.util.*; class Solution { public int[] solution(int k, int[] score) { int[] answer = new int[score.length]; List num = new ArrayList(); /..

프로그래머스 2023.11.22

데이터

정보 단위 - 컴퓨터는 0 또는 1 밖에 이해하지 못한다. 0과 1을 나타내는 가장 작은 정보단위를 비트라고 한다. - n비트는 2의 n제곱 가지의 수만큼 정보를 표현할 수 있습니다. ex) 8비트 = 2의 8제곱 = 256 = 1바이트 1byte 8bit 1kB 1,000byte 1MB 1,000kB 1GB 1,000MB 1TB 1,000GB * 워드 - 워드란 cpu가 한번에 처리할 수 있는 데이터 크기를 의미합니다. - 워드 크기는 cpu마다 다르지만 현대 컴퓨터의 워드 크기는 대부분 32비트 또는 64비트 입니다. ex) 인텔의 x86 cpu = 32비트, x64 cpu = 64비트 이진법 - 0과 1만으로 모든 숫자를 표현하는 방법을 이진법이라고 한다. - 이진수의 음수표현법은 그 수의 0과1을..

테스트코드

JUnit - JUnit은 Java에서 단위 테스트를 작성하고 실행하기 위한 표준 테스팅 프레임워크입니다. - 단위 테스트는 소프트웨어의 각 부분이 의도한 대로 작동하는지 확인하는 데 사용됩니다. JUnit은 개발자들이 코드의 품질을 유지하고 소프트웨어를 더 신뢰성 있게 만들 수 있도록 도와줍니다. - JUnit은 자바 생태계에서 테스트 주도 개발(Test-Driven Development, TDD) 및 테스트 작성을 촉진하는 데 널리 사용되는 프레임워크 중 하나입니다. @Test - @Test 애너테이션은 테스트 메서드를 정의할 때 사용됩니다. 해당 애너테이션이 붙은 메서드는 JUnit이 테스트 수행 중에 호출하게 됩니다. -> 위의 코드에서 testAddition 메서드는 @Test 애너테이션이 붙어..

Spring 2023.11.21

Optional 객체

Optional - 값이 존재할 수도 있고, 없을수도 있는 컨테이너 객체. - Optional을 사용함으로써 코드의 가독성을 높이고 예외 처리를 보다 명확하게 할 수 있다. - Optional을 사용하면 null 체크를 명시적으로 처리할 수 있으며, 메서드의 반환 값이나 매개변수가 null일 경우 발생하는 예외를 방지할 수 있습니다. - Optional은 주로 NullPointerException을 방지하고 코드를 안전하게 작성하기 위해 사용. * Optional.ofNullable( ) - 주어진 값이 null이 아니면 해당 값을 감싸는 Optional 객체를 생성, 값이 null 이면 빈 (empty)Optional 객체 반환 * filter( ) - filter( )메서드는 스트림에서 특정 조건을 ..

JAVA 2023.11.21

스프링부트 @ResponseBody

- @ResponseBody를 사용하고 객체를 반환하면 객체가 JSON으로 변환 됨 - viewResolver 대신에 HttpMessageConverter 가 동작한다. - 문자의 처리는 StringHttpMessageConverter가 하고, 객체의 처리 MappingJackson2HttpMessageConverter가 하게 된다. - JSON으로 변환해주는 라이브러리는 GSON과 Jackson 라이브러리가 존재하는데, 스프링은 기본적으로 Jackson라이브러리를 탑재하고 있다.

Spring 2023.11.21

컴퓨터 구조

컴퓨터가 이해하는 두가지 정보 * 데이터 - 컴퓨터가 이해하는 숫자, 문자, 이미지, 동영상과 같은 정적인 정보 - 컴퓨터와 주고받는 정보나 컴퓨터에 저장된 정보 * 명령어 - 데이터를 움직이고 컴퓨터를 작동시키는 정보 - 데이터는 명령어를 위해 존재하는 일종의 재료 컴퓨터의 4가지 핵심 부품 * 메모리 - 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품 - 즉, 프로그램이 실행되려면 반드시 메모리에 저장되어 있어야 한다. - 컴퓨터가 빠르게 작동하기 위해서는 메모리 속 명령어와 데이터가 정돈되어 있어야 한다. 그래서 메모리에는 저장된 값에 빠르고 효율적으로 접근하기 위해 주소라는 개념이 사용됩니다. * CPU - CPU는 메모리에 저장된 명령어를 읽어 들이고, 읽어 들인 명령어를 해석하고, 실..

스프링부트 인텔리제이 빌드 오류해결

cmd에서 빌드가 안되는 오류 발생 Java 버전이 맞지 않았다. 인텔리제이에서는 전부 다 17버전으로 맞춰줬지만 Java 환경변수 설정은 아직 11버전으로 되어있었기 때문 윈도우 실행창에 [고급 시스템 설정 보기] -> [환경 변수] JAVA-HOME 부분 더블클릭하고 들어가서 17버전으로 변경 Path 더블클릭 -> JAVA-HOME 가장 최상단으로 올리기 -> 확인 프로젝트 있는 위치가서 cmd 실행하고 -> gradlew -> gradlew.bat -> gradlew build 그러면 build 폴더가 생성이 되는데 build 폴더 안에 libs 클릭 그 위치에서 cmd 실행 -> java -jar hello-spring-0.0.1-SNAPSHOT.jar 실행 빌드 완료

Spring 2023.11.21