티스토리

Computer engineer
검색하기
블로그 홈

블로그 홈

Computer engineer

hu-studyrecord.tistory.com/m
신고

HU_717 님의 블로그입니다.

구독자
2
방명록 방문하기
구독하기

주요 글 목록

  • [Network] OSI 7 계층 Network를 공부하면서 제일 기본이 되는 OSI 7계층에 대해 정리하였다OSI 7계층OSI 7계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것이다OSI 7계층으로 나눔으로써 통신이 일어나는 과정을 파악할 수 있다물리 계층 (Physical Layer)데이터를 비트(1과 0) 단위로 변환하여 전기적, 광학적 신호로 전송함.전기적, 기계적, 기능적인 특성을 이용하여 물리적 매체(케이블, 광섬유, 무선)를 통해 데이터 전송.사용되는 장비로는 리피터, 허브, 네트워크 인터페이스 카드(NIC) 등이 있음.데이터 링크 계층 (Data Link Layer)물리 계층에서 받은 비트 데이터를 프레임으로 나누고 MAC 주소를 기반으로 안전하게 전송.CRC 기반 오류 제어, 흐름 제어를 통해 신뢰성을 보장함... 공감수 0 댓글수 0 2025. 1. 21.
  • [Server] REST/REST API/RESTful RESTHTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)를 명시하고 HTTP Method(POST, GET, PUT, DELETE, PATCH 등)을 통해 해당 자원(URI)에 대한 CRUD Operation을 적용하는 것웹 서비스가 어떻게 동작해야 하는지에 대한 아키텍처 스타일REST 구성요소자원(Resource) : HTTP URI자원에 대한 행위(Verb) : HTTP Method자원에 대한 행위의 내용(Representations) : HTTP Message Pay LoadREST API REST의 원리를 따르는 APIREST API 설계 원칙URI는 동사보다 명사를, 대문자보다는 소문자를 사용한다마지막에 ' / ' 를 포함하지 않는다' _ ' 대신.. 공감수 0 댓글수 0 2024. 11. 28.
  • [모바일 컴퓨팅] 웹페이지 연동 오류 ♦️ 문제 WebView 아래 버튼 3개 만들어서 naver, daum, google 생성 후 해당 페이지 보여주기 💡 결과 ✏️ 오류 파일 경로 : [app\manifests\AndroidManifest.xml] 오류 1) net::ERR_CACHE_MISS 해결 추가 오류 2) net::ERR_CLEARTEXT_NOT_PERMITTED 해결 android:usesCleartextTraffic="true"추가 공감수 0 댓글수 0 2023. 4. 28.
  • [운영체제] 5주차 퀴즈 1. make 명령어를 실행하면 Makefile에 작성한 모든 target이 생성된다.(O/X) 답 : X 2. Makefile에서 build라는 사용자 정의 명령어를 작성했다. 이 명령어를 실행하는 명령어는? 답 : make build 3. 시스템 콜 번호를 이용하여 시스템 콜을 호출하는 C API 함수 이름은? 답 : syscall 공감수 0 댓글수 0 2023. 4. 6.
  • [운영체제] 4주차 퀴즈 1. 3줄을 실행하되 함수를 만나면 들어가지 않고 그대로 실행하는 gdb 명령어는? 답 : (gdb) next 3 2. 지역변수 x, y가 있다. x가 y보다 클 때 10번 줄에 중단점을 설정하는 gdb 명령어는? 답 : (gdb) b 10 if x>y 3. 현재 중단점 1번 4번 5번이 존재한다. 4번 중단점을 비활성화하는 gdb 명령어는? 답 : (gdb) disable 4 공감수 0 댓글수 0 2023. 4. 6.
  • [운영체제] 3주차 퀴즈 1. 홈 디렉토리 이하에 존재하는 대문자로 시작하는 디렉토리의 경로를 모두 출력하는 한 줄 명령어는? (hint: find) 답 : find /home –type d –name ‘[A-Z]*’ -print 2. 하드링크의 수가 0이 되면 파일은 삭제된다. O/X 중 하나를 고르시오 답 : X 3. 프로세스 관련 시스템 콜 함수가 아닌 것을 보기 중에서 하나 고르시오 - open - execvp - wait - fork - return 답 : return 공감수 0 댓글수 0 2023. 4. 6.
  • [운영체제] 2주차 퀴즈 1. 공유 폴더(/media/share)에서 대문자로 시작하고 .c 또는 .h로 끝나면서 .c / .h 앞의 문자열의 길이가 4이상인 모든 파일을 ./prac 디렉토리로 복사하고자 한다. 적합한 명령어는? 답 : cp /media/share/[[:upper:]]???*.[ch] ./prac/ 2. 셸에서 명령어를 실행하면 ____환경변수에서 실행파일을 찾아 실행을 시도한다. 빈칸에 들어갈 단어는? 답 : 1.PATH 3. 현재 작업 디렉토리에서 test01.txt부터 test16.txt까지(01~16)의 파일 내용을 모두 한꺼번에 출력하고자 한다. 적합한 명령어는? 답 : cat test01.txt test02.txt test03.txt test04.txt test05.txt test06.txt test.. 공감수 0 댓글수 0 2023. 4. 6.
  • [운영체제] 1주차 퀴즈 1. 컴퓨터의 자원을 다른 시스템, 응용프로그램, 사용자가 사용하지 못하도록 감추는 기술은 무엇인가? 답 : 가상화 2. 텍스트 명령어를 입력하여 OS에게 일을 시키는 명령어 해석기이면서 프로그래밍 언어이기도 한 이것은 무엇인가? 답 : shell(셸) 3. 리눅스 커널에서 모든 컴퓨터 자원에 접근이 가능한 최상위 유저의 이름은 무엇인가? 답 : root 공감수 0 댓글수 0 2023. 4. 6.
  • [모바일 컴퓨팅] 라디오 버튼에 따른 이미지 변화 💡 결과 1) 체크 박스에 따른 Radio Button 변화 2) Radio Button에 따른 이미지 변화 3) Scale Type 변화 ✏️ 막혔던 점 - Layout구성에서 FrameLayout을 알지 못하여 버튼을 이중으로 구성하려고 시도했을때 어려움을 겪었다. - Layout구성에서 match_parent와 wrap_content를 응용하지 못하고 박스 크기가 글씨에 따라서 제각각인 문제를 겪었다. ✏️ Layout wrap_content : 폭과 높이가 글자가 꼭 들어갈 정도로 설정 match_parent : 자신의 부모에 폭이나 높이를 맞추는 것 LinearLayout - 세로 또는 가로의 단일 방향으로 모든 하위요소를 정렬하는 뷰 그룹. - android:orientation속성을 사용하여.. 공감수 0 댓글수 0 2023. 4. 6.
  • [모바일 컴퓨팅] 계산기 만들기 Android Studio를 통해 두가지 방법으로 계산기를 만들어봤다. 전체적인 코드를 올려놓기보다 Android Studio에 라이브러리를 추가하는 과정에서 많은 어려움을 겪어 그 과정을 설명하려고 한다. 코드는 github에 올려놓았으니 참고해도 좋을 것 같다. 1) 숫자, 부호 입력시 "식 = 결과" 형태로 출력 💡결과 ✏️ 계산기 입력, 출력 형태 (1) 숫자 선택 - 숫자 버튼을 선택하면 입력된 숫자가 계산기에 표시된다. (2) 부호 선택 - 부호 버튼 선택 시, 입력 창은 빈 부분으로 변경된다. - ' + ', ' - ', ' / ', ' * ' (3) 숫자 선택 - 다시 숫자 버튼 선택 시, 숫자가 입력 창에 표시된다. (4) 부등호 선택 - "숫자 + 부호 + 숫자 = 결과"의 형태로 결과.. 공감수 0 댓글수 0 2023. 3. 24.
  • [운영체제] 실습환경 구축 : VirtualBox에 Ubuntu구축 1) Ubuntu 설치 ❗Version : 20.04❗ https://ubuntu.com/download/desktop Download Ubuntu Desktop | Download | Ubuntu Ubuntu is an open source software operating system that runs from the desktop, to the cloud, to all your internet connected things. ubuntu.com 2) VirtualBox 설치 ✏️ VirtualBox 설치 진행 👉 오류 💡해결 : c++ 설치 패키지 설치 https://learn.microsoft.com/ko-kr/cpp/windows/latest-supported-vc-redist?view=msvc.. 공감수 0 댓글수 0 2023. 3. 21.
  • [데이터베이스] 한눈에 보는 데이터베이스 수업을 하기에 앞서 전체적인 데이터베이스의 개념과 함께 앞으로 공부할 방향을 찾기위한 자료조사를 진행하였다. 데이터베이스의 정의 데이터베이스는 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합이다. 일반적으로 컴퓨터 시스템에 전자적으로 저장되며 데이터베이스는 데이터베이스 관리 시스템(DBMS)에 의해 제어된다. 데이터베이스는 여러 개의 연관된 데이터 테이블로 구성되며, 이러한 데이터들은 일정한 구조를 가지고 있어 검색, 추가, 수정, 삭제 등의 작업이 용이하다. 데이터베이스의 특징 1) 실시간 접근성 : 데이터베이스는 사용자의 질의에 즉각적인 처리와 응답이 가능하다. 2) 지속적인 변화 : 데이터베이스의 상태는 동적이다. 생성, 수정, 삭제를 통하여 항상 최신의 데이터를 유지한.. 공감수 0 댓글수 0 2023. 3. 15.
  • [모바일 컴퓨팅] Android studio 설치 및 기본 설정 💡 Android studio 설치 https://developer.android.com/studio Download Android Studio & App Tools - Android Developers Android Studio provides app builders with an integrated development environment (IDE) optimized for Android apps. Download Android Studio today. developer.android.com 💡 새로운 프로젝트 생성 및 Empty 템플릿 생성 사용언어 : java Minimum SDK : Android 8.0 (Oreo) ✏️ 2-1) SDK 설정 Android 8.0(Oreo) 설치 ✏️ 2-2).. 공감수 0 댓글수 0 2023. 3. 3.
  • [알고리즘] Hash Tables & Dynamic Programming Direct Addressing Table |U| 개의 slot으로 이루어진 Table T U : 전체 집합 가정 : 서로 다른 원소는 동일한 key를 갖지 않는다 수행 시간 : O(1) 메모리 공간 소비 상당 U의 크기가 매우 크기 때문에, |U|개의 원소를 담을 수 있는 Table T를 이용하는 것은 실용적이지 못함 컴퓨터 메모리의 함계 실제로 이용하고 있는 key들의 집합을 K라고 했을때, |K|는 |U|에 비해 매우 작음 Table T에 할당된 메모리 공간의 낭비가 매우 심함 Hash Table #### Hash Function - 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수 - 해시 함수에 의해 얻어지는 값 : 해시 값, 해시 코드 , 해시 체크섬, 해시 - 해시 테이블에 사용 .. 공감수 0 댓글수 0 2023. 2. 3.
  • [알고리즘] 기계학습_2 Gradient "함수 값(스칼라 장)의 증가율이 최대인 방향"을 의미 = 기울기 다변수 함수의 편미분 모임 즉, 편미분 값이 이루는 벡터를 Gradient라고 부름 예제(ppt) Gradient에 대해 조사하여 Gradient의 의미에 대해 정리하고, 아래 주어진 함수의 f'(x)및 f'(0.5, -1) 구하기 Gradient Descent 목적 함수를 최소화 하는 방향으로 반복적 변수 업데이트 1) 초기값(x0), 학습률(y), 종료 조건 설정 2) xk에서의 기울기 계산 3) 종료 조건 만족시, 종료 // 그 외의 경우, k = k + 1 , 2단계 반복 서로 독립인 표준 정균 분포를 따르는 xk, zk 생성 < Box-Mul.. 공감수 0 댓글수 0 2023. 2. 3.
  • [알고리즘] 기계학습 인공지능 사람이 해야할 일을 기계가 대신할 수 있는 모든 자동화에 해당 머신러닝 명시적으로 규칙을 프로그래밍하지 않고 데이터로부터 의사결정을 위한 패턴을 기계가 스스로 학습 딥러닝 입공신경망 기반의 모델로, 비정형 데이터로부터 특징 추출 및 판단까지 기계가 한 번에 수행 기계학습 지도 학습 문제와 정답을 모두 알려주고 학습 비지도 학습 답을 가르쳐주지 않고 학습 강화 학습 보상을 통해 상은 최대화, 벌은 최소화하는 방향으로 학습 기계학습 알고리즘 예시 회귀 분석 : 예측 입력 데이터들의 특징을 기준으로 연속된 값 예측 어떤 패턴, 경향성 예측 특이 값 분석, 관리 중요 선형 회귀, 비선형 회귀 로지스틱 회귀 : 0,1 분류 분류 입력 데이터를 두개 이상의 "정해진 결과"로 예측 데이터의 특성에 따른 범주.. 공감수 0 댓글수 0 2023. 2. 3.
  • [알고리즘] 인공지능 개론 및 응용 인공지능 관련 용어 인공지능 학습과 문제 해결과 같은 인간의인지기능을 모방하는 기계 인공물에 있어서의 지능적 행위(복잡한 환경에서의 지각, 추론, 학습, 의사전달, 행동) 기계학습 컴퓨터에게 명시적으로 프로그램을 하지 않고도 컴퓨터가 학습할 수 있는 능력을 제공하는 연구 분야 자동으로 대량의 데이터로부터 패턴/지식을 찾아 학습하고, 예측을 수행하는 방식 인공지능을 구현하기 위한 여러 수단 중 하나 딥러닝 심층 인공신경망 기반 방법들의 총칭 기계학습을 구현하기 위한 여러 수단 중 하나 기계학습의 분류 지도학습 Label이 있는 데이터를 이용해 학습 분류, 회귀 비지도학습 Label이 없는 데이터를 이용해 학습 데이터에 내재된 패턴, 특성, 구조를 학습 차원 축소, 군집화 강화학습 에이전트가 주어진 환경내에.. 공감수 0 댓글수 0 2023. 2. 3.
  • [알고리즘] 최소 신장 트리 비교 그래프 G의 신장트리 그래프 내의 모든 정점을 포함하는 트리 G의 정점들과 간선들로만 구성된 트리 그래프 G의 최소(비용) 신장트리(MST) G의 신장트리들 중 간선의 합이 최소인 신장트리 최소 신장 트리 Minimum Spanning Trees(MST) 간선들의 가중치 합이 최소인 신장트리 무방향 가중치 그래프 G = (V,E) 각 Edge의 가중치 w(u,v) Quiz 아래의 조건을 만족하는 Edge들의 부분집합 T 찾기 T에 속한 Edge들에 의해 그래프의 모든 노드들이 서로 연결될 수 있다. 가중치의 합이 최소가 된다. 크루스칼 알고리즘 // 작은 가중치 먼저(무방향 그래프) 사이클을 만들지 않는 범위에서 최소 비용 간선을하나씩 더해가면서 최소 신장 트리를 만든다. 현재 선택할 수 있는 가장.. 공감수 0 댓글수 1 2023. 2. 3.
  • [알고리즘] 그래프 그래프 버스 정류장과 여러 노선이 함께 포함된 형태 또는, 링크드인(Linked in)과 같은 사회 관계망 서비스의 연결 등의 형태 현상이나 사물을 정점과 간선으로 표현하는 것 G = (V, E) V : 정점의 집합 정점 Vertex 노드 Node 독립형 객체/Circle로 표현 E : 간선의 집합 간선 Edge 링크 Link 두개의 정점을 결하는 객체 화살표 또는 실선으로 표현 두 정점이 간선으로 연결되어 있으면 인접하다(Adjacent)고 한다 방향 그래프 방향성에 따른 분류 방향 있는 간선(Directed Edges)을 지닌 그래프 각 간선은 하나의 정점을 떠나서, 하나의 정점으로 들어감 Self-loop(Self-edge) 가능 두 정점 사이에 최대 2개의 간선 존재 가능 무방향 그래프 방향 없는.. 공감수 0 댓글수 0 2023. 2. 3.
  • [알고리즘] 트리 알고리즘 트리 계층적 구조를 표현하는 자료 구조 이진 트리 각 노드가 최 두 개의 자식을 갖는 트리 완전 이진 트리 마지막 레벨을 제외하고 모든 레벨이 완전히 채워져 있는 트리 마지막 레벨은, 노드가 왼쪽에서 오른쪽으로 채워져야 함 오른쪽으로부터 비어 있을 수 있음 배열을 이용하여 표현 가능 이진 트리 표현 배열 표현 - 모든 노드의 상위, 왼쪽 하위 및 오른쪽 하위의 위치를 쉽게 결정 가능 - 모든 노드 i 에 대해 완전한 이진 트리에서 1) parent(i) = [i/2] 2) leftchild(i) = 2i 3) rightchild(i) = 2i + 1 - skewed(비뚤어진) tree인 경우, 공간 낭비 연결 리스트 표현 - 순차적 표현의 일반적인 부적절성 - skewed tree위한 낭비 - 트리 중앙.. 공감수 0 댓글수 0 2023. 2. 3.
  • [알고리즘] 문제 풀이 해답 점수 계산(2822번) 상근이는 퀴즈쇼의 PD이다. 이 퀴즈쇼의 참가자는 총 8개 문제를 푼다. 참가자는 각 문제를 풀고, 그 문제를 풀었을 때 얻는 점수는 문제를 풀기 시작한 시간부터 경과한 시간과 난이도로 결정한다. 문제를 풀지 못한 경우에는 0점을 받는다. 참가자의 총 점수는 가장 높은 점수 5개의 합이다. 상근이는 잠시 여자친구와 전화 통화를 하느라 참가자의 점수를 계산하지 않고 있었다. 참가자의 8개 문제 점수가 주어졌을 때, 총 점수를 구하는 프로그램을 작성하시오. score = [int(input()) for _ in range(8)] sum = 0 idx = [] for i in range(5): sum += max(score) a = score.index(max(score)) idx.ap.. 공감수 0 댓글수 0 2023. 2. 3.
  • [알고리즘] 특수 정렬 알고리즘 기수 정렬 알고리즘 모두 k 자릿수 이하의 자연수인 특수한 경우 시간 복잡도 O(n) 계수 정렬 알고리즘 정렬하고자 하는 원소들의 값이 O(n)을 넘지 않는 경우 정렬할 데이터에 대한 사전 지식을 이용 시간 복잡도 O(n) arr = [1,2,5,4,7,8] count = [0] * (max(arr) + 1) for num in arr: count[num] += 1 for i in range(1, len(count)): count[i] += count[i-1] result = [0] * (len(arr)) for num in arr: idx = count[num] result[idx - 1] = num count[num] -= 1 print(result) 공감수 0 댓글수 0 2023. 2. 3.
  • [알고리즘] 고급 정렬 알고리즘 병합 정렬 알고리즘 분할정복 알고리즘 분할 : 1개 남을 때 까지 정복 : 재귀적으로 병합 : 다시 n개가 될 때까지 모든 원소를 다 나눈 다음에 병합하는 방식으로 정렬을 수행 시간 복잡도 O(nlogn) // 효율적 알고리즘 임시리스트 사용 def merge_sort(arr): if len(arr) < 2: return arr mid = len(arr)//2 left_arr = merge_sort(arr[:mid]) right_arr = merge_sort(arr[mid:]) merged_arr = [] l = r = 0 while l < len(left_arr) and r < len(right_arr): #내림차순일 경우 부호 반대 if left_arr[l] < right_arr[r]: merged_.. 공감수 0 댓글수 0 2023. 2. 3.
  • [알고리즘] 기초 정렬 알고리즘 선택 정렬 알고리즘 단순한 정렬 시리즈 중 하나 n개짜리 배열에서 시작하여 아직 정렬되지 않은 배열의 크기를 하나씩 줄임 특정 숫자(최대.최소)를 선택하는 방식으로 정렬을 진행 각 Loop마다 남아있는 원소 중, 최대 원소 선택 ==최대 원소와 맨 오른쪽 원소를 교환한다(오른쪽)== 하나의 원소만 남을 때까지 위의 Loop를 반복 제자리 정렬 알고리즘 입력 배열 이외에 다른 추가 메모리를 요구하지 않음 시간 복잡도 O(n^2) def Sel_sort(a): n = len(a) for i in range(0, n-1): idx = i for j in range(i+1, n): if a[j] < a[idx]: idx = j a[i], a[idx] = a[idx], a[i] print(a) Sel_sort([.. 공감수 0 댓글수 0 2023. 2. 3.
  • [알고리즘] 파이썬 기초 문제 1 ) 10개의 수를 입력받아 리스트(list)에 저장하시오. 리스트의 원소를 역순(reverse)으로 출력하시오 10개의 수 중 최댓값을 찾고 최댓값의 위치(인덱스)를 출력하시오 #10개 숫자 입력 및 리스트로 생성 num_list = list(map(int, input().split())) print(" list :", num_list) #10개 숫자 역순으로 출력 reverse_list=num_list[::-1] print("reverse :",reverse_list) #최댓값 및 인덱스 출력 count=0 for num in num_list: if count < num: count = num for num_index in range(0,len(num_list)): if num_list[num.. 공감수 0 댓글수 0 2023. 2. 3.
  • [알고리즘] 알고리즘 설계와 분석의 기초 정의 문제를 해결하는 단계적 절차 또는 방법 입력이 주어지고, 수행 결과를 출력 해야 할 작업 명확하게 명시 필요 특성 정확성 : 주어진 입력에 대해 올바른 해를 주어야 함 수행성 : 알고리즘의 각 단계는 컴퓨터에서 수행이 가능해야 함. 유한성 : 알고리즘은 일정 시간 내에 종료되어야 함. 효율성 : 알고리즘은 효율적일수록 그 가치가 높아짐. 표현 방법 흐름도 의사코드 프로그래밍 언어로 된 진짜 코드와 유사하게 표현되지만, 문법적 오류를 크게 신경 쓰지 않음 언어 종속성이 없는 표현 방식 효율성 알고리즘의 수행 시간 또는 알고리즘이 수행되는 동안 사용되는 메모리 공간의 크기 시간 복잡도 실행 시간은 실행환경(하드웨어, 운영체제, 언어, 컴파일러)에 따라 달라짐 실행 시간 측정 대신, 단위 연산 횟수 측정.. 공감수 0 댓글수 0 2023. 2. 3.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.