[Go] Error 처리는 어떻게 해야할까?

Don’t just check errors, handle them gracefullyErrors, 체크만 하지말고 우아하게 처리하세요.너무 좋은 포스트 원문과 번역을 읽게되었다. 내가 이해한 내용을 바탕으로 요약해보고자 한다.모든 설명과 소스코드는 원문과 번역을 참고하

2022년 4월 19일
·
0개의 댓글
post-thumbnail

[risc-v]C를 risc-v assembly로 변환하기

어셈블리어(assembly language) 또는 어셈블러 언어(assembler language)는 기계어와 일대일 대응이 되는 컴퓨터 프로그래밍의 저급 언어이다. (wiki)어샘블리어를 소개하기 전에 개발자가 C언어로 작성한 소스코드가 실제로 어떻게 실행되는지 알아

2022년 4월 17일
·
0개의 댓글
post-thumbnail

[Go, Python] gRPC 맛보기

gRPC란? > gRPC란 구글에서 개발한 RPC(remote procedure call) 시스템이다. gRPC는 데이터 전송을 위해서 HTTP/2를 사용하고, IDL(interface description language)로 Protocal Buffer를 사용한다

2022년 4월 17일
·
0개의 댓글
post-thumbnail

[Go] _test.go는 import 할 수 없다. (error (no required module provides package))

요즘 TDD를 실천하면서 test코드를 열심히 작성하고 있다.그런데 test코드 사이에서 코드의 중복이 발생하는 경우가 종종 발생하였다.이를 태면,사용자가 컨텐츠를 만드는 서비스를 생각해보자.사용자를 생성하는 api는 더미 사용자 데이터 생성사용자 생성 api 호출반

2022년 4월 10일
·
0개의 댓글
post-thumbnail

JWT (Json Web Token)와 비대칭키

JSON object를 사용하여 정보 전달을 암호화 하는 방법의 일종으로 공개된 표준이다. JWT는 편리하고(compact) 자가수용적인 (self-contained) 방식으로 정보를 안전성 있게 전달한다. JWT 는 필요한 모든 정보를 JWT 스스로 가지고 있다.

2022년 4월 7일
·
0개의 댓글
post-thumbnail

[Go]Dependency Injection

Dependency Injection 의존성 주입, 의존관계 주입 이란 무엇일까? A의 변화가 B에 영향을 준다면 B는 A에 의존한다. A가 변할 경우 B는 영향을 받는다. 즉, B는 A에 의존한다. 이런 경우 B를 생성하고 실행하기 위해서는 A가 있어야한다.A, B

2022년 4월 3일
·
0개의 댓글

[CS] 운영체제란?

운영체제는 크게 시스템 관점과 사용자 관점으로 바라볼 수 있다. 우선 시스템 관점에서 바라보면, 운영체제는 자원 할당자(Resource Allocator)로서 기능 한다. 컴퓨터를 구성하는 많은 자원들(cpu, memory, storage..)을 필요로하는 프로그램들

2022년 3월 25일
·
0개의 댓글

프로그램, 프로세스, 쓰레드란?

리눅스의 ps -ef이라는 명령어는 현재 실행중인 프로세스의 목록과 상태를 보여준다. 이 명령어를 통해서 지금 컴퓨터가 CPU자원을 어디에 쓰고 있는지 확인할 수 있다. 그렇다면 이 프로세스라는 것은 무엇일까? 프로그램, 쓰레드, 운영체제, 커널 등의 개념에 대해서

2022년 3월 25일
·
0개의 댓글
post-thumbnail

[golang] missing Location in call to Date 에러

나는 다음과 같이 2 stage로 도커파일을 구성하여, 개발 - 배포 컨테이너를 분리하였다.개발환경에서는 아무런 문제가 없었는데 배포하고 난 후 timezone과 관련된 에러가 발생했다.찾아보니 builder 이미지에는 들어있는 timezone 정보가 scratch 이

2022년 3월 25일
·
0개의 댓글
post-thumbnail

[네트워크] 통신을 중계하는 proxy, reverse proxy, gateway

서버와 서버, 혹은 서버와 클라이언트 사이에서 정보를 교환할 때 이를 중계 Inbound Traffic vs Outbound Traffic Inbound Traffic : 인터넷에서 서버로 들어오는 네트워크 요청 Outbound Traffic : 클라이언트가 인터넷

2022년 3월 8일
·
0개의 댓글
post-thumbnail

[Go] Gin Web Framework CRUD 맛보기.

Hands-On Full-Stack Development with Go 책을 참고하여 Go의 CRUD web api를 만들어보았다. Pagenation 및 Swagger를 추가한 코드는 git에서 확인가능하다. https://github.com/deagwon

2022년 2월 10일
·
0개의 댓글
post-thumbnail

[네트워크]외부에서 Private Network에 접속할 방법이 없을까? Reverse SSH Port Forwarding을 통해 방법을 찾아보자.

회사 데스크탑을 집에서 SSH로 접근할 수 있다면 집에서도 재택을 더 효율적으로 할 수 있지 않을까 하는 생각이 들었다. 하지만 외부에서 사내 데스크탑에 접속하는 것은 쉽지 않다. 공유 오피스 관리팀에 포트 포워딩을 요청 해야 하며, 중간에 공유기가 있다면 그 공유기

2022년 1월 15일
·
0개의 댓글
post-thumbnail

Race Condition

Mutli task를 수행하다 보면 동일한 자원에 서로 다른 task가 접근하는 상황이 생길 수 있다. 이때 Race Condition 혹은 Dead Lock과 같은 문제가 발생하기도 한다. Race Condition에 대해 알아보자.

2021년 12월 5일
·
0개의 댓글
post-thumbnail

Multi Task, Multi Processor

컴퓨터는 "Process & Thread"라는 작업을 생성하고 CPU라는 자원이 이 작업을 수행하는 장치이다. 컴퓨터가 어떻게 여러 자원으로 여러 작업을 수행하는지 알아보자.

2021년 12월 5일
·
0개의 댓글
post-thumbnail

Context Switching 이란?

Processor가 수행하고 있는 Task(Process, Thread)의 context를 저장하고 다음 진행할 Task의 context를 읽어 수행하는 과정을 Context Switching이라고 부른다. 자세히 알아보자.

2021년 12월 4일
·
0개의 댓글
post-thumbnail

프로세스란?

리눅스의 `ps -ef`이라는 명령어는 현재 실행 중인 프로세스의 목록과 상태를 보여준다. 이 명령어를 통해서 지금 컴퓨터가 CPU자원을 어디에 쓰고 있는지 확인할 수 있다. 그렇다면 이 프로세스라는 것은 무엇일까?

2021년 12월 4일
·
0개의 댓글
post-thumbnail

Django의 개발 / 배포 환경을 구축해보자. (feat, Gunicorn, Nginx, Let's encrypt, Docker, Docker Compose)

I. 개요 이 포스트에서는 Django의 개발 및 배포환경을 구축하는 방법에 대해 소개한다. 우리가 개발을 하다보면 다음과 같은 문제로 스트레스를 받는다. 윈도우의 개발환경과 리눅스의 배포환경이 달라서 에러가 발생하거나 Https를 연결하는 작업에 비용을 지불하거

2021년 10월 20일
·
0개의 댓글
post-thumbnail

HTTPS의 암호화(SSL/TLS, 대칭키, 비대칭키)

대칭키 암호화암호화 키와 복호화 키가 동일한 키를 사용하는 암호화 방법비대칭키 암호화(공개키 암호화)암호화 키와 복호화 키가 다른 키를 사용하는 암호화 방법한쌍의 키는 서로의 역할을 각각 수행할 수 있다.공개키로 암호화 → 개인키로 복호화개인키로 암호화 → 공개키로 복

2021년 10월 14일
·
0개의 댓글
post-thumbnail

Docker란?

도커의 docs를 보면서 정리한 글입니다.https://docs.docker.com/Docker는 어플리케이션의 개발, 전달, 실행을 위한 오픈 플랫폼입니다.도커는 container라고 불리는 고립된 환경에서 하나의 어플리케이션을 패키징하는 기능을 제공합니다.

2021년 9월 23일
·
0개의 댓글

Nginx, Let’s Encrypt SSL 인증서 발급

https 인증서를 발급하기에 앞서 다음 과정이 선행되어야 합니다.80번 포트 외부 접속 허용443번 포트 외부 접속 허용본인 소유 도메인 발급(nginx에서는 site-abaliable을 수정한 후 symbolic link을 연결하는 것을 권장합니다.) 다음과 같이

2021년 9월 21일
·
1개의 댓글