Tiny Finger Point Hand With Heart
본문 바로가기
728x90
반응형

전체 글169

42. NoSQL이랑 RDBMS의 특징과 차이점 Database와 DBMS 그리고 SQL Databse란 일반적으로 컴퓨터 시스템에 전자 방식으로 저장된 구조화된 정보 또는 데이터의 체계적인 집합을 의미한다. DBMS란(DataBase Management System) 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해 주고 데이터베이스를 관리해 주는 소프트웨어이다. SQL이란(Strucured Query Language) 관계형 데이터베이스 관리 시스템의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어이며 관계형 데이터베이스 관리 시스템에서 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스 객체 접근 조정 관리를 위해 고안되다. RDBMS 위에서 DBMS는 사용자와 데이터베이스 사이에서 사용자의 요구에 따라.. 2023. 1. 20.
41. 앱의 종류: 네이티브 앱 vs 웹 앱 vs 하이브리드 앱 검색을 하다가 정말 정리가 잘된 사이트가 있어 가져왔다. https://blog.codef.io/ 개발 방식에 따라 나뉘는 세 가지 앱의 종류인 네이티브 앱, 웹 앱, 하이브리드 앱의 개념부터 장단점까지 알아보자. 모바일 기기에 최적화 된 “네이티브 앱(Native APP)” ‘네이티브 앱(Native APP)’이란 모바일 기기에 최적화된 네이티브 언어로 개발된 앱을 뜻한다. 국가별로 언어가 다르듯, 모바일 운영체제도 개발을 위해 각기 다른 언어를 사용해야 한다. 안드로이드 운영체제의 대표적인 네이티브 언어는 코틀린(Kotlin) 또는 자바(Java)이며, iOS는 스위프트(Swift) 또는 오브젝티브 C(Objective C)이다. 해당 언어를 기반으로 각 모바일의 운영체제에 딱 맞는 앱을 개발하면 그.. 2023. 1. 19.
[알고리즘/Python] BFS(너비우선탐색) BFS (너비우선탐색) Breath-First Search, 그래프에서 가까운 부분을 우선적으로 탐색하는 알고리즘이다. 너비 우선 탐색이라고도 한다. 데이터가 N개 있을때 O(N)시간 복잡도를 가진다. 일반적인 경우 실제 수행시간은 DFS보다 좋은편이다. [DFS vs BFS] 동작 방식 동작 원리 구현 인접한 노드가 여러개라면? DFS 멀리 있는(깊게 있는)노드 부터 탐색 스택 재귀 함수 이용 한개씩 넣음 BFS 가까운 노드부터 탐색 큐 큐 자료구조 이용 한번에 다 넣음 BFS 동작과정 1. 탐색 시작 노드를 큐에 삽입하고 방문 처리를 한다. 2. 큐에서 노드를 꺼내 해당 노드의 인접노드 중에서 방문하지 않은 노드를 모두 큐에 삽입하고 방문처리를 한다, 3. 2번과정을 더이상 수행할 수 없을 때까지 반.. 2023. 1. 18.
[알고리즘/Python] 깊이우선탐색 (DFS) 그래프 탐색 알고리즘 : 시작 정점에서 간선을 타고 이동할 수 있는 모든 정점을 찾는 알고리즘 깊이우선탐색 (Depth-First Search, DFS) 그래프의 깊이를 우선으로 탐색하기 위해 스택의 개념을 활용한다. 너비우선탐색 (Breadth-First Search, BFS) 그래프의 너비를 우선으로 탐색하기 위해 큐의 개념을 활용한다. 깊이우선탐색(Depth-First Search, DFS) 시작 정점으로부터 갈 수 있는 하위 정점까지 가장 깊게 탐색하고, 더 이상 갈 곳이 없다면 마지막 갈림길로 돌아와서 다른 정점을 탐색하며 결국 모든 정점을 방문하는 순회 방법 깊이우선탐색(DFS)의 특징 모든 정점을 방문할 때 유리하다. 따라서 경우의 수, 순열과 조합 문제에서 많이 사용 한다. 너비우선탐색(B.. 2023. 1. 18.
[알고리즘/Python] 그래프(Graph) (인접행렬,인접리스트) 그래프(Graph) 정점(Vertex)과 이를 연결하는 간선(Edge)들의 집합으로 이루어진 비선형 자료구조 소셜 네트워크와 지하철 노선도 같이, 현실에 있는 개체 간의 관계를 나타내기 위해 사용한다. 2023. 1. 18.
[알고리즘/Python] 에라토스테네스의 체 에라토스테네스의 체 -> 여러 개의 수가 소수인지 아닌지를 판별할 때 사용하는 대표적인 알고리즘. -> N보다 작거나 같은 모든 소수를 찾을 때 사용할 수 있다. 소수란? 1과 자신 자신 외의 약수를 가지지 않는 1보다 큰 자연수를 말한다. > 동작 과정 2부터 N까지의 모든 자연수를 나열한다. 남은 수 중에서 아직 처리하지 않은 가장 작은 수 i를 찾는다. 남은 수 중에서 i의 배수를 모두 제거한다. (i는 제거하지 않는다.) 더 이상 반복할 수 없을 때까지 2번과 3번 과정을 반복한다. > 장단점 에라토스테네스의 체 알고리즘의 시간 복잡도는 O(NloglogN)으로 사실상 선형 시간에 동작할 정도로 빠르다. 그래서 다수의 소수를 찾아야 하는 문제에서 자주 사용된다. 하지만 알고리즘을 수행할 때 N의 .. 2023. 1. 18.
40. [운영체제] 프로세스(Process)와 스레드(thread) 프로세스(Process)란? 프로세스는 실행 중인 프로그램(program)을 뜻한다. 운영체제로부터 자원을 할당 받는 작업의 단위. Active entity, 메모리에 적재되어 프로그램 카운터와 자원을 가진 인스턴스 프로그램은? 프로그램은 명령어들의 모음을 포함한 디스크에 저장된 파일이다. Passive entity, 명령어 리스트를 지닌 실행 파일 클래스 프로그램이 실행되면 이 프로그램의 명령어들과 데이터가 메모리에 적재되고 이것이 프로세스가 된다. 예를들면 컴퓨터를 켜고 디스코드에 들어가고, 구글과 vsc를 켜는 행위가 각각의 프로세스를 실행시키는 것. 프로세스의 메모리 구조 각 프로세스는 위 그림과 같은 구조를 갖는다. 각 영역은 다음과 같은 역할을 한다. Code 영역 : 프로그램을 실행시키는 실.. 2023. 1. 18.
[라이브러리/itertools] combinations , product , permutations 알고리즘을 풀다보면 조합을 구하는 문제를 많이 만나게 되는데 그럴 때 사용하기 좋은 내장함수를 보자 리스트에 있는 값들의 모든 조합을 구하기 사용하려면 언제 사용하는지를 알아야한다. 하나의 리스트에서 모든 조합을 계산을 해야 한다면, permutations, combinations을 사용 두개 이상의 리스트에서 모든 조합을 계산해야 한다면, product를 사용 #맨위에 입력해주자 from itertools import combinations from itertools import product from itertools import permutations 하나의 리스트에서 모든 조합을 구하기 > combinations(조합) itertools.combinations(iterable, r)은 반복 가능 .. 2023. 1. 17.
[함수] lambda 함수(익명함수) 람다디람다디람다리람~ lambda 매개변수 : 표현식 한줄로 함수를 만들어내는 아주 유용한 녀석이다. def plus(x, y): return x + y ------------------ plus(10, 20) 30 위의 식을 한줄로 만들어 보겠다. (lambda x,y : x + y)(10,20) ----------------- 30 매개변수를 지정하고, 표현식을 만든다음 인자를 넣어주면 된다. 따란~ 이렇게 쉽게 만들 수 있다. 람다함수 사용 예 sorted함수의 경우 key위치인자에 함수를 보내서, 함수에서 지장한 결과값에 따라서 정렬을 할 수 있다. 다음과 같은 문자를 정렬할때 target = [' cat ', ' tiger ', ' dog', 'snake '] 알파벳 순서가 아니라, 앞뒤 불필요.. 2023. 1. 17.
728x90
반응형