본문 바로가기

개발 관련/etc

(19)
JSON-RPC 서버 일단 JSON 부터 알아보자. JSON이란, JavaScript Object Notation의 축약어이다. 이름에서 알 수 있듯이 javascript에서 객체를 만들 때 사용하는 표현식을 의미한다. 또한 어떤 형식으로 데이터를 주고받을지 정해 놓은 표준 데이터 포맷이다. 이 데이터는 Remote Procedure Call, 즉 RPC 방식으로 데이터를 주고 받는다. RPC는 서보 쪽에 함수를 만들어두고 클라이언트에서 함수를 호출하듯이 데이터를 요청할 수 있도록 만들어주는 표준이다. JSON과 RPC를 함께 사용하면 서버 쪽에 구축해야 하는 기능을 함수별로 명확하게 구분하여 만들 수 있다. 이 때문에 서버의 유지 관리가 쉬워진다. 즉, JSON-RPC 서버란, 서버 쪽에 함수를 만들어 두고 클라이언트에서 ..
미디어 타입 HTTP는 웹에서 전송되는 객체 각각에 MIME 타입이라는 데이터 포맷 라벨을 붙여, 인터넷에서 다루는 수천가지 데이터 타입을 관리한다. 즉, 웹 서버는 모든 HTTP 객체 데이터에 MIME 타입을 붙인다. 이 때 MIME는 Multipurpose Internet Mail Extensions로 다목적 인터넷 메일 확장이라 불린다. MIME 타입은 사선(/)으로 구분되며, 주 타입/부 타입 으로 이루어진다. ex) text/html, image/jpeg
HTTP/웹서버 HTTP는 Hypertext Transfer Protocol의 약어로, 하이퍼텍스트 전송 프로토콜이라 하며 월드 와이드 웹(World Wide Web, WWW)에서 통신하는 데 사용하는 프로토콜 프로그램이다. HTTP는 신뢰성 있는 데이터 전송 프로토콜을 사용해, 통신 전송 중 파괴되거나, 중복, 왜곡되는 것을 막아준다. 웹 서버는 HTTP 프로토콜로 의사소통 하기 때문에 보통 HTTP 서버라고 불린다. 이 웹 서버는 인터넷의 데이터를 저장하고 HTTP 클라이언트가 요청한 데이터를 제공한다. 때문에 웹 서버는 웹 리소스를 관리하고 제공한다. 웹 리소스는 웹 콘텐츠의 원천이다. 즉, 클라이언트는 서버에게 HTTP 요청을 보내고, 서버는 요청된 데이터를 HTTP 응답으로 돌려준다.
vue.js webpack 설치 webstorm으로 vue를 사용할 일이 생겼다. npm install -g vue-cli vue init webpack my-project cd my-project npm install npm run dev 참고로 vue init webpack my-project를 입력하면 설정화면이 뜨는데, 나는 vue-router만 설치하고 다른 것들은 N을 했다. (잘 모르기 때문ㅎ) 설치가 다 잘 끝나면, 다음과 같이 디렉토리가 설정된다. (자세한 설명은 추후 추가)
용어 모음 [프레임워크(framework)] 개발자들의 개발 생산성을 높이기 위해 일정한 틀과 규칙에 따라 개발하도록 미리 구조를 정의해 놓은 도구 [라이브러리(library)] 자주 사용되는 기능들을 모아 재활용할 수 있도록 정리한 기술 모음집 [Vue.js] 화면단 라이브러리이자 프레임워크 [돔(dom)] HTML 문서에 들어가는 요소의 정보를 담고 있는 데이터 트리 HTML 문서에 들어가는 요소(태그, 클래스, 속성 등)의 정보를 담고 있는 데이터 트리 [돔 리스터(DOM Listener)] 돔의 변경 내역에 대해 즉각적으로 반응하여 특정 로직을 수행하는 장치 [뷰(View)] 사용자에게 보이는 화면 [데이터 바인딩(Data Binding)] 뷰(view)에 표시되는 내용과 모델의 데이터를 동기화 [모델(Mo..
[AWS&Docker 다뤄보기] 1. AWS와 Docker devOps란? devOps는 Development와 Operations의 합성어로, 2008년 애자일 컨퍼런스에서 "애자일 인프라스트럭쳐"에 대해 논의하며 처음으로 사용된 단어이다. 개발과 운영이 상호의존적으로 대응해야 한다는 말로, 개발과 운영 사이의 역할이라고 보면 된다. 또한, 소통, 협업, 통합 및 자동화를 강조하는 소프트웨어 개발 방법론으로 jira, confluence, bitbucket, jenkins, cloud server, docker 등이 이에 해당된다. 이 devOps의 등장으로 개발주기는 확연히 짧아졌다. 다음과 같은 이유 때문이다. 속도 배포까지의 빠른 작업속도를 효율적으로 제공해, 시장 변화에 빠르게 대처함 빠른 배포 새로운 릴리즈와 버그 픽스를 빠르게 배포하며, 그로 인해 ..
[CLion] MinGW 한글 깨짐 CLion을 윈도우에서 사용하니 한글이 깨져서 출력되었다. 일단은 캐릭터 셋(character set)을 euc-kr 이나 CP949로 바꿔줘야겠다고 생각했다. 1. CMakeLists.txt 변경 CLion의 CMakeLists.txt 에 set(CMAKE_CXX_FLAGS "-fexec-charset=CP949") 를 추가했다. 하지만,,,여전히 해결되지 않는 한글깨짐,,, 2. 윈도우 지역 옵션 변경 좀 더 구글링을 해보니 윈도우 지역에서 옵션 변경을 해주면 된다고 나와있었다. https://stackoverflow.com/questions/388490/how-to-use-unicode-characters-in-windows-command-line/15858812#15858812 How to use..
[CleanCode] 10. 클래스 로버트 C. 마틴의 클린코드 10장을 읽고 정리한 내용이다. 클래스 체계 클래스를 정의하는 표준 자바 관례에 따르면, 가장 먼저 변수 목록이 나온다. 정적 공개(static public) 상수가 있다면 맨 처음, 그 다음으로 정적 비공걔(private) 변수, 이어서 ㅇ비공개 인스턴수 변수가 나온다. 공개 변수가 필요한 경우는 거의 없다. 변수와 유틸리티 함수는 가능한 공개하지 않는 편이 낫지만 반드시 숨겨야하는 법칙도 없다. 클래스는 작아야 한다 클래스를 설계할 때도, 함수와 마찬가지로, '작게' 가 기본 규칙이다. 함수는 물리적인 행 수로 크기를 측정하지만, 클래스는 다른 척도를 사용한다. 클래스가 맡은 책임을 센다. * 단일 책임 원칙 클래스나 모듈을 변경할 이유가 하나, 단 하나 뿐이라는 원칙이다..