깃모지
·
공부/깃&깃허브
깃모지란? git + emoji 커밋 메세지를 작성하는 툴 커밋 메세지 가장 앞에 이모지를 통해 커밋의 목적과 의도를 명확하게 표현하여 가독성을 높임 사진처럼 한 눈에 파악하기 쉽다 사용방법 1. https://gitmoji.dev/ 사이트에서 각 이모지의 코드를 본다 2. 해당 코드를 복붙한다 예를 들어 🔥를 사용하고 싶다면 :fire: delete: 불필요 코드 라고 치면 실제 커밋에서는 🔥 delete: 불필요 코드 이렇게 뜬다 깃허브 데스크탑의 경우에는 자동완성이 되어 사용하기 더욱 편리하다
[운영체제] 프로세스와 스레드
·
공부/운영체제
프로세스와 스레드 프로세스 (Process) 운영체제로부터 자원을 할당받는 작업의 단위 이미지 출처 : https://gmlwjd9405.github.io/2018/09/14/process-vs-thread.html 프로그램(Program) 프로그램 : 컴퓨터에서 실행할 수 있는 파일 ex) *.exe, *.dmg 정적 프로그램 : 아직 파일을 실행하지 않은 상태 어떤 프로그램을 개발하기 위해서는 Java나 C언어 등의 언어를 이용하여 코드를 작성해서 완성함 즉 프로그램은 쉽게 말하자면 코드 덩어리임 프로세스(Process) 프로그램을 실행시켜 정적인 프로그램이 동적으로 변하여 프로그램이 돌아가고 있는 상태 컴퓨터에서 작업중인 프로그램을 의미 메모리에 올라와 실행되고 있는 프로그램의 인스턴스(독립적인 개..
[운영체제] 메모리계층
·
공부/운영체제
메모리계층 메모리 CPU가 직접 접근할 수 있는 기억장치 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품 프로그램이 실행되려면 반드시 메모리에 저장되어 있어야 함 메모리 계층 메모리 관련 세 가지 주요 특성인 용량, 접근 속도, 비용 간의 절충 관계를 파악해 필요에 따라 채택할 수 있게 나타낸 구조 컴퓨터의 설계에 있어 각각의 특징이 있는 서로 다른 여러 종류의 저장 장치를 함께 사용하여 최적의 효율을 낼 수 있게 함 상황에 맞게 여러 저장 장치를 각각 사용할 수 있도록 하여 저렴하고 성능 좋은 컴퓨터를 구현하는 설계 계층구조 아래로 내려갈수록 비트당 비용 감소 용량 증가 접근 시간 증가 (속도 느림) 처리기에 의한 메모리 접근 횟수 감소 계층구조 위로 올라갈수록 비트당 비용 증가 용량 감소 접..
[운영체제] 운영체제와 컴퓨터
·
공부/운영체제
운영체제와 컴퓨터 운영체제 (OS, Operating System) 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 시스템 소프트웨어 하드웨어를 관리하고 컴퓨터 시스템을 효율적으로 관리 응용 프로그램과 하드웨어 간의 인터페이스로써 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경을 제공 운영체제 종류 Windows : microsoft에서 개발한 운영체제 가장 인지도 높음 노트북 및 서버 시스템에서 주로 사용 그래픽카드와 같은 다양한 하드웨어 대응할 수 있음 인터페이스가 사용자 친화적 호환되는 응용 프로그램 많음 다른 OS에 비해 RAM을 많이 잡아먹으며 용량도 많이 차지함 masOS : apple 사에서 개발한 운영체제 mac 컴퓨터, 노트북에서 사용 시스템 안정성과 사용자..
[자료구조] 동적계획법(DP)
·
공부/자료구조 | 알고리즘
동적 계획법 동적 계획법의 개념 한 가지 문제에 대해 단 한 번만 풀도록 하는 알고리즘 똑같은 연산을 반복하지 않도록 함 복잡한 문제를 더 작은 하위 문제로 나누어 해결 중복 계산을 줄여서 계산 속도를 높일 수 있으며 경우의 수가 많은 경우에도 효율적으로 계산 가능 동적 계획법의 조건 겹치는 부분 문제 (Overlapping Subproblems) 동일한 작은 문제들이 반복하여 나타나는 경우 사용 가능 부분 문제의 결과를 저장하여 다시 계산하지 않을 수 있어야 함 해당 부분 문제가 반복적으로 나타나지 않는다면 재사용이 불가능하여 부분 문제가 중복되지 않는 경우 사용 불가 최적 부분 구조 (Optimal Substructure) 부분 문제의 최적 결과 값을 사용해 전체 문제의 최적 결과를 낼 수 있는 경우..
[자료구조] 그리디 알고리즘
·
공부/자료구조 | 알고리즘
그리디 알고리즘 그리디 알고리즘의 개념 각 단계에서 최적이라고 생각되는 것을 선택하는 알고리즘 결정을 해야 할 때마다 미래에 대한 생각없이 그 순간에 가장 최선의 선택을 함 선택의 순간마다 당장 눈 앞에 보이는 최적의 상황만을 쫓아 최종적인 해답에 도달 근사적인 방법 항상 최적의 값을 보장하는 것이 아님 그리디 알고리즘 방법 문제의 최적해 구조를 결저 현재 상테에서으 문제의 구조에 맞는 최적의 해답 선택 절차를 정의 (선택 절차) 선택 절차에 따라 선택을 수행 선택된 해가 문제의 조건을 만족하는지 검사 (적절성 검사) 조건을 만족하지 않으면 해당 해를 제외 모든 선택이 완료되면 해답을 검사 (해답 검사) 조건을 만족하지 않으면 해답으로 인정 안하고 선택 절차로 돌아가 반복 그리디 알고리즘 조건 탐욕스러운..
[자료구조] 완전탐색
·
공부/자료구조 | 알고리즘
완전탐색 완전탐색의 개념 모든 경우의 수를 다 시도하여 정답을 찾는 알고리즘 컴퓨터의 빠른 계산 능력을 이용하여 가능한 경우의 수를 일일이 나열하면서 답을 찾는 방식 '무식하게 풀기'라는 의미의 브루트 포스(Brute Force)라고 부르기도 함 상대적으로 구현이 간단하고 해가 존재하면 항상 찾을 수 있음 경우의 수에 따라 실행 시간이 비례하기 때문에 입력 값의 범위가 작은 경우 유용 완전탐색의 종류 이미지 출처 : https://adjh54.tistory.com/197 1. 브루트 포스 모든 경우의 수를 탐색 경우의 수가 많아질수록 시간 오래 걸림 for이나 while 등 반복문과 if 조건문 등을 활용 // 브루트 포스 사용 예인 최댓값 찾기 public static int bruteForce(int..
[자료구조] 이진탐색
·
공부/자료구조 | 알고리즘
이진탐색 이진탐색의 개념 정렬된 배열에서 특정 값을 찾는 알고리즘 이분 탐색이라고도 함 탐색 범위를 절반씩 나누어 찾는 값을 포함하는 범위를 좁혀가는 방식 주로 배열의 인덱스를 기준으로 배열 내의 값을 탐색 이진탐색 방법 이미지 출처 : https://adjh54.tistory.com/187 배열의 중간에 있는 임의의 값(중간 값)을 선택 선택한 값을 찾고자 하는 값과 비교 선택한 임의의 값이 찾고자 하는 값보다 작으면 임의의 값 기준 좌측의 데이터들을, 크면 우측의 데이터들을 대상으로 다시 탐색 해당 값을 찾을 때까지 반복 이진탐색의 장점 검색 속도가 빠름 검색이 반복될 때마다 검색 범위가 절반으로 줄어듦 검색 대상의 크기와 상관없이 빠른 검색 속도를 제공 대량의 데이터를 다루는 알고리즘에서 많이 사용..