[Java의 정석 - http://www.yes24.com/Product/Goods/24259565] 1. 컬렉션 프레임웍(Collections Framework) 데이터 군을 저장하는 클래스들을 표준화한 설계 컬렉션 : 다수의 데이터, 데이터 그룹 프레임웍 : 표준화된 프로그래밍 방식 1.1 컬렉션 프레임웍의 핵심 인터페이스 컬렉션 프레임웍의 핵심 인터페이스 List : 순서가 있는 데이터의 집합 데이터의 중복을 허용 구현 클래스 : ArrayList, LinkedList, Stack, Vector 등 Set : 순서를 유지하지 않는 데이터의 집합 데이터의 중복을 허용하지 않음 구현 클래스 : HashSet, TreeSet 등 Map : 키(key)와 값(value)의 쌍(pari)으로 이루어지는 데이..
[클린코드 - http://www.yes24.com/Product/Goods/11681152] 어떤 프로그램이든 가장 기본적인 단위가 함수 작게 만들어라! 함수를 만드는 첫째 규칙은 '작게!'. 둘째 규칙은 '더 작게!'이다 켄트 벡의 Sparkle 모든 함수가 2줄, 3줄, 4줄 정도였음 각 함수가 너무도 명백하고, 각 함수는 이야기 하나를 표현했고, 각 함수가 너무도 멋지게 다음 무대를 준비했음 => 이것이 답이다! 블록과 들여쓰기 if 문/else 문/while 문 등에 들어가는 블록은 한 줄이어야 한다 그러면 바깥을 감싸는 함수(enclosing function)이 작아질뿐만 아니라 코드를 이해하기 쉬워진다 중첩 구조가 생길만큼 함수가 커져서는 안 된다! 한 가지만 해라! 함수는 한 가지를 해야 ..
[클린코드 - http://www.yes24.com/Product/Goods/11681152] 들어가면서 이름을 잘 지으면 여러 모로 편하다 의도를 분명히 밝혀라 좋은 이름을 지으려면 시간이 걸리지만 좋은 이름으로 절약하는 시간이 훨씬 더 많다 변수, 함수, 클래스 이름은 다음 질문에 모두 답해야 한다 변수(혹은 함수나 클래스)의 존재 이유는? 수행 기능은? 사용 방법은? => 따로 주석이 필요하다면 의도를 분명히 드러내지 못했다는 것 함축성 -> 코드 맥락이 코드 자체에 명시적으로 드러나지 않으면 코드가 하는 일을 짐작하기 어려움 이름만 고쳐도 코드가 하는 일을 이해하기가 쉬워진다 그릇된 정보를 피하라 나름대로 널리 쓰이는 의미가 있는 단어를 다른 의미로 사용하면 안된다 여러 계정을 그룹으로 묶을 때 ..
[클린코드 - http://www.yes24.com/Product/Goods/11681152] 코드가 존재하리라 어떤 언어를 사용하든 코드는 기계가 이해하고 실행할 정도로 엄밀하고 정확하고 상세하고 정형화되어야 한다 코드는 요구사항을 표현하는 언어 나쁜 코드 고행(wanding) : 나쁜 코드에 발목이 잡혀 고생하는 것 르블랑의 법칙(lebalnc's Law) : 나중은 결코 오지 않는다 나쁜 코드로 치르는 대가 시간을 들여 깨끗한 코드를 만드는 노력이 비용을 절감하는 방법일 뿐만 아니라 전문가로서 살아남는 길 태도 좋은 코드를 사수하는 일은 바로 우리 프로그래머들의 책임이다 나쁜 코드의 위험을 이해하지 못하는 관리자 말을 그대로 따르는 행동은 전문가답지 못하다 원초적 난제 빨리 가는 유일한 방법은 언제..
[배워서 바로 쓰는 스프링 프레임워크 - www.yes24.com/Product/Goods/90051375] 1. 소개 이 장에서 다루는 내용 빈 정의 상속 빈 클래스의 생성자 인수를 찾는 방법 원시 타입(int, float 등)이나 컬렉션 타입(java.util.List, java.util.Map 등) 또는 사용자 정의 타입(Address 등)을 사용해 빈 프로퍼티나 생성자 인수를 설정하는 방법 빈 프로퍼티에 p-이름공간(namespace), 생성자 인수에 c-이름공간을 활용해서 XML 파일을 좀 더 간결하게 만든느 방법 빈 인스턴스를 생성하는 팩토리 클래스를 작성할 때 사용하는 스프링 FactoryBean ㅣㅇㄴ터페이스 빈 설정 모듈화하기 2. 빈정의 상속 2.1 빈 정의 상속 예제 애플리케이션의 여..
[Java의 정석 - http://www.yes24.com/Product/Goods/24259565] 1. java.lang 패키지 java.lang 패키지는 자바프로그래밍에 가장 기본이 되는 클래스들을 포함하고 있다 java.lang 패키지의 클래스들은 import 없이 사용할 수 있다 1.1 Object 클래스 모든 클래스의 최고 조상 멤버변수는 없음 Object 클래스의 메서드 모든 클래스에서 바로 사용 가능 모든 인스턴스가 가져야할 기본적인 것들 protected Object clone() : 객체 자신의 복사본을 반환 자신을 복제하여 새로운 인스턴스를 생성하는 일을 한다 단순히 인스턴스변수의 값만을 복사하기 때문에 참조 타입의 인스턴스 변수가 있는 클래스는 완전한 인스턴스 복제가 이루어지지 않는..
가끔,, 배포할 때 난리나는데,,, 지우고 다시 배포하는거 까먹어서,, 정리해두기,, 최초 설치는 helm install, 배포는 kubectl patch로 하는데 배포하다가 pod에 에러가 나서 무한 재시작할 때,, 참고용이다 $ kubectl config set-context --current --namespace= // 네임스페이스 변경 $ kubectl get pods // 우선 어떤 pod이 문제인지 확인 $ kubectl delete deployment // deployment 삭제하기 $ kubectl get pods // 삭제 잘 되었는지 확인 // helm 차트 설치된 디렉토리로 이동 $ helm del --purge // name 삭제 // 참고로 내 helm version은 // Cl..
흑흑 k8s 넘 어렵다 일단 에러 원인을 파악해본다 kubectl describe pod [pod 이름] 밑에 쭉 내려서 Events에 Message 확인 Failed to pull image "busybox": rpc error: code = Unknown desc = Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit ㅠㅠ initContainers에 image를 busybox해놨는데 docker pull 제한에 걸려서 에..
[Java의 정석 - http://www.yes24.com/Product/Goods/24259565] 1. 예외처리(exception handling) 1.1 프로그램 오류 컴파일 에러(compile-time error) : 컴파일 시에 발생하는 에러 런타임 에러(runtime error) : 실행시에 발생하는 에러 논리적 에러(logical error) : 실행은 되지만 의도와 다르게 동작하는 것 에러(error) 메모리 부족(OutOfMemoryError)이나 스택오버플로우(StackOverflowError)와 같이 발생하면 복구할 수 없는 심각한 오류 발생하면 프로그램의 비정상적인 종료를 막을 수 없음 예외(exception) 발생하더라도 수습될 수 있는 비교적 덜 심각한 오류 발생하더라도 프로그래..
[배워서 바로 쓰는 스프링 프레임워크 - www.yes24.com/Product/Goods/90051375] 2. '인터페이스를 사용하는 프로그래밍' 설계 원칙 긴밀한 결합(coupling) : 의존 중인 클래스가 의존 관계의 구체적인 클래스를 직접 참조 의존 관계의 구현을 변경하려면 의존 중인 클래스도 변경해야한다 자바 인터페이스는 구현 클래스가 준수해야 하는 계약을 정의한다 클래스가 의존 관계를 구현하는 인터페이스에 의존한다면 해당 의존 관계의 구현을 변경하더라도 의존 중인 클래스를 변경할 필요가 없다 인터페이스를 사용하는 프로그래밍(programming to interface) 의존 중인 클래스가 의존 관계가 구현하는 인스턴스로 의존성을 만드는 설계 원칙 느슨한 결합을 만든다 의존 관계 인터페이스에..
- Total
- Today
- Yesterday
- kotlin
- 쿠버네티스
- 도메인주도설계
- docker
- 클린코드
- docker pull limit
- cacheable
- back merge
- linuxkit
- QuickTimePlayer
- docker for mac
- gradle
- 자바
- kotlin In Action
- gasmask
- 코틀린
- Spring
- k8s
- ddd
- IntelliJ
- 스프링
- 자바스크립트
- JavaScript
- clean code
- springboot
- 스프링부트
- ImagePullBackOff
- java
- 도커
- Kubernetes
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |