본문 바로가기

개발기술

(59)
Java 코딩구현심화 - 스트림,람다식 특수 클래스 : 내부클래스내부클래스 : 클래스 in 클래스 (클래스 안에 선언한 클래스)class Outer {class Inner {}}  내부 클래스에서 외부클래스의 유효범위안에 들어가기 때문에 인스턴스 생성없이도 외부 클래스 인스턴스 멤버에 접근가능하나, 외부에서는 내부 클래스에 접근 불가함. 내부클래스가 외부클래스 '안에서만' 사용되는 클래스이기에, 굳이 바깥에 분리하여 둘필요가 없어 외부클래스의 멤버처럼 내부클래스를 캡슐화를 진행하는 개념이다. ex) Outerclass.Innerclass var = new Outer().new Innter() 원래 클래스에는 default와 public 밖에 사용되지 않는데, 내부클래스는 모든 접근제어자를 사용가능. 내부클래스의 종류 인스턴스 클래스 (inst..
그래프이론 알고리즘/자료구조 그래프 이론의 필요성  높은 수준의 프로그래밍을 하기 위해서는 그래프이론에 대한 탄탄한 이해가 필수적이다. 프로그래밍의 발전은 결국 정보의 연결성의 증대에 의한, 연결성 증대를 위한 방향으로 발전하고 있기 때문이다. 예를 들어, FaceBook과 같은 연결형 SNS, Google과 같은 검색엔진, Netflix와 같은 추천서비스, Amazon과 같은 동선최적화, OpenAI와 같은 자연어처리 등 모두 내가 선택한 Node로부터 주변 Node를 탐색하는 문제이기때문이다.   고등수학에서 잘 다루지 않아서 익숙하지 않은 것이지 어려운 것은 아니라고 생각한다. 높은 수준의 프로그래머가 되기 위해서는 결국엔 선형대수학을 어느정도는 이해해야 할 것이고 그것의 근본이 그래프 이론이니 지금부터 피할 수 없는 기초를 ..
Git 그리고 GitHub Git 공식문서https://git-scm.com/docs Git 설치 (MAC) 1. 터미널 실행2. brew intall git 입력3. git ‒version 입력해 확인4. Config 설정 (User Name / User Email 설정) 5.설치완료 Git 초기설정로컬에서 사용할 Git 사용자 이메일과 이름을 설정한다. 이메일을 세상에 단 한가지만 존재할 수 있기때문에 효과적인 Identification 기호이다. 해당 설정을 바꾸면 git을 통해서 적용되는 commit들에 본인의 email이 tag된다.  GIT config에 이름와 메일 초기설정하기git config : Git에 관한 설정을 추가/변경/삭제하는 명령어 System 설정 파일 : 모든 시스템 사용자에게 적용 (git conf..
Deep Dive into 디버깅 주체적인 디버깅의 필요성  추상적으로 이해하고 있는 프레임워크나 라이브러리가 구체적으로 어떻게 동작하고 있는지 이해하기 위해서는 프로그래밍의 흐름을 Line By Line으로 이해하는 것이 필수적이다. 코드의 이해에서 가장 동기부여가 되는 상황은 에러발생상황 해결일 때가 많다. 단순히 구글링이나 GPT에 알아보는 것도 방안이지만, 스스로 이해의 증진이라는 관점에서 주체적인 디버깅은 필수불가결이다. Step 1: Analyze the Error LogLook at the Error Message:The error message often gives a clue about what went wrong. It might indicate a NullPointerException, a validation fail..
클래스 다이어그램 Intellij를 활용한 클래스다이어그램 생성  클래스다이어그램으로 만들고 싶은 클래스에서 오른쪽 마우스 클릭 - Diagram - Show Diagram을 누르면 다이어그램이 자동적으로 생성된다. 해당 클래스와 관계를 확인해보고 싶은 클래스들을 Drag&Drop으로 추가하여 Diagram 내용을 추가해줄 수 있다.   *아래내용은 사바라다님의 블로그 내용입니다. https://sabarada.tistory.com/72클래스 다이어그램의 기본 요소클래스 다이어그램을 그리기 위한 기본요소에 대해서 알아보도록 하겠습니다. 클래스에는 클래스의 이름, 속성, 그리고 메서드가 존재합니다. 이런 요소들은 어떻게 클래스 다이어그램에 표현할 수 있을 까요?접근제어자 리스트+ : public- : private# : p..
Spring Security 전체개념 데이터 유출의 위험성Attackers can gain access to a Wi-Fi network/router and control or monitor the data that flows through it in several ways. How Interception Happensa. Man-in-the-Middle (MitM) Attack: The attacker positions themselves between the user and the server, either by controlling a network device (like a router) or through a compromised Wi-Fi network (e.g., an insecure public Wi-Fi hotspot).b...
서블릿 - 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 구현 흐름  SignUp 시, 사용자는 사용자 이름(username), 비밀번호(password) 등의 정보를 제공하며, 이러한 정보는 UserDetails 객체(또는 유사한 엔티티)에 캡슐화되어 데이터베이스에 저장됩니다. 비밀번호는 안전하게 해시된 후 저장됩니다. SignIn시, 입력된 자격 증명(사용자 이름과 비밀번호)은 저장된 UserDetails와 비교됩니다. 비밀번호가 저장된 해시와 일치하면, JWT 토큰이 생성되어 사용자에게 반환됩니다. 이 토큰에는 사용자의 ID나 권한 등의 정보가 인코딩되어 있습니다.  사용자가 보호된 API에 접근하면, 필터(e.g., SecurityContextPersistenceFilter)가 요청을 가로채고..