본문 바로가기

분류 전체보기293

대칭키 / 비대칭키(공개키) 암호화 대칭키 암호화 (Symmetric Key Encryption) 세션 키(Session Key), 공유 키(Shared Key)라고도 부른다 정의: 대칭키 암호화는 같은 키를 암호화와 복호화에 사용 작동 방식 암호화: 보내는 사람이 데이터를 암호화할 때 키를 사용 전송: 암호화된 데이터가 전송 복호화: 받는 사람이 동일한 키를 사용하여 데이터를 복호화 장점: 빠르고 효율적 단점: 키를 안전하게 공유하는 것이 도전적임(어려움) ⇒ 키 분배 센터 - KDC(Key Distribution Center)를 통해 키 관리의 어려움 해소 알고리즘 종류 AES(Advanced Encryption Standard) - 128/192/256 bit DES(Data Encryption Standard) - 56 bit(실제.. 2023. 11. 20.
원격 서버 접속하기(1) - telnet/ssh 입사를 해서 회사 일을 해보면, 이런 단어들을 들어볼 수 있을 것이다 로컬 서버, 개발 서버, 스테이징 서버, 배포 서버, 테스트 서버 등등 큰 기업에 가면 xx서버에 접속해서, 변화점이 있는 파일들을 수집하고, 자동으로 배포하는 등등.. 이런 과정들이 원클릭으로 구성되어 있을 것이다 그리고 회사에서는 이런 서버에 접속하기 위해 특정 IP만을 허용하는 허용리스트(AllowList)를 만들어서 VPN 프로그램을 사용하는 등의 방법으로 접속을 허용/제한한다 (UFW, IPTables, Firewalld, ZeroTier, WireGuard, pfSense 사용) 이 글에서는 방화벽에 대한 내용보다는 원격 서버에 접속하는 방법, 내가 사용하는 방법에 대해서 포스팅해보려고 한다 Telnet 로컬 네트워크에서 리.. 2023. 11. 20.
IT 용어 주의해서 사용하기 2020년 7월 트위터의 엔지니어링 팀은 차별적인 언어 사용을 금지하는 것에 대한 글을 올렸다 또한 MySQL 팀에서도 2020년 7월에 용어에 대한 포스팅을 업데이트 했다 2020년에서 거의 4년이 다 되어가는 2023년 11월 지금도 아직도 구글에서 티스토리 글들을 살펴보면 WhiteList/BlackList, Master/Slave 라는 표현이 종종 사용되는 것을 볼 수 있다!!!!!!!!!!! 계속해서 개발해나갈 IT인으로써 차별없고 오해없는 올바른 용어사용 태도를 지녀야겠다..! 갑자기 든 생각인데.. 한편으로 만약 최초의 컴퓨터인 ENIAC을 우리 대한민국에서 만들었다면... 어떤 용어차별이 나왔을지 궁금하기도 하다 출처 https://twitter.com/XEng/status/12787333.. 2023. 11. 19.
텍스트 에디터 종류 에디터 종류로는 GUI(그래픽 사용자 인터페이스)와 CLI(명령줄 인터페이스)로 나눌 수 있다 보통 서버 개발에서는 CLI기반의 Text Editor를 사용한다 운영체제/인터페이스 별 에디터 종류를 알아보자 Windows GUI Notepad(무료) Notepad++(무료) Sublime Text(유/무료) Visual Studio Code(무료) CLI Vim(무료) Emacs(무료) Nano(무료) Linux(Ubuntu/CentOS) GUI Gedit(무료) Geany(무료) Kate(무료 - KDE 환경) Visual Studio Code(무료) CLI Vim(무료) Emacs(무료) Nano(무료) MacOS GUI BBEdit(유/무료) Sublime Text(유/무료) Visual Studi.. 2023. 11. 16.
MacOS 터미널 좀 더 잘쓰기(feat. 단축키) 개발용으로 macOS를 사용중이라면 터미널을 한번쯤은 사용할 것이다! 보통 기능이 많은 iTerm 등을 쓴다지만, 나는 기본 터미널을 zsh를 다운받아서 바꿔서 쓰고 있다 지금부터 터미널 단축키에 대해 조금 더 알아본다 최대한 iTerm과 기본터미널 둘 다 호환되는 단축키로 포스팅하려고 한다 ps명령어와 tty명령어로 현재 두개의 프로세스(터미널 2개)를 띄워둔 상태이다 내가 무슨 키를 누르는지 모르기 때문에 keyboard viewer를 이용해서 입력되는 키를 보이게 해준다 윈도우(창) 및 작업 탭 아래의 단축키중에서 새 창 열기/창 닫기, 창 이동, 새 탭 열기/탭 닫기, 탭 이동은 크롬, VScode, IntelliJ 등 다 적용되는 전역적인 MacOS 단축키이다 폰트 키우기: cmd + plus(.. 2023. 11. 15.
Shell(셸, 쉘) 종류 및 특징 Why is it called Shell? - 왜 셸(쉘)이라 부르는가? Shell은 영어 단어로 하면 껍질, 껍데기란 뜻이다 Q. 왜 OS에서 터미널, cmd등을 쉘이라고 부르는가? A. 사용자와 운영체제의 내부(커널) 사이의 인터페이스를 감싸는 층이기 때문에 그러한 이름이 붙었다 What Shell is... - 셸(쉘)이란... 셸(shell)은 사용자와 컴퓨터 운영체제간의 대화형 인터페이스를 말한다. 사용자는 셸을 통해 컴퓨터에 명령을 입력하고, 셸은 그 명령을 운영체제가 이해할 수 있는 형태로 변환하여 전달한다. 그리고 운영체제는 이 명령을 실행하고 결과를 사용자에게 보여준다. Kind of Shells - 셸(쉘)의 종류 인터페이스별 명령줄 인터페이스(CLI - Command Line Inte.. 2023. 11. 8.
Kill -9(SIGINT) vs Kill -15(SIGTERM) 테스트(feat.graceful kill) UNIX계열 OS인 Linux(ex. ubuntu, macOS-BSD, Darwin)는 커널단에서 시그널을 사용하여 프로세스에 다양한 명령을 내릴 수가 있다 macOS에서 테스트해보려고 한다 일단 macOS에서 가능한 kill 옵션(인자)를 확인해보자 kill -l 손으로 일일이 세도 되지만 깔쌈하게 몇개의 인자를 갖고 있는지 아래의 명령어로 확인해보자 kill -l | tr ' ' '\n' | tee /dev/tty | wc -l | xargs echo "total command count:" macOS에서는 kill 관련 31개의 인자를 쓸 수 있다 이중 프로세스 종료와 관련된 것은 1(HUP), 2(INT), 3(QUIT), 6(ABRT), 9(KILL), TERM(15) 이렇게 있다 SIG라는 것.. 2023. 10. 27.
(4) 도커 - 도커 데스크탑으로 docker CLI 살짝 대체해보기(Docker Desktop 사용법 익히기) https://code-boki.tistory.com/128 (3) 도커 - 리눅스 우분투 이미지로 다양한 도커 명령어 테스트 Docker Desktop을 받으면 일단 기본적으로 docker, docker-compose, docker machine이 설치가 된다 그래서 docker 명령어를 쓸 수 있다 도커 desktop을 실행 후 터미널을 열어서 docker를 입력해보자 이제 도커(2)번 글 code-boki.tistory.com 이전 글에서는 docker CLI를 주로 다뤘었다 이번에는 Docker Desktop(GUI - Graphic User Interface) 으로 도커 몇몇 명령어를 대신 처리해본다 Docker Desktop을 실행하자 맥을 사용중이라면 메뉴 도구를 한번 확인해보자 Dashbo.. 2023. 10. 23.
(3) 도커 - 리눅스 우분투 이미지로 다양한 도커 명령어 테스트 Docker Desktop을 받으면 일단 기본적으로 docker, docker-compose, docker machine이 설치가 된다 그래서 docker 명령어를 쓸 수 있다 도커 desktop을 실행 후 터미널을 열어서 docker를 입력해보자 이제 도커(2)번 글에서 입력했던 Docker Hub에서 도커 이미지를 받아서 실행시켜보는 것을 해본다 도커 도움말 보기 docker --help 간단한 명령어 및 복잡한 명령어들이 나온다 도커 이미지 검색 docker search --help 보통 명령어에 나오는 [ ] 는 필수값이 아닌 options를 의미한다(없어도 된다는 의미) 그래서 우리가 원하는 우분투 이미지를 검색해보자 docker search ubuntu 라고 입력 우분투와 관련된 이미지 목록들.. 2023. 10. 23.
(2) 도커 허브에 계정 만들기 도커허브란? npm, maven repository, github 처럼 도커 이미지를 검색하고 올리고 다운받을 수 있는 중앙 Repository이다 npm/maven 처럼 formal한 이미지를 올릴 수도 있고, github처럼 이용할 수도 있다 예를 들어, 내가 A컴퓨터에서 docker hub에 자신의 계정에 도커 이미지를 잘 말아서 올려놓고, 배포를 해서 실행할 B컴퓨터에서 docker hub에 있는 자신의 이미지를 다운로드하면 끝나는 것이다! https://hub.docker.com/ Docker Hub Container Image Library | App Containerization Deliver your business through Docker Hub Package and publish ap.. 2023. 10. 20.
(1) 도커 설치하기 https://www.docker.com/get-started/ Get Started | Docker Get started with Docker Desktop and join millions of developers in faster, more secure app development using containers and beyond. www.docker.com 도커 홈페이지에 접속한다 MacOS: mac M1 이상을 쓴다면 Apple Chip을 아니라면 Intel Chip을 다운받자 Windows, Linux.. 윈도우의 경우는 다른 곳에서 WSL2를 미리 다운받고 설치하는 게 좋을 것이다 약관에 동의하고 Accept를 누르자 설치가 잘 됐다면 애플리케이션을 실행시켜보자 그리고 터미널을 열어서 dock.. 2023. 10. 20.
IntelliJ 터미널 조금 더 잘 사용하기 요즘에 카프카로 consume, producer작업을 하는 프로그램을 개발하고 있다 kafka는 broker를 통해 topic으로 consumer, producer가 통신하는데, kafka와 zookeper를 docker-compose로 켜주고, consumer와 producer를 다른 프로세스로 실행해야된다 cosumer의 경로는 $rootProject/consumer producer의 경로는 $rootProject/producer docker-compose의 경로는 $rootProject/ . ├── docker-compose.yaml ├── consumer └── producer 로 각각 다른 경로에서 프로세스가 실행되는 상황이라고 가정한다 이럴 때 개발 툴에서 여러 터미널을 열어야 하는데 보통 i.. 2023. 10. 13.
개발자도구 조금 더 잘쓰기( feat. network tab ) 웹 개발자의 필수도구인 F12 혹은 option + cmd + i 키를 누르면 나오는 개발자도구... 정말 잘 쓰는 사람은 드물다고 생각한다 일단 이번에는 network 탭에서의 간단한 정보들에 대한 것들을 포스팅하려고 한다 개발자도구 탭에서는 정말 여러가지 디버깅을 해볼 수 있는데, 이 중 network 탭을 살펴보자 저 위의 단축키를 눌러서 네트워크 탭을 들어가보자 보통 이런 화면을 볼 수 있을 것이다 여기에는 webserver가 내려준 정적 파일(css, ico, images)들과 http method 등 다양한 것들을 볼 수가 있는데, 프론트엔드 개발자의 주된 관심사는 Http method 호출이다(Application Programming Interface->api라고 흔히 부르는) 위의 Sub.. 2023. 9. 25.
PostMan Hoeny Tips 3 아주 오랜만에 포스트맨 관련 팁을 쓰는 것 같다..!! PostMan의 여~~~러 가지 사용 방법에서 ResponseBody를 포스트맨의 환경 변수로 저장하는 포스팅을 했었다 좀 더 고도화해서 팁을 추가해보려고 한다 목차 1. post-man HTTP /POST 요청 시에 body값 주석 2. response응답에서 headers, body를 뽑아서 환경변수로 저장 3. 단일 request가 아닌, collection 요청 헤더에 전역으로 추가 ------------------------------------------------------------------------------------- 1. post-man HTTP /POST 요청 시에 body값 주석 일단은 postman 테스트를 하기 위한 .. 2023. 9. 25.
1. 프로젝트 생성(Kotlin Springboot) IntelliJ를 사용하고 있다는 전제 하에 글을 작성한다 1. File -> New -> Project 2. Project 정보들을 적어준다 Name: 알아서 Language: Kotlin Type: Gradle-Kotlin(개인취향) kotlin을 선택하면 .kts파일로 gradle이 관리된다 JDK: Spring 3.x.x이상부터는 최소 17을 사용해야 한다 Java: JDK와 동일하게 한다 Group은 개인 또는 회사의 앞에 붙는 패키지명을 입력해주면 된다 Packaging은 Jar를 추천한다 Kotlin은 Lombok을 쓸 필요가 없다. 이후에 설명할 것이다 Web, Spring Data MongoDB, Spring Data JPA, PostgreSQL Driver, Validation 만 추가.. 2023. 8. 22.
0. Kotlin Springboot3.x.x + Spring Data(Postgresql, MongoDB) + Security 최근에 코틀린 스프링으로 작업을 하면서 포스팅을 해보고 싶었다 기본적으로 2023년 8월 21일 기준으로 최신인 3.1.2 버전으로 만들 것이다 https://spring.io/blog/2023/07/20/spring-boot-3-1-2-available-now Spring Boot 3.1.2 available now spring.io 또한 Spring Data Jpa(Postgre), Spring Data MongoDB(MongoDB)를 커넥션으로 설정해서 요즘 많이 쓰이는 ORDB인 Postgresql과 NoSQL의 절대강자 MongoDB에서 간단 또는 복잡한 쿼리는 어떻게 처리하는지에 대해서 포스팅하려고 한다 중간중간 코틀린 문법을 활용해서 Null처리나 로직을 깔끔하게 가져가 볼 예정이다 마지막으.. 2023. 8. 22.
UTM Virtual Machine으로 M1 Mac에서 Ubuntu LTS 버전 설치하기(2023.06) 1. UTM Install https://mac.getutm.app/ UTM Securely run operating systems on your Mac mac.getutm.app dmg파일을 download 받는다 열어서 설치한다 2. Ubuntu 22.04.2 LTS version ISO 다운로드 https://ubuntu.com/download/server/arm Ubuntu for ARM | Download | Ubuntu Download Ubuntu Server for ARM with support for the very latest ARM-based server systems powered by certified 64-bit processors. ubuntu.com 스크롤을 아래로 내려서 LT.. 2023. 6. 8.
M1 mac mysql 설치하기 homebrew가 설치되어있다는 가정 하에 진행한다 설치가 되어있지 않다면 https://code-boki.tistory.com/116 = 8 MEDIUM Length >= 8, numeric, mixed case, and special characters STRONG Length >= 8, numeric, mixed case, special characters and dictionary file Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: [ 선택 ] Please set the password for root here. New password: [ 비밀번호 ] Re-enter new password: [ 다시 입력 ] // 2 - root 패스워드 강도를 그대.. 2023. 6. 6.
MongoDB Compass Download for M1 Mac https://www.mongodb.com/products/compass MongoDB Compass Explore and interact with your data using Compass, the GUI for MongoDB. Query, modify, delete, and more — all from one interface. www.mongodb.com 에 접속한다 Download Now라는 초록색 버튼 클릭 MongoDB Compass Download (GUI)을 다운로드한다 (MongoDB Shell Download 아님!!) 버전은 최신이면서 Stable로 두고 Platform과 Package를 선택하자 우리는 macOS arm64 (M1)을 선택하면 된다 패키지는 기본적으로 dmg이다 다운.. 2023. 6. 5.
M1 mac mongoDB 설치하기 homebrew가 설치되어있다는 가정 하에 진행한다 설치가 되어있지 않다면 https://code-boki.tistory.com/116 2023. 6. 5.