목록분류 전체보기 (497)
규도자 개발 블로그
리눅스(Linux) 명령어(Command)에 대해서 리눅스는 많은 사람들에게 익숙한 GUI(Graphic User Interface)기반의 OS가 아니라 CUI(Commnad-line User Interfase 혹은 Character User Interface)기반의 OS이다. 건조하고 어두운 화면에 뭘 해야할지 모르겠는 빈 화면이 전부인... 그런 모습이다. 이런 리눅스는 말 그대로 명령어기반의 OS이기 때문에 명령어를 얼마나 잘 알고 활용하느냐가 OS활용의 능률을 크게 좌우하는 요소로 작용한다. 파이프(PIPE : |)나 꺽쇠(, >>), 하이픈(Hyphen : -)등을 이용해서 입출력 스트림을 조절할 수 있고 결과값을 임시변수에 담아 다음 명령어에 활용할 수 있는 둥 점점 고도화되고 복잡해지는 소프..
PHP로 리눅스(linux) 크론(cronjob, crontab) 제어하기 2018-12-19CentOS에서는 정상적으로 작동하였으나 우분투에서는 에러를 일으켜 명령어가 좀 더 안정적인 것으로 변경됨. 자세한 변경내역 →깃허브반복된 작업을 알아서 실행해주는 crontab. 로그를 쌓을 때나, 자동 갱신 시스템을 만들 때 등 은근히 많이 쓰이게 된다. 하지만 crontab을 수정할 때마다 항상 불편했는데... 보통 iptables나 dbms처럼 명령어를 통해 cronjob을 등록하고 삭제하는 등의 행동은 수행할 수가 없었다. 항상 crontab -e라는 명령어를 통해 텍스트에디터형식으로 열고 편집하고 저장하고 하는 식으로 작업했지. 그게 불편해서 php에서 원하는 모든 cronjob행동을 제어할 수 있게 ..
Docker로 CentOS이미지 Systemctl 사용하기, 그 세번째 제목에서 알 수 있다시피 Docker로 CentOS의 systemd기능을 사용하는 방안에 대해서 나는 전에도 글을 두 번이나 남긴 적이 있다. 도커(Docker)로 CentOS 이미지 systemctl 사용하기 - 1 도커(Docker)로 CentOS 이미지 systemctl 사용하기 - 2 그렇게 후련한 마음에 이번에는 Docker를 통해 nginx컨테이너를 구동하려고 깃허브를 기웃기웃거리던 와중에 이 레포를 발견했다.CentOS공식 Github 그리고 예상하다시피 이것도 있다.CentOS에서 공식으로 지원하는 Dockerfiles 그리고 물론 이 안에 CentOS에서 systemd를 이용하기 위한 dockerfile도 존재한다. ..
리눅스(Linux)와 유닉스(Unix)의 차이 범주Linux(리눅스)Unix(유닉스) 설명리눅스는 오픈소스이며 무료 OS이다.유닉스는 대학, 회사, 큰 기업에서 주로 선호하는 OS이다.비용리눅스는 무료이다. 따라서 잡지나 책을 동해서도 배포될 수 있다.유료버전의 리눅스도 있지만 대부분 윈도우보다는 저렴하다.유닉스는 판매 회사별로 가격이 다르다.사용자모든사람. 집에서 사용하는 사람에서부터 개발자 그리고 컴퓨터 열혈팬 같은 사람들 모두.유닉스 운영체제는 주로 메인프레임, 서버 그리고 모든사람을 위해 설계된 OSX를 제외한 워크스테이션을 위해 개발되었다. 유닉스 환경과 클라이언트-서버 프로그램 모델은 인터넷의 개발의 필수 요소이다.제조사리눅스 커널은 커뮤니티에 의해 개발되었다. 리누스 토발즈(Linus Ben..
과연 도커(Docker) 컨테이너를 통해 데이터베이스를 운영하는 게 좋은 방법일까? 개인적으로 만들어보고 싶은 웹 어플리케이션이 있어서 도커를 활용해보려고 했는데 데이터베이스와 관련한 부분에서 뭔가 삐걱대는 느낌이었다. 그도 당연할 것이 도커철학과 데이터베이스의 개념 자체가 정면충돌하기 때문이다. 도커는 이미지를 컨테이너화해서 없애고 만들고 하는 식으로 깔끔하면서도 배포환경과 개발환경을 동일하게 만들기 쉽게 해놨다. 만약 개발 및 배포환경으로 쓸 이미지를 구성하는 도중에 어떠한 설정이나 과정이 꼬여 무엇이 잘못된지도 모를 정도로 컨테이너가 망가져버린다면 그냥 컨테이너를 지우고, 새로이 이미지에서 컨테이너를 생성하면 된다. 그리고 완성하면 push명령어를 통해 도커허브에 올려두거나 아예 코드 자체를 볼륨에..
이런 말로도 쓸 수 있겠다. 데이터베이스에 들어가는 값은 최대한 변하지 않는 값이어야 한다. 예를 들어서 어떤 플랫폼에서 나이를 다룬다고 하자. 그리고 사람들의 나이를 각 회원들의 열에 저장하였다. 생각만으로 머리가 아파지지 않는가? 나이를 세는 기준은 무엇인가. 연도? 생일? 만약에 전자라면 해가 지날 때마다 모든 회원들의 나이데이터를 불러와서 1을 더한 다음에 다시 저장하는 과정을 거쳐야 한다. 만약에 후자라면 매일매일 날짜를 체크하여 회원의 생일이 지났는지를 검사하여 생일이 지났으면 해당 회원의 나이를 불러와서 1을 더한 다음에 다시 저장해야한다. 이것도 아주 단적인 예만 말한 것이다. 만약에 회원이 외국인이라면? 혹은 나이를 세는 기준이 바뀐다면? 그도 그럴 것이 이 '나이'라는 것이 현대에 와서..
유명한 프로그래밍 격언이다. 이미 만들어진 걸 또 만들려고 고생하지 말라는 말이다. 좀 더 구체적으로 파고들자면 예를 들어 C언어가 있는데 C언어가 불신스럽다고 C언어를 다시 만들려 하고, 답변형 게시판 알고리즘이나 로직이 이미 인터넷에 그득그득한데 마음에 안든다고 스스로 알고리즘을 아예 새로 만든다던가 하는 것들 말이다. 이 대상은 언어에서부터 서드파티 라이브러리, 그리고 어떤 특정한 문제해결을 위해 발명된 알고리즘(수많은 정렬 알고리즘, 탐색 알고리즘 등)에까지 아주아주 폭넓다. 부단 IT계열뿐만 아니라 일상생활에도 적용되는 이야기이다. 젓가락이 태초의 모습 그대로 완성된 것이라 그 용도에 따른 변형은 조금조금씩 있지만 구조 자체가 변하지 않는 것처럼 말이다. 이처럼 성능개선이나 특성에 따른 변경은 ..
Docker로 CentOS 이미지 systemctl 사용하기전의 게시글에서는 ubuntu이미지를 다운받아 컨테이너로 만든 후에 apache 웹서버를 만들어보았다. 전의 게시글을 보지 못했다면 한번 봐보는 것도 나쁘지 않지만 이미 컨테이너를 올리고 내리는 것과 로컬포트와 도커포트를 연결하는 데에 익숙하다면 이 게시물만 봐도 무방할 것이다.도커(Docker)로 CentOS 이미지 systemctl 사용하기 - 1 [우분투 이미지로 컨테이너 만들어 웹서버 돌려보기] 전에는 우분투리눅스로 돌려봤으니 이제 이 글의 주제인 CentOS로 웹서버를 돌려보자. CentOS컨테이너를 만들어서 apache웹서버 구동해보기 위 게시물에서 했던 과정과 똑같은 절차를 진행해보자. 일단 Docker Quickstart Termi..
쿼리로 구할 수 있는 데이터는 따로 데이터베이스에 넣지 않는 것이 좋다. 그 데이터를 복잡한 연산에 자주 사용하는 것이 아니라면 말이다. 예를 들어 여러 플랫폼에서 흔하게 볼 수 있는 추천인 시스템을 구현한다고 했을 때, 해당 회원에 종속돼야할 정보는 해당 회원에게 발급된 추천인 코드와 해당 회원이 가입할 때 입력하였던 추천인코드, 이 두 개면 시스템을 구성하는 데는 충분하다. 하지만 만약, 해당 회원에게 종속된 데이터에 부가적인 정보, 예를 들어 해당 회원을 추천한 회원들의 목록, 추천한 회원들의 숫자 등의 정보가 부가적으로 존재할 뿐더러 이 정보를 실제 서비스플로우에서 사용하게 되는 경우라면... 갑자기 머리가 아파진다. 특정 회원을 추천한 회원들의 목록은 쿼리로 구할 수 있다. 그 회원들의 숫자 또..
Docker로 CentOS 이미지 systemctl 사용하기 개발, 배포, 테스트 환경을 동일하게 만들어주는 편리한 도구 Docker. 일단 이 게시물은 Docker에 대한 기본적인 요소들을 설명하기보다는 내가 삽질했던 것들을 싹 정리해놨다가 다른 사람들은 나처럼 쌩고생하지 말라는 의미에서 남기는 글이다. Docker에 대한 정보는 아래의 링크에 굉장히 잘 나와있다. 서비큐라 기술블로그Docker가 뭔지도 몰랐을 때 처음으로 Docker가 무엇인지, 어떻게 쓰는 건지 알게 된 블로그이다. Docker를 맨 처음에 접하게 된 건 바쁜 팀장님 대신 알려주는 신입 PHP 개발자 안내서이 책이었다. 굉장히 좋은 책이니 초급 PHP개발자라면 누구라도 봤으면 하는 바람이다. 각설은 이정도로 하고, 이야기의 요지는 ..