글

[Book] 프로그래밍 언어도감

[Book] 프로그래밍 언어도감 마스이 도시카츠 / 영진닷컴 / 2018.08.01 '프로그래밍 도감?' 도서관에서 제목을 보고 눈에 띄어 빌리게 된 책이다. 이 책은 For Programming Language Lovers을 위한 책이다. 수백 개의 프로그래밍 언어 중에서 사람들에게 인기 있는 67개를 선별하여 각 언어의 특징과 기능을 간단히 소개하고 있다. 저자가 언어를 선별한 기준은 사용자가 간단하게 실행할 수 있어야 하고, 많은 사람들이 사용하고 있어야 한다는 기준으로 골랐다. 그리하여 선별된 프로그래밍 언어 목록은 다음과 같다. Assembly language, ActionScript, Ada, AWK, Bash, BASIC, bc, Brainfuck, C, C#, C++, CLIPS, Clojure, COBOL, CoffeeScript, csh, D, Dart, Elixir, Erlang, F#, Factor, Fantom, Forth, Fortran, Go, Groovy, Haskell, Icon, Intercal, Java, JavaScript, Julia, Kotlin, LISP, Lua, Nemerle, Nice, Nim, Objective-C, OCaml, Octave, Oz, Pascal, Perl, PHP, Pike, PL/I, PostScript, Prolog, Python, R, Racket, Ruby, Rust, Scala, Scheme, Scratch, sed, Smalltalk, SQL, Swift, Tcl, TypeScript, Unlambda, Visual Basic, Whitespace 아래 사진은 JavaScript 언어를 소개하는 부분이다. 한눈에 봐도 그림과 여백을 활용하기 위해 노력한 느낌이 든다. 한 장의 분량에 한 개의 프로그래밍 언어에 대해 다루기 때문에, 깊은 지식을 얻기보다는 해당 언어의 핵심 키워드를 통해 대략적인 감을 잡을 수 있다. 책을 보면서 흥미로웠던 부분은 67개...

첫번째 Django 연습용 프로젝트 01: 소개 및 환경 설정

첫번째 Django 연습용 프로젝트 01: 소개 및 환경 설정 소개 이번 포스팅에서는, 파이썬과 장고(Django) 프레임워크를 이용해서 웹 기반의 스도쿠 게임을 만들기 위해서 Django 설치 및 세팅을 하는법에 대해서 다루도록 하겠습니다. 장고(Django)? 장고(django)는, 파이썬을 기반으로 한 오픈소스 웹 프레임워크 이다. 일반적인 웹 프레임워크와 다르다고 할 수 있는 점은, 기존의 다른 웹 프레임워크들(Spring MVC, code ignitor, laravel 등)과는 다르게, MTV 라는 구조를 가진다는 것이 특징이다. 또한, 웹 프로젝트를 작성 할때, 각 기능들을 app이라는 단위로 각각 분리해서 개발 할 수 있다는 특징이 있다. 마지막으로, django는 플러그인 기반의 아키텍처를 지원 하기 때문에, 비록 다른 django 프로젝트에서 만든 앱이라고 하더라도, 해당 앱 부분만 떼와서 우리의 프로젝트에 자유롭게 가져다 붙일수 있다. 이에 대한 자세한 내용은 다음 포스팅에서 다루도록 하겠다. 이제, django 프로젝트를 직접 만들어보도록 하자. 환경 설정 1. Pyenv 설정 (먼저, pyenv 설치가 안되신 분들은 아래의 링크를 참조해 주시기를 바랍니다. pyenv 설치하는 법 : https://semtax.tistory.com/28 먼저 아래와 같이, pyenv로 파이썬을 다운로드 받아 준다. $ pyenv install 3.6.8 그리고 나서, 아래와 같이 virtualenv 환경을 만들어 준다. $ pyenv virtualenv 3.6.8 django_sudoku 마지막으로, 아래와 같이 가상환경을 실행 시켜준다. $ pyenv activate django_sudoku 2. Django 설치 pyenv를 이용해서 가상 환경을 실행시켜준 상태에서, 아래와 같이 django를 설치 해준다. $ p...

홈스테드, 발렛 없이 라라벨 설치하기 (with WSL)

홈스테드, 발렛 없이 라라벨 설치하기 (with WSL) 깃헙 주소 : https://github.com/RGBplace/laravel.git 그동안 라라벨을 항상 멀리서만 바라봤는데, 최근 업계에서도 라라벨을 많이 쓰고 있어서 조금 더 취업문을 넓혀보자는 마음에 라라벨을 설치하기로 했다. (지인의 말로는 CI 할 줄 알면 라라벨도 똑같다고는 했는데,, 그건 내가 해봐야 아는 걸테고.) 발렛으로 설치하려하니 로컬환경에서 이미 웹서버를 사용하고 있는 경우엔 거의 포기해야시피 해야됐고 홈스테드는 가상화 지원 필수, Hyper-V 포기 등 사용의 제약이 있는 것을 확인했다. 필자는 운이 나쁘게도 그 둘 모두에 해당됐다. 맥에서는 나름 쉽게 Nginx 웹서버 기반하에 술술 설치가 됐는데, WSL 에서는 Permission Error, vendor/autoload.php 경로 설정 등 맥에서 볼 수 없었던 에러가 발생했다. 나름 고통이 있었지만 결국은 설치했다. 그래서 본인처럼 헤멜 사람들을 위해 필자가 진행한 설치 방법을 공유해봄. 1. 우선 디렉토리를 하나 잡는다. 본인은 WSL 을 사용해서 D 드라이브에 설치했다. /mnt/d/work/www 2. composer 를 설치한다. 본인은 추가로, composer 를 /usr/local/bin 에다 넣어서 global 하게 쓰는 것 역시 별로 안좋아한다.. npm 이라면 모를까.. 그래서 curl -sS https://getcomposer.org/installer | php 이 명령어로 우선 컴포저를 생성하고 php composer.phar require laravel/laravel php composer.phar create-project --prefer-dist laravel/laravel laravel(디렉토리명) 이런식으로 라라벨과 프로젝트를 설치했다. 이후 웹서버 경로는 /웹서버/디렉토리명/public 으로 잡으면 된다. 3. pub...

[AWS] AWS Lightsail Laravel 배포

[AWS] AWS Lightsail Laravel 배포 [Cloud]/[AWS] ls sudo passwd root sudo nano /etc/ssh/sshd_config PermitRootLogin prohibit-password PasswordAuthentication no PermitRootLogin yes PasswordAuthentication yes sudo service sshd restart apt-get update apt-get install nginx apt-get update && sudo apt-get upgrade UTF-8 선택 Keep the local version currently installed 선택 apt-get install software-properties-common add-apt-repository ppa:ondrej/php apt-get update apt-get install php7.3 php7.3-xml php7.3-gd php7.3-opcache php 7.3-mbstring apt-get purge apache2 apache2-utils apache2-bin apache2.2-common apt-get install mysql-server apt-get install php-mysql ssh-keygen cat ~/.ssh/id_rsa.pub from http://buildabetterworld.tistory.com/26 by ccl(A) rewrite - 2020-03-07 04:55:34

[생활코딩|WEB1#7] 웹서버 운영하기:윈도우 2019.12.27

[생활코딩|WEB1#7] 웹서버 운영하기:윈도우 2019.12.27 본 게시글은 유튜브 생활코딩 온라인강의를 시청한 후 학습한 정보를 기록하는 목적의 게시글입니다. 생각의 흐름에 따라 작성된 게시글입니다. 가독성이 떨어질 수 있습니다. 생활코딩 유튜브 생활코딩 사이트 "어떤 문제가 우리 삶에서 중요하고 심각할 수록 그 문제를 해결해 주는 공부는 문제로부터 우리를 해방시켜줄겁니다." (생활코딩 : Web1 -1 수업소개. 중) #0. 안녕하세요! 생활코딩 web1의 마지막 편입니다. 각설하고 바로 달려볼까요? #1. 웹서버를 제공하는 제품은 그 종류도, 가격대도 다양합니다. 출처: https://www.zdnet.co.kr/view/?no=20140509133052&re;=R_20160119093733 위 사진을 보시면 아파치가 웹서버 점유율에서 압도적으로 1위를 차지하고 있는 것을 확인할 수 있습니다. Apache + PHP + MySQL로 이루어지는 웹서버, 언어, DB는 그만큼 높은 가치를 인정받고 있습니다. 이번 시간에는 APM의 한 축인 아파치를 써보고자 합니다. #2. https://bitnami.com/stack/wamp Window, Apache, MySQL, PHP의 앞글자를 딴 WAMP입니다. 서버를 구축할 때 별도로 가상 머신에서 환경을 구축해도 되지만, 크게 환경적 요인을 제어받지 않는 웹 프로젝트의 경우 윈도우에서 전체 테스트를 진행, 빌드해봐도 무관합니다. 물론, 필자는 웹서버의 경우 리눅스 운영체제를 추천합니다. 그렇지만 이번시간은 실습이니 Bitnami에서 배포한 WAMP Stack을 이용해보도록 하겠습니다. 로그인은 구글계정을 연동하기에(로그인을 하지 않으셔도 됩니다), 운영체제에서 window를 찾아 다운받으시면 됩니다! 그 구성을 살펴보겠습니다. - 젠드 프레임워크(Zend Framework) php의 메인...

2020년의 웹 기술 개발 스택

2020년의 웹 기술 개발 스택 웹 응용 프로그램을 개발할 때 고려해야 할 가장 중요한 것은 앱의 기반이 되는 기술 스택이다. 적절한 기술 스택을 통해 적은 예산으로 가장 큰 효과를 제공하는 것은 기업 입장에서는 특히 어려운 과제이며 올바른 기술 스택 사용은 프로젝트의 성공과 실패를 결정짓는 중요한 열쇠다. 물론 필자는 프로젝트를 직접 운영하고 있지도 않고, 사용할 기술 스택을 선택할 입장이 아니기 때문에 해당 사항이 없다. 하지만 2020년을 살아가는 Front-End 개발자로서 쌓아나가야 할 기술 스택의 방향성을 정하는 데 도움이 되고자 포스팅을 해본다. 2020년 웹 기술 개발 스택 최신 웹 기술 스택을 선택하기 이전에 웹 응용 프로그램 개발 프로세스 구성요소를 명확하게 이해해야 한다. 웹 개발에는 크게 클라이언트 쪽과 서버 쪽의 두 가지로 나뉜다. 클라이언트 측 프로그래밍 (Front-End) 웹 개발에는 사용자가 화면에서 보는 모든 것이 포함된다. 주요 프론트엔드 기술 스택 구성 요소는 다음과 같다. HTML (Hyper Markup Language) 및 CSS (Cascading Style Sheets) HTML은 브라우저에게 웹 페이지의 내용을 표시하는 방법을 알려준다. CSS는 그 내용을 스타일링 한다. (+) Bootstrap : HTML, CSS 관리에 유용한 프레임워크 JavaScript (JS) 웹 페이지를 대화식으로 만든다. 더 빠르고 쉬운 웹 개발을 위한 많은 JS 라이브러리와 프레임워크가 있다. - 라이브러리 : jQuery, React.js 및 Zepto.js - 프레임워크 : Angular, Vue, Backbone 및 Ember) 서버 측 프로그래밍 (Back-End) 서버 측은 어플리케이션(Back-End), 데이터베이스 및 서버 자체가 포함된다. 사용자에게 보이지 않지만 발전소가 집에 전기를 생성하는 것처럼 클라이언트 측에 전원을 공급하는 역할을 한다. 문제는 주로 웹 응용 프로그...

GitHub

GitHub 솔트펀 티스토리 atLeast SALTFUN 2020. 2. 1. 03:56 https://www.opentutorials.org/course/307/2475 1. INTRO 2. 서비스 구성(홈페이지) 3. 서비스 구성(저장소) 4. 가입과 저장소 생성 5. 로컬 저장소 6. 이슈 7. GitHub Page 1. INTRO 여기서 소개하는 내용들을 2012년에 만들어진 컨텐츠에 대한 것이다. 버전관리 시스템이란? 문서나 코드의 변경사항을 저장해서 과거의 상태를 열람, 복원 할 수 있도록 한다. 또 협업시에 협업자들의 변경사항을 자동으로 붙여주고, 충돌을 방지한다. 버전관리시스템은 처음에는 조금 까다로울 수 있지만 나중에는 버전관리시스템이 없이는 프로젝트를 불안해서 할 수가 없을 정도가 될 정도로 유용하게 쓰인다. 생활코딩 버전관리 시스템 수업 : http://opentutorials.org/course/302 버전관리시스템에는 GIT, Subversion, Mercurial 과 같은 제품들이 있는데 GIT은 분산형 버전관리시스템으로서 가장 성공적인 버전관리시스템이고 가장 많이 사용되고 있다. 그 전까지는 Subversion 이 많이 쓰였으나 GIT이나 Mercurial과 같은 분산형버전관리시스템으로 대세가 이동하였다. Git이란? 버전관리 시스템의 제품 중의 하나로, 분산형 버전관리 시스템으로 분류된다. 생활코딩 Git 수업 : http://opentutorials.org/course/303 GitHub란? GitHub에 대해 알기 위해 Git에 대한 지식이 꼭 필수인 것은 아니다. GitHub은 버전관리를 위한 솔루션이기도 하지만 여러 가지 프로젝트들을 배포하는 역할도 하기 때문에 버전관리시스템에 참여하지 않는다 하더라도 GitHub사이트의 사용법에 대해 알면 도움이 되기 때문에 버전관리와 상관없이 GitHub에 대해 알아 볼 수 있다. http://github.com...