일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 알고리즘
- 프로그래밍
- 뮤텍스
- 광고 기술
- 컴퓨터과학
- 메모리
- 세마포어
- java
- 개발
- 운영체제
- 이펙티브 자바
- 깃허브
- 자바
- CS
- 스터디
- 깃
- 서드파티 쿠키
- github
- package-private
- OS
- 자료구조
- slash 24
- IT
- 단축키
- 스프링
- Public
- Effective Java
- 컴퓨터공학
- spring
- 소프트웨어
- Today
- Total
목록분류 전체보기 (112)
주니어 개발자 성장기
*개인 참고, 공부용 포스팅입니다. 아래 포스팅을 참고해서 yml 파일과 깃허브 시크릿을 등록한다. https://mumomu.tistory.com/132 [Github Actions] Github Secrets에 secret파일 등록(secret.yml 등) Github Secrets에 Secret파일 등록으로 CI/CD 깃허브에 올릴 때는 조심해야하는 파일들이 있는데 AWS, API 등에 접근할 수 있는 키를 가진 환경변수 등이 공유될 경우 큰 문제가 생길 수 있다. 그렇기 때문 mumomu.tistory.com 내가 헤맨 부분은 깃허브 시크릿을 등록하는 부분이었는데 처음에 yml 파일을 그대로 복붙 해 등록해서 문제가 생겼었다. 그런데 위 포스팅에서는 `base64 --decode` 명령어를 이용하..
개요Cheffi 프로젝트를 진행하면서 develop 서버 자동 배포를 위해 도커파일을 작성하면서 생긴 이슈에 관해 말해보고자 한다. 필요한 도커 이미지 & 컨테이너 스프링 부트 애플리케이션 서버 레디스 Todo 스프링 부트 환경설정 파일 분리 (application-dev.yml) 컨테이너 이름으로 호스트 설정 스프링 부트 도커파일 작성 도커 컴포즈 파일 작성 컨테이너 간 네트워크 연결 배포 툴 Github Actions 과정먼저 Github Actions를 통해 배포하려면 yml 파일을 작성해야하는데, 나는 어떻게 작성하는 지 잘 몰라서 같은 팀원이 작성해준다고 했고 흐름은 다음과 같이 정했다. Jar 파일 빌드 → SCP로 Jar파일과 dockerfile, docker-compose 를 EC2 호스트..
개요Arrays.stream()은 자바 8버전부터 추가된 것으로 매개변수로 배열 하나를 받는다. double[], int[], long[]를 매개 변수로 줄 경우 각 각 DoubleStream, IntStream, LongStream을 반환해준다. 위에 언급된 타입을 제외하고도 특정 타입 T의 배열 T[]를 매개 변수로 지정하면, Stream를 반환한다. DoubleStream IntStream LongStream일반 Stream와 같이 여러가지 메서드를 사용할 수 있으며 다음과 같은 메서드도 사용할 수 있다. sum max min average forEach toArray map, mapToInt, mapToLong, mapToDouble, mapToObj 참고로, primitive type으로 배열을..
개요 함수형 인터페이스란? 인터페이스인데 추상 메서드가 딱 하나만 존재하는 것. @FunctionalInterface 어노테이션을 사용해서 컴파일러의 도움을 받고 함수형 인터페이스임을 명시하는것이 좋다. 참고로 인터페이스에서는 추상 메서드에 abstract 키워드를 생략해도 된다. 실제 사용자바에서 기본적으로 제공하는 함수형 인터페이스가 많으므로 구현하기 전에 자신에게 맞는 것이 있는지 먼저 살펴보자! Function T 타입을 매개변수로 받아 R타입을 리턴하는 함수형 인터페이스 compose, andThen 메서드로 다른 Function 인스턴스와 조합이 가능하다. Consumer T타입을 매개변수로 받아 리턴이 void인 함수형 인터페이스 Supplier 아무런 매개변수가 없고 T타입을 리턴하는 함수..
3장 Object는 객체를 만들 수 있는 구체 클래스지만 기본적으로는 상속해서 사용하도록 설계되었다. Object에서 final이 아닌 메서드(equals, hashCode, toString, clone, finalize)는 모두 재정의(overriding)를 염두에 두고 설계된 것이라 재정의 시 지켜야 하는 일반 규약이 명확히 정의되어 있다. 일반 규약에 맞게 해당 메소드를 overriding 해야 일반 규약을 활용하는 클래스들(HashMap, HashSet)이 오동작하지 않게 된다. finalize는 이전 장에서 다루었으므로 더이상 언급하지 않는다. 개요equals 메서드는 overriding하기 쉬워 보이지만 곳곳에 함정이 있으므로 필요하지 않은 경우 overriding하지 않는 것이 최선이다. 그..
개요 자바 7부터 try-finally는 더 이상 최선의 방법이 아니다. (자바 7부터) try-with-resources를 사용하면 코드가 더 짧고 분명하다. 만들어지는 예외 정보도 더 유용하다. try-finally의 문제점 // 코드 9-2 자원이 둘 이상이면 try-finally 방식은 너무 지저분하다! (47쪽) static void copy(String src, String dst) throws IOException { InputStream in = new FileInputStream(src); try { OutputStream out = new FileOutputStream(dst); try { byte[] buf = new byte[BUFFER_SIZE]; int n; while ((n =..