전체 글 (194) 썸네일형 리스트형 선형대수 A=LU, LDU 1. LU 분해란?우리가 숫자 12를 보고 다음처럼 표현할 수 있지?12 = 3 x 4이걸 숫자를 곱셈 형태로 나누었다고 생각해 보자. 행렬도 똑같아.우리가 가지고 있는 행렬 A를 L, U로 나누는 것이다. (A = L x U) L = Lower traingular matrix, U = Upper triangular matrix 우선 선형대수를 잘 하려면 가우스 조르단 소거법을 잘 할 수 있어야 한다!!! 맨 첫 시간에 Ref (Row echelon form), RREF (Reduced Row echelon form)을 만들 때R1 - >R1 + 2R1, R2 -> R2 - 3R1으로 계산하던 게 가우스 조르단 소거법!! 여기서 내가 첫 시간에 되게 강조했던 게 있다!! 이걸 좀 외우던가 이해해야 A=L.. 자바 튜터링 #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.. 이전 1 2 3 4 ··· 25 다음