728x90

전체 글 85

[Socket] Stomp를 알아보자!

STOMP란?? STOMP는 ( Simple / Stream Text Oriented Messaging Protocol )의 약자입니다. 말 그대로 간단한 문자열 기반의 메세지 프로토콜 입니다. 프로토콜이란 메세지를 서로 주고 받을때 정의된 규칙 체계를 의미하며 STOMP는 즉 텍스트 송신, 수신을 위한 미리 정의된 어떠한 규칙입니다. STOMP가 정의한 규칙을 통해 다양한 언어, 플랫폼 간에 메세지를 주고 받을 수 있습니다. 물론 AMQP와 MQTT와 같은 메세지 전송 프로토콜이 존재하지만 STOMP는 Binary 기반이 아닌 텍스트 기반의 프로토콜이라는 점이 특징입니다. ( 개발자가 읽기 쉽고 사용하기 좋습니다. ) 이러한 특징들이 마치 HTTP와 유사한 부분이 있고, 그렇기에 다양한 언어, 호스트,..

Backend/Socket 2022.02.10

[Socket] Socket.IO를 알아보자!

이번 포스팅으로 알아볼 내용은 실시간 채팅과 실시간 화상채팅 그리고 음성통화로 유명한 Socket.io에 대해 알아보겠습니다. Socket.io socket.io는 실시간 Web App을 위한 JavaScript 라이브러리입니다. ( Node.js에서도 실행할 수 있습니다. ) JavaScript뿐만 아닌 자바, C++, Swift, Dart, Python등의 다양한 언어로 구현된 클라이언트도 존재합니다. 웹 클라이언트와 서버간의 실시간 양방향 통신이 가능합니다. socket.io는 실시간 분석, 바이너리 스트리밍, 인스턴스 메시지와 문서 협업을 구현하는 기능을 제공합니다. 또한 socket.io는 WebSocket의 구현체가 아닙니다. 즉, socket.io은 WebSocket을 기본 라이브러리로 사용..

Backend/Socket 2022.02.10

[JavaScript] 얕은 복사와 깊은 복사에 대해 알아보자!

이번 포스팅에서 알아볼 내용은 JavaScript의 얕은 복사 깊은 복사 에 대해 알아보겠습니다. 우선 JavaScript의 자료형은 원시값과 참조값으로 나뉩니다. 원시값 Number String Boolean Null Undefined 참조값 Object Symbol 원시 값은 값을 복사할 때 복사된 값을 다른 메모리에 할당하기 때문에 복사한 값과 복사된 값이 서로에게 영향을 미치지 않습니다. // 원시값 복사 => 기존의 값에 영향을 미치지 않는다 const num = 1 let num2 = num num2 = 2 // 1 console.log(num) // 2 console.log(num2) 하지만 참조값은 변수가 객체의 주소를 가리키는 값이기 때문에 복사된 값(주소)이 같은 값을 가리킵니다. //..

Frontend/JavaScript 2022.02.06

동적 계획법 Dynamic Programming 이란?? (피보나치 수열)

이번 포스팅으로 알아볼 내용은 알고리즘을 푸는 방법 중 하나인 DP ( 동적 계획법 : Dynamic Programming ) 피보나치수열 ( Fibonacci ) 메모이제이션( Memoization ) 에 대해 알아보겠습니다. 수학과 컴퓨터 과학 그리고 경제학에서 동적 계획법( Dynamic Programming)이란 복잡한 문제를 간단한 여러 개의 문제로 나누어 푸는 방법을 말합니다. 동적 계획법은 부분 문제 반복과 최적 부분 구조를 가지고 있는 알고리즘을 일반적인 방법에 비해 더욱 적은 시간 내에 풀 때 사용합니다. 동적 계획법의 이론은 주어진 문제를 풀기 위해 문제를 여러 개의 하위 문제(SubProblem)로 나누어 푼 다음, 그것을 경합하여 최종적인 목적에 도달하는 것입니다. 각 하위 문제의 ..

[Golang] Channel 과 비동기 메커니즘의 GoRoutine을 알아보자!

이번 포스팅에서 알아볼 내용으로는 GoRoutine과 Channel에 대해 간단히 알아보겠습니다. GoRoutine이란?? GoRoutine은 Go Runtime이 관리하는 논리적 혹은 가상적 Thread입니다. Go에서 go 키워드를 사용하여 함수를 호출하면, 런타임 동안 새로운 goroutine을 실행합니다. goroutine은 비동기적으로( asynchronously ) 함수를 실행하며 여러 코드를 동시에( Concurrently ) 실행하는 기능입니다. 또한, Goroutine은 함수 및 메소드를 다른 함수 및 메소드와 동시에( 병렬형 ) 사용 가능하게 하는 기능입니다. GoRoutine은 OS Thread에 비해 엄청난 경량 Thread입니다. ( OS Thread : 1MB, GoRoutine..

Backend/GoLang 2022.02.05

[Golang] Go만의 구조체(struct)와 메소드(method) 사용법

오늘 포스팅할 주제는 Go의 특징 중 구조체( struct ) 메소드( method ) 타입( type ) 에 대해 알아보겠습니다. 구조체 ( struct )란? Go는 Go만의 방식으로 OOP를 지원합니다. 사용하는 방법으로는 구조체와 메소드가 있습니다. 4가지 방식으로 구조체의 인스턴스를 생성할 수 있습니다. 예시코드 package main import "fmt" // 구조체( struct ) 정의 type Person struct { name string age int } // 생성자 정의 func NewPerson(name string, age int) *Person { return &Person{name, age} } func main() { // 인스턴스 생성 var person1 = Pers..

Backend/GoLang 2022.02.05

GoLang 관련 좋은 사이트

프로그래머스 30분 Go Golang의 기본 문법 가이드라인과 문법 특징에 예제 코드가 주어진다. https://programmers.co.kr/learn/courses/13 30분 Go 평가 4.6 10개의 평가 ★★★★★9 ★★★★0 ★★★0 ★★0 ★1 Epikem 2021.12.24 17:29 김우람 2021.12.10 23:02 다온 2021.07.21 22:04 최종민 2021.03.24 13:35 Jay Kim 2020.08.19 23:41 리뷰 더보기 programmers.co.kr 예제로 배우는 Go 프로그래밍 http://golang.site/Go/Basics 예제로 배우는 Go 프로그래밍 - Go 프로그래밍 언어 소개 1. Go 개발자들 GO 프로그래밍 언어는 2007년 구글에서 개발..

Etc/일기장 2022.02.01

GoLang만의 문법, 변수 표현식( Variable Expression)을 알아보자!

이번 포스팅에서 다뤄볼 내용은 GoLang의 문법 변수 표현식 Multi Return Naked Function defer 에 대해 알아보겠습니다. GoLang은 간결하고 명확한 문법을 추구합니다. Go의 문법??? 우선 함수의 접근제한자입니다. Java의 접근 제한자( public, private )를 함수의 첫 글자의 대소문자로 구분합니다. Go는 JavaScript처럼 Export Default를 하지 않습니다. import에 선언만 하면 바로 사용할 수 있습니다. 먼저 example.go를 작성합니다. example.go package example import "fmt" func sayBye(){ fmt.PrintLn("Bye~") } func SayHello(){ fmt.PrintLn("Hel..

Backend/GoLang 2022.01.31

WSL( Ubuntu 20.04 )에 Go 설치하기

이번 포스팅에서 알아볼 내용은 Wibdow 환경에 Go 설치하기 WSL( Windows Subsystem for Linux )에 Go 설치하기 main.go를 생성하고 Hello world 출력하기 를 해보겠습니다. 우선 Window Go 설치입니다. https://go.dev/dl/ 공식 Go 홈페이지에서 Window 버전 Go를 다운로드합니다. 저는 이미 설치를 했기 때문에 Setup 도중에 Go가 설치될 주소를 반드시 C:\Program Files\Go 또는 C:\Program Files (x86)\Go의 경로에 설치하여야 합니다. 설치가 완료되었으면 환경변수를 설치된 경로로 설정해야 합니다. ( 저는 기본 경로가 C:\Go로 되어있어 변경하였습니다. ) 올바른 경로에 설치와 GOPATH 환경변수를..

Backend/GoLang 2022.01.29

Google Go 언어에 대해 알아보자! ( GoLang )

이번 포스트에서는 Google에서 발표한 프로그래밍 언어 GO에 대해 알아보겠습니다. 먼저 Go의 탄생입니다. 2009년 11월 Google에서 처음 발표하여, 2012년 3월에 정식으로 발표된 프로그래밍 언어입니다. Go는 세명의 개발자가 디자인한 프로그래밍 언어입니다. 로버트 그리스머( Robert Griesemer ) 케네스 레인 톰프슨( Kenneth Lane Thompson ) - Go, 정규표현식, UTF-8 인코딩 등 롭 파이크( Rob Pike ) 이후에 두 명의 개발자가 보강되었습니다. 이안 테일러( Ian Taylor ) 러스 콕스( Russ Cox ) 이름이 Go인 프로그래밍 언어인 만큼, 검색에 불편한 경우가 많아 보통 Golang으로 검색하거나 발음합니다. 2009년, 2012년에..

Backend/GoLang 2022.01.28
728x90