본문 바로가기

전체 글121

[운영체제] Memory API ✅malloc()#include void *malloc(size_t size);void *calloc(size_t nobj, size_t size);void *realloc(void *ptr, size_t newsize); 위의 함수들은 메모리 할당을 위해 사용되는 라이브러리 함수이다. malloc()과 calloc()은 지정된 크기의 바이트 메모리를 할당받는다.malloc()의 경우, 할당된 메모리의 초기 값은 정의되지 않고 calloc()의 경우, 할당된 메모리를 모두 0으로 초기화한다. 또한 두 함수는 가용 리스트를 통해 첫 번째 블록에 접근한다.포인터를 따라 이동하면서 정해진 알고리즘에 의해 리턴할 블록을 찾으며, 적절히 포인터를 조정하여 가용 메모리 리스트에서 이 블록을 가져와 그 블록을 사용자.. 2024. 10. 14.
[운영체제] The Abstration : Address Space 운영체제 역사1. Early Sytems위 그림은 초기 운영체제의 모습이다.이때를 "선사시대"라고 부르기도 한다.(운영체제에서 말하는 선사시대란 가상 메모리를 사용하기 전의 시대를 의미한다.)물리 메모리에 하나의 실행 중인 프로그램이 존재하였다.특별히 가상화에 대한 개념은 없었다. 2. Multiprogramming and Time Sharing프로세스가 여러 개 올라가는 다중 프로그래밍 프로세스에서 제일 중요한 첫 번째 목표는 "보호"이다.본인이 가지고 있는 메모리 영역을 남들이 침범하지 않도록 하는 것이다. 동작 방법에 대해서 설명하자면, 여러 프로세스는 실행 준비 상태인 것이다.이때 OS는 프로세스를 CPU에게 전환하면서 실행한다. 3. 주소 공간 Address Space주소 공간이란, 운영체제가 .. 2024. 10. 13.
[데이터베이스] Ch3 SQL I 3-1 Database Languages데이터베이스 시스템은 사용자와의 의사소통을 위하여 데이터베이스 언어를 제공해야 하며, 사용자는  데이터베이스 언어를 이용하여 사용자의 요구사항을 데이터베이스 시스템에 표현한다. 기능적 관점DDL데이터베이스 스키마에 대한 조작을 담당하는 영역 (스키마 생성, 삭제, 변경)스키마에 대한 정보를 사전에서 관리하기 때문에 DDL 실행 효과는 데이터 사전에 반영된다.DML데이터베이스 인스턴스를 조작하는 언어를 의미한다. (인스턴스 생성, 조회, 삭제, 변경)사용자는 DML을 이용해 질의를 생성하여 데이터베이스 시스템에 전달한다.DCL데이터베이스 시스템의 스키마와 인스턴스를 제외한 다른 객체를 조작하는 데이터베이스 언어이다.ex) 트랜잭션 시작, 종료언어가 표현되는 방식 관점.. 2024. 10. 12.
[인공지능] Ch2 Linear Classification Perceptron퍼셉트론 학습 규칙, PLA (= percpetron learning rule)출력이 정확하면, 즉 y = hw(x)이면, 가중치들은 변하지 않는다.y가 1인데 hw(x)는 0인 경우, 해당 xi가 양수이면 wi를 증가하고 음수이면 감소한다.hw(x)가 1을 출력하려면 w * x를 더 크게 만들어야 한다는 뜻y가 0인데 hw(x)는 1인 경우에는, 해당 입력 xi가 양수이면 wi를 감소하고, 음수이면 증가한다. hw(x)가 0을 출력하려면 w * x를 더 작게 만들어야 한다는 뜻 위의 수식을 통해 더 알아보자면, wi는 각 특성 xi에 곱해지는 가중치이다.threshold는 신용 승인이나 거부 같은 결정을 내리기 위한 기준값이다.sign 함수는 결과 값이 0보다 크면 +1을, 0보다 작.. 2024. 10. 10.
[운영체제] Introduction to Operating Systems I. Introudction to Operating Systems운영체제(OS)란, 컴퓨터에서 실행되고 컴퓨터 하드웨어를 관리하는 소프트웨어로, 다양한 애플리케이션 소프트웨어의 효율적인 실행을 위해 공통 서비스를 제공한다.   ✅가상화 (Virtualization)가상화란, 단일 CPU가 여러 소프트웨어를 동시에 실행하는 것처럼 보이게 하는 것을 의미한다.즉, 1개를 여러 개처럼 보이게하는 환상을 주는 것이다. * 추상화(Abstraction)와 헷갈리지 말자.하드웨어(CPU, Memory, Disk)를 추상화한 것이 소프트웨어(OS)인 것이다. ✅CPU의 가상화하드웨어의 도움을 받아 환상(illusion)을 제공한다.단일 CPU를 겉보기에 많은 수의 CPU가 있다는 환상을 제공하여 여러 개의 프로그램이.. 2024. 10. 10.
[데이터베이스] Ch2 Relational Data Model (2) 2-3. Relational Algebra관계 대수는 관계형 데이터 모델의 일부이며, 지금까지 정의한 관계, 제약 사항에 대한 연산을 제공한다.관계 대수는 위의 6개의 기본적인 연산이 있다.입력으로 하나 또는 두 개의 관계를 가지며, 결과물로 새로운 관계를 생성한다. 상용 데이터베이스는 시스템 관계 대수를 직접적으로 사용자에게 지원하지 않는다. 상용 데이터베이스 시스템은 그 대신 SQL 언어를 사용자에게 지원한다. ✅선택(select) 연산선택 연산의 기호는 σ(sigma)이며 그 옆에오는 p는 선택 조건을 의미한다 .각 항은 and, or, not으로 연결이 가능하다. 그림을 예시로 알아보자면 A와 B의 조건이 같고, D는 4보다 커야 한다는 것이다.그럼 σA=B^D>4의 결과는 두 가지 터플이 나오게.. 2024. 10. 9.
[데이터베이스] Ch2 Relational Data Model (1) 2-1 Relation Data Model 관계형 데이터모델에서 의미하는 관계는 '테이블 형식'이다.위의 그림은 student 관계의 예제이다.7개의 속성(attribute)과 5개의 터플(tuple)을 가지고 있다. 각 속성은 속성헤드(attribute head)를 가지고 있으며, 상기 관계에서 속성은 sID, name, gender, deptName, year, GPA, totalCredit이다. 여기서 관계, 터플, 속성은 기존 데이터 모델에서의 테이블, 레코드, 칼럼과 동일한 용어로 볼 수 있다. ✅속성각 속성은 속성 값으로 허용할 수 있는 값의 집합을 가지고 있으며, 이를 도메인이라고 한다.즉, 속성 값은 해당 도메인의 원소이다. 속성 도메인에 속하는 값은 원자 값을 가져야 한다.원자 값은 더 .. 2024. 10. 8.
[데이터베이스] Ch0 Getting Started Database Database데이터베이스를 본격적으로 시작함에 앞서, 개념에 대해 먼저 짚고 넘어가려고 한다. 데이터베이스는 서로 연관이 있는 데이터의 모임을 의미한다.이 데이터는 용량이 방대하여 주기억장치에는 저장이 불가능하여 2차 저장 장치인 하드디스크 (또는 플래시 메모리)에 저장되어야 하는 데이터이다. 이러한 데이터베이스 분야는 일상생활에서 널리 활용된다.ex) 은행의 데이터베이스 구축, 학교의 데이터베이스 운영 데이터베이스는 구조적 데이터 및 비구조적 데이터를 모두 포함한다.구조적 데이터: 데이터가 비교적 엄격한 스키마(또는 구조체)에 저장/관리되는 데이터비구조적 데이터: 스키마가 존재하지 않거나 또는 존재하여도 느슨한 형태의 스키마에 저장 관리되는 데이터 2024. 10. 8.
[데보션영] 9월 영전용 세미나 후기 (취준생 이야기) 안녕하세요! 이번에는 데보션영 세미나에 대해 이야기해보고자 합니다! 데보션엥에서는 매달 첫 째주 일요일에 영전용 세미나를 여는데요!9월에 있었던 세미나 내용을 공유하면 좋을 것 같아 글을 작성하게 되었습니다:) 총 세 분이 참여해주셨는데요1. 취준생들이 가장 많이 하는 질문 (김한성 님)2. 나의 작은 취준 이야기 (정경륜 님)3. 내 아이패드에서만 작동하던 어플이 전 세계로? (서희찬 님)  제목만 봐도 흥미로운 이야기가 많은 것 같아요 ㅎㅎ1. 취준생들이 가장 많이 하는 질문  김한성 님SK 텔레콤의 Data & AI DevOps 팀 소속 석사(부트캠프, 코딩학원)를 해야 될까요?취준이 1~2년이 넘어가면 해보는 것도 좋다!그러나 부트캠프,  코딩학원 출신이 오히려 꼬리표가 될 수도 있다* 제품(서비.. 2024. 9. 2.
[Android] 릴리즈 키 해시 뽑기 앱을 릴리즈 하면 릴리즈 키 해시 값을 별도로 넣어줘야 한다. 릴리즈 해시 키란, 앱을 배포하기 위해 생성한 릴리즈 인증서로부터 해시한 값이다.그래서 이번에 키 해시를 뽑는 방법을 간단하게 알아볼 것이다. release key hash터미널에서 키 해시 값을 뽑는 방법이다. 우선 아래 링크에서 openssl을 다운받는다.https://code.google.com/archive/p/openssl-for-windows/downloads Google Code Archive - Long-term storage for Google Code Project Hosting. code.google.com 그리고 아래 링크에서 jdk도 다운받는다.https://www.oracle.com/java/technologies/.. 2024. 8. 29.
[Android] aab 파일 만들기 릴리즈를 하기 위해서는 aab 파일을 만들어야 한다.그래서 aab 파일을 만드는 법에 대해서 간단히 알아보려고 한다. aab 파일먼저 build에 있는 Generate Signed App Bundle / APK로 가준다. 그 다음 Android app bundle을 누른 후 Next를 누른다.  그 다음에 create new를 눌러서 키의 비밀번호를 만들어준다.  마지막으로 relase를 선택해준다. 그리고 파일이 만들어진 위치에서 aab 파일을 확인하면 된다!! 2024. 8. 25.
[Android] 구글 개발자 계정 생성 및 앱 릴리즈 전 과정 (2주간 20명 비공개 테스트 진행) 구글 정책이 바뀐 후에 개발자 계정을 생성했을 경우, 별도의 비공개 테스트를 거쳐야 앱을 릴리즈할 수 있게 되었다.나는 2024년 8월 중에 개발자 계정을 생성했기에 2주간 20명 테스터와 함께 비공개 테스트를 거쳐야만 했다. 그래서 개발자 계정을 만들고, 2주간의 비공개 테스트 거쳐, 앱을 릴리즈하기까지의 모든 과정을 담아보았다. 개발자 계정 생성먼저 개발자 계정을 생성하기 위해서 Google Play Console에서 계정을 등록해줘야 한다.개인 개발자라면 개인을 선택해 준다. 그 이후에 '개발자 이름', '이메일 주소' 등 적어야 하는 것들을 적어주면 된다.그리고 결제를 해주면 끝!마지막으로 본인 확인을 진행해 준다.이때 신원을 확인할 수 있는 공문서를 업로드 해야 하는데, 나는 등본을 제출했다. .. 2024. 8. 21.