개발기술 (119) 썸네일형 리스트형 Java 코딩구현 심화 : 스트림,람다식 특수 클래스 : Inner Class내부클래스 : 클래스 in 클래스 (클래스 안에 선언한 클래스) 내부클래스의 종류 : 정적 클래스 (static)OuterClass는정적(static)이 될 수 없습니다. 때문에 정적클래스는 내부클래스만을 지칭합니다외부 클래스와 논리적 관계만 있음, 독립 사용 가능외부에서 직접생성가능 내부클래스의 종류 : 인스턴스 내부 클래스 (non-static)외부 클래스의 인스턴스에 종속적인 내부 클래스입니다. 이러한 클래스는 외부 클래스의 인스턴스가 생성된 후에야 인스턴스화 될 수 있으며, 외부 클래스의 인스턴스 변수 및 메소드에 직접적으로 접근할 수 있는 권한을 가집니다. 주로 외부클래스 인스턴스의 필드멤버처럼 다루어지며, 인스턴스멤버들과의 작업을 위해 만들어짐.외부 .. 그래프이론 알고리즘/자료구조 그래프 이론의 필요성 높은 수준의 프로그래밍을 하기 위해서는 그래프이론에 대한 탄탄한 이해가 필수적이다. 프로그래밍의 발전은 결국 정보의 연결성의 증대에 의한, 연결성 증대를 위한 방향으로 발전하고 있기 때문이다. 예를 들어, FaceBook과 같은 연결형 SNS, Google과 같은 검색엔진, Netflix와 같은 추천서비스, Amazon과 같은 동선최적화, OpenAI와 같은 자연어처리 등 모두 내가 선택한 Node로부터 주변 Node를 탐색하는 문제이기때문이다. 고등수학에서 잘 다루지 않아서 익숙하지 않은 것이지 어려운 것은 아니라고 생각한다. 높은 수준의 프로그래머가 되기 위해서는 결국엔 선형대수학을 어느정도는 이해해야 할 것이고 그것의 근본이 그래프 이론이니 지금부터 피할 수 없는 기초를 .. Spring Security 전체개념 보안의 필요성 공격자는 여러 방법으로 Wi-Fi 네트워크나 라우터에 접근하여 그 안을 흐르는 데이터를 제어하거나 모니터링할 수 있습니다. 인터셉션이 발생하는 방법 공격자가 사용자와 서버 사이의 데이터를 몰래 엿보거나 수정하는 행위입니다.중간자(MitM) 공격 : 공격자가 사용자와 서버 사이에서 트래픽을 조작하거나 가로챔패킷 스니핑 : 네트워크를 통해 오가는 데이터 패킷을 몰래 가로채 분석 스푸핑(위장) 공격 방법스푸핑은 속임수를 통해 신뢰받는 사용자나 시스템으로 가장하여 불법적인 접근이나 데이터를 탈취하려는 공격입니다a. IP 스푸핑: 공격자가 자신이 보내는 패킷의 IP 주소를 위조하여 요청이 신뢰할 수 있는 IP 주소에서 온 것처럼 보이게 합니다.b. 세션 하이재킹: 공격자가 유효한 세션 ID(예: 세.. Interception , Filter 서블릿 FilterServlet Filter is an object that can intercept and manipulate requests and responses in a web application. "filter" specifically refers to the interception and processing of HTTP requests and responses within the web application framework. (interception is a broader concept than filter) Key Concepts of Servlet Filters:Interception Mechanism: Filters work by intercepting requests before.. Spring Security - JWT 인증방식 구현 스프링 Security - Jwt Authentication 구현 흐름User Sign-Up:사용자는 사용자 이름(username), 비밀번호(password) 등의 정보를 제공.비밀번호는 안전하게 해시(예: BCrypt) 처리된 후 데이터베이스에 저장.사용자 정보는 UserDetails 객체(또는 엔티티) 형태로 데이터베이스에 저장.User Sign-In (Authentication):사용자가 로그인 요청(예: /login)을 보내면 UsernamePasswordAuthenticationFilter가 요청을 가로챕니다. 그리고 필터는추출된 username과 password를 기반으로 인증 전 상태의 UsernamePasswordAuthenticationToken 객체 (Authentication 객체).. SQL과 NoSQL 1. SQL과 NoSQL 구조관계형 데이터베이스 (RDBMS):RDBMS는 데이터를 테이블 형태로 저장하며, 정해진 스키마(schema)에 따라 제약을 준수함테이블 내에서 정합성을 유지하기 위해 데이터 구조(예: 데이터 타입, 열의 개수)를 반드시 충족해야 함.테이블 간에 정합성을 유지하기 위해서 외래키(Foreign Key)를 사용해서 관계(Relation)를 충족해야함 RDBMS는 데이터 중복을 줄이고 정합성을 유지하기 위해 데이터를 여러 테이블로 분리합니다(정규화).테이블 간에 강력한 **참조 무결성(Referential Integrity)**을 보장해야 하므로, 특정 테이블에 대한 연산이 다른 테이블에 영향을 줄 수 있습니다.**ACID(Atomicity, Consistency, Isolation.. 데이터베이스 스케일 업 & 아웃 스케일업 : 단일 서버(하드웨어)의 성능을 증가시켜 더 많은 요청을 처리하는 방법 스케일아웃 : 동일한 사양의 새로운 서버(하드웨어)를 추가하는 방법일반적으로, 스케일업을 할때에는 서비스 중단이나 추가적인 하드웨어 비용이 발생한다. RDBMS는 스케일 업을 하기위해서는 새로운 서버에 기존 서버의 데이터를 옮기고 데이터를 정리하는데 번거로운 작업이 필요함.반면, NoSQL은 처음부터 스케일 아웃을 염두에 두고 설계되었기때문에 데이터의 증가나 요청량이 증가하더라도 비슷한 사양의 새로운 하드웨어를 추가하면 문제가없음. Horizontal Scaling (Scale-Out)What It Is: Horizontal scaling involves adding more machines (or nodes) to t.. Redis 사용법 (Redis환경설정, Spring Redis) 레디스 DB의 디스크가 아닌 메모리에 저장하여 휘발성이 있지만 영속성 기능을 지원하기도 함. 안정성이 비교적 떨어지기 때문에 주로 캐시서버로 사용됨.Redis는 기본적으로 key-value 구조로 데이터를 저장하며 그 외에도 다양한 방식의 데이터타입 적용가능 (hash/ list/ Set/String) 레디스 종류싱글인스턴스방식 센티넬, 클러스터방식 - 마스터 슬레이브 구조을 하여, 서버 한대가 죽더라도 다른 서버가 살아있으면 구동 가능하도록 구현 레디스 활용점1. 캐쉬서버로서 DB로의 직접접근을 최소화시킴2. 동기화 문제를 해결하기 위해서 DB의 Serializable을 대신해서 SpinLock을 구현 OS 내에 레디스 설치 및 운용레디스 설치 : https://redis.io/docs/latest/o.. 이전 1 ··· 6 7 8 9 10 11 12 ··· 15 다음