목록분류 전체보기 (115)
coding etude
TS 를 공부하던 중 블록체인을 만드는 과정을 TS로 구현하는 방법을 봤는데 어렴풋이 알고 있던 블록체인의 개념을 조금 더 선명하게 만들기 위해서 이것 저것 알아봤는데.. 기본 개념은 단순하지만 구현은 어렵다는 결론... 평소에 자주 듣던.. 먼저 만들어둔 형들이 많으니.. 그냥 형들꺼 가져다 쓰라는 명언이 생각 난다. 블록체인? 블록 체인이란 무엇일까?? 말 그대로 블록들이 체인형태로 연결 되어 있는 Linked List 구조의 자료 구조라고 할 수 있다. 다시 말해 가장 처음 생성된 블록에서 부터 마지막에 생성된 블록까지 모두 연결되어 있고 여러개의 블록이 마치 하나의 체인처럼 연결되는 구조라고 할 수 있다. 즉, 수만 건의 거래내역을 하나로 묶은 블록체인은 여러 저장소에 분산되어 관리되는 거대한 분..
이전 포스팅에서는 zsh의 설치와 설정방법을 알아보았다. 이 포스팅에서는 폰트 문제와 테마를 조그 더 다양하게 이용하는 방법에 대해 포스팅 해보려고 한다. zsh을 설치 후 실행하면 대부분 폰트가 깨져서 나올 것이다. 그래서 기본 폰트를 다른 폰트로 변경해 줘야 하는데 이 폰트들은 새로 다운받아서 적용해 주어야 한다. 1. 다양한 폰트 다운로드 우선, ohmyzsh에서 기본 테마에 호환되는 폰트를 다운받아서 적용시켜주면 간단한 문제이지만 폰트는 워낙 종류도 많고 다운로드 루트를 찾기 난해하기 떄문에 어려움을 느낄 수도 있지만.. 그냥 구글링을 하면 바로 찾을 수 있다. 그 중에 D2Coding font 는 압축 파일을 받아서 ~/fonts 폴더에 새폴더를 생성해서 압축을 풀고 넣어주면 되기 때문에 비교적..
1. zsh는 무엇인가? 우선 ubuntu 를 사용하는 가난한 유져로서.. 지금까지 bash 를 사용해 왔는데 왜 굳이 zsh로 변경을 했을까 생각 하면 일단 디자인과 MacOS의 기본 z-shell 이기때문이라는 반반의 마음이였달까?? (언젠가.. MacBook를 쓸겠지...ㅠ) zsh 는 기본적으로 bash 와 매우 흡사하고 동일한 기능을 가지고 있으면 그 외 bash 에는 없는 추가기능 들이 추가되어 있다. 거대한 커뮤니티를 형성하고 있는 zsh은 oh my zsh 이라는 plugin 프레임 워크를 토하여 다양한 플러그인과 테마를 제공하고 있다. 또, 「기본 제공되는 맞춤법 수정, 향상된 명령 줄 완성, 셸의 플러그인 역할을하는 로드 가능한 모듈, 명령 대신 파일 이름 또는 명령 줄의 다른 항목을 ..
고난의 연속 2주 프로젝트 후 잠깐의 여유도 없이 바로 4주 프로젝트를 진행했다. 이전 프로젝트에 대한 아쉬움(조금 더 시간이 있었더라면..)을 상기하며, 새로운 프로젝트의 SR을 시작했고, 생각보다 빠르게 진행되었고 아이디어 역시 가능한 범위 내에서 선정하고.. 처음 시작은 매우 순조로웠다. 하지만, 첫 프로젝트에서 알게 된 지식들은 정말 빙산의 일각임을 금방 알게 되었다. 많은 언어, 프레임워크, 모듈이 존재하고, 그것들 중 하나를 선택하고 공부하고 사용하기까지의 시간은 퍽 힘들었다. 밤을 지새운다면 다음날에 팀원에게 피해를 주니 잠은 4시간 정도는 자야 했고, 그렇게 새벽까지 매일 자료를 찾아보고 사용해보고 오류를 수정해가는 나날을 보내게 되었다. 소통의 오류 프로젝트를 시작하고 열흘 정도.. 개인..
첫 시작, 첫 프로젝트 처음이라는 말은 언제나 혼란스럽고 겁이 난다. 첫 프로젝트.. 모든 것이 혼란스러웠다. 프로젝트를 시작하는 느낌은 마치 '자음과 모음을 배웠으니, 이제 장편소설을 하나 써보세요'와 같은 느낌이랄까..? 물론 첫 프로젝트를 진행하면서 나에게 바라는 것 '그냥 겁먹지도 말고 오버하지 말고 단어를 써보거나 가능하면 문자를 써볼까요?' 정도의 수준이랄까... 프로젝트팀과의 첫 미팅에서 하루가 부족할 정도로 많은 것을 정하고 토론하고 작성하고, 기획 자체는 거대 플랫폼 저리 가라 할 정도로 기획을 했다. 고난의 시작이였다..... Back-end 란 무엇일까? 나에게 부여된 역할은 서버 구현과 DB의 관리. 계속 Front-end 만을 생각해 오다가 갑자기 Back-end 라니... 하지만..
sequelize 를 사용하여 서버를 구현 하려면 일단 nodejs 를 사용 하여 package.json 파일을 만들어 주고 사용할 미들 웨어들으 추가해 주어야 한다. npm init : package.json 파일을 생성해 준다. npm install 을 이용하여 사용할 DB 와 각종 미들웨어를 설치해 준다. 이번에는 기본적으로 mysql을 이용 하여 서버를 구축하려고 한다. 필요한 미들웨어에는 여러가지가 있지만 우선적으로 express, express-session, body-parser, jsonwebtoken, mysql, mysqkl2, sequelize , sequelize-cli(dev) #dev는 devdependencies 를 말한다. 등등 앞에서 나열한 미들웨어는 필수로 설치해 주자....
dotenv(.env) 는 구동에 필요한 환경변수를 저장하여 외부에 유출 되는것을 막는 기능을 한다. 예를들어 외부 API 키, 접속 비밀번호, 접근 허용 token 제작용 secret키 등등 외부에 유출시 보안에 문제가 되는 것들을 보호해주고 사용 가능하게 만들어 주는 파일인 것이다. dotenv를 사용하기 위해서는 먼저 설치를 해주어 dependencise에 추가해 주고 env가 필요한 파일에 다음과 같이 참조를 해주어야 한다. //dotenv 설치하기 npm i dotenv; //dotenv 참조하기 require(dotenv).config() 간단한 예로 config 파일에 DB에 접속하기 위한 아이디 값과 비밀번호를 코딩하면서 그대로 적어 둔다면 누구나 DB에 접속이 가능하게 되는데 이것을 다음..
OAuth : 클라이언트 서버의 인증 방식이며, 유저()user)가 클라이언트 서버(client-server)를 통해 제 3의 서버(resource-server)로부터 인증을 받아 허가된 기능을 사용 할 수 있게 하는 인증 방법을 말한다.(http://www.oauth.com) OAuth 는 따로 설치 할 필요 없이 OAuth를 제공하는 사이트에서 그 권한을 얻어 내가 만든 웹이나 앱에서 사용 할 수 있는 기능이다. 기본적인 개념을 정리하고 가자면 공식 문서에는 네 가지를 설명하고 있다. 1. resource-owner : 보호 된 리소스에 대한 액세스 권한을 부여 할 수있는 주체(제3 인증 사이트). 2. resource-server : 서버 허가 토큰을 사용하여 보호 된 리소스(자원)를 사용가능하게 ..