본문 바로가기
반응형

Develop232

[Java] ConcurrentModificationException 에러 ❗ java.util.ConcurrentModificationException 👉 객체를 동시에 수정하는 것이 불가능한데 동시 수정이 일어나는 경우를 감지 위 오류가 발생한 상황은 아래와 같다. public class Random { private static final List randomNumbers = new ArrayList(); static { for (int i = 1; i 2022. 2. 24.
[GitHub] Pull Request 충돌 해결하기 ❗ 문제 발생 내 작업 상황은 아래와 같다. 커밋내역들을 PR 요청 PR이 머지됨 1에 이어서 작업 3을 PR하려고 하니 충돌 충돌이 난 원인 🤔 A, B, C라는 커밋이 Pull Request를 통해 우테코 레포에 반영되었다. Pull Request는 A, B, C라는 커밋을 하나하나 반영되지 않고 여러 커밋들이 하나의 커밋으로 반영된다. 여기서 원래 작업하던 레포에서 D라는 커밋이 생겼다. 새로운 PR을 올릴 때 D만 요청하는게 아니라 A, B, C, D 모든 커밋 내역을 반영해달라고 요청이 간다. A, B, C를 반영한 ABC와 A, B, C 커밋이 충돌이 났다. 해결 방법 😮 충돌난 파일 직접 수정해서 해결 새로운 브랜치를 생성 후 리팩토링 다시 진행 충돌난 파일을 직접 수정하는 경우는 GitHu.. 2022. 2. 21.
[Java] Built-in Package 개요 우리는 String , Integer , System 같은건 import 없이도 사용할 수 있다. 세 개의 객체 모두 java.lang 에 포함되어 있는데 이런 import 없이 사용 가능한 패키지를 빌트인 패키지라고 한다. 그렇다면 이 빌트인 패키지의 동작 원리가 뭔데? 어떻게 import 없이 사용할 수 있을까? 에 대해서 궁금증이 생겨 포스팅하게 되었다. 패키지란? 관련된 클래스들을 모아 관리할 수 있게 함 네이밍 충돌 회피 클래스나 인터페이스 등의 접근 제어 패키지는 크게 Built-in packages와 User-defined packages로 나뉜다. Built-in packages : Java에서 우리 이미가 갖고 있는 다양한 선행 패키지들 User-defined packages : 사.. 2022. 2. 17.
[GitHub] 깃허브 꾸미기 깃허브 프로필 꾸미기 깃허브 프로필에 보이는건 특별한 레포지토리의 README 파일이다. 이를 생성하기 위해서는 아래와 같은 과정을 거치면 된다. 1. 자기 깃허브 계정과 동일한 이름의 레포지토리를 생성 (이미지에서는 이미 생성한 상태라 오류가 뜨지만 처음 시도하는 사람이라면 무사히 생성될 것이다.) 2. 1의 레포지토리에 들어가 README 수정 마크다운 작성 결과를 미리 보고싶다면 미리보기 서비스 제공하는 사이트가 많으니 참고 바란다. https://stackedit.io/app# StackEdit stackedit.io 간단하게 줄글만 쓰면 왼쪽 이미지와 같이 보인다. 하지만 오른쪽 같이 화려하게 꾸미고 싶다면? 포인트는 상단의 헤더, 버튼, 핀 크게 3가지로 잡았다. 이후에 공개용 이력서 노션 같.. 2022. 2. 16.
[Java] toString() 파헤치기 목차 1. 개요 2. toString()의 목적 3. toString()의 구조 4. 코드의 개선 5. 결론 1. 개요 자동차를 나타내는 Car 클래스를 선언했다. Car 클래스에는 name과 position이 존재하고 아래와 같은 문자열로 나타내려고 한다. ex) name = "연로그", position = 3 👉 연로그 : --- 따라서 아래와 같은 객체를 만들고 toString()을 오버라이드 해주었다. public class Car { private final String name; private int position; public Car(String name) { this.name = name; this.position = 0; } public void go() { this.position++.. 2022. 2. 15.
[GitHub] 다른 사람의 저장소에서 브랜치 복사하기 개요 온라인으로 'Code With Me'를 통해 짝 프로그래밍을 경험하고 있다.😄 디코를 키고 같은 화면에서 코딩하며 짝과 함께 무사히 과제를 마쳤으나~ 짝의 레포지토리에만 커밋이 되어있고 내 레포지토리는 텅 비었다. 나도 과제를 제출해야하니... 내 레포지토리로 커밋 내역들을 옮겨오고자 한다. 어떻게 해결을 해야할까 고민을 하다가... 지난 번에 여러 레포지토리를 하나로 합칠 때 remote repository를 여러개 만들었던 일로 한가지 아이디어가 떠올랐다. 브랜치 가져오기 아래 과정들은 자신의 github 레포지토리를 local에도 옮겼다는 가정 하에 진행된다. 명령어 입력은 Git Bash같은걸 이용해도 되지만 글쓴이는 IntelliJ에서 제공하는 terminal을 사용했다. 1. 상대방 gi.. 2022. 2. 10.
[OS] 프로세스와 스레드 프로그램 vs 프로세스 vs 스레드 프로그램 어떤 작업을 위해 실행할 수 있는 파일 메모리에 올라가지 않은 Windows의 *.exe 같은 정적 파일 (메모리에 올라가다: 실행을 하려면 OS가 독립적인 메모리 공간을 할당해줘야 함) 프로세스 메모리에 올라와 실행되고 있는 프로그램의 인스턴스 OS로부터 시스템 자원을 할당 받는 작업의 단위 스레드 프로세스 내에서 실행되는 여러 흐름의 단위 프로세스의 코드에 정의된 절차에 따라 실행되는 특정한 수행 경로 프로세스 내에 여러개 존재할 수 있으며 Code, Data, Heap 영역은 공유하고 Stack은 각자 할당 받음 실행 중 오류 발생 시 다른 스레드까지 강제 종료될 수 있음 🔻 데이터 영역 더보기 코드: 현재 프로세스에서 실행 중인 프로그램의 바이너리 코드.. 2022. 2. 8.
[Spring Security] 스프링 시큐리티 간단 적용기 본 글은 토이 프로젝트에 Spring Security를 적용하는 과정에 대해 포스팅한다. Spring Security에 관한 디테일한 이론 지식이나 동작 원리 등에 대해서는 생략한다. 1. 개요 Spring Security : Java 환경에서 인증과 권한 부여와 관련된 기능을 제공해주는 프레임워크 Spring Security를 적용하게 된 계기는... 그냥 써보고 싶었다.😉 Spring만 봐도 배울게 산더미인데 Spring Security까지 파자니 이도저도 못할 것 같아 공부 우선 순위에서 밀려났었다.... 그러다 토이 프로젝트 팀원 분이 저희 Spring Security 적용하나요? 물어보시길래 어떻게 쓰는지 모르겠지만!! 어차피 써보고 싶었던거 일단 부딪혀 봐야겠다고 생각했다. 2. 개발 환경 S.. 2022. 2. 7.
[Spring] NestedServletException - Name for argument type [java.lang.Long] not available 에러 org.springframework.web.util.NestedServletException: Request processing failed; java.lang.IllegalArgumentException: Name for argument type [java.lang.Long] not available, and parameter name information not found in class file either. 에러 parameter name information, 파라미터 이름에 대한 정보를 찾지 못하는 문제이다. postman으로 테스트했을 때는 문제가 없었으나 테스트 코드를 작성하니 위 에러가 발생했다. 방법1 👉 컨트롤러에서 파라미터 이름에 대한 정보만 추가 테스트 코드 굉장히 간단한 구조이다.. 2022. 1. 28.
반응형