[바미] Go - BTS가 아닌 BST에 대해 알아보자!
·
프로그래밍(Basic)/Golang
안녕하세요. 오늘은 이진트리에 대해 알아보고자 합니다. 위의 그림 같이 자식이 두 개 밖에 없는 것을 이진트리라고 합니다. 기존의 트리는 Type TreeNode struct { childs []*TreeNode } 형태로 슬라이스 형태로 가졌는데 이진트리는 자식이 두 개 밖에 없기 때문에 슬라이스 형태로 가질 필요가 없습니다. Type TreeNode Struct { left *TreeNode right *TreeNode } 이 부분을 코딩해보죠. package dataStruct type BinaryTreeNode struct { Val int left *BinaryTreeNode right *BinaryTreeNode } 이 부분을 먼저 짚고 가는 이유는 다음에 설명할 BST(Binary Searc..
[바미] Go - Tree BFS 와 Dijkstra에 대해 알아보자!
·
프로그래밍(Basic)/Golang
안녕하세요. 오늘은 Tree BFS 와 Dijkstra에 대해 알아보고자 합니다. 이번에 할 것은 Tree 순회 중에 너비 우선 탐색(BFS, Breadth-First Search)인데 옆에 부터 탐색한다는 것이다. 이렇게 구성되있을 때 탐색 순서는 1. 우선 Root인 1번부터 탐색하고, 2번으로 가서 너비로 가기 때문에 3번을 탐색합니다. 2. 3번 간 뒤에 옆이 없기 때문에 4, 5, 6, 7번을 탐색하게 됩니다. BFS는 큐로 이용해서 만들 수 있습니다. 큐로 이용한 BFS 순서는 아래와 같습니다. 마찬가지로 아까 했었던 Tree로 구성되어 있을 때 Root부터 큐에 넣는다. 그러면 1번이 들어가게 되고 1 바로 1번을 Pop한 뒤에 1번의 자식들을 모두 큐에 집어 넣습니다. 출력값 : 1- 2 ..
[바미] 자바스크립트 스코프에 대해 알아보자.
·
프로그래밍(Basic)/Javascript(TS,Node)
스코프란? 자바스크립트에서 스코프란 어떤 변수들에 접근할 수 있는지를 정의합니다. 스코프엔 두 가지 종류가 있습니다. 전역 스코프와 지역 스코프로 나뉩니다. 그럼 먼저 전역 스코프에 대해서 알아봅시다. 전역 스코프 전역 스코프는 변수가 함수 바깥이나 {}바깥에서 선언되었다면, 전역 스코프에 정의 됩니다. const globalVariable = 'variable' 위와같이 전역 변수를 선언한다면 코드 모든곳에서 globalVariable이라는 변수를 사용할 수 있습니다. 심지어 함수에서도 사용이 가능하죠 아래 예제를 보시죠 const hello = 'Hello Marcus' function marcusHello () { console.log(hello) } console.lo..
[바미] JAM Stack이란 무엇일까?
·
프로그래밍(Basic)/이론
JAM Stack 개념 정리하기 SSR 도입위해 NextJS 를 검토하던중 JAM Stack 개념을 알게되어 이를 정리 해보고자 한다. JAMstack WTF JAM stack 은 Javascript, Api, Markup Stack 의 약자이다. 약자에서 알수 있듯 Javascript 와 API 그리고 Markup(HTML) 만으로 이루어진 웹의 구성을 이야기하는 것인데, 우리가 알고 있는 SPA 과는 비슷하지만 다르다. SPA (Single Page Application) 와 CSR (Client Side Rendering) 웹은 보통 완성된 Static HTML 와 CSS 를 네트워크로 전달 받아서, 화면을 보여준다. 서버가 동적으로 HTML을 생성할 수 있게 되면서 Server Side Rende..
[바미] 오픈 프로필 등록 방법
·
이것저것/일상
1. 먼저 해당 버튼을 터치 해줍니다. 2. 그러면 다음과 같은 버튼? 들이 뜰 텐데 오픈채팅을 선택해줍니다. 3. 그 후 오픈프로필을 선택 한 뒤 만들기 버튼을 눌러줍니다. 4. 그럼 다음과 같은 화면이 뜹니다. 사진, 닉네임을 써 준 뒤 완료 버튼을 눌러줍니다. 톡 프로필로만 참여 허용은 체크 해제 해주세요. 5. 그러면 오픈프로필이 정상적으로 생성되는데 오픈 톡방으로 들어온 뒤 자신의 프로필을 선택합니다. 6. 아까 만들었던 오픈 프로필을 선택해주면 됩니다.
[바미] PS에 대해 알아보자!
·
Linux
ps ps 는 프로세스의 상태를 확인하는 명령어이다. 현재 특정 프로세스가 실행되고 있는지 실행되는 프로세스가 어떤 pid를 갖고 있는지 등을 확인하는데 많이 쓰이며, 옵션을 통해 CPU와 메모리 점유율등의 상세 정보도 확인할 수 있다. ps [옵션] [root@localhost ~]# ps PID TTY TIME CMD 1340 tty1 00:00:01 bash 1500 tty1 00:00:00 ps 옵션 옵션 내용 -A 모든 프로세스를 출력한다. a (BSD계열) 터미널과 연관된 프로세스를 출력하는 옵션이다. 보통 x 옵션과 연계하여 모든 프로세스를 출력할 때 사용한다. -a 세션 리더(일반적으로 로그인 셸)을 제외하고 데몬 프로세스처럼 터미널에 종속되지 않은 모든 프로세스를 출력한다. -e 커널 프..
[바미] 프로세스와 커널에 대해 알아보자!
·
Linux
프로세스와 커널프로세스(Process)는 운영체제의 커널의 관리하에 현재 시스템에서 동작중인 프로그램, 실행 중인 프로그램의 인스턴스 인데 시스템 리소스(예: CPU, 메모리, 파일 등)를 할당받아 작업을 수행합니다. 커널은 프로세스를 관리하기 위해 각 프로세스에게 PCB를 할당하고, init프로세스는 부팅 시 가장 먼저 실행되어 시스템에 설정을 하는 초기화 프로세스 입니다.프로세스 종류프로세스에도 종류가 있는데 아래의 표와 같습니다.프로세스명설명데몬 프로스세스사용자에게 특정기능이나 서비스를 제공하는 프로그램입니다.부모 프로세스부모 프로세스는 다른 프로세스를 생성하며 init을 제외한 모든 프로세스는 부모 프로세스를 가지고 있습니다.고아 프로세스자식 프로세스보다 부모 프로세스가 먼저 종료가 되었을 때 자..
[바미] Go - Tree에 대해 알아보자!
·
프로그래밍(Basic)/Golang
안녕하세요 오늘은 Tree에 대해 알아보려 합니다. Tree란 말 그대로 나무라는 의미인데 위 그림처럼 줄기가 있고, 가지가 뻗어 있고, 가지 끝에 나뭇잎이 달려있는 형태를 가지고 있는 자료구조 라고 해서 Tree라고 합니다. 하나에서 시작해서 여러 갈래로 나뉘어 가는 형태가 Tree입니다. Tree의 형태를 보면 나무를 뒤집어 놓은 형태인데 아래와 같습니다. 맨 위에서부터 시작하는데 맨 처음 시작하는 노드를 Root 노드(node)들과 노드들을 연결하는 하는 부분을 간선(edge) 각 간선 끝에는 노드가 연결 되어 있는데 이 노드를 자식노드(Child Node) 자식노드 상위에 있는 노드를 Parent Node 라고 합니다. 이건 상대적인 개념인데 Root 노드는 모든 노드의 항상 부모가 되고, 자식노..
[바미] Go - Packaging 과 Stack, Queue에 대해 알아보자!
·
프로그래밍(Basic)/Golang
안녕하세요. 오늘은 Go의 Packaging 과 Stack, Queue에 대해 알아보겠습니다. 패키지(Package)라는 것은 어떤 모듈, 기능 등을 묶어 놓은 것을 의미 합니다. Go 자체가 가지고 있는 "fmt"라는 패키지가 있는데 "format"의 약자인데 이것은 출력과 관련된 것들을 묶어놓은 것이고, "math"라는 패키지가 있는데 수학과 관련된 함수들을 묶어 놓은 패키지 입니다. 이런 관련된 기능들을 묶어 놓은 것을 패키지(Package)라고 합니다. 이전에 Linked List를 만들었었는데 그 외에도 Stack, Queue, Tree, Heap들을 하나의 패키지로 만들어서 dataStruct라는 것으로 만들어 늘려가볼까 합니다. 먼저 지난 시간에 만들었던 Linked List를 패키지로 분리..
Bami
'분류 전체보기' 카테고리의 글 목록 (65 Page)