본문 바로가기

백엔드 학습 과정

(43)
#2-2 자료구조 - Graph Graph 자바에는 요소들간에 직접적인 관계가 있을 경우, 두 점 사이를 이어주는 선들이 존재한다. 만약 간접적인 관계라면 몇 개의 점과 선에 걸쳐 이어진다. 이 하나의 점을 정점(Vertex)라고 하고, 하나의 선은 간선 (Edge)라고 한다. 위와 같은 정점들과 간선의 관계를 표현함에 있어 다양한 표현 방식이 있다. 1. [인접 행렬 : Adjacency Matrix] 인접 행렬은 서로 다른 정점들이 인접한 상태인지를 표시한 행렬로 2차원 배열의 형태로 나타낸다. int[][] arr = new [][]{}; A : 0행 B: 1행 C: 2행 arr[0][0] arr[0][1] arr[0][2] => { 0, 0, 1} arr[1][0] arr[1][1] arr[1][2] { 1, 0, 1} arr[..
#2-1 자료구조 - Stack, Queue 자바에서 자료 구조라 함은 여러 데이터의 묶음을 저장하고 사용하는 방법을 정의한 것이다. 위의 자료구조의 종류 중 가장 많이 사용하는 대표적인 4가지. Stack, Queue, Tree, Graph 에 대해 알아보자. 1. [Stack] // ex) 프링글스 통 Stack은 데이터를 넣을 공간을 생성함에 있어 그 공간이 다음과 같은 특이성을 가진다. Stack은 Stack 클래스를 이용해 객체를 생성하여 사용할 수 있다. Stack stack = new Stack(); [1] FILO (선입후출) / LIFO (후입선출) [2] 데이터는 하나씩 넣고 뺄 수 있다. [3] 하나의 입출력 방향을 가지고 있다. [4] 그래프 탐색 중 깊이우선탐색(DFS)에 사용된다. [Stack 메소드] 메소드 기능 예시 ...
#1. 재귀함수 [재귀] recursion 문제를 동일한 구조의 더 작은 문제로 나누고, 이 작은 문제를 해결함으로 전체 문제를 해결하는 방법. 재귀함수는 자기 자신을 끊임없이 호출하는 함수를 말한다. //메소드 바디에 자신의 메소드명을 넣음으로 종료문을 만나기 전까지 계속해서 반복되는 함수 [코드 예제] public void recursion() { System.out.println("This is"); System.out.println("recursion!"); recursion(); // 자기 자신을 호출. } [재귀함수의 장점] 1. 불필요하게 여러 개의 반복문을 사용하지 않기 때문에, 코드가 간결해지고, 수정이 용이하다. 2. 변수를 여러 개 사용할 필요 없다. [재귀함수의 단점] 1. 반복문과 달리, 코드의 ..
코드스테이츠 백엔드스쿨 42기 Section1 회고록 -Code States BackEnd School 42기 Section1을 마치며- -느낀점- 2022.10.20 ~ 2022.11.16 약 한달간의 코드 스테이츠 부트캠프의 Section1 이 완료되었다. 생각해보면 너무나 짧게 느껴진 시간이었는데 벌써 약 한달이 지났고 Section1이 종료되었다. 주변의 우려를 뿌리치고 대학 전공4년 + 6년 간의 커리어 + 해외 커리어 2년, 도합 12년의 시간과 승진의 기회를 모두 포기하며, 두려움 반, 걱정 반 그리고 약간의 의심을 가지고 참여하게된 코드 스테이츠 백엔드 42기. Section1이 지났다. 돌이켜보면 이 짧은 기간 동안 코드스테이츠의 부트 캠프에서 참 많은 내용을 배운 것 같다. 부트 캠프에대한 전반적인 교육 방식과 거기에 대한 학습 방법과 향..
Java #1-1 자바 기초-변수, 문자열, 연산자, 입출력 1. 변수 [변수] : 값을 저장할 수 있는 메모리 공간을 확보하고, 사람이 식별할 수 있는 이름을 붙인 것. [변수 선언] : 저장하고자 하는 값의 데이터 타입, 변수 이름에 할당하는 것. [값 할당] : 변수에 값을 저장하는 것. 좌항 = 우항;과 같은 형식으로 사용하며, [우항]에는 값이, [좌항]에는 변수가 위치해야 한다. 이와 같이 대입 연산자를 사용하면, 우항의 값이 좌항의 변수에 할당됩니다. [초기화] : 변수를 선언하고 값을 할당하는 것. [상수] : 변하지 말아야할 데이터를 임시적으로 저장하기 위한 수단으로 변수명 앞에 final 이라는 키워드를 사용한다. 상수를 저장하면 값을 저장하고 있는 상수명을 값으로 사용할 수 있기 때문에 코드 가독성이 향상된다. ex) final int PI =..
6. Git & Github 목차***************************** 1. 용어 정리 2. 환경설정 3. SSH 등록 4. 기본 브랜치 이름 변경 5. Git의 영역과 기본 명령어 6. 혼자 작업 workflow 7. 함께 작업 workflow 8. 자가 점검 list ********************************* [Git 용어 정리] [스냅샷] : 특정 시점에 생성된 코드 변경 전 백업 복사본, 이를 통해 이전의 기록에 대해 추적이 가능함. [Commit] : 스냅샷을 만들어주는 작업 [Git] : 소스 코드 기록의 변경을 버전 별로 관리하고 추적할 수 있는 버전 관리 시스템. [1] 파일의 변경 사항을 추적, 각 파일의 버전을 관리 [2] 파일을 백업할 수 있게 한다. [3] 협업자들과 함께 파일을..
5. Linux [명령줄 인터페이스 (Command-Line Interface, CLI)] VS [그래픽 사용자 인터페이스 (Graphic User Interface)] : 그래픽 작업을 거치지 않아도 되기 때문에 CLI는 높은 안정성과 빠른속도를 가지고 있다. [입력] : 키보드나 마우스, 카메라, 마이크등 컴퓨터에 새로운 명령을 전달하는 모든 소스. [출력]: 입력 소스에 의해 또는 작성된 프로그램에 의해 모니터에 화면, 소리를 스피커로 사용자가 인식하게 하는 일. >> 이를 간단히 I/O (Input/Output)이라고 표기하고 “아이오”라 읽는다. [프롬프트 (Prompt)] 터미널 프로그램 내에 키보드의 입력을 확인하고 편집할 수 있는 한 줄의 공간. [CLI 기본 명령어] Explorer.exe . : 우분투..
4. 와이어 프레임 & 목업 -와이어프레임 설계 및 목업 구현- [와이어프레임] 웹 또는 앱을 개발할 때 레이아웃의 뼈대를 그리는 단계를 와이어 프레임이라고 한다. 아주 단순하게 레이아웃과 제품의 구조를 보여주는 용도. [목업 Mock-Up] 웹 또는 앱을 제품이라 했을 때, 목업은 실제 제품이 작동하는 모습과 동일하게 기능을 뺸 HTML문서와 CSS를 작성. [와이퍼프레임, 목업 진행 시 주의사항] 요소는 일반적으로 사용자가 입력한 값을 다른 페이지로 전송하는 역할. 를 사용하여 과 같은 자식 요소를 감싸는 경우에 자주 사용. 목적이 명확하므로, 단순히 영역을 나누기 위해 사용하는 요소보다는 더 sementic한 요소 사용이라고 볼 수 있다. >> 와이퍼프레임/목업 진행 URL : https://ovenapp.io/