# register
3.1 운영체제와 컴퓨터
운영체제(OS, Operating System) : 사용자가 컴퓨터를 쉽게 다루게 해주는 인터페이스. 3.1.1 운영체제의 역할과 구조 운영체제의 역할 CPU 스케줄링과 프로세스 관리 메모리 관리 디스크 파일 관리 I/O 디바이스 관리 운영체제의 구조 운영체제 GUI 시스템콜 커널 드라이버 >- GUI : 사용자가 전자장치와 상호 작용할 수 있도록 하는 사용자 인터페이스의 한 형태 커널 : 운영체제 핵심. 시스템의 전반을 관리/감독. 하드웨어와 관련된 작업 직접 수행 드라이버 : 하드웨어를 제어하기 위한 소프트웨어 CUI : 그래픽이 아닌 명렁어로 처리하는 인터페이스 시스템콜

코드가 실행되는 동안 메모리에서 벌어지는 일
이 글에서는.. 컴퓨터는 레지스터와 여러 메모리 영역들(코드, 데이터, 힙, 스택 영역)을 이용해 코드를 해석하고 실행한다. 이 글에서는 코드가 해석되는 동안 코드에 필요한 데이터들이 어디에 저장되는지, 함수 호출과 종료 시에 무슨 일이 일어나는지 살펴본다. 메모리 영역 프로세스가 실행되기 위해서는 그 프로세스가 사용할 메모리 공간이 필요하다. 프로세스가 할당받는 메모리 공간은 통상 네 가지로 분류되는데, 각각 code 영역, data 영역, heap 영역, stack 영역이다. 이는 실제 자료구조 heap과 stack과는 아주 직접적인 관련은 없다. (물론 heap 영역이 heap으로, stack 영역이 stack으로 구현될 수 있고, 그것이 일반적이다) code

[Arm 아키텍처의 구조와 원리] Register
ARMv7 Registers 1. General Purpose Register R13: Stack pointer R14: Link Register R15: Program Counter CPSR: Current Program Status Register SPSR: Saved Program Status Register Banked Register: 특정 execution mode에서만 접근 가능한 레지스터. "Reg_"로 표기 2. CPSR & SPSR 2.1. CPSR 
Techit 12th 4th
Greedy Meeting Room 1931번: 회의실 배정 문제 한 개의 회의실이 있는데 이를 사용하고자 하는 N개의 회의에 대하여 회의실 사용표를 만들려고 한다. 각 회의 I에 대해 시작시간과 끝나는 시간이 주어져 있고, 각 회의가 겹치지 않게 하면서 회의실을 사용할 수 있는 회의의 최대 개수를 찾아보자. 단, 회의는 한번 시작하면 중간에 중단될 수 없으며 한 회의가 끝나는 것과 동시에 다음 회의가 시작될 수 있다. 회의의 시작시간과 끝나는 시간이 같을 수도 있다. 이 경우에는 시작하자마자 끝나는 것으로 생각하면 된다. 입력 첫째 줄에 회의의 수 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N+1 줄까지 각 회의의 정보가 주어지는데 이것은 공백을 사이에 두고 회의의 시작시간과 끝나는 시간이 주어진다. 시작 시간과 끝나는 시간은 231-1보다 작거나 같은 자연
Time and Memory(2)
Flip-Flops 특정 시점의 1bit의 정보를 기억하는 memory device Latch는 기억이 이뤄지는 시점이 level로 결정되어 해당 level 기간동안 입력이 변경될 수 있음. Flip-Flop은 edge(transition between logic level)로 기억이 이뤄지는 시점이 결정됨. edge는 짧은 시간동안 입력을 받아들이기 때문에 해당 시간에 입력이 변경될 확률이 latch에 비해 매우 낮음. SR Flip-Flop, D Flip-Flop, JK Flip-Flop, T Flip-Flop이 있음. D Flip-Flop $D$ : input $Q$ : output $S$ : set, PR(preset), bubble로 인

[Flutter] Firebase Authentication 사용해 보기 2편
Firebase Authentication 사용해 보기 2편 Firebase Authentication Documentation firebase_core | Flutter Package firebase_auth | Flutter Package Firebase Authentication 사용해 보기 1편 Firebase 세팅하기 - Flutter 3.0 이후 [Firebase 세팅하기 - Flutter 3.0 이전

#1 Firebase SignUp, Login with GetX
Overview 오늘은 Firebase 와 Flutter를 연동하여 가입하고, 로그인, 로그아웃을 하는 기능을 살펴보도록 하자. 여기서 다룰 것은 Firebase 세팅, 가입/탈퇴 기능, 로그인/로그아웃 기능, GetX로 로그인 상태 관리 등이다. Firebase Firebase란 완전 관리형 백엔드 서비스이다. 구글에서 만든 서비스로 연결된 모든 기기에서 실시간으로 데이터를 동기화하는 실시간 데이터베이스를 제공한다. 개발자가 모바일 및 웹 애플리케이션을 모두 쉽게 생성, 실행 및 확장할 수 있도록 한다. 실시간 데이터베이스, 인증, 스토리지, 호스팅 및 기타 기능을 제공하며 모두 단일 플랫폼에서 관리된다. Firebase For Android > Firebase 의 콘솔로 이동 프로젝트 생성 
[iOS] TableView (2) TableView 구현 - TableViewCell 구현!
저번 포스팅에서 개념을 배워봤으니 이제 적용을 해보장! 솝트 3차 세미나 과제 중 친구뷰를 통해서 실전 연습을 해보장! 0. 스케치 > * 테이블뷰와 무관한 FriendTopView는 포스팅은 안하지만! 코드는 남겨둘게용가링 1. Model 구현하기 > 모델에는 셀에서 반복되게 바뀌는 값을 구현하면 된다! 여기서는 프로필이미지, 프로필네임, 프로필메세지가 반복적으로 바뀜으로 구조체를 통해서 선언해줬다. 그리고 각각의 사용자를 리스트로 저장했다. 2. TableViewCell 구현하기 테이블뷰를 구성하는 셀들을 만들 차례이다. 중요하니 천천히 해보장 일단 셀을 구성하는 UI Components를 구성한다. 2-1. identifial 선언하기 >저번 포스팅에서

authenticate, redux (2)_front
들어가기 login, register부분의 front부분을 알아본다. front부분은 redux를 사용하기 떄문에, 어려울 수 있는데, 이번 로직으로 확실히 배워보자. 0. redux setting. -client부분의 src폴더 안에 store를 만든다. -store안에 actions, reducers, types 폴더와 index.js파일을 만든다. 1. index.js ~ 기본작인 redux의 index.js 세팅임. 크롬 브라우저에서 REDUXDEVTOOLSEXTENSION을 검색에서 브라우저에 설치해줌. 2. package.json / index.js(root) ~ 3. types/authType.js, messengerType.js
authenticate, redux (1)_back
들어가기 authenticate 관련해서, backend부터 시작해봅니다. 1. server.js ~ 2. routes/authRoute.js ~ 3. config/.env ~ 4. config/db.js DB만드는 방법, DB connect를 확인한다. ~ 5. models/authModel.js ~ 6. controller/authController.js ~ ///여기까지가 register, login 부분. formidable부분이 신선하긴 한데, formidable로 받은 file을 나중에 S3나 cloudflare에 넣을려면, 어떻게 해야 하는지 고민이 필요할듯. ///걍 multer로 받아야 하나 싶기도 함.

프로젝트 1 : 고양이 정보 커뮤니티#1
1) app.module.ts > mongoose module을 설치하고 안전한 db 사용을 위해서 환경변수 module도 설치해주었다. debug 세팅을 하면 mongoose query도 찍어준다고 한다. set()은 mongooseOptions에서 가져왔다. >> ConfigModule과 MongooseModule에서 forRoot() method를 사용하길래 타고 들어가 보니, ModuleMetadata interace를 확장한 DynamicModule을 반환한다고 한다. ModuleMetadata라고 하면 어렵게 들릴 수 있는데, @Module 장식자의 interface로 imports/controller/provider/exports를 property로 갖는 interface라고 생각하면 될 것 같다. >>> 정적 모듈과 동적 모듈은 간단하게 말하자면 imports시 module class만을 가져올
Nest.js 좀 더 자세한 모듈
Nest.js의 모듈은 평범하게 다음과 같이 생겼습니다. 그리고 imports 부분에 값들이 다양하게 들어가기 시작합니다. 또는 그리고 등 그냥 Module 을 import 해 올 것이지 뭐가 메서드가 그냥 많습니다. forRoot/forRootAsync register/registerAsync forFeature/forFeatureAsync 위 세가지 내용을 정리하자면 forRoot/forRootAsync 이는 가장 처음에 연결해야하는 것들 그리고 대부분의 영역에서 사용될 것들입니다. 대부분이 기초 설정에 의거한 내용들이더라고요. 물론 인자값을 전달하기에 동적모듈을 리턴합니다. 동적모듈이라고 어려울게 아닌, 그저 그냥 모듈 구성에 인자값으로 인한 변화만 있을뿐이다 라고 생각하시면 좋습니다. register/registerAsync 이는 동적 모듈을 제공하기 위해서 사용됩니다. register에 넣어주

TIL#3
1) > admin 모듈의 AdminSite 클래스의 urls 메소드를 사용하는 명령어이다. django/contrib/admin/sites.py에서 확인 가능하다. 먼저 주어진 모델이 정의된 admin 클래스를 하에서 등록되는데 이 때 정의된 admin 클래스가 없다면 ModelAdmin을 기본으로 사용한다. 앞서 gallery 앱에서 정의한 Item 모델을 admin.py에서 등록해줬다. >> propery 장식자가 걸려 있는 urls 메소드 부분은 geturls()를 반환하는데 이 부분이 주어진 모델을 활용한 admin 인터페이스를 보여주는 Django의 view에 접근할 수 있도록 해준다. (wrapper 함수는 더 공부해야겠지만,) self.adminview를 반환하는 것을 확인할 수 있다. >>> "An AdminSite object encapsulates an instance of the Django admin application, ready to be hook

04. 레지스터
03. 컴퓨터 구조에서 컴퓨터의 작동 구조와 함께 CPU에 대해 간단하게 알아보았습니다. 이번에는 더 깊게 들어가서, CPU의 내부를 구성하는 레지스터에 대해 알아보겠습니다. 레지스터 레지스터란, 플립플롭 여러 개가 연결되어, 값을 저장할 수 있는 고속 메모리입니다. 플립플롭 : 데이터를 저장할 수 있는 조합논리회로 CPU는 안에는 레지스터들이 있고, 연산을 처리하는 데 필요한 데이터를 레지스터가 저장하게 됩니다. 램이나 보조 기억 장치같은 메모리와는 다르게 데이터를 오래 저장하는 용도가 아닌,

7/14 19일차
오늘은 마이페이지의 비밀번호 변경 시 뜨는 모달 창의 벨리데이션을 적용할 때 리액트 훅 폼을 공부해서 사용해봤다. React-hook-form 로그인폼 사용 1. useform imfort 2. React-hook-form 에서 값 꺼내기 register : input에서 값을 불러오기 위한 함수 : 다른 옵션을 이용하면 input의 유효성 검사도 쉽게 할 수 있다. : register를 input에 넣어서 react-hook-form을 활성화한다. handleSubmit : Rea
명령어와 주소체계
1. 명령어(Instruction) 1) 명령어의 개념 (1) 컴퓨터로 명령 전달 방법 컴퓨터는 흔히 bit(0과 1)로 표현되는 디지털 신호를 통해 명령을 전달받는다. bit가 아닌 문자로 구성된 명령어들은 별도의 번역기를 통해 bit 형태로 변환되어 전달된다. (2) 명령어 실행 및 데이터 처리 과정 전달받은 bit 데이터를 순차적으로 실행하는 과정에서 처리 및 저장 작업 등을 수행하게 된다. 데이터 처리는 CPU에서 수행하고, 저장은 MEMORY에서 수행하며, 입출력은 각각의 입출력 장치에서 수행한다. 2) 명령어의 수행 (1) 기계 사이클 : 메모리에 기억되어 있는 명령어를 가져와 CPU에서 처리되는 일련의 순환 주기이다. (2) Fetch Instruction : 명령어를 주기억 장치에서 레지스터로 가져온다. (명령어 : 주기억 장치 → 레지스터) (3) Decode Instruction : 명령어를 분석하여 작업 수행에 필요

Multi Bit Memory Storage, Register File vs SRAM vs DRAM
이 포스팅은 숙명여자대학교 김윤진 교수님의 컴퓨터 구조론 특강을 바탕으로 작성되었습니다. 이 포스팅에서 설명할 내용 Basic Multi Bit Memory Storage : Register Register File Register File vs SRAM vs DRAM Basic Multi Bit Memory Storage : Register 전 포스팅에서 1bit를 저장하는 최종 컴포넌트 D Flip Flop을 알아보았다. 이제 Multi Bit를 저장할 수 있는 컴포넌트이자, Flip Flop을 여러개 연결하여 만든 기본 멀티 비트 스토리지인 레지스터에 대해 알아보자. Basic Register 위 그림은 Flip Flop을 4개 연결하여 4bit를 저장하는
기술면접 대비 10탄 CPU
오늘은 항상 공부해야지 하며 마음만 먹고있었던 cs를 시작하기로 마음을 먹고 찾던중 많이는 접해봤지만 정확하게 무엇인지 알지못했던 CPU에 대해서 알아보고자 한다. CPU는 central process unit의 줄인 말로 말그대로 중앙에서 연산,처리,통제 등 다양한 역할을 맡고 있다. cpu의 동작원리는 개념적으로는 간단하다. 우선 크게 세가지의 주요 기능들이 순서에 맞게 이루어지는데 첫번째로는 입력장치 로 부터 어떠한 데이터를 처리해줘야 한다는 명령을 받으면 레지스터 중 모든 명령어가 저장되어있는 프로그램 카운터(pc)이 명령어 레지스터(ir)에 현재 수행중인(입력받은) 데이터를 처리할수 있는 명령어를 전달해준다. 또한 레지스터에는 처리한 데이터를 임시적으로 저장할수있는 램이 존재한다. 아무튼, 레지스터에서 해당 명령을 수행할수있는 명령어 주소 나 명령어 코드들이 제어장치를 통해 서로 연결이 되고 처리해야하는 데이터 값이 연산장치로 이동되어 연산을 수행한다. 이후 연산이 완료
[OS] Register
✈ Migration to Github Blog https://1unaram.github.io/posts/Register/ 레지스터는 32bit 환경에서는 첫 글자가 E(Extended)로 시작하고, 64bit 환경에서는 첫 글자가 R(Regitster)로 시작하고 32bit의 레지스터를 포함합니다. ex) RAX 🔧 x86 환경(32bit) 범용 레지스터 : 범용 레지스터(General Register)는 주용도가 존재하지만, 다양한 용도로도 사용될 수 있는 레지스터. x86에서 각각의 범용 레지스터는 4byte(=32bit)를 저장할 수 있음. 각

SpringBoot with JPA 프로젝트(N:1) 6.게시물리스트,게시물등록,게시물조회,게시물수정/삭제
📚 공부한 책 : 코드로배우는 스프링 부트 웹프로젝트 ❤️ github 주소 : https://github.com/qkralswl689/LearnFromCode/tree/main/board2022 1.게시물 리스트 출력 1-1.Controller 작성 1-2.화면(html)작성 > /borad/list 경로로 아래 html을 확인할 수 있다 화면에서 제목,작성자,댓글수,게시날짜를 확인할 수 있다 원하는 페이지 번호를 클릭해 페이지 이동이 가능하다 실행 결과 ![](https://images.velog.io/images/alswl689/post/34c69bae-bea4-4815-9db2-cc6c88b65011/20220219%20%E1%84%80%E1%85%A6%E1%84%89%E1%85%B5%E1%84%86%E1%85%AE%E1%86%A