전체 글(38)
-
특정 프로세스 떠있는지 확인하는 간단한 shell script
shell script를 보기 전, ps 명령어를 같이 보자. 테스트 환경 : window 10 in wsl ubuntu 22.04 lts man -k ps 를 쳐서 정보를 보자. ps (1) - report a snapshot of the current processes. 현재 프로세스의 스냅샷을 보고합니다. 리눅스 명령어 상에서도 볼수 있듯, ps명령어는 프로세스의 약자로 확인이 된다. 그러면 ps 명령어를 쓸때 가장 많이 쓰는 옵션들은 뭐가 있을까? 내가 자주 사용하는 옵션들을 위주로 기록을 해보자 ps -ef ps -auxf 저 옵션들을 하나씩 info ps 해서 하나씩 뜯어 보도록 하자 -e Select all processes. Identical to -A. 모든 프로세스를 선택합니다. -A와..
2023.10.20 -
openssl 사용방법 이야기
주로 x.509 표준의 인증서 생성, 발급, 검증등의 작업에 많이 사용된다. TLS프로토콜 처리에도 사용되며, 현재 나름 가장 최신인 TLS1.3까지 제공 된다고 한다. 내가 여기서 이야기 하고 싶었던 것은 x.509 표준의 인증서 생성 발급 검증 등의 이야기다. x.509에 대한 설명은 하단 링크로 퉁 칠거다. 이론보다는 내가 어찌 사용했는지 등에 대한 log로 남기고 싶다. 참고 링크 : https://www.ssl.com/ko/%EC%9E%90%EC%A3%BC-%EB%AC%BB%EB%8A%94-%EC%A7%88%EB%AC%B8/x-509-%EC%9D%B8%EC%A6%9D%EC%84%9C-%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C/ openss..
2023.10.19 -
조금 늦은 nhn커머스 회고
nhn커머스 퇴사한지 어언 1년 조금 늦은 회고를 써보려 합니다. #2020년 12월 파견으로 입사 처음에 키즈템프 엠엔씨에스라는 회사에서 먼저 연락이 왔었습니다. 제안은 서버 운영 하면서 개발 해야 할거라고 연락이 왔었습니다. 그 전에도 소규모 회사에서 서버 운영하면서 개발을 계속 해왔지만, 당시에는 주간 대학교 입학을 염두해 두었어서 반쯤 고민하면서 사람인 이력서를 건내 주었던게 기억이 납니다. 저는 면접을 보면서 가장 마지막에 물어보는 버릇이 있습니다. 대략 1시간을 말했는데, 저라는 사람은 어때 보이는지 면접관님의 솔직한 생각이 궁금합니다. 통상 경험상 여기서 지금까지 경험상 두가지의 경우가 있었는데, 패기 넘치는 어린아이처럼 보는 사람과 우리 회사의 문화와 잘 어울릴거 같은 사람인지 말해 주시는..
2022.10.04 -
curl 이란?
curl = client url 클라이언트에서 커멘드 라인이나 소스코드로 손 쉽게 웹브라우저처럼 활동할 수 있도록 해주는 기술 입니다. 서버와 통신 할수 있는 커멘드 명령어 "툴" 입니다. 또한 웹개발에 매우 많이 사용되고 있는 오픈소스입니다. curl의 특징으로는 다음과 같은 수많은 프로토콜들을 지원 합니다. DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, Telnet, TFTP 그냥 사용 방법을 단 한줄로 정리하면, URL을 이용해서 사용 가능한 것들은 전부 사용이 가능 하다고 생각 하시면 됩니다. 사용법 - curl ..
2022.06.13 -
팀원들에게 Git을 알려주기 위해 정리한 13가지 질문들
1. Git이 뭐에요? 형상 관리 도구(Configuration Management Tool)중 하나 입니다. 참고로 형상 관리 도구는 버전 관리 시스템 이라고도 합니다. Git은 소프트웨어를 개발하는 기업의 핵심 자산인 소스코드를 효과적으로 관리할 수 있게 해주는 무료, 공개소프트웨어 입니다. Q1. 로컬과 원격서버의 차이를 알고 싶어요. 원격 서버라고 단어를 칭하는것 보단, 로컬 저장소와 원격 저장소라고 칭하는 것이 맞을거 같습니다. =>로컬 저장소는 내 개발 PC입니다. =>로컬 저장소에 저장 되어 있는 것들을 원격 저장소에 저장 하는 것으로 생각 하시면 됩니다. 2. Git 저장소를 어떻게 만들어요? (Git 프로젝트 환경 만들기 => git init) 저장소를 초기화 하는 명령어가 git ini..
2022.06.07 -
이력서 준비하면서 느낀 것들(2)
이력서 정리 하다보니, 나는 내내 개발 일 하면서 살아 왔다고 생각 했는데 알고보니 인프라 쟁이 였던 그 순간 당황스러웠었다. 왜냐면, 막상 적다 보니 인프라 7, 개발 3정도의 이력이 쌓여 있는 애매한 경력이 되어 버린 것이다. 2017년 일을 시작하면서 나는 개발자로 살고 싶다는 생각을 하였다. 미지의 무언가를 만들어놓는다는게 얼마나 매력적인가! 하면서 힘들어도 자리를 잡기 위해 버티고 또 버텼다. 5년이 지난 지금 이력을 정리하다 보니, 어느새 시스템을 더 많이 만지고 운영한 애매한 경력의 잡부가 되어 버린 것이다! 면접을 진행 하면서, 내내 인프라 경험을 쌓았는데 왜 개발자를 하고 싶냐고 물어 보는데 순간 당황했었다. 왜냐하면 나는 내내 개발자로 살아 왔다고 생각 하고 있었기 때문이다. 남들과는 ..
2022.05.22 -
이력서 준비하면서 느낀 것들 (1)
요즘 회사에서 열심히 이직 준비를 하고 있습니다. 사실 이력을 정리 하면서 느낀것들이 정말 많은데, 하나의 포스팅으로 풀지는 못할거 같고 차근히 풀어 보려 합니다. 1. 이력 정리는 그때그때 하자 -> 생각보다 그때 일이 정말 기억이 나지 않습니다. 그 일을 겪을 당시에는 정말 죽도록 힘들었어도, 내가 그 당시에 어떤 과정으로 개발을 했는지, 회의를 했는지 문서를 그때그때 남겨 놔야 하는 것을 뼈져리게 느꼈습니다. 2. 과정과 함께 그 성과가 어떻게 나타낫는지 같이 기록해 보자 -> 프로젝트가 망칠수도, 엎어질 수도 있지만 그 가운데 내가 어떻게 성장 했고 어떤식으로 나아갈지 결국 그 시간이 내 경력이 되기 때문입니다. 좀 두수없이 썻지만 한줄로 정리 하자면 그 개발바닥 유튜브에서 본 글귀인거 같았는데,..
2022.05.08 -
PHP 버전별 간단정리
PHP 버전이 올라가면서 함수가 생기고, 사라지고, 변경된다. 버전업 프로젝트 진행시 무지성으로 올리면 에러가 출력 된다. 주로 https://www.php.net 에서 함수를 확인 후 적용하면 된다. 그래서 버전이 올라가며 발생한 차이를 굳이 외울 필요가 없다. 근..! 데 5.6 버전에 없는게 너무 많다. 그리고 지금 php 버전은 8.1을 향해 가고 있다. 때문에 5.6부터 8.1 까지 어떻게 바뀌었는지 간단히 정리를 해볼까 한다. PHP 5.6 상수 표현식 지원 '...' 연산자를 이용한 함수 문법 지원 추가된 use 문 (use function, use const) php 7.0 PHP 5.6 보다 2배 빠른 속도 매모리 사용량 대폭 감소 일관된 64비트 지원 (Consistent..
2022.05.01 -
React.js 란? (간단정리)
React : 17.0.0 nginx : 1.21 php : 8.1 위 환경을 docker-compose 이용해서 환경을 구성해 보고자, React.js 부터 공부를 시작해보고자 한다. React란? 리액트는 자바스크립트 라이브러리의 하나로서 사용자 인터페이스를 만들기 위해 사용된다. 출처 : 위키백과 페이스북에서 제공해주는 프론트엔드 라이브러리라고 볼수 있다. 싱글 페이지 어플리케이션에서 사용 될 수 있다. 내가 그동안 프론트엔드에 많은 관심이 없어서 리액트를 왜 쓰는지 잘 모릅니다. 그래서 구글에서 이것저것 검색을 좀 해 보았는데.. 여러 이유가 있었는데 리액트를 가장 많이 사용하는 이유는 주로 하단과 같다. 복잡하고 동적인 웹 어플리케이션에서 UI를 동적으로 나타내기 위해서는 많은 상태를 관리해야 ..
2022.04.27 -
linux apt 명령어
apt란? ubuntu 에서 쓰이는 데비안 계열의 패키지를 관리 하는데 쓰이는 도구이다. 패키지 (package) 란? 1.동사 포장하다 2.동사 (특정한 방식으로) 제시하다 출처 : https://en.dict.naver.com/#/search?range=all&query=package 리눅스에서 쓰이는 패키지란? 커널 & 라이브러리 버전의 배포 환경에 맞춰서 빌드한 환경 파일 압축한것을 말한다. 배포 환경에 맞춰서 빌드한 환경 파일이 전부 우분투 공식 저장소 패키지에 들어갈수 있을까? 정답은 들어갈수 없다. 서버는 결국 유한 자원이고, 모든 파일이 우분투 공식 저장소에 들어갈수 없기 때문이다. 그럼 어떻게 빌드한 환경 파일을 사람들은 사용할수 있을까? 그래서 필요한게 개인 패키지 저장소 PPA (Pe..
2022.03.10 -
docker compose 로 php8 nginx 구성하기
관련 레포 : https://github.com/saranf/docker_study/tree/main/nginx_php docker compose 설치 (22.03.06 기준 최신 버전 2.3) brew install docker-compose docker composer 설치 되었는지 확인 docker composer --version docker 작업 폴더 생성 mkdir docker (현 위치 : /Users/mac/Project/docker) nginx 설정 파일 작성 mkdir nginx/conf.d vim /Users/mac/Project/docker/nginx/conf.d/default.conf server { listen 80; ## 연결 포트 80 root /var/www/html; ##..
2022.03.07 -
한 개발자(?)의 2021년 회고
엄청나게 오랜만에 글을 쓰고, 그 글은 회고로 돌아오게 되었습니다. 2020년 12월, it를 그만 하고 싶어서 대학을 알아보고 있는 와중 코로나로 알바를 찾을수 없어 현재 재직중인 회사에 파견 계약직으로 입사하게 되었습니다. 처음 제안 온것은 백엔드 기술지원이여서 기존에 하던 일과 비슷할거 같아 입사를 하였습니다. 하지만 입사 하고 난 뒤 저에게 돌아온건, 엄청난 휴먼 에러들 2021년 입사하고 가장 충격적인것들을 적어보자면, 1. 서비스 하고 있던 서버를 stop&start를 해야 했다는것 2. 충분히 자동화를 할수 있을거 같은데 굳이 수동으로 한다는 것 이 두개였던거 같습니다. 하지만 1년간 다녀 보면서 저 두개는 충격적인것이 아니라 인력이 부족한 회사라면 어느 누구나 겪을 수 있는 문제라는 것을 ..
2021.12.26 -
20210810 docker 실습
실습내용 docker run -d --name wordpressdb -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=wordpress mysql:5.7 => -e 옵션은 환경 설정하는 옵션이다. => wordpressdb 의 이름을 가진 컨테이너를 실행 한다. => root password는 password로 설정하고 database는 wordpress로 실행 한다. => 이미지는 mysql:5.7 을 사용 한다 docker run -d -e WORDPRESS_DB_HOST=mysql -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=password --name wordpress --link wordpressdb:mysql..
2021.08.10 -
20210809 docker 실습
컨테이너 이미지로 컨테이너를 생성하면 이미지의 목적에 맞는 파일이 들어 있는 파일시스템과 격리된 시슼템 자원 및 네트워크를 사용할수 있는 독립된 공간이 생성 되고 이것이 컨테이너이다. 이미지 컨테이너를 생성할때 필요한 요소이며 가상 머신을 사용하는 iso파일과 비슷한 개념입니다. 이미지는 여러개의 계층으로 된 바이너리 파일이 존재 하고 컨테이너를 생성하고 실행할때 읽기 전용으로 사용 됩니다. 이미지는 도커 명령어로 내려받을수 있으므로 별도 설치할 필요가 없습니다. 실습내용 winpty docker exec -it mysql bash => error 내용 => the input device is not a TTY. If you are using mintty, try prefixing the command ..
2021.08.10 -
깃(git) 그래픽 연습 사이트 - 한글
learngitbranching.js.org/?locale=ko Learn Git Branching An interactive Git visualization tool to educate and challenge! learngitbranching.js.org 깃 연습할수 있는 사이트 입니다. 한글로 되어 있어서 정말 잘 되어 있습니다.
2021.04.22 -
MacOS brew 로 mysql 5.7 설치
설치 환경 OS Version: MacOs Big Sur 11.1 Shell Version : zsh 5.8 , Homebrew 2.7.1 설치 가능한 mysql 버전 확인 brew search mysql mysql 8.0 까지 나온 것으로 아는데 회사에서 mysql 5.7을 사용해서 회사 환경에 맞추어서 5.7을 설치 하였습니다. mysql 설치 brew install mysql@5.7 현 환경이 bashShell 이 아니기 때문에 bash 는 따로 적지 않았습니다. 환경 변수 추가 echo 'export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"' >> ~/.zshrc 환경 변수 적용 source ~/.zshrc mysql 시작 brew services start m..
2021.01.06 -
Mac OS 업데이트시 git 오류
회사에서 맥북을 처음 지급 받고 , git, phpStorm 등등을 설치한 뒤, 소프트웨어 업데이트를 실행 하였습니다. 소프트웨어 업데이트를한 후 분명 깃을 설치를 했는데 상단 사진과 같은 오류(하단 글과 같은) 가 나와서 구글에 검색을 해 보았습니다. 검색을 하고난 후 해결 방법을 찾았고, 나중에 맥을 쓰면 또 비슷한 문제가 발생 할 것 같아 적어 둡니다. 문제 발생 환경 Mac OS Catalina 에서 Mac OS Big Sur11.1 로 소프트웨어 업데이트중 발생 문제 발생 로그 xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/Com..
2021.01.06 -
리눅스(ubuntu)에 Fiddler 설치
테스트 환경 : ubuntu 18.04 1. mono 패키지 설치 sudo apt install mono-complete 2. 피들러 리눅스 패키지 다운로드 패키지 다운로드 3. 다운로드한 패키지 압축 풀기 4. 압축 푼 패키지 위치로 이동 5. 다운로드한 패키지 mono 패키지로 실행 mono Fiddler.exe 완료 후 실행 화면
2020.10.18 -
리눅스에 줌(zoom) 설치하기 in ubuntu
테스트 환경 : ubuntu 18.04 1. gdebi 패키지 설치 sudo apt install gdebi gdebi는 데비안 계열의 패키지 설치 파일인 .deb 파일을 GUI로 손쉽게 설치할 수 있도록 해주는 패키지입니다. 2. zoom 다운로드 센터에 들어가서 환경에 맞는 .deb파일을 다운로드 받기 줌 다운로드 센터 : zoom.us/download?os=linux 화상 회의, 웹 회의, 웨비나, 화면 공유 Zoom은 모바일, 데스크톱 및 회의실 시스템에서 화상 및 오디오 회의, 채팅 및 웨비나를 위한 쉽고 안정적인 클라우드 플랫폼을 제공하는 최신 기업용 비디오 통신의 선두 주자입니다. Zoom Rooms는 zoom.us 위 사진에 보이듯이 ubuntu 최종 버전은 16.04 버전이 최종 버전으로..
2020.09.20 -
cgroup 관련 이야기
리눅스 컨테이너란? 리눅스 컨테이너는 운영체제 수준의 가상화 기술로, 리눅스 커널을 공유하면서 프로세스를 격리된 환경에서 실행하는 기술입니다. 하드웨어를 가상화하는 가상 머신과 달리 커널을 공유하는 방식이기 때문에 실행 속도가 빠르고 성능 상 손실이 거의 없습니다. 리눅스 namespace, cgroup 등의 커널 분리 기능을 활용해 컨테이너로 실행된 프로세스는 커널을 공유합니다. cgroup 이란 cgroup 개요 cgroups는 프로세스들의 자원의 사용을 제한하고 격리시키는 리눅스 커널 기능이다. cgroup 서브 시스템 1. CPU - CPU 사용량 제한 2. CPUacct - CPU 사용량 통계 3. CPUset - CPU나 메모리 배치를 제어 4. memory - 메모리 사용량 제한 5. dev..
2020.09.19