전체 글 (193) 썸네일형 리스트형 자바 튜터링 #3 - 상속 상속이란?상속이란 기존 클래스가 가지고 있는 필드와 메서드를 새로운 클래스에서 물려받아 사용할 수 있도록 하는 객체지향 프로그래밍의 기능이다.현실에서 부모가 자식에게 재산을 물려주는 것을 상속이라고 하듯이, 자바에서도 부모 클래스의 기능을 자식 클래스가 물려받을 수 있다.다만 자바의 상속은 단순히 코드를 복사하는 것이 아니라 클래스 사이에 계층적인 관계를 형성하는 것이다. 코딩을 하는 사람들은 코드를 간편하게 짜는 것을 매우 선호한다. 그래서 중복되는 코드나 불필요한 코드를 매우 없애고 싶어 하는데 상속을 이용하면 중복되는 코드를 매우 간결하게 줄일 수 있다. (이것은 상속의 장점 중 하나이다! 코드가 중복되었다고 해서 다 상속을 이용해야 하는 것은 아니다!)상속은 단순히 중복 코드를 줄이는 도구가 아니.. 자바 튜터링 #2 - 접근 제어자 이해 package week04;public class Account { private int regNumber; private String name; protected int balance; public Account(int regNumber) { this.regNumber = regNumber; } public Account(int regNumber, String name) { this(regNumber); this.name = name; } public Account(int regNumber, String name, int balance) { this(regNumber, name); this.bala.. [자바 튜터링] #1 객체 자바를 배우면서 많은 사람들이 객체의 개념과 왜 객체지향을 사용하는지에 대해 어려워한다. 이 글은 객체에 대해서 최대한 쉽게 설명함을 목표로 위한 글이다.우선 객체를 먼저 이해하려고 하지 말고 아래의 코드를 먼저 보자.import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String studentN.. @AuthenticationPrincipal이란? Spring에서 회원가입과 로그인 기능을 구현하다 보면 @AuthenticationPrincipal이라는 어노테이션을 자주 만나게 된다.처음 보면 단순히 "현재 로그인한 사용자를 가져오는 어노테이션" 정도로 이해하기 쉽다. 하지만 @AuthenticationPrincipal을 제대로 이해하려면 Spring Security가 인증된 사용자의 정보를 어디에 저장하고, Controller까지 어떻게 전달하는지를 알아야 한다.이번 글에서는 @AuthenticationPrincipal이 내부적으로 어떤 흐름을 거쳐 동작하는지 알아본다.1. @AuthenticationPrincipal이란?@AuthenticationPrincipal은 Spring Security가 현재 인증된 사용자로 저장해 둔 principal .. Annotatoin 정리 @Entity@Getter@NoArgsConstructor(access = AccessLevel.PROTECTED)@Table(name = "member")public class Member { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(nullable = false, unique = true, length = 100) private String email; @Column(nullable = false) private String password; @Column(nullable = false, length = 30) private String nicknam.. 패키지를 나누는 기준? 도메인을 설계하는 기준? 패키지부터 만들지 말고, 먼저 "사용자가 무엇을 할 수 있어야 하는가?"를 정한다. 그다음 같은 비즈니스 책임과 규칙을 가진 코드를 하나의 도메인으로 묶는다.1. 요구사항을 사용자 행동으로 작성하기화면이나 클래스가 아니라 사용자가 할 수 있는 일을 적는다.회원은 가입하고 로그인을 할 수 있다.회원은 자신의 카테고리를 만들 수 있다.회원은 자신의 공부 기록을 작성할 수 있다.회원은 자신의 기록만 수정, 삭제할 수 있다.회원은 날짜나 카테고리로 기록을 조회할 수 있다. 카테고리 생성이라면? 로그인한 사용자만 만들 수 있다.이름은 비어 있을 수 없다.이름은 30자를 넘을 수 없다.같은 회원이 같은 이름을 중복 생성할 수 없다.다른 회원이 같은 이름을 사용하는 것은 가능하다. 2. 명사에서 도메인 후보 찾기회.. 14주차 쿠버네티스 리소스에 대한 접근 제어리소스 접근 제어운영 클러스터 환경을 만들면 워크로드를 배치하고, 비밀값을 읽고, 제어판 컴포넌트를 삭제한 후 얼마나 빨리 복구되는지 볼 수도 있다.운영 클러스터에는 관리자 계정 권한을 가진 사람이 많아서는 안 되며 관리자 계정은 사실상 클러스터 전체를 가진 것과 마찬가지이다.관리 계정이 악의적인 사람에게 탈취된다면 클러스터에서 우리 애플리케이션을 모두 삭제하고 클러스터를 비트코인 채굴기로 사용할 수도 있다.쿠버네티스는 역할 기반 접근 제어(Role-Based Access Control, RBAC)라는 기능으로 권한을 제약한다.쿠버네티스는 역할 기반 접근 제어라는 기능으로 권한을 제약한다.RBAC는 kubectl을 사용하는 사용자, 서비스 접근 토큰을 통해 쿠버네티스 A.. 13주차 쿠버네티스 사용자 관리애플리케이션에서는 대량의 로그가 발생하지만, 이 중 실제로 유용한 것은 별로 없다.애플리케이션이 실행되는 파드 수가 급격히 증가하면서 표준적인 쿠버네티스 도구만으로는 로그를 제대로 관리하기가 어려워졌다.기업에서는 보통 자체 로그 프레임워크를 사용하는데, 이런 로그 프레임워크는 컨테이너에서 발생하는 로그를 수집한 후 중앙 저장소에 수집된 로그를 색인, 필터링, 검색하는 수집 후 전달 모델 따른다.로그 관리에서 가장 널리 쓰이는 도구인 플루언트디(Fluentd)와 일래스틱서치(Elasticsearch)를 활용하여 로그 프레임워크를 구성할 수 있다.플루언트디는 컨테이너 로그를 수집하는 역할을 하며, 쿠버네티스와 통합이 쉽다.일래스틱서치는 로그를 저장하는 역할을 하고 클러스터 내에서 파드 .. 이전 1 2 3 4 ··· 25 다음