728x90

분류 전체보기 161

React hook: useEffect, useState, useMemo, useCallback

useEffect컴포넌트가 렌더링될 때 특정 작업을 수행하거나, 상태가 props가 변경될 때마다 특정 작업을 수행할 수 있도록 한다. useStatestate의 값이 변경되면 컴포넌트가 리렌더링 된다. useState: 상태가 업데이트되면 컴포넌트가 다시 렌더링된다. 렌더링에 반영되어 UI에 영향을 미치는 상태를 관리할 때 사용한.useRef: 값이 변경되더라도 컴포넌트가 다시 렌더링되지 않는다. 즉, useRef는 값이 변경되더라도 화면에 영향을 미치지 않는 상태를 관리할 때 사용한다.따라서 입력 값이 화면에 즉시 반영되거나 다른 컴포넌트가 해당 상태를 참고해야 하는 경우가 아니라면 useRef를 사용하여 리렌더링을 방지할 수 있다.  useMemouseMemo는 여러 개의 state가 있을 때 불필..

💻웹(Web)/React 2024.11.10

빌드 도구 비교: Webpack과 Vite의 차이 / 컴파일과 빌드

📌빌드란?웹 개발에서 소스 코드를 최적화하고 변환하여 프로덕션 환경에서 사용할 수 있는 형태로 만드는 것을 말한다. 널리 사용되는 빌드 도구로는 Webpack, Vite 등이 있다. ✔👀 Webpack가장 널리 사용되는 자바스크립트 모듈 번들러 중 하나다. Webpack은 CommonJS와 ES 모듈을 모두 지원하며, 별도의 변환 없이도 require와 module.exports를 인식하고 처리할 수 있다. 반면 모든 모듈을 분석하고 의존성을 파악하며 이로인해 프로젝트의 규모가 커질수록 빌드 시간이 길어질 수 있다. ✔👀 ViteVite는 빠른 빌드 속도와 즉각적인 모듈 업데이트를 제공한다. ES 모듈을 기반으로 동작하여 브라우저가 ES모듈을 직접 해석할 수 있다. 이로 인해 초기 빌드 없이 필요한..

💻웹(Web)/React 2024.11.10

제로 트러스트

제로 트러스트전통적인 환경의 보안 아키텍처인 경계 중심의 보안 아키텍처에서는 방화벽과 같은 경계를 기준으로 신뢰와 비신뢰를 나누어서 운영했다. 제로 트러스트란 고정된 네트워크 경계를 방어하는 것에서 사용자, 자산, 자원 중심의 방어로 변경하는 발전적인 사이버 보안 패러다임이다. 즉, 제로 트러스트는 물리적 위치, 네트워크 위치, 자산 소유권을 기준으로 사용자 계정에 부여된 암묵적인 신뢰는 없다고 가정한다. 모바일, IoT, 클라우드의 확산으로 원격재택 근무환경이 조성되었고, 코로나 19로 비대면사회가 가속되어 기업망 보호를 위한 전통적인 사이버보안 체계의 변화가 필요하다. 최근 발생한 수많은 해킹 및 랜섬웨어 공격 사례는 경계 기반 보안모델의 한계점을 드러내고 있으며, 최근 등장하는 보안 솔루션만으로는 ..

📕CS 2024.11.04

[알고리즘]백준 1757: 달려달려

풀이 과정memo[n][m]에 저장할 값은 시간 n에 지침 정도 m일 때 가질 수 있는 최댓값이다. 쉬는 경우 (memo[n][0] = memo[n-1][0]): 이전 시간의 최대 거리를 그대로 유지.뛰는 경우 (memo[n][m] = memo[n-1][m-1] + D[n]): 이전 시간까지 뛴 거리에서 현재 거리를 더하여 최대 거리 갱신.마지막으로 최대 연속 시간 M 이내에서 쉬는 경우를 비교하여, 특정 시간에 쉬었을 때의 최대 거리를 갱신.  코드import java.io.*;import java.util.*;// dppublic class Main_1757_G4_달려달려 { public static int N,M; public static int[] D; public static i..

알고리즘/백준 2024.11.03

기술면접 질문 모음 / 면접 CS 질문 모음

📌웹의 기본 개념1. 인터넷과 웹의 차이점은 무엇인가요?인터넷이 고속도로라면 웹은 자동차? ㅎㅎ... 2. HTTP와 HTTPS의 차이점은 무엇인가요?HTTPS는 HTTP에 보안성이 추가된 개념입니다. HTTP에 SSL/TLS 암호화를 추가한 프로토콜으로 데이터 전송 중에 보안을 보장합니다. 브라우저와 서버 간 통신이 암호화되므로 도청이나 데이터 변조를 방지합니다. 3. HTTP의 주요 메서드(GET, POST, PUT, DELETE 등)에 대해 설명하세요.GET: 데이터를 조회POST: 데이터를 등록PUT: 데이터 대체PATCH: 데이터를 일부 수정DELETE: 데이터 삭제*멱등성멱등성이란 동일한 요청을 여러 번 반복해도 결과가 동일하게 유지되는 성질을 의미합니다.멱등성O: GET, PUT, DELE..

📕CS 2024.11.03

ES6+

ES6+는 모던 자바스크립트로 더 간결하고 효율적인 코드 작성을 가능하게 한다. ES6의 주요 변화는 다음과 같다. 1.템플릿 문자열: 템플릿 문자열을 통해 문자열에 변수를 포함시킬 때 좀 더 직관적이고 편하게 사용할 수 있게 한다.`${name}`; 2. const, let: JavaScript 엔진은 코드를 실행하기 전에 선언문을 위로 끌어올리는 작업을 한다.(Heap에 메모리를 할당해 놓는 것) 3. 화살표 함수: 일반 함수는 호출 방법에 따라 this가 다르게 맵핑된다. 반면 화살표 함수의 this는 상위 스코프의 this를 가리킨다. 이를 통해 콜백 함수에서 일관된 this를 가리킬 수 있다. 가독성 측면에서도 간결하게 작성할 수 있어서 더 좋다.// 일반 함수를 사용한 예시const perso..

REST API

REST APIREST 아키텍처 스타일의 설계 원칙을 다르는 API이다. REST란 Representational Sate Transfer로 HTTP URI를 통해 자원을 명시하고 HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD 작업(Create, Read, Update, Delete)을 수행하는 것을 말한다. 1) 자원-URI: 모든 자원은 고유한 URI를 가진다. 예를 들어, /users는 사용자 목록에 대한 자원을 의미하며, /users/{id}는 특정 사용자를 식별한다.2) 행위-HTTP 메서드- GET: 자원 조회- POST: 자원 생성- PUT: 자원 저체 업데이트- PATCH: 자원의 부분 업데이트- DELETE: 자원 삭제3) 표현: Cli..

📕CS 2024.10.30

JVM

📌JVMJVM은 Java를 실행하기 위한 가상 컴퓨터이다. Java는 OS에 종속되지 않는다는 특징을 가지고 있기 때문에, OS와 독립적으로 실행될 수 있도록 도와주는 JVM이 필요하다. Java 소스코드(*.java)는 CPU가 인식하지 못하므로 기계어로 컴파일 해주어야 하며, Java Compiler를 통해 .java가 .class라는 Java bytecode로 변환되고 JVM을 통해 최종적으로 운영체제에 맞는 기계어로 변환되어 실행된다. 이때, Java Compiler란 JDK를 설치하면 bin에 존재하는 javac.exe를 말하며 javac 명령어를 통해 .java를 .class로 컴파일 할 수 있다.  특징1. 컴파일된 바이트 코드를 기계가 이해할 수 있는 기계어로 변환2. 스택 기반의 가상 ..

기타/Java 2024.10.30

오픈 뱅킹, 오픈 파이낸스, 마이데이터 2.0

오픈 뱅킹, 오픈 파이낸스개인으로 한정되었던 오픈뱅킹 조회 서비스가 중소기업 등 법인도 이용할 수 있도록 정보제공범위가 확대될 예정이다. 이를 통해 법인도 타 은행 계좌의 실시간 정보를 하나의 은행 사이트를 통해 한 번에 조회할 수 있게 된다. 또한 모바일 등 온라인 방식으로만 제공하던 오픈뱅킹 서비스를 은행 영업점 등 오프라인 채널에서도 이용할 수 있도록 개선될 예정으로, 은행 지점이 부족한 지역에서도 금융 소비자는 하나의 은행 지점에 방문해 다른 은행에 보유한 계좌의 조회와 이체 업무까지 처리할 수 있게 된다.(빠르면 2024년 하반기 시범운영에 착수할 예정) *오픈뱅킹: 고객이 하나의 앱에서 여러 금융기관의 계좌를 조회하고 이체할 수 있는 서비스, 금융소비자(고객)의 입장에서는 하나의 앱을 통해 여..

📕CS 2024.10.30

생성형 AI: 개념, 활용, 예상되는 문제점

📌생성형 AI란생성형 AI는 학습된 데이터를 이용해 문장, 영상, 프로그램 코드 등을 새롭게 생성하는 기능을 가진 인공지능이다. 기존 AI가 업무 자동화에 이용된 것과 달리 자체적으로 새로운 콘텐츠를 만드는 데 적용되고 있다. 기존의 AI는 주로 특정 규칙에 따라 데이터를 분석하고 예측하는 규칙 기반 혹은 예측/판별 모델을 주로 활용한다. 하지만 생성형 AI는 단순한 고정된 모델이 아니라 학습과 업데이트를 통해 스스로 학습하며, 최신 트렌드나 사용자의 피드백을 기존의 AI에 비해  빠르게 반영할 수 있다. 기존의 AI 모델은 학습 데이터를 기반으로 새로운 데이터에 대한 결과를 예측한다. 즉, 조건부 분포를 이용해 X가 Y클래스에 속할 가능성을 계산하는 것이다. 예를 들어, 고양이와 강아지 두 클래스를 ..

📕CS 2024.10.29
728x90