dev

dev/프로그래밍

SSH 원리 (1) 비밀번호 인증 방식

telnet이 아니고 ssh를 통해서 어플리케이션과의 명령어를 전달하기 위해서 ssh에 대해서 자세히 알아야하는 상황이 생겼다.그래서 ssh에 대해서 자세하게 정리하고자 한다. SSH는 Secure Shell의 줄임말로, 단어의 뜻 그대로 보안 쉘을 의미한다.telnet 같은 경우는 평문(plain text)를 그대로 보내기 때문에 중간에 스니핑을 당한다고 한다.하지만 ssh는 서버와의 통신이 모두 암호화 해서 전달하기 때문에 그런 문제점은 없는 것같다. 이 ssh가 어떻게 암호화해서 전달하는지 그 원리를 자세히 적어보려고 한다.ssh는 두가지 인증 방식이 있다.첫번째는 비밀번호를 이용해서 인증하는 방식두번째는 공개키와 개인키를 이용해서 인증하는 방식이 있다. 그중 첫번째를 먼저 설명하기 전에 나는 윈도..

dev/기타

IntellJ 단축키 정리하기 개인 외우기

ctrl + B = 해당 구현체로 이동ctrl + alt + 방향키ctrl + e = 그동안 열었던 화면들 보기선택한 줄 위쪽, 아래쪽으로 이동시키기 = shift + alt + 방향키자동정렬 단축키 = ctrl + alt + L사용하지 않는 import 문제거 = ctrl + alt + o필요한 import 문 추가하기 = alt + enter필요한 구현체 메소드 재정의 = alt +insert#검색class 검색 = ctrl + N파일검색 = ctrl + shift +N심볼검색 = ctrl + alt + shift + N모든 검색 = shift + shift구현체로 이동 = ctrl + alt + B

dev/기타

git 예쁘게 log 보기 by chatGPT

git log --graph --all --pretty=format:'%C(auto)%h %d %s %C(blue)%C(reset) %C(green)(%ar)%C(reset)'

dev/trouble shooting

문제 찾는 방법

나는 고객으로 부터 정말 많은 질문을 받는다. "이거 안되는 이유를 찾아주세요" 나는 그 이유를 찾는게 정말 빠르다. 나만의 방법을 공유하려고 한다. 첫번째, 이 문제의 경계선을 찾을 수 있는지 확인한다. 예를들면, 이게 코드의 문제인지, 데이터의 문제인지, 당시 그 시점의 DB의 문제인지 경계선을 찾는다. 경계선을 찾을 수 있다면, (1) 코드 문제 (2) Data 문제 (3) 운영체제나 DB 문제 등등 이런식으로 보기를 만들수 있다면 나는 가장 아닐것 같은것 부터 지워간다. (3) 지우고, (2) 지우고 (1)이 남았고 그렇다면 1번이 문제의 원인이다. 근데 사실 이러한 경우는 많지는 않다. 문제의 경계선을 찾을수 없다면, 나는 당시 apLog, Message, Data ,DataHistory 등등 ..

dev/데이터베이스

FlashBack Example Query

SELECT * FROM [TABLENAME] AS OF TIMESTAMP TO_TIMESTAMP('2024-01-30 16:44:15', 'YYYY-MM-DD HH24:MI:SS') WHERE 1=1 [CONDITION]

dev/기타

python - 폴더 내부의 파일 utf-8로 인코딩 변경 코드

#pip install chardet import os import chardet def convert_to_utf8(file_path): try: with open(file_path, 'rb') as f: content = f.read() encoding = chardet.detect(content)['encoding'] if encoding and not 'utf-8' in encoding.lower() : contents = content.decode(encoding) #contents = contents.encode('UTF-8') #contents = contents.replace('\r\n\r\n','\r\n') with open(file_path, 'w', encoding='UTF-8',ne..

dev/기타

특정 코드 존재시 아래의 코드 추가하는 파이썬 코드

import os import sys # 찾을 문자열 search_text = 'AddGridColumn("PRODUCTSPECNAME' root_dir = "./" # 현재 디렉토리에서 모든 폴더 탐색 for root, dirs, files in os.walk(root_dir,topdown=False): # 모든 파일 탐색 for file in files: # 파일 열기 if file == 'python.py': continue elif not file.endswith('.cs'): continue elif file.endswith('Designer.cs'): continue with open(os.path.join(root, file), "r",encoding='UTF-8') as f: # 파일의 내..

dev/기타

이클립스 folding plugin coffee-bytes

https://goodteacher.tistory.com/48 control block folding 이클립스에서는 메서드, 주석 등을 단위로 기본적으로 folding이 가능하다. 하지만 아쉽게도 if, while, for 등 제어문의 블럭을 단위로 하는 folding은 지원하지 않는다. 이때 coffee-bytes 라는 클러그인 goodteacher.tistory.com 이클립스 사용시 주석이나 메소드를 folding 해서 봐야 편할때가 있다.

dev/개인 프로젝트

만들고자하는 프로그램

나는 모델러라고 하는 프로그램을 하나 만들것이다. 모델러의 역할은 다음과 같다. 1. 기준정보를 CRUD를 하는 역할을 한다. 2. 접속한 유저를 토대로 history 를 남겨야 한다. 3. 어떤 기준정보를 CRUD를 할수 있는지 관리자가 설정할수 있어야한다. 좀더 세부적인 기능은 다음과 같다. - 관리자와 일반사용자로 구분이 되며, 관리자는 기준 정보 템플릿을 토대로 설정이 가능해야함. - Flow 도 설정할수 있어야하고 - 화면이나 버튼별로 권한을 관리 해야만 한다. 목표 구현기술 - Frontend : vue Or react 이 둘중 쉬운걸로 하자.. 좀더 개발을 잘하면 electron 까지 구현... - backend : Spring 을 사용할것이고 open jdk 11이용, jpa까지 이용하면 ..

dev/개인 프로젝트

mermaid js 를 사용한 토이프로젝트

https://youtu.be/I_r1t2Lfvh8 backend spring jpa frontend react mermaid js mui db oracle 을 사용해서 위의 간단한 토이플젝 github frontend & backend 소스 https://github.com/ParkJeongSu/sequenceDiagram_frontend GitHub - ParkJeongSu/sequenceDiagram_frontend: sequenceDiagram sequenceDiagram. Contribute to ParkJeongSu/sequenceDiagram_frontend development by creating an account on GitHub. github.com https://github.com..

jeongsu
'dev' 카테고리의 글 목록