2025/06 9

[JavaScript] 화살표 함수

매개변수 목록 괄호 생략하기화살표 함수가 매개변수를 하나만 사용할 경우, 묶는 괄호를 생략할 수 있다.(userName) => { ... }가 아니라userName => { ... } 매개변수가 없는 경우에는, 괄호를 생략하면 안된다.() => { ... } 매개변수가 두 개 이상인 경우에도 괄호를 생략하면 안된다.userName, userAge => { ... }가 아니라(userNAme, userAge) => { ... } 함수 본문 중괄호 생략하기화살표 함수에 반환문 외에 다른 로직이 없는 경우, return 키워드와 중괄호를 생략할 수 있다.number => { return number * 3;}가 아니라number => number * 3;라고 쓸 수 있다.// 아래와 같이 쓰면 오류 발생n..

JavaScript 2025.06.19

[CS] POST, PUT, PATCH 메소드의 차이점

method 멱등성(idempotency)RFCPOST생성 (서버에서의 다양한 작업)XThe POST method requests that the target resource process the representation enclosed in the request according to the resource's own specific semantics.PUT전체 업데이트OThe target resource in a POST request is intended to handle the enclosed representation according to the resource's own semantics, whereas the enclosed representation in a PUT request is ..

컴퓨터 지식 2025.06.18

[React] 리액트의 장점

컴포넌트 기반의 재사용성과 유지보수성리액트는 UI를 독립적인 컴포넌트 단위로 분리해 개발할 수 있게 하며, 이렇게 만들어진 컴포넌트는 여러 곳에서 재사용 가능. 이로 인해 코드의 유지보수와 확장이 매우 쉬어짐.애플리케이션이 복잡해져도 각 기능과 UI가 명확하게 분리되어 있어, 개발 생산성이 높아짐. 가상 DOM(Virtual DOM)을 통한 성능 최적화리액트는 실제 DOM이 아닌 가상 DOM을 사용해 변경된 부분만 효율적으로 업데이트함. 이로 인해 웹 애플리케이션의 렌더링 속도가 빨라지고, 사용자 경험이 크게 향상됨.대규모 애플리케이션에서도 빠른 반응성 유지 가능. 활발한 커뮤니티와 생태계리액트는 전 세계적으로 많은 개발자가 사용하는 오픈소스 라이브러리로, 방대한 자료와 다양한 서드파티 라이브러리, 활발..

React 2025.06.17

[JavaScript] null과 undefined의 차이점

typeof null // object 변수를 선언하고 빈 값을 할당한 상태이다.즉, 빈 객체이며 의도적으로 비어있음을 나타낸다.값의 부재를 의미한다. typeof undefined // undefined 값이 할당되지 않은 변수 혹은 속성을 사용하려고 할 때, undefined가 반환된다.즉, 변수의 초기값이다.또한 undefined는 원시값(Primitive Type)이기도 하다. undefined == null // trueundefined === null // false!null //trueisNaN(1 + undefined) // trueisNaN(1 + null) // false JavaScript에서 undefined는 숫자 연산에 참여하..

JavaScript 2025.06.17

[Java] Iterator와 ListIterator

[ Iterator 인터페이스 ]컬렉션의 각 요소에 접근 가능 >>> but, 향상된 for 문 권장![ ListIterator 인터페이스 ]컬렉션의 요소의 대체, 추가, 인덱스 검색 등을 위한 작업에서 양방향 이동 지원 void add(E e)해당 리스트에 전달된 요소 추가. (선택적 기능)boolean hasNext()순방향 순회에서 다음 요소가 있으면 true, 가지고 있지 않으면 false 반환.boolean hasPrevious()역방향 순회할에서 다음 요소가 있으면 true, 가지고 있지 않으면 false 반환.E next()다음 요소를 반환하고, 커서의 위치를 순방향으로 이동.int nextIndex()다음 next() 메소드를 호출하면 반환될 요소의 인덱스 반환.E previos()이전 ..

Java 2025.06.07

[알고리즘] 중국인의 나머지 정리

백준 6064번의 문제를 단순히 풀려고 하면 시간 초과가 생긴다.이를 해결하기 위해서 공부해야 하는 것이 아래의 "중국인의 나머지 정리"이다.수론과 환론에서 중국인의 나머지 정리(中國人-定理, 영어: Chinese remainder theorem)는 서로소 아이디얼들에 대한 몫환들의 곱에 대한 정리이다. 즉, 수론적 용어로 쓰면, 어떤 서로소 자연수들에 대한 연립 합동식의 해의 유일한 존재에 대한 정리이다.(출처: 위키백과)https://ko.wikipedia.org/wiki/%EC%A4%91%EA%B5%AD%EC%9D%B8%EC%9D%98_%EB%82%98%EB%A8%B8%EC%A7%80_%EC%A0%95%EB%A6%AC 중국인의 나머지 정리 - 위키백과, 우리 모두의 백과사전위키백과, 우리 모두의 ..

Algorithm 2025.06.05

[Spring] @AfterEach, @BeforeEach

스프링부트에서 테스트를 위해 @Test 어노테이션을 붙인 메서드들을 한꺼번에 실행할 때, 메서드의 순서는 보장되지 않는다. 따라서 다음과 같은 작업을 해주어야 한다. 테스트에 사용되는 데이터는 각 테스트가 종료되면 같이 지워져야 다음 테스트에서 오류가 안난다. 테스트가 종료되면 생성한 데이터를 모두 삭제하는 코드를 @AfterEach가 붙은 메서드에 넣어주면 된다.@AfterEachpublic void afterEach() { // 삭제하는 코드} 반대로 테스트에 사용되는 데이터가 미리 존재해야하는 경우 테스트가 실행되기 전에 실행되어야 하는 코드를 @BeforeEach가 붙은 메서드에 넣어주면 된다.@BeforeEachpublic void beforeEach() { // 테스트 전 실행되어야 하는 코드..

Java 2025.06.03

[Java] AtomicLong

AtomicLong (java.util.concurrent.atomic.AtomiLong)멀티스레드 환경에서 안전하게 Long 값을 다룰 수 있도록 해주는 Wrapper 클래스원자적 연산을 제공해준다.AtomicLong은 여러 스레드가 동시에 값을 읽고 변경할 때,동기화 없이도 안전하게 값을 조작할 수 있도록 만들어졌다.내부적으로는 CPU의 CAS(Compare-And-Swap) 명령어를 이용해 원자성 보장.언제 사용하는지?멀티스레드 환경에서 카운팅, 인덱싱, 유일한 ID 생성 등synchronized 키워드보다 더 나은 성능이 필요한 경우volatile보다 더 복잡한 상태 변경이 필요한 경우 주요 메서드get()현재 값을 반환set(long newValue)값을 강제로 설정getAndSet(long n..

Java 2025.06.03

[Java] ConcurrentHashMap

Map의 구현체 중 다음 세가지의 차이를 알아보자.HashMapHashTableConcurrentHashMap ConcureentHashMapHashMapHashTable동기화 보장(Thread-safe)O (Entry단위 Lock)(비교적 빠름)XO(Map 전체에 Lock)(느림)key, value 에 null값 허용여부X (NullPointerException)OX (NullPointerException) https://velog.io/@alsgus92/ConcurrentHashMap%EC%9D%98-Thread-safe-%EC%9B%90%EB%A6%AChttps://parkmuhyeun.github.io/woowacourse/2023-09-09-Concurrent-Hashmap/

Java 2025.06.03