본문 바로가기
반응형

Develop/etc52

[GitHub] 깃허브 꾸미기 깃허브 프로필 꾸미기 깃허브 프로필에 보이는건 특별한 레포지토리의 README 파일이다. 이를 생성하기 위해서는 아래와 같은 과정을 거치면 된다. 1. 자기 깃허브 계정과 동일한 이름의 레포지토리를 생성 (이미지에서는 이미 생성한 상태라 오류가 뜨지만 처음 시도하는 사람이라면 무사히 생성될 것이다.) 2. 1의 레포지토리에 들어가 README 수정 마크다운 작성 결과를 미리 보고싶다면 미리보기 서비스 제공하는 사이트가 많으니 참고 바란다. https://stackedit.io/app# StackEdit stackedit.io 간단하게 줄글만 쓰면 왼쪽 이미지와 같이 보인다. 하지만 오른쪽 같이 화려하게 꾸미고 싶다면? 포인트는 상단의 헤더, 버튼, 핀 크게 3가지로 잡았다. 이후에 공개용 이력서 노션 같.. 2022. 2. 16.
[GitHub] 다른 사람의 저장소에서 브랜치 복사하기 개요 온라인으로 'Code With Me'를 통해 짝 프로그래밍을 경험하고 있다.😄 디코를 키고 같은 화면에서 코딩하며 짝과 함께 무사히 과제를 마쳤으나~ 짝의 레포지토리에만 커밋이 되어있고 내 레포지토리는 텅 비었다. 나도 과제를 제출해야하니... 내 레포지토리로 커밋 내역들을 옮겨오고자 한다. 어떻게 해결을 해야할까 고민을 하다가... 지난 번에 여러 레포지토리를 하나로 합칠 때 remote repository를 여러개 만들었던 일로 한가지 아이디어가 떠올랐다. 브랜치 가져오기 아래 과정들은 자신의 github 레포지토리를 local에도 옮겼다는 가정 하에 진행된다. 명령어 입력은 Git Bash같은걸 이용해도 되지만 글쓴이는 IntelliJ에서 제공하는 terminal을 사용했다. 1. 상대방 gi.. 2022. 2. 10.
[Git] cherry-pick 수행 시 발생 오류 cherry pick이란? : 특정 커밋의 변경사항을 가져오는 작업 자주 발생하는 오류 목록 1. error: Your local changes to the following files would be overwritten by merge: ~ Please, commit your changes or stash them before you can merge. 커밋하지 않은 변경된 파일들의 작업 내역이 날아갈까봐 경고해준다. 해결 방법 👉 변경 사항들 커밋 🔻 변경된 파일이 없는데 위 에러가 발생하는 경우? 더보기 더보기 변경 사항이 스테이징 영역에 존재할 수도 있다. 아래 명령어를 통해 변경 사항을 조회해보자. $ git status status 확인과 함께 친절하게도 추천하는 명령어도 알려준다. 이를 반.. 2022. 1. 18.
[Log4j] Log4j 취약점 발견되다? 본 글은 이번 달 새로 발견된 Log4j 보안 취약성에 대해 알아보기 위해 작성한 글이다. 참고로 현재 발견된 Log4j의 문제는 1.x에서는 해당되지 않으나 1.x에는 다른 보안 취약성이 많이 존재하므로 업데이트를 추천한다. 1. 어쩌다 발견되었나? 🤔 마인 크래프트라는 게임을 누구나 한번쯤은 본 적이 있을 것이다. 이번 사태는 해당 게임의 기술자를 통해 본격적으로 널리 알려지게 되었다. 11/24 알리바바에 의해 취약점 발견 12/10 PaperMC가 Discord를 통해 긴급 패치된 파일로 업데이트 하도록 긴급 공지 (PaperMC: 마인크래프트의 마크 멀티플레이 버킷 서비스) GitHub Advisory Database에 CVE-2021-44228 취약점 게재 (GitHub Advisory Dat.. 2021. 12. 16.
[GitHub] Repository 합치기 (feat: subtree) 목차 1. Remote Repository 생성 2. Local이랑 Remote Repository 연결 3. Remote 추가 4. Subtree 생성 5. Push 진행 1. Remote Repository 생성 깃허브에서 새로운 레포지토리를 생성한다. 이제 이 레포지토리에 옮기고 싶은 레포지토리들을 다 넣을 것이다. 이 포스팅에서는 여기서 새로 만든 레포지토리를 부모라 하고, 합쳐지는 레포지토리들은 자식이라고 부르겠다. 2. Local이랑 Remote Repository 연결 $ git init #깃 초기화 $ git clone #부모 레포지토리 클론 3. Remote 추가 $ git remote add 4. Subtree 생성 $ git subtree add --prefix= 🔻 [에러] fata.. 2021. 12. 7.
[GitHub] Pull Request와 코드리뷰 스터디를 진행하는데 pull request를 통해 내가 푸시한 내역(코드나 글)에 대한 리뷰 진행 및 질문답변을 한다. 하지만 깃허브 기능을 많이 이용해보지 못한 관계로... Pull Request가 뭔지, 왜 필요한지부터 차근차근 진행해보려고 한다. Pull Request란? 깃허브 레포지토리에 있는 브랜치에 푸시한 내역들, 변경된 사항들을 다른 사람들에게 알리는 것 마스터 브랜치에 merge되기 전, 변경 사항에 대해 다른 사람들과 논의, 검토할 수 있음 0. Fork 만약 PR을 작성할 레포지토리가 내 레포지토리가 아니라면 fork를 통해 내 레포지토리로 복사하자. 원본 레포지토리의 우측에 fork 버튼을 누르면 내 레포지토리로 생성된 것이 보인다. fork를 마쳤으면 개발에 사용하는 툴(ex: I.. 2021. 11. 11.
세그먼트 트리 개념과 구현 세그먼트 트리 = Segment Tree = Statisitc Tree 간격이 있는 숫자나 세그먼트에 대한 데이터를 저장하는데 사용하는 트리 구조 여러 데이터가 연속적으로 존재할 때, 특정 범위의 데이터 합을 구할 때 유용하다. 배열에 데이터가 아래와 같이 있다고 가정해보자. index 0 1 2 3 4 5 6 7 8 value 5 6 2 3 4 3 5 2 1 위 배열에서 인덱스 1부터 5까지의 합을 구하려면? index 0 1 2 3 4 5 6 7 8 value 5 6 2 3 4 3 5 2 1 위 범위의 데이터를 하나씩 더하는 방식을 사용하면 된다. (=선형적) 데이터가 N개면 시간복잡도가 O(N)이 된다. 이를 개선하기 위해서 세그먼트 트리를 이용한다면 시간복잡도를 줄일 수 있다. 위의 배열을 아래와.. 2021. 10. 22.
최적화 문제 - 완전 탐색, 동적 프로그래밍, 탐욕적 방법 목차 1. 최적화 문제 2. 완전 탐색 3. 동적 프로그래밍 3-1. 행렬 경로 3-2. 최장 공통 부분순서; LCS 3-3. 최장 증가 부분수열; LIS 4. 탐욕적 방법 4-1. 연속 배낭문제 4-2. 스케줄 짜기 문제 시작하기 앞서.. 해당 포스팅은 최적화 문제를 해결하는 방법 중, '완전 탐색, 동적 프로그래밍, 탐욕적 방법'에 대해 다룬다. 각 유형에 해당하는 몇 가지 문제를 예제로 보이며 언어는 Java를 이용한다. 대학생 때 공부한 것을 정리하는 차원에서 포스팅 하는거라 입문자에게는 어려운 내용일 수 있다😅 최적화 문제; Optimization problem 문제에 대한 하나 이상의 후보 해답이 존재하고, 각 후보 해답은 최적임을 판단할 근거가 되는 값을 가질 때, 이 들 중 최적값을 구하너.. 2021. 10. 3.
[Log4j] no service named is available 에러 📌 org.apache.axis.ConfigurationException: No service named 서비스명 is available 에러 일단 해결 방법은 log4j의 properties를 INFO로 바꿔주면 해결된다. log4j.logger.org.apache.axis.ConfigurationException=INFO 위 설정을 통해 더이상 로그가 뜨지 않을테지만... 그래서 저게 뜬 이유가 뭔데? 싶어서 좀 더 찾아보았다. ❗ 해당 로그가 발생하는 과정 '서비스명'을 찾으려고 할 때, ConfigurationException이 잡힌다. (DEBUG 레벨이라면) ConfigurationException 클래스에서 1을 기록한다. 사용할 수 있는 다른 서비스를 찾기 위해 또다른 시도 ❓ 예상 원인 .. 2021. 7. 21.
반응형