본문 바로가기

부트캠프35

12.6 Framework, SpringFramework, POJO ㅇ Framework란? Frame은 어떤 대상의 큰 틀이나 외형적인 구조를 의미하는데, 프로그래밍에서도 비슷하다. 애플리케이션을 건물이라 가정하면, Frame은 건물의 구조라고 이해하면된다. 결론적으로 framework는 프로그래밍을 하기 위한 어떤 틀이나 구조를 제공한다. 장점 - 기본구조가 있기때문에 효율적으로 코드 작성가능, 정해진 규약이 있어 효율적으로 관리 가능 단점 - Framework를 공부해야함, 규약이 있어서 자유도가 떨어진다. ㅇ Framework와 라이브러리의 차이 자동차를 예로 들면, Framework는 뼈대, 프레임을 의미하고, 라이브러리는 기능을 제공하는 ‘부품’을 의미한다. 한번 프레임이 만들어지면 프레임워크를 교체하는것은 어렵지만 라이브러리는 언제든지 교체하기 쉽다는것이다... 2022. 12. 10.
11.29 네트워크,HTTP 오늘은 진정한 백엔드가 알아야할 cs지식에 대해 배웠다. 비전공자를 위한 IT지식에서 봤던 내용이 많았다. 하지만 그렇다고 해서 다 알진 못했다. 안본지 오래돼서 까먹은 내용이 정말 많았다. ㅇ 애플리케이션과 네이티브 애플리케이션 웹 어플리케이션은 설치필요 없이 웹 브라우저를 통해 접근이 가능한 어플리케이션. 설치해서 사용하는 애플리케이션은 네이티브 애플리케이션이라고 한다. ㅇ LAN과 WAN LAN 좁은범위에 연결된 네트워크, 수많은 LAN이 연결된것이 WAN. ㅇ 프로토콜 멀리 떨어진 컴퓨터들끼리 서로 소통을 하기 위한 일종의 약속. 요즘 주로 사용되는 프로토콜이 TCP/IP 프로토콜. 어느 컴퓨터든 네트워크를 사용할 수 있게 하는 공통 언어. ㅇ TCP/IP 4계층 모델이 존재함 4층(응용계층) -.. 2022. 11. 29.
11.24 시간복잡도, Greedy, 구현 시간복잡도를 표현하는 방식은 여러가지다. 그중 가장 많이 쓰이는 Big-O 기법에대해 살펴보겠다. ㅇ O(1) constant complexity라고 하며, 입력값이 증가하더라도 시간이 늘어나진 않는다. ㅇ O(n) linear complexity. 입력값이 증가함에 따라 시간증가. 입력값 1증가 2초증가하면 O(2n) ㅇ O(log n) logarithmic complexity. BST처럼 경우의수를 절반씩 줄어든다. 입력값이 크면클수록 빠르다. O(n)보다 빠를수도 있다. ㅇ O(n^2) quadratic complexity. 입력값늘때마다 n^2만큼 시간이 늘어남. ㅇ O(2^n) exponential complexity. 가장 느린 시간복잡도를 가진다. 복리라고 생각하면 편함. ㅇ Greedy A.. 2022. 11. 25.
11.22 자료구조-Tree, 그래프, BinarySearchTree(BST), BFS/DFS ㅇ Tree 루트 라는 꼭지점 데이터에서 시작해 간선(edge)로 연결시킨다. 부모노드, 자식노드가 존재하고 자식이 없는 노드는 리프노드라고 한다. 깊이 : 루트 - 0, 그밑의 노드들 - 1, . . . 레벨 : 같은 깊이를 가진 노드들을 묶음 높이 - 리프노드를 기준으로 루트까지의 길이 서브트리 - 루트에서 뻗어 나오는 큰 트리의 내부에 트리구조를 갖춘 작은 트리 ㅇ 그래프 우리가 흔히 아는 수학적인 그런 그래프와는 거리가 멀다. 여러개의 점들이 복잡하게 연결되어 있는 관계를 표현한 자료구조다. 직접적 관계는 두 점 사이를 이어주는 선이 있고, 간접적인 관계는 몇개의 점과 선에 걸쳐 이어진다. 하나의 점은 정점(vertex), 하나의 선은 간선(edge)라고 함. ㅇ 그래프의 표현 방식 인접행렬 - .. 2022. 11. 25.