일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- gin recovery
- gin middleware
- go
- go 맥 air
- go 맥
- 골랑 고퍼
- go recover
- go 마스코트
- 신입개발자
- air 환경변수
- go channel
- golang gopher
- go air
- 고루틴 채널
- clean architecture middleware
- go 캐릭터
- go panic
- git
- go 대기그룹
- 좀비고루틴
- gopath 환경변수
- go 패닉
- go 환경변수
- 개발자
- gin logger
- go디자인패턴
- go 맥 air 환경변수
- go air 환경변수
- go middleware
- go clean architecture
- Today
- Total
목록회사 업무 정리 (10)
뽀미의 개발노트

갑자기 잘 돌아가던 서버에서 오류가 났다... 검색을 해보니 네트워크 연결 중에 특정 호스트 이름을 IP 주소로 변환할 수 없을 때 발생한다고 함... 그게 뭔데.. 잘되다 왜 갑자기 안되는 건데.. 무튼 어떤 블로거들이 /etc/hosts 로 들어가서 (윈도우 말고 debian 기준) 127.0.0.1 localhost라는 라인을 추가해주거나 또는 주석을 해제해주면 잘 된다고 함.. 근데 문제는 나는 걍 잘 되어있음... 그러다 어떤 블로거가 '주석을 추가하거나 해제'라는 단어를 사용했고,,, 나는 그것을 보고 잘 있던 줄에 주석을 추가해버렸다,,, 그것이 바로 재앙의 시작,,,,, 혹시나 누군가 에러를 해결하려고 구글링 하던 중 이 블로그를 본다면,,, 함부로 주석을 추가해버리는 실수를 범하지 마십시..
브라우저 밖에서도 javascript로 코드를 실행할 수 있게 해주는 런타임 환경이다. node.js 덕분에 자바스크립트로 백엔드까지 작성할 수 있고 성능이 우수하며 서버 확장에 용이하다. npm은 node.js를 설치하면 함께 설치되는 패키지 매니저이다. 패키지를 다운로드하여 컴퓨터에 설치해준다. 자바스크립트는 다른 프로그래밍 언어에 비해 내장된 API가 부실해서 표준 라이브러리에서 제공할 법한 기본적인 기능도 개발자가 직접 코드를 짜거나 다른 사람이 만든 라이브러리를 가져와 사용해야 한다. 다행히 자바스크립트는 아주 많은 사람들이 이용하고, npm에 패키지를 등록하는 것이 쉬워서 단순한 기능도 직접 구현하기보다는 npm에 공개된 패키지를 설치해서 갖다쓰는 것이 관습화 되었다. 또한 패키지 A가 B를 ..
MIT에서 개발안 라이센스. MIT 라이센스가 붙은 소프트웨어는 1) 이 소프트웨어를 누구라도 무상으로 제한없이 취급해도 좋다(저작권 및 허가표시는 기재 필수), 2) 저자 또는 저작권자는 소프트웨어에 관해 아무 책임이 없다 는 뜻이다. 즉 MIT license 표기되어 있는 것은 수정, 배포가 자유로우며 실무 혹은 상업적으로 이용해도 되지만, 이 소스로 인한 피해는 사용자가 감수해야 한다는 소리이다!! 그래서 이 라이선스가 붙은 라이브러리나 프레임워크를 사용할 때는 신뢰할만한 소프트웨어인지를 잘 따져보고 사용해야한다. 특히나 여긴 회사이고 실제 비즈니스를 다룰거니까! 이 라이선스를 따르는 소프트웨어를 개조한 제품은 반드시 오픈소스로 배포해야 한다는 규정이 없다. GNU 일반 공중 라이선스는 너무 엄격해..
HTML, CSS, JavaScript로 작성된 웹 어플리케이션을 데스크톱 어플리케이션으로 만들어주는 앱 프레임워크 Chromium과 Node.js를 바이너리에 내장하고 있다. 하나의 자바스크립트 코드로 윈도우, 맥, 리눅스 등 모든 운영체제에서 작동할 수 있는 크로스 플랫폼 앱을 만들 수 있다.
Chromium이란? 오픈소스 웹브라우저 프로젝트이다. 크로미엄을 기반으로 한 브라우저는 아주 다양하다. 우리가 써본 것 기준으로 구글 크롬, 마이크로소프트 엣지, 네이버 웨일, ToGate 등이 있다. V8이란? 웹 브라우저를 만드는데 기반을 제공하는 오픈소스 자바스크립트 엔진. 자바스크립트를 bytecode로 컴파일하고 실행한다. 즉 자바스크립트 코드를 마이크로프로세서(컴퓨터 안에 있는 CPU의 핵심 기능을 통합한 집적 회로(IC))가 이해할 수 있게 기계어(머신코드)로 변환해서 실행하는 프로그램이다. 다른 자바스크립트 엔진들은 인터프리터 방식을 사용하지만 v8엔진은 JIT(Just In Time) 컴파일러를 구현한다. 크롬, 마이크로소프트 엣지, ToGate 등의 크로뮴 기반 브라우저와 Electr..
Javascript + Type 문법. 자바스크립트 업그레이드 버전!! 크기가 큰 프로젝트를 하는 곳에서는 거의다 typescript를 씀. 자바스크립트는 dynamic typing이 가능해서 편리하지만 자유도가 높고 유연성이 높은것은 오히려 별로이다. 그러나 타입스크립트는 타입을 엄격하게 짚어주고 에러메시지의 퀄리티가 높다. 타입스크립트는 새로운 언어라기보다는 자바스크립트와 문법이 아주 유사한 코드 에디터 부가기능 역할로 봐도 무방함. 근데 브라우저는 무조건 자바스크립트 파일만 읽을 수 있음. .ts로 만들어진 파일은 브라우저가 읽을 수 없기 때문에 ts 파일을 js로 변환해야 사용 가능하다. 이건 터미널 켜서 tsc -w입력해두면 js로 자동변환되서 브라우저가 읽을 수 있다. typescript를 j..
상태 관리 라이브러리. 상태 관리 라이브러리로는 Redux도 있지만 우리는 MobX를 사용한다. MobX는 Redux와 달리 코드를 깔끔하게 쓸수 있고 oop기반으로 되어있다. 한 컴포넌트에서 state(변수)를 만들고, 다른 컴포넌트에서 저 변수를 갖다가 쓰려면 props 문법을 써야함. 두 컴포넌트가 중간 단계가 여러개면은 그 갯수만큼 props를 써줘야함! 그럼 컴포넌트가 100개쯤 중첩되어 있으면 state를 전해주기 위해서 props를 엄청 많이 써야하는것!! 그럴때 MobX같은 상태 관리 라이브러리를 설치해서 편하게 쓸수 있음. MobX를 깔면 state를 저장하는 store를 따로 만들 수 있음. 그래서 state(변수)를 거기 저장하면 모든 컴포넌트들이 store에서 그 state를 직접 ..
브라우저는 HTML, CSS, javascript로 작성된 텍스트 문서를 어떻게 파싱(해성)하여 브라우저에 렌더링 할까?? 브라우저의 렌더링 엔진은 서버로부터 응답된 HTML과 CSS를 파싱하여 DOM과 CSSOM을 생성하고 이들을 결합하여 렌더 트리를 형성한다. 트리라고 부르는 이유는 body안에 div, 그 안에 img 이런 식으로 뿌리에서 가지를 내리는 형식으로 이루어져 있으니까!! 즉 브라우저의 요청에 의해 서버가 응답은 HTML문서는 문자열로 이루어진 순수한 텍스트라서, 이걸 브라우저에 시각적인 픽셀로 렌더링하려면 그 문서를 파싱하여 브라우저가 이해할 수 있는 자료구조인 DOM(Document Object Model)을 생성하는 것이다. HTML 문서는 렌더링 엔진에 의해 파싱되어 DOM을 구성..
node.js 깔고 git 깔고 user.name, user.email 설정하고 깃랩에서 깃클론 받아서 npm run serve 만 하면 그렇게나 javascript heap out of memory 오류가 나는것.... 페이지가 켜지지 않고 뭐가 안된다고.. 뭐 방화벽인가 그런거 확인하라고만 계속 떴다. https://velog.io/@server30sopt/heap-out-of-memory-%EC%97%90%EB%9F%AC-%ED%95%B4%EA%B2%B0%EA%B3%BC-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EB%88%84%EC%88%98-%EA%B2%80%EC%82%AC heap out of memory 에러 해결과 메모리 누수 검사 작성자: 추서연 작성자의 한마디: "가장 좋은 방..
바로 node.js를 설치해도 되지만 왜인지 계속 오류가 났다. 그래서 node.js 버전 관리 도구인 NVM을 먼저 설치하고 node.js를 설치했다. nvm을 사용하면 node.js를 여러 버전을 설치하고 관리할 수 있다고 한다. 상황에 따라 버전을 바꿔가며 사용 가능하다. 설치가 완료된 후 .bashrc를 로딩해야 nvm 사용 가능하다. source ~/.bashrc ~/.bashrc는 유저가 로그인할때 읽어들이는 파일이라 로그아웃 후 로그인하거나 리눅스를 재시작해야 적용되는거라 수정후 저장해도 그 내용이 바로 적용되지 않는다. 그래서 source 명령어를 사용하여 스크립트 파일을 수정하고 그 값을 바로 적용하는 것이다. https://firework-ham.tistory.com/35 [CentOS..