전체 글 29

정렬) 다양한 정렬 예제

💡전체 코드더보기public class SortEX { public static void main(String[] args) { int[] arr = new int[] { 2, 5, 1, 4, 3 }; // 기본자료형 오름차순 정렬 Arrays.sort(arr); System.out.println(Arrays.toString(arr)); // 기본자료형 내림차순 정렬 // Comparator.reverseOrder()안됨 (문자열은 됨)// Arrays.sort(arr, Comparator.reverseOrder()); String[] names = { "최길동", "박길동", "홍길동", "김길동" }; Arrays.sort(names); System.out.println("문..

코딩테스트 11:23:53

자바) Comparator.reverseOrder(), Collections.reverseOrder()

Comparator.reverseOrder()Comparator.reverseOrder()는 Comparator 인터페이스를 구현하는 객체에 대한 내림차순 정렬을 위한 메서드입니다.이 메서드는 Comparator 객체를 반환합니다. 반환된 Comparator는 주어진 자료형에 대해 내림차순으로 정렬하는 기준을 제공합니다.주로 Arrays.sort()나 Collections.sort()와 같은 정렬 메서드에서 Comparator를 사용해 정렬 기준을 지정할 때 사용됩니다.예시// 내림차순 정렬 System.out.println(Arrays.toString(arr)); // [9, 5, 4, 3, 1, 1]Integer[] arr = {3, 1, 4, 1, 5, 9}; Arrays.sort(arr, Comp..

신한DS 금융SW 아카데미 5기 면접 & 합격 후기

📌 신한DS 금융SW 아카데미 5기 면접 및 합격 후기(전공자) 안녕하세요 :)최근에 신한DS 금융SW 아카데미 5기에 최종 합격하게 되어, 준비 과정과 면접 후기를 공유드리려고 합니다! 신한DS 금융SW 아카데미에 대해 궁금하신 분들은 아래 공식 홈페이지에서 자세한 정보를 확인하실 수 있습니다.https://www.shinhanacademy.com/training/detail/9 신한DS 금융SW 아카데미 www.shinhanacademy.com📝 지원 과정 안내신한DS 금융SW 아카데미의 선발 절차는 다음과 같은 단계로 진행되었습니다. 원서 접수 (02/10~03/05)공식 홈페이지를 통해 온라인으로 지원서를 제출합니다.인성검사온라인으로 진행되며, 지원자의 성향과 조직 적합도를 평가하는 단계입니다..

Link vs useNavigate()

Link와 useNavigate는 모두 React Router를 사용하여 페이지를 이동하는 기능을 제공하지만, 사용 방식과 주요 목적에서 차이가 있습니다. Link 컴포넌트Link는 리액트 컴포넌트로, 사용자가 클릭할 수 있는 링크를 만들 때 사용합니다. 주로 UI에서 사용자에게 클릭 가능한 요소를 제공할 때 사용합니다. Link는 실제 HTML 태그처럼 동작하지만, 페이지를 리로드하지 않고 클라이언트 측 라우팅을 통해 이동합니다. 1. Link 사용 시기✔️ 주로 정적인 내비게이션 (예: 메뉴, 리스트 등)에서 사용 / 주로 렌더링되는 JSX 내에서 사용✔️ 페이지 이동만 필요할 때 사용 (추가적인 로직 없이)✔️ HTML의 태그와 비슷한 역할을 하지만, 페이지 새로고침 없이 SPA 방식으로 이동하..

리액트 2025.03.04

재렌더링 구조와 최적화

재렌더링이 발생하는 조건리액트에서 재렌더링을 적절하게 제어하기 위해서는 재렌더링이 언제 발생하는지 알아야 합니다. 재렌더링이 발생하는 세 가지 패턴재렌더링이 발생하는 조건은 다음과 같이 세 가지입니다. 1. State가 업데이트된 컴포넌트2. Props가 변경된 컴포넌트3. 재렌더링된 컴포넌트 아래의 모든 컴포넌트 1, 2번 조건은 쉽게 떠올릴 수 있을 것입니다. 1번의 State는 컴포넌트 상태를 나타내는 변수입니다. 업데이트될 때 재렌더링되지 않으면 화면 표시를 올바르게 저장할 수 없습니다. 지금까지 본 것처럼 카운트업 변수를 실행해서 State를 변경하면 화면에 변경한 값이 실시간으로 반영되는 것은 State가 업데이트됨에 따라 컴포넌트가 재렌더링되기 때문입니다. 2번의 경우, 리액트 컴포넌트는 P..

리액트 2025.02.13

리액트와 CSS

Inline Styles지금까지 다루었던 CSS 적용 방법을 다시 확인해보겠습니다. 일반적으로 다음과 같은 CSS 기술법은 Inline styles(인라인 스타일)이라 부릅니다. 자바스크립트 객체 형태로 CSS 속성과 값을 지정하고 태그의 style에 설정함으로써 스타일을 적용할 수 있습니다. - 직접 기술return( Hello world!! ) - 사전 정의 후 지정const containerStyle = { width: "100%", padding: "16px",};const textStyle = { color: "blue", textAlign: "center",};return( ) 인라인 스타일을 사용할 때는 다음에 주의해야 합니다.1..

리액트 2025.02.13

11장 HTTP와 REST 컨트롤러

11.1 REST API의 동작 이해하기클라이언트가 보내는 HTTP 요청 메시지의 첫 줄에는 시작 라인인 요청 라인이 있고, 그 아래에는 헤더와 본문이 있습니다. 응답 메시지의 첫 줄에도 시작 라인인 상태 라인이 있고, 그 아래 헤더와 본문이 있습니다. 응답으로 오는 상태 코드는 요청이 성공했을 때는 200, 데이터 생성을 완료했을 때는 201, 요청한 정보를 찾을 수 없을 때는 404, 서버에 오류가 났을 때는 500을 반환합니다. 이러한 상태 코드는 100~500번대까지 5개 그룹으로 나뉘어 있습니다. REST API의 응답 표준으로 사용하는 JSON은 키와 값의 쌍으로 된 속성으로 데이터를 표현합니다. JSON의 값으로 또 다른 JSON 데이터나 배열을 넣을 수도 있습니다.{ "id": 1, ..

스프링부트 2025.02.07

10장 REST API와 JSON

10.1 REST API와 JSON의 등장 배경웹 서비스를 사용하는 클라이언트에는 웹 브라우저만 있는 게 아닙니다. 스마트폰, 스마트워치, 태블릿, CCTV, 각종 센서 등이 모두 클라이언트입니다. IT 기기의 발전에 따라 지금도 수많은 클라이언트가 만들어지고 있습니다. 서버는 이러한 모든 클라이언트의 요청에 응답해야 합니다. 웹 브라우저뿐만 아니라 어떤 기기가 와도 기기에 맞는 뷰 페이지(view1, view2, ...)를 응답해야 합니다. 그런데 이런 기기들은 앞으로 끝없이 나올텐데 그때마다 서버가 일일이 대응하기란 쉽지 않습니다. 이때 바로 REST API를 사용하는 것입니다. REST API(Representational State Transfer API)는 서버의 자원을 클라이언트에 구애받지 않..

스프링부트 2025.02.04

리액트 기본

리액트 개발 시작하기Create React App리액트 프로젝트를 시작하는 가장 일반적인 방법입니다. 리액트 개발사인 메타(Meta)에서 공식으로 제공하고 있으며 명령어 하나로 리액트 프로젝트를 시작할 수 있습니다. 작업할 PC에 Node.js를 설치하고 터미널이나 커맨드 라인에서 다음 명령어를 실행합니다. - 리액트 프로젝트를 작성하는 명령어npx create-react-app [프로젝트명] - my-app이라는 이름의 리액트 프로젝트를 만드는 경우npx create-react-app my-app 실행한 폴더 안에 my-app이라는 이름의 폴더가 만들어집니다. 거기로 이동해 시작 명령어를 실행하면 로컬 상태에서 리액트를 기동할 수 있습니다. - 로컬 환경에서 명령어 실행cd my-appnpm start..

리액트 2025.02.03