전체 글

기록합시다.
TIPS

[GIT] git pull 강제로 받기

git pull 강제 커맨드 $ git reset --hard origin [branch] $ git pull origin [branch] 기존에 작업중이던 내용( 충돌난 부분들 포함 )을 무시하고 다 pull 받아오니 꼭 필요한 상황에서만 사용 할 것.

TIPS

[TIPS] OS 별 사용중인 포트 확인

OS 별로 사용하는 포트 확인 하기 1. mac $ sudo lsof -PiTCP -sTCP:LISTEN 특정 포트 : $ sudo lsof -i :3000 kill : $ sudo kill -9 {PID} 2. window 1. $ netstat -ano | find "LISTEN" kill : $ tasklist | find {pid} 3. linux 1. $ netstat -tnlp OR $ netstat -ano 2. $ lsof -i -nP | grep LISTEN | awk '{print $(NF-1)" "$1}' | sort -u kill : $sudo kill -9 {PID}

MOBILE

[ERROR] flutter sdk null safety

에러 flutter dml pubspec.yaml 을 통해 dependencies를 관리하다보면 자주 만나는 에러다 dart 2.xx 버전 이상을 사용할 경우 자주 만나며, 해결책으로는 여러가지가 있지만 해결책 가장 빠른 방법은 사용할 디펜던시가 널 세이프티를 지원하는지 확인 -> 지원안한다면 지원하는 버전으로 수정하는 것이다. # 널 세이프티를 지원하고, flutter_swiper_null_safety: # 이전 버전은 널 세이프티를 지원하지 않는다. flutter_swiper: 따라서 같은 라이브러리며 같은 기능이라면 널 세이프티를 지원하는 라이브러리를 쓰면 된다. https://pub.dev/packages?q=flutter+swipe Search results for flutter swipe Pu..

PYTHON/TOY_PROJECT

[Python] ktx-gacha toy project / ktx 매크로

ktx macro 🤖 뭘 만들었는가? ktx 예매 편리를 위한 가챠 매크로다. 카카오 채널 챗봇과 연계한 매크로..! 🤖 왜? 올해 2월에 설날에 예매하는게 힘들어서 진작에 만들려다가 미루고 미뤄서 이제 막 만듦 추석이 다가오니까 🤖 얼마나 소요? 2~3주 ( 약 14일 정도 걸렸다 주말 포함) 🤖 세팅 선택 기준? python 3.8 / django / selenium 4.11 / oracle cloud / ubuntu 18 / docker 1. python : 기존 회사 개발 언어가 파이썬으로 된 프로젝트가 있었으므로 편하게 빠르게 개발하기에 좋을것이라고 생각 더불어서 셀레니움과 파이썬 조합으로 동적 크롤링에 대한 예제가 풍부했음. 2. django : rest web framework 가 필요했음 ..

SERVER

[SERVER] docker command ( Oracle cloud, ubuntu 18 )

oracle cloud + ubuntu 18 버전 에서 작업한 커맨드 기록입니다. // server 접속 🤖 ssh 접속 $ ssh -i "/Users/jamal/dev/toy_workspace/ssh-key-2023-08-21.key" ubuntu@131.777.88.999 🤖 docker 설치 $ sudo apt-get update $ sudo apt-get install -y \ apt-transport-https \ ca-certificates \ curl \ software-properties-common $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docke..

JAVA/SPRING

[Spring] Spring Security setting과 에러 사항 수정 과정 기록과 OAuth2

Security docs : Spring Security Spring Security is a powerful and highly customizable authentication and access-control framework. It is the de-facto standard for securing Spring-based applications. Spring Security is a framework that focuses on providing both authentication and authoriz spring.io 🍺 이거 왜 ? 프로젝트 진행 중 특정 API를 외부에서 쓸 수 있도록 인증과정을 제거해달라는 요청이 있었고, 제거 후 프로젝트를 스테이지 서버에서 기동 -> API는 자유롭게 ..

ALGORITHM

[백준] 1,2,3 더하기 JAVA

동적 계획법 백준 1,2,3 더하기 https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 동적 계획법 DP 를 떠올리며 문제를 풀기는 쉽지 않다. import java.util.Scanner; public class 백준1_2_3더하기 { /* ex ) 3 4 7 10 */ static int[] dp = new int[11]; public static void main(String[] args) { Scanner sc = new Scanner(System.in); int T = sc.nextInt(); dp[1] = 1; dp[2] = 2; //..

Effective Java

[아이템 50] 적시에 방어적 복사본을 만들라

책은 방어적 복사의 중요성에 대해 이야기한다. 방어적 복사에 앞서 깊은 복사와 얕은 복사를 알고 가야한다. 깊은 복사 객체 복사 시, 해당 객체와 인스턴스 변수까지 복사한다. 전부 복사해서 새 주소에 담는 ( 주소값은 달라진다) 즉 원본과 복사 객체는 독립적인 별개의 객체이되, 내부 정보는 동일한 상태로 초기화 하는 것. @Override public Object clone() throws CloneNotSupportedException{ return super.clone(); } 보통 위의 clone 메소드로 복사 하게된다. public static void main(String[] args) { try { // 원본 객체 생성 Person originalPerson = new Person("Alice..

TIPS

[Intellij plugin] 인텔리제이 플러그인 만들기 2

앞서 만든 1편 참고. 결과물 : [Intellij plugin] intellij plugin 만들기 왜? 인텔리제이 플러그인 개발하니 쿼리 테스트 해야는데 자꾸 맞는 문법인지 찾으러 인터넷사이트 돌아다녀서 하나하나 붙여서 테스트 하는게, 보안적으로 걱정도 되고 귀찮기도 해서 직접 만 girinprogram93.tistory.com 2편이다. 첫번째 플러그인은 많이 부족했다. 세팅도 얼탱이없는 걸로 했었고 그렇기 때문에 젯브레인 마켓플레이스 담당자와 메일을 주고 받았었따. 쨌든 두번째 플러그인이다. 이번엔 아이콘도 달았다. https://plugins.jetbrains.com/plugin/22309-recommend-variable 시작한다. 1. 플러그인 만들기 소개 : 영어 변수가 생각 안나면 한글로..

TIPS

[Intellij plugin] intellij plugin 적용 및 배포

플러그인 프로젝트 설정 및 개발 단계는 다음 글에서 확인가능합니다. [Intellij plugin] intellij plugin 만들기 왜? 인텔리제이 플러그인 개발하니 쿼리 테스트 해야는데 자꾸 맞는 문법인지 찾으러 인터넷사이트 돌아다녀서 하나하나 붙여서 테스트 하는게, 보안적으로 걱정도 되고 귀찮기도 해서 직접 만 girinprogram93.tistory.com 플러그인 배포 1. 빌드 및 로컬 적용 빌드를 한다면, 다음과 같은 파일이 생성됩니다. 현재쓰고있는 IDE에 우선 적용 빌드한 압축파일을 선택합니다. 현재 IDE에 적용 되었음을 확인합니다. 2. plugin 배포 정확한 테스트를 위해 실제 플러그인으로 배포를 해봅니다. https://plugins.jetbrains.com/plugin/add..