분류 전체보기126 맥 iterm2 aws RSA키 충돌 오류 기존에 들어가지던 서버가 들어가지지 않는 문제가 있었다. profile로 접속시에 ssh 접속 오류가 발생했다. 문제 상황 A session ended very soon after starting.Check that the command in profile "~~" is correct itrem Profile로 접근시에 위와 같은 오류가 발생하였다 command 명령어가 잘못되었다고 하여 계속 profile의 command를 확인했는데 아무리 봐도 오류가 없었다. 그래서 iterm2에서 ssh -i 로 직접 연결해보았다. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS C.. 카테고리 없음 2023. 5. 10. [백준 Java] 수들의 합2 🔗 문제링크 🔗 2003번: 수들의 합 2 첫째 줄에 N(1 ≤ N ≤ 10,000), M(1 ≤ M ≤ 300,000,000)이 주어진다. 다음 줄에는 A[1], A[2], …, A[N]이 공백으로 분리되어 주어진다. 각각의 A[x]는 30,000을 넘지 않는 자연수이다. www.acmicpc.net 🌟 생각 흐름 🌟 이런 비슷한 문제를 기업코테에서 한번 본적이 있다. 부분합을 이용한 문제여서 해당 아이디어만 알고 있다면 쉽게 해결 할 수 있다. index 1 2 3 4 5 갑 1 2 3 1️⃣ (현재값) 2 1 연속된 수의 합 1 3 2️⃣ (이전 값까지의 합) 6 1️⃣ + 2️⃣ = 3️⃣ 8 9 부분적인 합을 구하는방법 arr[1] - arr[0] =1 arr[2]-arr[1]=2 arr[3]-.. 알고리즘 2023. 5. 9. Soft Delete, Hard Delete (논리삭제와 물리삭제) 프로젝트를 하다가 이런 생각을 하였다 멤버를 삭제하면 그냥 진짜 바로 삭제해야 하나..? 근데 그렇게 되면 만약 유저가 잘못 누른 경우라면? 만약 이 사람이 우리 사이트를 악용해서 관련 기록을 찾아야 한다면? 의 의심이 들었다. 그리고 실제로 많은 서비스에서 일주일, 한 달간은 다시 로그인을 하면 회원 탈퇴를 해지할 수 있다. 그런 의심을 품고 프로젝트를 하다가 최근 새로운 강의를 들으면서 Soft delete라는 것을 알게 되었다. Soft Delete(논리 삭제) 기존의 SQL DELETE 명령어를 이용해 직접 데이터를 삭제하는 방법은 Hard Delete(물리삭제) 방법이다.( 데이터 베이스에서 찐 삭제 -> 삭제한 이상 조회 할 수 없음 ) 여기서 말하고자 하는 soft delete는 UPDATE.. SQL 2023. 5. 9. AWS EC2 프리티어 띄우기, mac iterm2에서 접속하기 1. aws 사이트 이동 https://aws.amazon.com/ko/?nc2=h_lg 클라우드 서비스 | 클라우드 컴퓨팅 솔루션| Amazon Web Services aws.amazon.com 2. 회원 가입 회원가입 시에는 카드번호를 입력해야 한다. (영문 주소는 네이버에서 영문주소 검색 서비스를 이용하면 편리하다) 3. ec2 이동, 인스턴스 시작 버튼 클릭 4. 인스턴스 생성인스턴스 이름과 자신이 하고 싶은 설정으로 인스턴스를 생성한다.나는 프리티어로 사용할 예정이라 t2.micro를 사용했다 ( 옆에 프리티어라 적혀있는 경우가 프리티어 상태에서 사용가능한 것이다)+ 추가) Reigon 리전 지역을 서울로 변경하고 싶다면 위에서 변경해서 진행하면 된다.인스턴스 유형 선택, 키페어 선택(아래 4... Infra 2023. 5. 8. query dsl 파일 중복생성, 파일을 찾지 못하는오류 Attempt to recreate a file for type 어제까지는 잘 빌드되던 게 갑자기 빌드되지 않는 문제가 발생했습니다. 같은 파일 생성 오류인 것 같아 그래들에서 clean을 진행하여 파일을 제거하여 봤습니다. Could not find class file for 하지만 이번에는 파일을 제거 후에 다시 빌드하여 파일이 생성되었지만 찾지 못하는 오류가 발생 gradle other에서 complie을 해도 똑같은 오류가 발생합니다. 제가 해결한 방법 맥 기준 : intelliJ->setting -> build tools -> gradle : gradle -> intellj로 변경하였습니다. ( 빌드 환경 변경) 그리고 queryDsl 생성파일을 제거하거나, gradle에서 clean 후에 co.. Spring,SpringBoot 2023. 5. 6. [백준 java] 소가 길을 건너간 이유 14466 🔗 문제링크 🔗 14466번: 소가 길을 건너간 이유 6 첫 줄에 N, K, R이 주어진다. 다음 R줄에는 한 줄에 하나씩 길이 주어진다. 길은 상하좌우로 인접한 두 목초지를 잇고, r c r′ c′의 형태 (행, 열, 행, 열)로 주어진다. 각 수는 1 이상 N 이하이다. www.acmicpc.net 🌟 생각 흐름 🌟 먼저 가지 못하는 길을 저장해야 한다고 생각했습니다. 만약 리스트 형태로 저장하게 된다면 탐색에 너무 많은 시간이 걸리고 map의 사이즈가 100*100이므로 배열의 형태로 저장하는 것이 이득이라 생각하였습니다. 문제는 길의 startx, starty, endx, endy 형태로 주어지기 때문에 어느방향으로 길이 있는지 저장해야 합니다. 따라서 direction 방향에 따라 확인해보면서 .. 알고리즘/백준 2023. 5. 5. Clean Code(1,2 장) 1장 중복을 피하라. 한 기능만 수행하라. 제대로 표현하라. 작게 추상화하라 이상이다. 2장 : 메서드 네이밍 의도를 분명히 밝혀라 그릇된 정보를 피하라 의미 있게 구분하라 발음하기 쉬운 이름을 사용하라 검색하기 쉬운 이름을 사용하라. 인코딩을 피하라 헝가리식 표기법 PhoneNumber phoneString → String에서 변경되었지만 변경사항을 수정하기 어렵다. —> 지금을 사용하지 않는 것이 좋다 멤버 변수 접두어 private String m_dsc // 설명문자열 (접두어 이제는 필요 없음) 인터 페이스 클래스와 구현 클래스 인터페이스 이름은 접두어를 붙이지 않는 편이 좋다고 생각했다. 자신의 기억력을 자랑하지 마라 클래스 이름 : 객체 이름이나 명사구 메서드 이름 : 동사나 동사구 기발한 .. 책 리뷰/클린코드 2023. 5. 4. code up 기초 100문제 풀이 (JAVA) 1001 문제 링크 : [🔗🔗code up 문제 #1001] 문제 풀이 : [🔗🔗code up 풀이 #1001 ] 1002 문제 링크 : [🔗🔗code up 문제 #1002] 문제 풀이 : [🔗🔗code up 풀이 #1002 ] 1003 문제 링크 : [🔗🔗code up 문제 #1003] 문제 풀이 : [🔗🔗code up 풀이 #1003 ] 1004 문제 링크 : [🔗🔗code up 문제 #1004] 문제 풀이 : [🔗🔗code up 풀이 #1004 ] 1005 문제 링크 : [🔗🔗code up 문제 #1005] 문제 풀이 : [🔗🔗code up 풀이 #1005 ] 1007 문제 링크 : [🔗🔗code up 문제 #1007] 문제 풀이 : [🔗🔗code up 풀이 #1007 ] 1008 문제 링크 : [.. 알고리즘/코드업 2023. 5. 4. [백준 1939] 중량제한, 크루스칼 풀이 🔗 문제링크 🔗 1939번: 중량제한 첫째 줄에 N, M(1 ≤ M ≤ 100,000)이 주어진다. 다음 M개의 줄에는 다리에 대한 정보를 나타내는 세 정수 A, B(1 ≤ A, B ≤ N), C(1 ≤ C ≤ 1,000,000,000)가 주어진다. 이는 A번 섬과 B번 섬 사이에 중량제한이 www.acmicpc.net 🌟 생각 흐름 🌟 기존의 크루스칼 문제에서는 최단 경로를 계산하기 위해서 최단 경로를 기준으로 정렬을 하였다 하지만 해당 문제에서는 다리를 건널 때 가장 많이 적재할 수 있는 양을 물어보는 것이므로 가장 높은 값을 기준으로 정렬한다(내림차순) 만약 시작 지점과 끝지점이 한사이클안에 있다고 판단되는 순간 현재 적재량을 싫고 나를 수 있다는 소리이므로 멈추고 리턴한다. -- 이진탐색을 이용한.. 알고리즘/백준 2023. 5. 4. mock mvc 테스트시 본문의 값이랑 비교하는 방법, 테스트 코드에러, 연관관계 메서드 제거 1번 삽질(mock mvc에서 Http 메서드를 잘못 작성) 삽질시에 참고한 글(근데 해당 문제가 아니었다) [1번글] [2번글] 약 한 시간 버린 실수였다 mock mvc를 이용하여 테스팅을 하는데 swagger로 할 때는 값이 나왔다. 그래서 단일 값에 대한 json으로 값이 들어와야만 비교 가능한 줄 알고 싱글톤 객체로도 보내봤다. -> 그래도 안 되는 문제 그래서 결론적인 문제는? mock mvc의 HTTP Method를 잘못 적었다. 조회(Get)를 해야 하는데 삭제(Delete) 메서드를 호출했다는 것 이상하다 싶으면 내 코드를 먼저 봐야겠다 아 그래도 배운 점 1개 ResponseBody에 단일값, 응답 본문내용 자체를 비교하고 싶은 경우에 content(). string(원하는 string.. Spring,SpringBoot 2023. 5. 2. Test 코드로 인해서 생성되는 파일 관리(자바의 파일 삭제) 수정 전 코드 @Test public void 유저객체생성확인() throws Exception { //이름에 넘길 파라미터 네임 MockMultipartFile file = new MockMultipartFile("profileImg", "image.jpg", "image/jpeg", "".getBytes(StandardCharsets.UTF_8)); MemberRequestDto userMakeDto = new MemberRequestDto("password", "loginId", "nick", "bo@google.com", file); //when mockMvc.perform(multipart("/auth/signup") .file(file) .param("password", userMakeDto... Spring,SpringBoot 2023. 5. 1. DTO 변환과정 convert 패턴으로 처리 틀린 부분 조언 해주시면 감사하겠습니다 😄 기존코드 기존에는 컨트롤러 내에서 DTO로 변경하는 메서드를 이용해서 변경 후에 리턴하도록 코드를 구성하였었다. 하지만 다른 개발자 분들의 코드들을 찾아보다 보니 객체 내에서 toConvert라는 메서드를 구성하여 리턴하는 방식을 사용한다는 것을 알게 되었다. 생각해 보니 기존에 컨트롤러 내에서 메서드로 변환하는 방식은 해당 컨트롤러에서만 사용하는 방식이고 만약 다른 코드에서 사용하려 하면 또 메서드를 선언해야 하여 코드 중복이 발생하고, 객체 지향적이지 않은 코드라는 생각이 들었다. 따라서 코드를 아래와 같이 convert 메서드를 객체 내에 두어서 객체 지향적이고 코드의 중복을 줄일 수 있는 방법으로 수정하였다. 수정 코드 고민 1. convert 클래스를 .. Spring,SpringBoot 2023. 4. 30. 이전 1 2 3 4 5 6 7 ··· 11 다음