[바미] 블록체인 한번에 이해하기
·
이것저것/블록체인
비트코인과 블록 체인 블록 체인은 비트코인의 바탕이 되는 ‘체계’이며, 비트코인은 블록 체인을 ‘화폐’에 응용한 결과물입니다. 블록 체인이 바탕이고, 비트코인은 블록 체인 바탕위에서 구현된 하나의 서비스 또는 상품이라고 할 수 있습니다. 그래서 블록 체인은 비트코인 뿐아니라 다른 코인의 바탕이 될 수도 있고 실제로도 그렇습니다. 또한 블록 체인은 코인 뿐아니라 다른 서비스나 상품의 바탕이 될 수도 있습니다. 재미있는 것은 블록 체인이 비트코인의 바탕이 되는 체계이지만, 블록 체인이 만들어지고 비트코인이 만들어진 것이 아니라 비트코인을 만들기 위해 고민하던 중에 블록 체인이라는 기술이 탄생했다는 점입니다. 이제부터 블록 체인이 어떻게 비트코인이라는 화폐의 바탕이 되는 체계가 될 수 있는지 알아보겠습니다. ..
[바미] Typescript로 블록체인을 만들어 보자.
·
이것저것/블록체인
Typescript로 블록체인 만들기 VSCode TypeScript 준비 tsconfig.json 생성 (파일을 쓸 때에는 주석의 한글 설명을 삭제해야 정상 실행됩니다.) { "compilerOptions": { //컴파일 옵션 설정 "module": "commonjs", "target": "es2015", "sourceMap": true }, "include": ["index.ts"], //컴파일과정에서 포함할 파일 "exclude": ["node_modules"], //컴파일과정에서 제외 } index.ts 생성 console.log("test"); 터미널 실행 yarn init 실행 시 package.json 파일이 생성됩니다. yarn init 4. 생성된 package.json 파일 수정 Ty..
[바미] 블록체인 용어사전 (ㄱ~Z)
·
이것저것/블록체인
ㄱ-ㅇ ㄱ 가즈아 도박이나 투자에서 긍정적인 기대를 표현하는 감탄사이다. "가자"를 길게 발음한 것이며 과거 스포츠 도박 같은 것을 하는 사람들이 쓰던 말이다. 그러나 요새에는 대중화되어 어떤일에 대한 열망을 표현하는데에 주로 사용된다.(가령 금메달 가즈아!, 합격 가즈아! 등등) 그리고 2017년 대한민국의 가상화폐 투자•매매 활성화에 즈음하여 자기가 투자한 가상화폐의 가치 상승을 염원하는 의미에서 디시인사이드 내 '비트코인 갤러리'를 중심으로 이 단어가 유행하게 되었다. 부정적인 상황에서도 쓰이며 "한강 가즈아"라고 하는 경우 투자한 비트코인의 가격이 떨어졌음을 의미한다. 가상화폐 / 암호화폐 (Cryptocurrency) 암호학을 기반으로 하는 화폐입니다. 정부 또는 중앙은행에서 발행하는 법정 지폐..
[바미] Go - ODD의 SOLID에 대해 알아보자.
·
프로그래밍(Basic)/Golang
안녕하세요. 오늘은 OOD의 SOLID에 대해 알아보도록 하겠습니다. OOD(Object-oriented design)는 Object 중심의 설계 방법 입니다. 실제 코딩하는 것보다 설계가 중요한 이유는 설계된 밑바탕이 잘 되어 있어야 그걸 기반으로 개발자들이 코딩을 할 때 잘 할 수 있는데 예전(Unix, OS2) 한 사람이 주도적으로 코딩을 했지만 현재에 와서는 혼자서 하기엔 규모가 커졌기 때문에 수 백명의 개발자들이 하나의 프로그램을 만듭니다. 그렇기 때문에 각자 자기가 맡은 부분에서 코딩을 잘 할 수 있도록 잘 나눠주고, 모듈을 잘 조율 시켜주는 사람이 아키텍쳐이죠. OOD는 그 설계를 할 때 Object중심으로 설계를 해야 좋은 코드를 짤 수 있다는 것을 말합니다. OOD에서 5가지 법칙이 있는..
[바미] Go - Interface에 대해 알아보자2.
·
프로그래밍(Basic)/Golang
안녕하세요! 지난 시간에 Interface에 대해 얘기 했었죠? 지난 시간에 이어서 Interface에 대해 알아가 보겠습니다. 지난 시간에 얘기했던 것을 정리해보면 OOP에서 Objcet란 상태와 기능을 합한거라고 했었고, 이 기능을 외부에 공개된 공개기능, 외부에 공개되지 않은 내부기능 이 있다고 했었죠? 외부 기능은 외부와 통신하는 기능이기 때문에 외부 Obejct와의 관계로 볼 수 있습니다. 이 관계를 따로 정의 해놓은 것이 Interface라고 했습니다. 그래서 이 관계를 따로 Interface에서 정의할 수 있기 때문에 Object에세 관계의 종속성을 끊었고, 이렇게 독립 시켜 놓았기 때문에 관계만 포함하고 있으면 Object A든 Object B이든 상관 없이 사용할 수 있어 확장성이 생기게..
[바미] Go - OOP 3번째! Interface에 대해 알아보자.
·
프로그래밍(Basic)/Golang
안녕하세요! 이번에는 Interface에 대해 알아보겠습니다. 여기서'Inter'라는 것은 왔다 갔다 하는 것을 의미합니다. Inter가 쓰인 말 중에 Inter change가 있고, Interaction이 있는데 Interaction은 상호작용을 말하는 것이고, Inter change는 고속도로에서 도로가 바뀌는 것을 의미 합니다. 'face'라는 것은 얼굴이라는 뜻도 있지만 면, 접촉면, 표면을 의미 합니다. 그래서 Interface라고 하면 서로 상호 작용을 하는 접촉 면을 의미하죠. 보통 UI(User Interface)를 보통 얘기하는데 어떤 게임을 할 때 UI가 좋다, 나쁘다. 이런 얘기를 하는데 UI라는 것은 게임을 할 때 키보드와 마우스의 입력과 화면상의 게임 캐릭터의 상호작용, 그러니까 ..
[바미] Go - OOP(Object란?)
·
프로그래밍(Basic)/Golang
안녕하세요. 저번 시간에 이어서 절차적 프로그래밍이 어떤점이 나빴기 때문에 OOP가 나타났는지를 살펴보도록 하겠습니다! 저번시간에 딸기잼 샌드위치를 만드는 프로그램을 만들었었는데 이번에는 그 프로그램이 변경되서 딸기잼이 아니라 오렌지잼 샌드위치를 만드는 프로그램을 만든다고 했을 때 어떤 부분들이 수정되야 하는지 살펴보죠! type OrangeJam struct { opened bool } 먼저 딸기 잼이 아니라 오렌지 잼이 있어야 할 것 입니다. 그 다음에 func main() { // 1. 빵 두개를 꺼낸다. breads := GetBreads(2) //jam := &StrawbrreyJam{} jam := &OrangeJam{} // 2. 딸기잼 뚜껑을 연다. // OpenStrawberryJam(j..
[바미] Go - OOP에 대해 알아보자.
·
프로그래밍(Basic)/Golang
OOP(Object Oriented Programming)는 한국어로 풀어 쓰면 '객체 지향 프로그래밍'이라고 번역을 하는데 이 번역이 잘 못 되었다 생각합니다. '지향'은 Direct, 그러니까 어떤 방향성을 갖고 있는 것이고, 그 쪽으로 가겠다.는 얘기인데 'Oriented'는 어떤 중심의, 기원의, 근간이 되는 이라는 뜻입니다. 그러니까 객체 지향은 내가 객체 쪽이 아닌데 객체 쪽으로 나아가겠다.는 뜻인데 이미 프로그래밍은 객체로 넘어갔고, 지금은 객체 중심으로 프로그래밍을 해야 합니다. 물론 'OOP'가 처음 나왔을 때는 "우리는 아직 OOP가 아니기 때문에 OOP를 향해 가자!" 라고 말할 수 있지만 2021년 현재는 이미 OOP로 넘어갔고, 넘어간지도 20년이나 지났습니다. Java나 C#같은..
[바미] Go - Select에 대해 알아보자.
·
프로그래밍(Basic)/Golang
안녕하세요. 오늘은 Select에 대해 알아보도록 하겠습니다. 지난번에 자동차 공장을 만들었었고, 그 중에 MakeTire()로 타이어를 만들었었는데 이 타이어는 자동차 타이어 외에도 다른 곳에서도 쓰일 수 있습니다. 만약 비행기 타이어도 만들 수 있다고 가정하여 자동차 타이어 요청이 들어오면 자동차 타이어로, 비행기 타이어 요청이 들어오면 비행기 타이어로 만든다 가정해봅시다. 그러니까 어떤 요청이 들어오냐에 따라서 어떤걸 만들지를 결정하는 것인데 이걸 어떻게 만들지 생각해 봅시다! carChan이 있고, planeChan이 있다고 하고, Make Tire()라는 함수가 있다고 했을 때 Car Chan와 Plane Chan 두 개 다 기다리게 만들 수 있을까요? 첫 번째로 아래와 같이 car는 carCh..
Bami
'분류 전체보기' 카테고리의 글 목록 (62 Page)