프로그래밍(Basic)/Golang

    [바미] Go - 구조체에 대해 알아보자!

    구조체? 영어로는 Struct라고 쓰이는데 말 그대로 어떤 구조를 가진 것이라고 보면 됩니다. 예를 들면 이런 것이죠. type Person struct { name string age int } 이런식으로 여러가지 변수들을 하나로 묶어서 하나의 이름으로 말하는게 구조체라고 보면 됩니다. 이것이 나온 이유는 프로그래밍이 발전된 과정을 보면 응집성(Cohesive)이 올라가고, 종속성(Dependency)이 낮아지는 방향으로 프로그래밍이 발전해 왔다고 보면 됩니다. 이렇게 만들어야 좋은 프로그래밍을 할 수 있기 때문에 이런 방향으로 계속 발전해 왔습니다. 그래서 이 Struct는 응집성을 높이는 방법입니다. 어떤 결합된 개념들이 있는데 예를 들면 성적 처리 프로그램을 만든다 했을 때 중요한 객체는 학생이 ..

    [바미] TDD의 장단점에 대해 알아보자!

    들어가기 앞서서 한 가지 소개할 것이 있는데 소프트웨어 공학쪽에 유명한 책이 있습니다. 맨먼스 미신이라는 책인데요. 여기서 나오는 유명한 말이 있습니다. There is no silver bullet. 은총알은 없다. 은총알은 늑대인간을 죽일 때 사용되는 총알 입니다. 여기서의 은총알은 모든 문제를 한방에 해결하는 솔루션을 의미하는데 한 방에 모든 문제를 해결하는 솔루션은 존재하지 않는다. 라는 의미 입니다. 즉, 어떤 기술을 가져오더라도 그것이 한 방에 해결하는 솔루션이 아니며, 항상 장 단점이 생기기 때문에 무조건 다 좋은 것이거나 장점만 가지고 있는 것은 없다는 것이죠. 그렇기 때문에 TDD도 마찬가지 입니다. 우선 장점부터 살펴보죠! 첫 번째 장점으로 Test Case가 많아집니다. Test를 먼..

    [바미] TDD에 대해 알아 봅시다!

    TDD? TDD란 Test Driven Development의 약자인데 테스트 주도 개발법이라는 뜻이며 개발 방법인데 테스트가 주도하는 개발 방법이라는 의미 입니다. 기존의 개발법은 설계 - 코딩 - 테스트 였어서 이 순서대로 진행하다 테스트에서 문제가 발생하면 다시 코딩하고, 테스트하여 코딩과 테스트가 반복되는 방식이였었는데 TDD는 테스트 - 코딩 - 개선을 반복하는 방식입니다. 간단하게 TDD를 실습해보자면 Calculator("+", 3, 2)를 만들어서 실행시켰을 때 5라는 결과가 나오는 함수를 만들어 봅시다. TDD니까 처음부터 테스트를 시켜줍니다. hello.go package main func main() { Test() } 이렇게 작성 후에 코드를 실행 시켜 보면 undefined: Te..

    [바미] Go언어 소개

    이 글은 주기적으로 수정하고 있습니다. 글을 읽으실 때 참고하시기 바랍니다. 1. Go언어의 탄생 “Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.” 이 문구는 golang의 정식 웹사이트에서 golang을 설명할 때 사용한 문구인데 해석하면 Go는 간결하고 신뢰성 있으며 효율적인 소프트웨어를 손쉽게 만들기 위한 오픈소스 프로그래밍 언어이다. 라는 의미입니다. Go언어는 2009년 구글이 개발한 프로그래밍 언어로 빠른 성능, 안정성, 편의성, 쉬운 프로그래밍을 목표로 한 범용 프로그래밍 언어 입니다. 이는 C나 자바와 같이 다양한 소프트웨어 개발에 사용된..