인터넷 응용프로그램의 보안
CS/데이터베이스2024. 3. 8. 19:08인터넷 응용프로그램의 보안

암호화 대칭적 암호화(Symmetric Encryption) 암호화에 필요한 키가 복호화 키로도 사용이 되는 암호화 방식을 말한다. 키가 하나만 있으면 되기에 간편한 방법이지만 키를 건네줄 때 부담이 생기게 된다. 암호화된 내용도 중간에서 가로챌 수 있는데 키라고 중간에 못 가로챌 일은 또 없다. 이렇게 하나의 키로 암호화와 복호화를 모두 하게 되면 키를 교환하는데에 부담이 생기게 된다. 공개키 암호화(Public-Key Encryption) 그래서 이런 부담을 줄이고자 나온게 공개키 암호화다. 각 사용자들은 모든 사람에게 알려진 공개 암호화 키와 자신만 알고 있는 비공개 복호화 키를 하나씩 갖고 있다. 사용자가 아마존에게 암호화된 주문 정보를 보내는 것을 예시로 보자.▼ 아마존은 암호화를 해주는 pub..

[노션 강의] 4. 노션의 핵심 데이터 베이스
NOTION2024. 3. 8. 18:55[노션 강의] 4. 노션의 핵심 데이터 베이스

앞의 포스트에서 봤던 노션의 구조, 블록은 사실 다른 메모 어플리케이션에서도 지원을 하는 내용들다. 노션이 조금 더 완성도 있게, 더 많이 지원해주는 부분이 있지만, 사실 이 블록들보다 노션이 힘을 쓰고 있는 부분은 데이터베이스다. "데이터베이스? 그거 백엔드에서 다루는 거잖아." 데이터베이스라고 하면 개발자의 전유물같은 느낌으로 받아들여지는데, 최근에는 개발자로 많은 분야의 사람들이 활동하게 되면서 그런 감각이 조금 사라진 것 같다. 사실 데이터베이스라는 것 자체가 개발자가 많이 쓰지만 개발자를 위한 것 보다는 데이터를 효율적으로 다루기 위해 나온 것이라고 보는게 더 맞을 거다. 그것을 개발자가 사용하는 것 뿐이다. 그런 감각, 그런 개념으로 접근하게 되면 노션에서 데이터베이스를 사용하는 것은 문서 ..

[면접 질문] Flutter 기본 질문
스펙 업!2024. 3. 5. 22:57[면접 질문] Flutter 기본 질문

Flutter란?Flutter는 구글에서 개발한 모바일 어플리케이션 개발용 오픈소스 프레임워크다. Dart언어로 작성되었으며 안드로이드 및 iOS 모바일 앱 개발 뿐만 아니라 웹, 데스크톱 및 IoT 기기 등 다양한 플랫폼에서도 실행이 가능하다. Flutter는 빠른 개발 및 확장성을 지원하고, 다양한 애니메이션 및 사용자 인터페이스 요소를 포함하고 있다.  Flutter와 타 모바일 개발 플랫폼들과의 차이점React Native와의 차이점Flutter의 높은 성능Flutter의 Dart언어는 네이티브 코드로 컴파일 될 수 있다. 허나 React Native는 네이티브 모듈과 통신하기 위해 JavaScript 브리지를 사용하기 때문에 성능이 Flutter에 비해 약간 낮을 수 있다. 응용 프로그램 크기F..

2024. 3. 5. 21:46[면접 질문] 프로그래밍 공통(그 외) 작성중

보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력 해주세요.

2024. 3. 5. 21:45[면접 질문] 프로그래밍 공통(CS) 작성중

보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력 해주세요.

[면접 대비] 프로그래밍 공통
스펙 업!2024. 3. 5. 17:21[면접 대비] 프로그래밍 공통

메모리 구조코드 영역실행할 프로그램의 코드가 저장되는 영역으로 텍스트(Text) 영역이라고도 부른다.사용자가 프로그램 실행 명령을 내리면 OS가 HDD에서 메모리로 실행 코드를 올리게 되고, CPU는 코드 영역에 저장된 명령어를 하나씩 가져가 처리하게 된다.제어문, 함수, 상수들이 이 영역에 저장된다. 데이터 영역프로그램의 전역 변수(global)와 정적 변수(static)가 저장되는 영역이다.데이터 영역은 프로그램의 시작과 함께 할당되며, 프로그램이 종료되면 소멸한다. 힙 영역프로그래머가 직접 관리할 수 있는 메모리 영역으로 이 공간에 메모리를 할당하는 것을 동적 할당이라고 부른다.Java, C# 그리고 일부 스크립트 언어에 가비지 콜렉터가 있으며, 해당 언어들에서는 가비지 컬렉터가 자동으로 메모리를 ..

CPU Scheduling
CS/운영체제2024. 3. 4. 21:23CPU Scheduling

개요 운영체제는 항상 한정된 자원을 두고 자신과의 싸움을 한다. ▼ 자원은 계속해서 늘어나고 있지만 자원이 늘어나는 만큼 더 많이 사용하게 되어 자원은 항상 부족하다. 프로세스가 구동이 되려면 메모리 자원과 CPU자원이 필요하다. 모든 프로세스가 자원을 원하는 만큼 가져가면 좋겠지만 그렇게 다 주기엔 자원이 모자르기에 누구에게, 얼마나, 얼마동안 줄 지를 결정해야한다. 이렇게 프로세스에게 자원을 주는 일련의 행위를 Scheduling, 해당 행위를 맡고있는 OS의 일부분을 Scheduler라고 부른다. Q. Scheduler의 정체가 정확히 무엇인지? 하드웨어? 아니면 프로세스? A. 스케쥴러는 하드웨어나 별도의 프로세스가 아닌 OS의 기능중 하나이다. Term에 따른 종류 스케쥴러는 term을 단위로 ..

Process
CS/운영체제2024. 3. 4. 20:49Process

프로세스(Process)란? 프로세스란 지금 실행하는 프로그램을 의미하며, 프로그램의 가장 기본적인 단위를 의미하기도 한다. 프로세스의 문맥(Context) 현재 혹은 특정 지점을 놓고 봤을 때 프로세스가 어디까지 수행됐는지, 프로세스를 실행시키기 위해 어떤 메모리 공간을 만들었는지, Program Counter가 어디를 가리키고 있는지를 알려주는 정보를 프로세스의 문맥이라고 한다. 프로세스의 요소 각 프로세스는 크게 아래의 2가지를 갖는다. address space(core image) process table entry 여기서 entry는 해당 프로세스를 수행하기 위해 필요한 정보와 나중에 수행하기 위해 필요한 레지스터 값과 상태를 저장한다. Entry보다는 Process Control Block이라..

백준 1747번 소수&팰린드롬 - SWIFT
Algorithm/BOJ PS2024. 3. 3. 21:50백준 1747번 소수&팰린드롬 - SWIFT

문제 어떤 수와 그 수의 숫자 순서를 뒤집은 수가 일치하는 수를 팰린드롬이라 부른다. 예를 들어 79,197과 324,423 등이 팰린드롬 수이다. 어떤 수 N (1 ≤ N ≤ 1,000,000)이 주어졌을 때, N보다 크거나 같고, 소수이면서 팰린드롬인 수 중에서, 가장 작은 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N이 주어진다. 출력 첫째 줄에 조건을 만족하는 수를 출력한다. 문제 링크 1747번: 소수&팰린드롬 어떤 수와 그 수의 숫자 순서를 뒤집은 수가 일치하는 수를 팰린드롬이라 부른다. 예를 들어 79,197과 324,423 등이 팰린드롬 수이다. 어떤 수 N (1 ≤ N ≤ 1,000,000)이 주어졌을 때, N보다 크거나 같고, www.acmicpc.net 풀이 이 문제를 풀 때..

[Unity2D] Input 시스템
Develop/Unity2024. 3. 3. 21:37[Unity2D] Input 시스템

시작 게임은 영상이나 음악이란 요소도 중요하지만, 영화나 다른 시각 매체와 큰 차이점을 두는 것은 바로 조작이다. 우리가 게임을 조작하기 위해서는 여러가지 것들을 이용할 수 있다. PC게임이라면 키보드, 콘솔 게임이라면 게임패드, 모바일 게임이라면 터치UI 등등이 될 수 있다. 우리가 게임을 조작하는 것은 물리적인 조작 장치가 게임에 신호를 보내는 것이라고 할 수 있다. 이 조작을 위한 신호는 Input 시스템이 담당하고 있기에 우리는 Input 시스템을 어떻게 이용할 수 있는지에 대해 알아야한다. Input System 게임 엔진에 대해 전문적이고 체계적으로 개발한 Unity는 그동안 입력에 관해 여러가지 시스템들을 도입하고 발전 시켰다. 그 결과 두 형태의 Input 시스템이 존재하는데, 각각 old..

image