분류 전체보기

GoLang C++의 복잡함이 싫어, 2009년 11월에 구글에서 처음 발표된 후 2012년 3월에 정식 발표된 프로그래밍 언어 Go는 매년 순위가 오르는 모습을 보여주고 있고 2023년 2분기에 Pull Requests 수로는 C++을 이기는 모습을 보여주고 있습니다. 특징(장점) Go는 고수준 언어이다. Go는 정적 컴파일 언어이지만 컴파일 속도가 매우가 빨라 인터프리터처럼 사용할 수 있다. Go는 타 언어보다 더 까다로운 강타입 언어이다. Go는 가비지 컬렉터을 가지고 있다. Go는 컨텍스트 스위칭 비용이 발생하지 않는다. 고수준 언어 : 이전 프로그래밍 언어보다 사람의 의사소통과 비슷한 언어, 현재 사용되는 언어 대부분이 고수준 언어이다. 정적 컴파일 언어 : 코드를 컴파일하여 실행파일(.exe)..
개요 프로젝트를 만들다 보면 노출하면 안 되는 값이 있습니다. (ex : aws키, db 접속 정보, api 키 등등) 그렇기에 대부분의 프레임워크에서는 .env, wp-config.php, setting.xml 등의 설정파일을 제공해 줍니다. GO에서는 다음 패키지를 사용하면 아주 쉽게 설정 파일을 만들 수 있습니다. https://github.com/joho/godotenv GitHub - joho/godotenv: A Go port of Ruby's dotenv library (Loads environment variables from .env files) A Go port of Ruby's dotenv library (Loads environment variables from .env files)..
개요 go에 특정 라이브러리는 xlsx만을 지원하기도 하더라고요 일일이 바꿔주자니 하루에 변환할 수 있는 파일 개수에 제한이 걸려있는 사이트가 대부분이더군요 그래서 xls을 xlsx로 자동으로 바꿔주는 걸 만들어봅시다 (결과물) 코드 폴더 계층도는 다음과 같습니다. resources/xls 폴더는 xlsx로 바꿀 xls 파일을 넣어주고 resources/xlsx는 폴더만 만들어두면 됩니다. 사용한 라이브러리는 다음과 같습니다. go get github.com/360EntSecGroup-Skylar/excelize go get github.com/extrame/xls main.go package main import ( "xls-to-xlsx-convertor.com/xlstoXlsx" ) const xl..
개요 C, Java 등을 배우다 보면 가장 처음에 배우는 게 자료형입니다 저도 고등학교 입학 전 겨울 방학 때 배웠을 때 이 수를 넘어가는 건 어떻게 쓸까라는 생각을 했었죠 그 궁금증을 해결해봅시다 하지만 해당 포스팅에서는 Go를 사용할 것입니다 오버플로우, 언더플로우 그 전에 오버플로우, 언더플로우를 알아야 합니다. 정리하면 자료형이 가진 값(메모리 할당량)을 넘어선 상태입니다. 오버플로우 (overflow) : 값이 해당 자료형이 가진 수보다 커진 상태로, 이상 값을 도출하는 상태 예시 ) 0 ~ 127까지 담을 수 있는 자료형에 128가 들어와서 값이 0이 되는 상태 언더플로우 (underflow) : 값이 해당 자료형이 가진 수보다 작아진 상태로, 이상 값을 도출하는 상태 예시 ) 0 ~ 127까..
개요 정규식 공부를 겸하기 위해 url 값을 입력하면 프로토콜, 도메인, 상세경로, url 파라미터를 뽑는 사이트를 만들어봅시다. JS만으로도 충분히 만들지만 Go를 사용하는 게 목적이니 Go에서 정규식을 다루는 걸 목표로 잡습니다. URL 구조 URL에 대해서는 다음 사이트를 정리를 잘해둬서 확인하시면 될 것 같습니다. https://www.beusable.net/blog/?p=4507 데이터 분석을 위한 기초, URL 이해하기 | 뷰저블 데이터 분석을 위한 URL www.beusable.net 간단하게 요약하면 Protocol : 데이터 교환 방식이며 미리 정해진 포맷을 지켜 송수신을 편하게 하기 위해 만들어진 것으로 http과 https는 Protocol의 종류 Domain : IP를 사용할 경우 ..
Go Lang으로 느낌 있게 채팅방을 만들어보자! 아래는 결과물입니다. 주된 기능은 여려명에서의 채팅 입장/퇴장 시에 메시지 출력 닉네임 중복 체크 현재 참여인원 닉네임 표시 해당 프로젝트를 만들 때 알아야 할 것은 WebSocket입니다. WebSocket Http와 같은 웹 기술로 Http는 사용자가 서버에 데이터를 요청하면 이에 대해 응답으로 데이터를 반환한다면 WebSocket은 서버와 사용자가 계속 연결되어 데이터를 주고받을 수 있게 해 줍니다. Http는 주고받고 끝이기에 비교적 크고 실시간이 필요하지 않은 데이터(웹 페이지, 이미지 동영상)에 사용하기 좋고 WebSocket은 실시간으로 이루어져야 하는 게임이나 채팅에 사용됩니다. 환경 go version은 다음과 같음 : go version..
클라우드 컴퓨팅 개념 개념은 정말 간단하고 생각해 컴퓨팅와 관련된 모든 자원(PC를 포함한 하드웨어나 애플리케이션 등등)을 돈 주고 빌리는 것 Pay as you go Q : 근데 왜 구름(cloud )이야? 렌탈 컴퓨팅이라고 하면 편하잖아 A : 구름은 같이 언제든지 볼 수 있는 지만 구름의 내부까지 못 보는 것과 같이 사용자가 실제로 어떤 리소스를 사용하는지까지는 알 수 없다는 점이 구름과 비슷하고 크기가 항상 바뀌는 구름처럼 기존에 컴퓨팅에 유연성과 확장성을 추가한걸 설명하기 위함이야 즉 언제든지 크기를 키울 수도 줄일 수도 있고 원하는 기능을 추가할 수 도 있어 거기에 우리는 자그마한 부분의 리소스를 가져다가 쓰게 될 텐데 그게 꼭 전체 구름(전체 리소스)에서 필요한 구름만(필요한 리소스) 떼어내..
개요애플리케이션에서 다른 애플리케이션이 이용할 수 있는 데이터 패킷을 수신 애플리케이션이 준비가 되었을 때 발송해줌(네트워크나 수신 애플리케이션의 장애가 발생하더라도 메시지 큐는 보존됨)  흐름도Producer → 메시지(작업) 지시 → Queue(적재 & 반출) → 메시지(작업) 진행 → Consumer  적용 분야메시지 큐의 사용 목적은 큐에 적재한 작업이 언젠가 소비(실행) 될거라고 믿기 때문이다.일반적인 HTTP 요청일 경우 (Client ↔ Sever) 소비자는 응답을 기다려야 하므로 메시지 큐는 바람직하지 않다.아래 분야에 적용하기 적합블로그 포스팅 : 용량이 큰 이미지의 경우 업로드 시 이미지 최적화 서비스의 큐를 사용이메일 : 애플리케이션의 핵심 기능이 아닐 경우 메시지 큐를 통해 메일 발..
Go Lang으로 간단하게 CRUD REST API 만들기 3편 - Bolt DB 연결 1. 개요 이번 포스트로 DB Bolt에 CRUD 작업을 할 수 있습니다. 1편과 2편이 존재합니다, 아래 링크를 먼저 봐주세요 Go로 CRUD REST API 만들기 (1) Go로 CRUD REST API 만들기 (2) 이전 포스트에서는 DB를 사용하지 않고 메모리에 담아두고 진행했었습니다 그렇기에 재시작시 데이터가 유지되지 않았습니다, 이번에는 DB를 추가하여 데이터가 유지되게 수정합시다. Bolt 이번에 사용하는 Bolt는 단순하게 Key/Value 형태로 값을 저장하는 고를 위한 내장 데이터베이스 모듈입니다. Bolt는 GitHub에서 13.6K의 스타를 받았고 오랫동안 여러 사람들이 사용하면서 안정성이 인증된..
Go Lang으로 간단하게 CRUD REST API 만들기 2편 1. 개요 이번 포스트로 Go로 Post, Patch, Delete 메서드에 핸들링할 수 있습니다. 1편에서 이어집니다, 1편을 보지 않으신 분들은 아래 링크로 가서 진행해주세요 https://seung.tistory.com/entry/Go%EB%A1%9C-CRUD-REST-API-%EB%A7%8C%EB%93%A4%EA%B8%B0-1 Go로 CRUD REST API 만들기 (1) Go Lang으로 간단하게 CRUD REST API 만들기 1편 1. 개요 간단한 CRUD API를 만들어봅시다, 제 경우 Go version은 1.20으로 개발했습니다. HTTP 요청을 핸들링하기 위한 라이브러리로 gorilla/mux를 사용합니다. 사 seung..
DSeung
'분류 전체보기' 카테고리의 글 목록 (8 Page)