전체 글240 nginx 설치 및 포트바인딩 sudo apt-get install nginxsudo systemctl start nginxsudo systemctl enable nginxsudo vi /etc/nginx/sites-available/default 전체 내용 삭제:1. ESC 키를 눌러 명령 모드로 진입2. gg를 입력 (파일의 맨 처음으로 이동)3. dG를 입력 (현재 위치부터 파일 끝까지 삭제)새로운 내용 붙여넣기:1. i를 눌러 입력 모드로 전환2. 내용 붙여넣기 (우클릭 또는 Shift + Insert)3. ESC를 눌러 명령 모드로 전환4. :wq를 입력하고 Enter (저장 후 종료)위 방법으로 아래 내용 복붙하기server { listen 80; server_name 15.164.30.67; locatio.. 2024. 10. 24. Google Java Style Guide 번역 본 글은 Google Java Style Guide를 번역한 글입니다.Google Java 스타일 가이드목차소개소스 파일 기본사항소스 파일 구조포맷팅네이밍프로그래밍 관행Javadoc1. 소개이 문서는 Java 프로그래밍 언어로 작성된 소스 코드에 대한 Google의 코딩 표준을 완전히 정의합니다. Java 소스 파일은 여기에 명시된 규칙을 준수할 때만 Google 스타일을 따른다고 말할 수 있습니다.다른 프로그래밍 스타일 가이드와 마찬가지로, 여기서 다루는 문제는 형식에 관한 심미적 문제뿐만 아니라 다른 유형의 규칙이나 코딩 표준도 포함됩니다. 그러나 이 문서는 주로 우리가 보편적으로 따르는 엄격한 규칙에 초점을 맞추고 있으며, (사람이나 도구에 의해) 명확하게 시행할 수 없는 조언은 피합니다.1.1 용.. 2024. 10. 15. orElse함수는 잘못 쓰기 쉽다(with orElseGet함수) # 논리 오류를 알게된 경위collectionLike를 데이터베이스에서 찾고 없으면 collectionLike를 새로 만들어 저장하는 코드를 짰다. 코드 검사에서 orElse에 있는 collectionLikeRepository.save()가 항상 호출된다고 위험을 알렸다. @Transactional public void saveCollectionLike(Long memberId, Long collectionId) { Member member = memberRepository.findByIdOrElseThrow(memberId); Collection collection = collectionRepository.findByIdOrElseThrow(collectionId);.. 2024. 10. 9. 빵그리 리팩토링 https://devroach.tistory.com/57 1. 한 함수 내에 추상화 수준 같게 해야 한다. 1-1 Tell, Don't Ask" 원칙[Review 관련]package com.bbangle.bbangle.review.service;import com.bbangle.bbangle.board.domain.Board;import com.bbangle.bbangle.board.repository.BoardRepository;import com.bbangle.bbangle.boardstatistic.service.BoardStatisticService;import com.bbangle.bbangle.exception.BbangleErrorCode;import com.bbangle.bbangle... 2024. 10. 3. 헥사고날 아키텍쳐 1. 질문사항 유저랑 댓글작성자를 구분해서 엔티티 만드는 것이 나을까?2. ENUM과 값 객체 차이 ENUMVOIDxx목적 고정된 상수 집합을 나타냅니다속성과 동작으로 개념 캡슐화사례카테고리돈, 주소 3. VO와 엔티티 차이4. 서비스마다 데이터베이스를 따로 만들어야 하나? ------개념정리애그릿게잇 루트하위의 모든 객체를 처리하는 책임 포트와 어댑터란? Order: 도메인 모델을 나타내는 클래스입니다.OrderService (입력 포트):주문 처리 로직을 정의하는 인터페이스입니다.애플리케이션의 비즈니스 로직 진입점 역할을 합니다.OrderEventPublisher (출력 포트):주문 처리 결과를 외부 시스템에 알리는 인터페이스입니다.도메인 이벤트를 발행하는 추상화된 방법을 제공합니다.OrderSe.. 2024. 10. 3. 알고리즘 수업 시그마xipi f(n)은 n^2이다 라고 '일반 함수'처럼 표현함 - overhead instructinos - control instructions (46P) - treshhold value, logn과 nx의 교점, - 21p차이남 - 59p 1번 설명/ f(n)은 g(n)의 하한선이다 - loga m 와 logb m은 같은 세타 값을 가진다. - b>a>0 일 때 a^n은 B^n과 같지 않다. [기대치 계산 표기법] 1. everything case 세타 **공부 2. Average 스몰오 **공부 3. Worst(Upper Bound/상한) 빅오 4. Best(Lowwer Bound/하한) 오메가 ----ETC---- - .. 2024. 9. 26. [백준 16565] N포커 / 자바 / 수학(포함배제원리 + 모듈러 연산) #문제 레벨: G1알고리즘: 수학(포함배제원리 + 모듈러 연산) 풀이시간: 1시간힌트 참조 유무: 유https://www.acmicpc.net/problem/16565#문제 풀이 쌍이 맞는 조합 카드 4개를 뽑고 나서 나머지 카드를 뽑으면 된다. 쌍이 맞는 4개의 카드를 뽑는 경우의 수는 13이고 나머지 카드를 뽑는 건 52-4= 48에서 N-4를 뽑으면 되니48C(N-4)를 해주면된다. 13x 48C(N-4)위는 틀렸다.위 공식은 두 개 이상의 포카드가 있는 경우를 중복 계산할 수 있다. 예를 들면 N=8일 때 K 조합을 뽑고 48C4에서 포카드 조합이 나오거나 안 나오거나 두 케이스를 커버칠 수 있는 거 아니야? 라고 생각할 수 있다. 그 생각이 맞다. 그러나 우리는 중복.. 2024. 9. 23. [백준 2188] 축사 배정 / 자바 / 이분매칭 #문제 레벨: P4알고리즘: 이분매칭 풀이시간: 1시간 힌트 참조 유무: 유https://www.acmicpc.net/problem/2188#문제 풀이 이분매칭이 처음이라면 https://jsw5913.tistory.com/214 [백준 11375] 열혈강호 / 자바 / 이분 매칭#문제 레벨: P4알고리즘: 이분 매칭 풀이시간: 1시간힌트 참조 유무: 유https://www.acmicpc.net/problem/11375#문제 풀이 이 문제는 이분 매칭 문제이다. 예시를 통해 문제를 설명하겠jsw5913.tistory.com이 글을 먼저 읽고 오길 바란다. [풀이방법] DFS 함수에서는 해당 소가 들어갈 수 있는 모든 축사를 확인한다:이미 방문한 축사.. 2024. 9. 21. [백준 13549] 숨바꼭질3 / 자바 / 다익스트라 알고리즘 #문제 레벨: G5알고리즘: BFS(그래프 탐색) 풀이시간: 30분힌트 참조 유무:https://www.acmicpc.net/problem/13549#문제 풀이 직관적으로 가장 빠른 방법은 -초를 소비하고 2배를 가는 거다. 그렇다면 우린 다익스트라 알고리즘을 사용하면 된다. 최종 목표지까지 최소한의 비용을 알고싶다면 출발지부터 최소한의 비용의 노드들 부터 탐색하면 되는 거다. 그래서 미리 큐에 거듭해서 거리는 두배지만 시간은 그대로인 배열이 거듭해서 추가 되고 먼저 빼지는 거다.#풀이 코드 import java.util.*;public class Main { static final int MAX = 100001; public static void main(.. 2024. 9. 14. 이전 1 2 3 4 ··· 27 다음