-
Redux Middleware
Redux Middleware 미들웨어: OS와 소프트웨어 중간에서 조정과 중개 역할을 하는 중간 소프트웨어 역할(위키백과) 리덕스 미들웨어는 액션을 디스패치했을 때 리듀서에서 이를 처리하기에 앞서 사전에 지정된 작업들을 실행한다. 어떠한 두가지 요소의 중간에서 동작하는 소프트웨어라고 생각해보면 크게 보았을 때 그 의미가 대략 같다. 리덕스가 가지는 핵심 기능 중 하나는 미들웨어를 사용할 수 있다는...
-
Redux
리덕스 자바스크립트 앱을 위한 예측 가능한 상태 컨테이너 https://ko.redux.js.org/ 애플리케이션의 복잡성을 낮추기 위해서 탄생하였다. 💡왜 리덕스를 쓸까 리액트 애플리케이션은 컴포넌트 간에 데이터를 props로 전달하기 때문에 컴포넌트 여기저기서 필요한 데이터가 있을 때 주로 최상위 컴포넌트인 App.js 에서 상태를 관리한다. 이러한 구조는 부모 컴포넌트에서 모든걸 관리하고 아래로 내려주기 때문에, 직관적이고 관리하기도 쉬워보인다....
-
Reactjs 19 코드스플리팅
ReactJS-19 코드 스플리팅 리액트 프로젝트를 완성하여 사용자에게 제공할 때는 빌드 작업을 거쳐서 배포해야 한다. 프로젝트에서 사용되는 자바스크립트 파일 안에서 불필요한 주석, 경고 메시지, 공백 등을 제거하여 파일 크기를 최소화한다. 브라우저에서 JSX 문법이나 다른 최신 자바스크립트 문법이 원할하게 실행되도록 코드의 트랜스파일 작업도 할 수 있다. 이러한 작업은 웹팩이라는 도구가 담당한다. 웹팩에서...
-
Reactjs 18 리덕스 미들웨어를 통한 비동기 작업관리
ReactJS-18 리덕스 미들웨어를 통한 비동기 작업관리 리액트 웹 애플리케이션에서 API 서버를 연동할 때는 API 요청에 대한 상태도 잘 관리해야 한다. 요청이 시작되었을 때는 로딩 중임을, 요청이 성공하거나 실패했을 때는 로딩이 끝났음을 명시해야 한다. 요청이 성공하면 서버에서 받아 온 응답에 대한 상태를 관리하고, 요청이 실패하면 서버에서 반환한 에러에 대한 상태를 관리해야...
-
현대오토에버 2차면접후기
현대오토에버 임원면접 후기 면접 질문 장점, 지원동기 => 1분 자기소개 개발이라는 게 적성에 맞는지 본인에게 개발이 맞는지, 운영이 맞는지 좋은 회사란 무엇인지 다른 지원자가 모를법한 우리 회사의 대해 아는점 현대 자동차의 핵심가치 다섯가지(아는사람 말하기) 본인을 동물이나 사물로 비유한다면 무엇인지 같이 일하기 어렵다고 느낀 사람은 무엇인지 본인이 뽑혀야 될 이유 가고...
-
Reactjs 17 리덕스 활용 예제
ReactJS-17 리덕스 활용 리액트 애플리케이션에서 리덕스를 사용할 때는 store 인스턴스를 직접 사용하기보다는 주로 react-redux 라는 라이브러리에서 제공하는 유틸 함수(connect) 와 컴포넌트(Provider) 를 사용한다. 🔥1. 작업 환경 설정 $ yarn create react-app react-redux-tutorial $ cd react-redux-tutorial $ yarn add redux react-redux 🔥2. UI 준비하기 리덕스를 사용할 때 가장 많이 사용하는 패턴:...
-
Reactjs 16 리덕스 라이브러리
ReactJS-16 리덕스 라이브러리 리덕스는 가장 많이 사용하는 리액트 상태 관리 라이브러리이다. 1. 개념 정리 1-1) 액션 상태에 어떠한 변화가 필요하면 액션(action) 이란 것이 발생 액션 객체는 type 필드를 반드시 가지고 있어야 한다. { type: 'ADD_TODO', data: { id: 1, text: '리덕스 배우기' } }, { type: 'CHANGE_INPUT', text: '안녕하세요' }...
-
Reactjs 15 Context api
ReactJS-15 Context API Context API는 전역적으로 사용할 데이터가 있을 때 유용한 기능 ex) 로그인 정보, 애플리케이션 환경 설정, 테마 등 1. Context API를 사용한 전역 상태 관리 흐름 프로젝트 내에서 환경 설정, 사용자 정보와 같은 전역적으로 필요한 상태를 관리해야 할 때 어떻게 할 것인가 컴포넌트 간에 데이터를 props로 전달하기 때문에...
-
React 클래스형 컴포넌트와 함수형 컴포넌트
ReactJS-클래스형 컴포넌트와 함수형 컴포넌트 과거에는 클래스형 컴포넌트를 주로 사용했지만, 2019년 v16.8 부터 함수형 컴포넌트에 리액트 훅(hook)을 지원해줘서 현재는 함수형 컴포넌트 사용을 권장한다. 컴포넌트는 단순한 템플릿 이상의 기능을 수행한다. 데이터가 주어졌을 때 이에 맞추어 UI를 만들어 주는 기능을 하는 것을 넘어, 라이프 사이클 API를 통해 컴포넌트가 화면에 나타날 때, 사라질 때,...
-
Reactjs 14
ReactJS-14 비동기 처리 1. 비동기 작업 시간이 걸리는 작업을 처리할 때 사용(ex. 네트워크 송수신) 자바스크립트에서 비동기 작업을 할 때 흔히 사용하는 방법: 콜백 함수 1-1) 콜백 함수 1-2) Promise 1-3) async/await 2. axios로 API 호출해서 데이터 받아오기 axios: 자바스크립트 HTTP 클라이언트(Promise 기반으로 처리) $ yarn create react-app news-viewer $ cd...
-
Reactjs 13
ReactJS-13 리액트 라우터로 SPA 개발하기 1. SPA SPA : Single Page Application(한 개의 페이지로 이루어진 애플리케이션) 기존에는 사용자가 다른 페이지로 이동할 때마다 새로운 html을 받아 오고, 페이지를 로딩할 때마다 서버에서 리소스를 전달받아 해석한 뒤 화면에 보여주었다. 요즘은 웹에서 제공되는 정보가 많기 때문에 새로운 화면을 보여 주어야 할 때마다 서버 측에서...
-
Reactjs 12
ReactJS-12 immer 전개 연산자와 배열의 내장 함수를 사용하면 간단하게 배열 혹은 객체를 복사하고 새로운 값을 덮어 쓸 수 있다. 하지만 객체의 구조가 엄청나게 깊어지면 불변성을 유지하면서 업데이트하는 것이 매우 힘들다. const object = { somewhere: { deep: { inside: 3, array: [1, 2, 3, 4] }, bar: 2 }, foo:...
-
Reactjs 11
ReactJS-11 컴포넌트 성능 최적화 1. 많은 데이터 렌더링하기 앞에서 만든 todo-app 을 이용 랙(lag)을 경험할 수 있도록 많은 데이터를 렌더링 // src/App.js import React, { useState, useRef, useCallback } from 'react'; import TodoInsert from './components/TodoInsert'; import TodoList from './components/TodoList'; import TodoTemplate from './components/TodoTemplate'; function createBulkTodos() { const array = [];...
-
Reactjs 10
ReactJS-10 일정 관리 웹 애플리케이션 프로젝트 준비 $ yarn create react-app todo-app $ cd todo-app $ yarn add node-sass@4.14.1 classnames react-icons Prettier 설정 { "singleQuote": true, "semi": true, "useTabs": false, "tabWidth": false, "trailingComma": "all", "printWidth": 80 } 기능별 컴포넌트 TodoTemplate: 화면을 가운데에 정렬시켜 주며, 앱 타이틀(일정 관리)을 보여준다. children으로 내부...
-
Reactjs 09
ReactJS-09 컴포넌트 스타일링 다양한 방식의 컴포넌트 스타일링 일반 CSS : 가장 기본적인 방식 Sass : 자주 사용되는 CSS 전처리기 중 하나로 확장된 CSS 문법을 사용 CSS Module : CSS 클래스가 다른 CSS 클래스의 이름과 절대 충돌하지 않도록 파일마다 고유한 이름을 자동으로 생성해주는 옵션 styled-components : 스타일을 자바스크립트 파일에 내장시키는 방식...
-
Reactjs 08
ReactJS-08 Hooks 리액트 v16.8에 새로 도입된 기능, 기존의 함수형 컴포넌트에서 할 수 없었던 다양한 작업을 할 수 있게 해준다. 1. useState 가장 기본적인 Hook, 함수형 컴포넌트에서도 가변적인 상태를 지닐 수 있게 해준다. useState 함수의 파라미터에는 상태의 기본값을 넣어준다. 함수가 호출되면 배열을 반환하는데 배열의 첫 번째 원소는 **상태 값**, 두 번째...
-
Reactjs 07
ReactJS-07 라이프사이클 모든 리액트 컴포넌트에는 라이프사이클(수명주기)가 존재 컴포넌트의 수명은 페이지에 렌더링되기 전인 준비 과정에서 시작하여 페이지에서 사라질 때 끝난다. 라이프사이클 메서드는 클래스형 컴포넌트에서만 사용할 수 있지만 함수형 컴포넌트에서 Hooks 기능을 사용하여 비슷한 작업을 처리할 수 있다. 1. 라이프 사이클 메서드의 이해 라이프사이클 메서드의 종류는 9가지 Will 접두사가 붙은 메서드는 어떤...
-
Reactjs 06
ReactJS-06 컴포넌트 반복 웹 애플리케이션을 만들다 보면 다음과 같이 반복되는 코드를 작성할 때가 있다. import React from 'react'; const IterationSample = () => { return ( <ul> <li>눈사람</li> <li>얼음</li> <li>눈</li> <li>바람</li> </ul> ); }; export default IterationSample; <li>...</li> 코드가 반복된다. 1. 자바스크립트 배열의 map() 함수 자바스크립트 배열 객체의 내장 함수인...
-
Reactjs 05
ReactJS-05 ref ref : HTML에서 id를 사용하여 DOM에 이름을 다는 것처럼 리액트 프로젝트 내부에서 DOM에 이름을 다는 방법 1. 상황에 따른 ref 사용 DOM을 꼭 직접적으로 건드려야 할 때 ex) 웹사이트에서 input을 검증할 때 리액트에서는 이런 작업은 굳이 DOM에 직접 접근하지 않아도 state로 구현 가능 // src/ValidationSample.css .success { background-color:...
-
Reactjs 04
ReactJS-04 이벤트 : 사용자가 웹 브라우저에서 DOM 요소들과 상호작용 하는 것 1. 리액트 이벤트 시스템 일반적인 DOM요소에 이벤트를 설정하는 방법 <!-- HTML에서 DOM요소에 이벤트를 설정하는 방법 --> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title>JS Bin</title> </head> <body> <button onclick="alert('executed')"> Click Me </button> </body> </html> 리액트의 이벤트 시스템...
-
Reactjs 03
ReactJS-03 1. 클래스형 컴포넌트 컴포넌트를 선언하는 방식은 두 가지가 있다. 함수형 컴포넌트 // 함수형 컴포넌트 // App.js import React from 'react'; import './App.css'; function App() { const name = '리액트'; return <div className='react'>{name}</div> } export default App; 클래스형 컴포넌트 // 클래스형 컴포넌트 // App.js import React, { Component } from...
-
Reactjs 02
ReactJS-02 1. 리액트 코드 이해하기 // src/App.js import React from 'react'; import logo from './logo.svg'; import './App.css'; function App() { return ( <div className="App"> <header className="App-header"> <img src={logo} className="App-logo" alt="logo" /> <p> Edit <code>src/App.js</code> and save to reload. </p> <a className="App-link" href="https://reactjs.org" target="_blank" rel="noopener noreferrer" > Learn React </a> </header>...
-
Reactjs 01
ReactJS-01 ‘리액트를 다루는 기술’ 이라는 책을 보면서 공부하고, 공부한 내용을 정리하는 목적 1. 리액트 사용자의 인터페이스를 만들기 위해 사용되는 자바스크립트의 라이브러리 프론트엔드 현재 자바스크립트만으로도 규모가 큰 애플리케이션을 만드는 시대 대규모 어플리케이션 중 프론트엔트에서 돌아가는 애플리케이션 구조를 관리하기 위해 수많은 프레임워크가 존재 주로 MVC(Model-View-Controller), MVVM(Model-View-View Model), MVW(Model-View-Whatever) 아키텍처로 구조화 모델은 애플리케이션에서...
-
주식 : 백테스트
서론 주식 관련된 프로젝트를 수행하면서 주식이나 증권에 대한 도메인 지식이 부족하다 보니 팀원과 업무협의를 하는데 어려움이 많았다. 이번에 백테스트라는 것을 하는데 이게 무엇인지 알아보고자 한다. 백테스트 새로운 전략 개발 또는 기존 전략의 검증을 위해 과거 데이터를 가지고 실험하고자 하는 전략의 성과를 측정해보는 과정이다. 백테스트 한계 슬리피지(slippage) 발생 실제 시장에서 매수/매도스프레드가...
-
C# : 구조체
서론 최근 작업하고 있는 주식 프로젝트에서 디비의 체결데이터를 가져와 처리하는 로직이 있었다. 종목코드, 시가, 고가, 저가, 종가 등을 저장해야 하는데 나는 딕셔너리안의 배열을 넣는 구조로 자료구조를 이용하였다. 그런데 팀원 중 한명이 딕셔너리 구조체를 사용해보라고 알려줘서 구조체라는 개념에 대해 공부해보려고 한다. 구조체 C#은 Value Type과 Reference Type 을 지원한다. C#에서는 struct를...
-
CS : 부동 소수점
서론 N사 신입 채용 중에 2차 전공지식 테스트가 있었다. 정보처리기사를 취득할 때처럼 단순히 CS개념을 알고있는 것을 테스트하는 것이 아니라 정말 개념을 이해하고 있는지, 원리에 대해서 물어보는 것이 많았다. 그 중 정리하고 싶은 개념(부동 소수점)이 있어서 이렇게 포스팅을 쓴다. 이진기수법 컴퓨터는 0과 1로 이루어진 기계어를 사용한다. 사람은 10진법으로 수를 표현하지만, 컴퓨터는...
-
MySQL : Nested JOIN
서론 최근 프로젝트로 인해 복잡한 쿼리를 짜다보니 subquery 가 2개,3개 생기는 경우가 발생하였고 그에 따른 성능에 관해서 고민하게 되었다. 그래서 일단 오늘은 Nested Join 방식에 대해 알아보도록 하겠다. JOIN 두 릴레이션으로부터 관련된 투플을 결합하여 하나의 투플로 만드는 데이터 연결 방법 다른 조인 방법을 사용할 지라도 결과는 동일할 수 있으나, 두...
-
MySQL : JOIN
서론 최근에 실시간 주식 데이터를 가지고 분산 디비화 프로젝트를 진행하고 있다. 스프린트1이 곧 마무리 되어지는 단계에서 남은 기능 중 하나인 분봉 차트 그리는 작업에서 약간 시간이 지연되고 있다. 그 이유는 초 단위로 입력된 데이터들을 분단위로 그룹화처리를 해주고 시가, 고가, 저가, 종가 등의 원하는 데이터들로 얻어와야 되는데 아직 쿼리에 대한 기본기가...
-
C# : Thread
C# Thread 생성 System.Threading.Thread 클래스 Thread 클래스의 생성자(Constructor)에 실행하고자 하는 메소드를 델리게이트로 지정한 후, Thread 클래스 객체에서 Start() 메소드를 호출하면 새로운 쓰레드가 생성되어 실행된다. namespace MultiThrdApp { using System; using System.Threading; class Program { static void Main(string[] args) { new Program().DoTest(); } void DoTest() { // 새로운 쓰레드에서 Run() 실행...
-
Design Pattern : Observer pattern
Observer Pattern 한 객체의 상태가 바뀌면 그 객체가 의존하는 다른 객체들에게 연락이 가고 자동으로 내용이 갱신되는 방식 일대다(one-to-many)의 의존성을 정의한다. 상태를 저장하고 있는 주제(Subject) 인터페이스를 구현한 하나의 주제(Subject) 객체와 의존하고 있는 옵저버(Observer) 인터페이스를 구현한 여러개의 옵저버(Observer) 객체가 있다. 데이터 전달 방식 주제 객체에서 옵저버로 데이터를 보내는 방식(Push) 옵저버에서 주제 객체의...
-
C# Delegate
Delegate C#에서 메소드를 가리킬 수 있는 타입 메소드를 다른 메소드로 전달할 수 있도록 한다. 메소드를 직접 호출하는 것 대신에 delegate로 그 메소드를 호출할 수 있다. 1. delegate 만들기 delegate가 어떤 메소드를 가리키기 때문에 그 메소드와 동일한 매개변수와 리턴타입으로 선언해야 한다. delegate void typeA(void); // void funcA(void) delegate int typeB(int, int);...
-
프로세스 상태 개념
1) 프로세스 네가지 상태 생성 상태(Create Status) 프로세스가 메모리에 올라와 실행준비를 완료한 상태 PCB(Process Control Block, 프로세스 제어 블록)생성 준비 상태(Ready Status) 생성된 프로세스가 CPU를 받을 때까지 기다리는 상태 CPU가 하나인 컴퓨터에서는 한번에 하나의 프로세스만 실행 할 수 있다. 실행 상태(Running Status) 준비 상태에 있는 프로세스 중 하나가 CPU를 얻어...
-
Design Pattern : Singleton pattern
Singleton Pattern 특정 클래스에 대해서 객체 인스턴스가 하나만 만들어질 수 있도록 하고, 어디에서든지 그 인스턴스에 참조할 수 있도록 하는 패턴 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성자는 최초에 생성한 객체를 반환 Public class Singleton { private static Singleton uniqueInstance; // 정적 변수 private Singleton()...
-
OSI 7계층
OSI 참조 모델 Open System Interconnection 다른 시스템 간의 원활한 통신을 위해 ISO(국제표준화기구)에서 제안한 통신 규약(Protocol) 개방형 시스템(Open System)간의 데이터 통신 시 필요한 장비 및 처리 방법 등을 7단계로 표준화하여 규정 목적 서로 다른 시스템 간을 상호 접속하기 위한 개념을 규정 OSI 규격을 개발하기 위한 범위를 정한다. 관련 규정의 적합성을...
-
Process와 Thread
Process 프로그램 : 어떤 작업을 위해 실행할 수 있는 파일 프로세스 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램 메모리에 올라와 실행되고 있는 프로그램의 인스턴스(독립적인 개체) 운영체제로부터 시스템 자원을 할당받는 작업의 단위 동적인 개념으로 실행된 프로그램을 의미 특징 각각 독립된 메모리 영역(Code, Data, Stack, Heap)을 할당받는다. 기본적으로 프로세스당 최소 1개의 쓰레드(메인 쓰레드)를...
-
SQLite 동시 쓰기와 읽기
Sqlite SQLite는 트랜잭션을 제공해주는 파일 기반의 DBMS이다. 일반적인 DBMS처럼 데몬처럼 동작하는 방식이 아닌, 마치 라이브러리와 같이 프로그램에 직접 Embed하여 사용한다. 프로그램 내부에서 잦은 파일접근을 최대한으로 적게하자는 취지로 만들어진 DB이다. 오늘 알아볼 내용은 SQL 데이터베이스에서 동시에 읽고 쓰는 상황에 대해서 알아볼 예정이다. 예를 들어 백그라운드의 데이터를 트랜잭션과 동기화하고 사용자가 동시에 UI에서...
-
Spring Annotation
어노테이션 Spring Annotation 주석이라는 사전적 의미가 있다. 컴파일 혹은 런타임에 해석된다. @를 이용한 주석, 자바코드에 주석을 달아 특별한 의미를 부여한 것 메타데이터(실제데이터가 아닌 Data를 위한 데이터)라고 불리고 JDK5부터 등장 기존에는 XML로 컨텍스트들을 관리하였는데 XML이 너무 많아지면 유지보수성이 낮아진다. 그래서 설계시 확정되는 부분은 Annotation 기반 설정으로 개발의 생산성을 높인다. 자주 쓰는...
-
HTTP 통신 vs Socket 통신
HTTP 통신 Client의 요청(Request)이 있을때만 서버가 응답(Response)하여 해당 정보를 전송하고 곧바로 연결을 종료하는 방식 Client가 요청을 보내는 경우에만 Server가 응답하는 단방향적 통신(Server가 Client로 요청을 보낼 수 없다.) 특징 Client가 요청을 보내는 경우에만 Server가 응답하는 단방향 통신이다. Server로부터 응답을 받은 후에는 연결이 바로 종료된다. 실시간 연결이 아니고, 필요한 경우에만 Server로 요청을...
-
Spring Filter & Interceptor
공통 프로세스에 대한 고민 웹 개발을 하다 보면, 공통적으로 처리해야 할 업무들이 있다. 예를 들어 ‘로그인 관련’, ‘권한 체크’, ‘XSS 방어’, ‘PC와 Mobile의 분기처리’, ‘로그 확인’, ‘페이지 인코딩 변환’ 등이 있다. 이러한 공통 업무에 관련된 코드를 모든 페이지마다 작성한다면 중복된 코드가 많아지게 된다. 그래서 공통 부분은 빼서 따로 관리하는게 좋고...
-
Spring IOC
1. 컨테이너 인스턴스의 생명주기를 관리 생성된 인스턴스들에게 추가적인 기능을 제공하도록 하는것 즉, 컨테이너는 객체의 생성과 소멸을 컨트롤 해준다. IOC/DI 컨테이너? 스프링 프레임워크에서 객체에 대한 생성 및 생명주기를 관리 POJO의 생성, 초기화, 서비스, 소멸에 대한 권한을 가진다. POJO? Plain Old Java Object 주로 특정 모델이나 기능, 프레임워크를 따르지 않는 Java Object를...
-
REST API
Rest API REST란 2000년도에 로이 필딩의 박사 학위 논문에서 소개 REpresentational State Transfer : 표현 상태 전달 → 자원의 표현을 가지고 상태를 전달한다. 자원의 표현 : HTTP URI 상태 전달 : HTTP Method REST의 특징 Uniform(유니폼 인터페이스) Uniform Interface는 URI로 지정한 자원에 대한 조작을 한정적인 인터페이스로 수행하는 아키텍처 스타일을 말한다....
-
알고리즘_진법변환
진법 변환 Q. 주어진 N값을 2~9진법으로 변환해서 출력하시오. 자바 라이브러리에서 2진법, 8진법, 16진법으로 변환시켜주는 라이브러리가 있다. Integer.toBinaryString(int i), Integer.toOctalString(int i), Integer.toHexString(int i) 라이브러리를 사용하지 않고 직접 진법을 변환시켜주는 알고리즘을 짜보자 ex) N을 10으로 가정하고, 2진법으로 변환시켰을 때 일어나는 과정을 살펴보자 10을 2로 나눈 몫(=5)과 10을 2로 나눈 나머지(=0)를 구한 후...
-
알고리즘_우선순위큐
우선순위큐 큐는 선입선출 방식으로 먼저 들어간 원소가 가장 먼저 나오게 된다. 하지만 우선순위큐는 들어간 순서에 상관없이 우선순위가 높은 원소가 가장 먼저 나오게 된다. 우선순위큐를 구현하는 방법은 총 3가지가 있다. 배열 → 데이터를 삽입하거나 삭제하는 과정에서 기존에 있던 데이터를 한칸씩 당기거나 밀어야 하는 연산을 해야 한다. 연결리스트 → 리스트는 배열처럼 한칸씩...
-
알고리즘_정렬
1. 선택정렬 각 루프마다 최대 원소를 찾는다 최대 원소와 맨 오른쪽 원소를 교환한다. 맨 오른쪽 원소를 제외한다. 하나의 원소만 남을때까지 루프를 반복 시간복잡도 : T(n) = (n-1) + (n-2) + … + 2 + 1 = O(n2) 최악, 평균, 최선의 경우에도 n(n-1)/2 번의 연산을 수행하므로 O(n2) 이다. package study; import...
-
운영체제_03_쓰레드
쓰레드 개념 쓰레드 => CPU에 작업 요청을 하는 실행 단위 운영체제 입장에서 실행 단위는 프로세스 CPU 입장에서 실행 단위는 쓰레드 예시) “안심 스테이크” 만드는 과정에서 “고기 굽기, 채소 굽기, 소스 뿌리기”와 같은 여러개의 조리과정이 포함되어 있다. 안심 스테이크 → 프로세스 고기굽기, 채소 굽기, 소스 뿌리기 → 쓰레드 멀티태스크 예시) 워드프로세서와...
-
운영체제_02_프로세스
프로세스 개념 프로그램은 저장장치에 저장되어 있는 정적인 상태 프로세스는 실행을 위해 메모리에 올라온 동적인 상태 폰노이만 구조에서 프로그램이 실행된다는 것은 해당 코드가 메모리에 올라와서 작업이 진행된다는 것 현대의 운영체제는 시분할 방식을 기본으로 사용한다. 프로그램에서 프로세스로의 전환 프로세스는 컴퓨터 시스템의 작업단위로 태스크(Task)라고도 부른다. 운영체제는 프로그램을 메모리의 적당한 위치로 가져오는데, 이때 프로세스...
-
SWEA1954_달팽이 숫자
문제 SWEA1954. 달팽이숫자 접근 모양은 유지된 채 N값에 따라 크기가 변함 규칙을 찾아 구현하는 문제 달팽이 문제 같은 경우에 규칙이 복잡하기에 구현하는데 시간이 오래 걸렸다. 풀이 방법(개인적인 생각 + 추후 더 좋은 방법이 있으면 개선) 규칙을 찾는게 우선(방향 + 반복 개수) 맨 처음 진행할 때 한번 N개 숫자(우 방향)가 채워지고,...
-
운영체제_01_개요
운영체제의 필요성 성능 향상 운영체제가 없는 기계는 만들 당시에 구현한 기능 외에 다른 기능을 추가하거나 성능을 향상시킬 수 없다. 반면에 운영체제가 있는 기계는 새로운 기능의 추가나 성능의 변경이 가능하다. 자원 관리 컴퓨터 장치 혹은 자원(CPU, 메모리, 모니터, 키보드, 마우스, 하드디스크 등)을 독차지하려는 응용 프로그램을 중재하면서 효율적으로 자원을 사용할 수 있도록...
-
치치 블로그 개설
You’ll find this post in your _posts directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run jekyll serve, which launches a web server and auto-regenerates your site when...
-
Welcome to Jekyll!
You’ll find this post in your _posts directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run jekyll serve, which launches a web server and auto-regenerates your site when...
-
An exhibit of Markdown
This note demonstrates some of what Markdown is capable of doing. An exhibit of Markdown Note: Feel free to play with this page. Unlike regular notes, this doesn’t automatically save itself. Basic formatting Paragraphs can be written like so. A paragraph is the basic block of Markdown. A paragraph is...
-
Video example
Canon in D (Pachelbel’s Canon) - Cello & Piano [BEST WEDDING VERSION] Some of you know that we occasionally play for weddings. As you can imagine, we get a LOT of requests for Canon in D, and we discovered that there were no good arrangements available anywhere for piano and...
-
Table example
Table example as below For now, these extended features are provided: Cells spanning multiple columns Cells spanning multiple rows Cells text align separately Table header not required Grouped table header rows or data rows Rowspan and Colspan ^^ in a cell indicates it should be merged with the cell above....
-
Mermaid example
1. Pie chart pie title Pets adopted by volunteers "Dogs" : 386 "Cats" : 85 "Rats" : 35 2. sequence diagram @startmermaid sequenceDiagram Alice -» Bob: Hello Bob, how are you? Bob–»John: How about you John? Bob–x Alice: I am good thanks! Bob-x John: I am good thanks! Note right...
-
Plantuml example
My First PlantUML PlantUML Block-1 @startuml Bob -> Alice : hello @enduml PlantUML Block-2 Bob -> Alice : hello world PlantUML Block-3 @startuml (*) –> “Initialization” if “Some Test” then –>[true] “Some Activity” –> “Another activity” -right-> () else ->[false] “Something else” –>[Ending process] () endif @enduml PlantUML Block-4 @startuml...
-
Quick markdown example
Paragraphs are separated by a blank line. 2nd paragraph. Italic, bold, and monospace. Itemized lists look like: this one that one the other one Note that — not considering the asterisk — the actual text content starts at 4-columns in. Block quotes are written like so. They can span multiple...
-
This post demonstrates post content styles
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce bibendum neque eget nunc mattis eu sollicitudin enim tincidunt. Vestibulum lacus tortor, ultricies id dignissim ac, bibendum in velit. Some great heading (h2) Proin convallis mi ac felis pharetra aliquam. Curabitur dignissim accumsan rutrum. In arcu magna, aliquet vel pretium et,...
-
My Example Post
Eos eu docendi tractatos sapientem, brute option menandri in vix, quando vivendo accommodare te ius. Nec melius fastidii constituam id, viderer theophrastus ad sit, hinc semper periculis cum id. Noluisse postulant assentior est in, no choro sadipscing repudiandae vix. Vis in euismod delenit dignissim. Ex quod nostrum sit, suas decore...
-
Some articles are just so long they deserve a really long title to see if things will break well
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce bibendum neque eget nunc mattis eu sollicitudin enim tincidunt. Vestibulum lacus tortor, ultricies id dignissim ac, bibendum in velit. Proin convallis mi ac felis pharetra aliquam. Curabitur dignissim accumsan rutrum. In arcu magna, aliquet vel pretium et, molestie et arcu. Mauris...
-
Some articles are just so short that we have to make the footer stick
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat...
-
Another test markdown
Put the math expression within $…$: \(\LaTeX{}\) $\Pi$ $ a * b = c ^ b $ $ 2^{\frac{n-1}{3}} $ $ \int_a^b f(x)\,dx. $ \( \int_a^b f(x)\,dx. \) $ \rho {\rm{FOD}} = \sum\limits{\sigma ,i} {(\delta _1 - \delta _2 n_i^\sigma ) \phi _i^\sigma ({\bf{r}}) ^2} $ \[\rho {\rm{FOD}} = \sum\limits{\sigma...
-
Test markdown
You can write regular markdown here and Jekyll will automatically convert it to a nice webpage. I strongly encourage you to take 5 minutes to learn how to write in markdown - it’ll teach you how to transform regular text into bold/italics/headings/tables/etc. Here is some bold text Here is a...