본문 바로가기

전체 글153

[ COSI ] 가상화폐 모의투자 서비스 플랫폼 1. 개발 동기 가상화폐 모의투자를 쉽고, 간편하고, 직관적으로 제시하여 가상화폐에 대한 투자 진입 장벽을 낮추고, 기존 모의투자 시스템의 문제점을 개선하고자 개발을 하게 되었습니다. 2. 작품 소개 2-1. 프로젝트의 추진 배경 최근 들어 가상 화폐에 대한 관심은 커지고 있고, 투자를 시작하려는 사람이 증가하고 있는 추세입니다. 이런 배경에 맞춰 가상 화폐 투자를 시작하려고 하는 입문자들을 위한 소프트웨어를 만들고자 하였습니다. 가상 화폐 투자에 대한 진입 장벽을 낮추고 기존 가상화폐 모의투자 시스템의 문제점을 개선하기 위한 것을 목표로, 현실적인 모의 투자 서비스를 제공할 수 있도록 기획한 프로젝트입니다. 현실적인 가상화폐 투자 시뮬레이션 기능을 통해 사용자들은 금전적인 리스크 없이, 현실적인 가상 .. 2023. 7. 10.
[ WRITERS ] 일대일 주문 제작형 글 거래 플랫폼 1. 프로젝트 개요 및 주요 핵심 기능 설명 ‘WRITERS’는 일대일 주문 제작형 글 거래 플랫폼이다. 사용자가 원하는 형태의 글( 창작 소설, 시, 문구 등 )을 작가에게 의뢰 후에 창작 비용을 지불하고, 작가는 의뢰 받은 내용을 바탕으로 글을 창작하여 사용자에게 전달하는 일련의 커미션 과정을 제공함으로써 누구나 자신이 원하는 글을 복잡하지 않은 방법으로 얻을 수 있다. 즉, ‘WRITERS’는 세상에 단 하나뿐인 글 작품 제작을 돕는 customizing 서비스 플랫폼이다. ‘WRITERS’는 ‘커미션 신청하기’, ‘이런 글 부탁해요’, ‘관심 글 및 관심 작가’, ‘카테고리별 작가 리스트’ 등 다양한 기능을 제공하고 있다. ‘커미션 신청하기’는 독자가 작가에게 글 의뢰를 신청할 수 있는 기능으로,.. 2023. 7. 10.
[ React ] React 실전 ② 프로젝트 기초 공사 2 [ 상태 관리 ] 일기 데이터를 관리할 state를 App 컴포넌트에 작성하기 App.js import React, { useReducer, useRef } from "react"; import { BrowserRouter, Route, Routes } from "react-router-dom"; import "./App.css"; import Home from "./pages/Home"; import Diary from "./pages/Diary"; import New from "./pages/New"; import Edit from "./pages/Edit"; // COMPONENTS import MyButton from "./components/MyButton"; import MyHeader fro.. 2022. 11. 3.
[ React ] React 실전 ② 프로젝트 기초 공사 1 [ 폰트 세팅 ] Open Font License : 글꼴 및 관련 소프트웨어용으로 특별히 설계된 무료 오픈 소스 라이선스 구글 폰트 : https://fonts.google.com/ Google Fonts Making the web more beautiful, fast, and open through great typography fonts.google.com 폰트를 적용하는 방법은 App.css에 import를 해주면 된다. App.css @import url("https://fonts.googleapis.com/css2?family=Nanum+Pen+Script&family=Yeon+Sung&display=swap"); .App { padding: 20px; text-align: center; fo.. 2022. 11. 2.
[ React ] React 실전 ① 페이지 라우팅 [ 페이지 라우팅 - REACT SPA & CSR ] Routing : 어떤 네트워크 내에서 통신 데이터를 보낼 경로를 선택하는 일련의 과정 전송하는 데이터들은 네트워크 장치를 거쳐서 이동을 한다. 네트워크 장치들은 자신에게 도착한 데이터들이 실시간으로 어디로 가야하는지 다음 네트워크 장치를 알려준다. 최대한 빨리 갈 수 있도록 실시간으로 경로를 지정해준다. Router : 데이터의 경로를 실시간으로 지정해주는 역할을 한다. Routing : 경로를 정해주는 행위 자체와 그런 과정들을 다 포함해서 일컫는 말 인터넷을 사용해서 웹 사이트에 접속한다는 것은 브라우저를 통해서 웹 서버에 경로 요청을 날리고 그 경로에 해당하는 웹 문서를 받아보는 과정이다. 페이지 라우팅 : 요청에 따라 어떠한 페이지를 돌려줄지.. 2022. 11. 2.
[ OS/NW 실습 ] 8주차 - 멀티 프로세스 소켓 프로그래밍 ② [ init 프로세스 ] init = PID 1 프로세스 프로세스는 부모에서 자식으로 계층적 구조를 가진다. 프로세스는 1에서 부터 시작한다. 즉, PID가 1인 프로세스는 모든 프로세스의 부모 프로세스이다. 모든 프로세스는 init 프로세스에서 fork&exec로 생성이 된다. 프로세스는 자식 프로세가 먼저 종료되는 것이 정상으로 간주된다. 일반적으로 어떤 프로세스가 종료가 되면, 종료되기 이전에 자신이 생성시킨 모든 자식 프로세스를 종료시킨다. 고아 프로세스 : 부모 프로세스가 먼저 종료된 프로세스 ex) 데몬 프로세스 고아 프로세스는 init 프로세스에 의해서 관리가 된다. [ 데몬 프로세스 ] 데몬( daemon ) 프로세스 : 사용자가 인식하지 못하게 백그라운드로 동작하는 프로세스 데몬 프로세스.. 2022. 10. 31.
[ OS/NW 실습 ] 8주차 - 멀티 프로세스 소켓 프로그래밍 ① [ 프로세스 ] 프로세스 : 최소 실행 단위 객체 프로그램은 하드 디스크에 있는 상태이고 이 프로그램을 메모리에 로드( 적제 )해서 실행한다. fork()를 만나면 child 프로세스가 생성이 된다. child 프로세스는 있는 것을 그대로 복사해서 집어 넣는 것이다. ps -ef : 리눅스에서 실행되는 프로세스를 전부 확인 가능한 명령어 프로세스마다 PID가 존재하고 PPID는 해당 process의 부모 process를 의미한다. CMD라는 실행 이미지가 하드 디스크 상에 존재하던 프로그램으로 실행을 하면 메모리로 올라가서 실행이 된다. * 프로세스 강제 종료 명령어 : kill -9 + PID [ 멀티 프로세스 ] 멀티 프로세스 : 여러 프로세스를 운용 → 프로세스가 switching 함으로써 구현이 .. 2022. 10. 31.
[ OS/NW 실습 ] 8주차 - UDP 소켓 프로그래밍 여러 클라이언트가 동시에 접속할 수 있도록 멀티 프로세스를 만들고 소켓 프로그래밍과 연결한다. [ TCP ] TCP는 TCP 상위 레이어에 신뢰성 제공을 위해 패킷을 잃어버릴 경우 재전송하거나, 여러 패킷이 동시에 전송될 경우 패킷 순서를 조합한다. 신뢰성 제공을 하다보니 ACK에 의한 시간 지연이 생기게 된다. 반면에 UDP는 상대적으로 시간 지연이 TCP보다 적다. 시간 지연에 제일 영향을 받는 것은 streaming 서비스이다. 실시간 멀티미디어 데이터 통신 서비스는 streaming으로 계속 날라가 줘야하는 서비스인데 재 전송 요청에 따른 서비스 지연이 발생해서는 안된다. 또한 TCP는 신뢰성 제공을 위해 연결( connection )을 관리하지만 overhead가 발생한다. [ UDP의 특징과 .. 2022. 10. 30.
[ OS/NW 실습 ] 7주차 - TCP 소켓 프로그래밍 [ TCP 소켓 프로그래밍 ] 인터넷 : 프로그램과 프로그램의 연결 TCP : 연결 지향 프로토콜 UDP : 데이터 그램 프로토콜 [ 패킷 통신과 TCP ] 인터넷에서의 통신은 패킷 형태로 이루어진다. 목적지 까지의 다양한 경로가 가능하기 때문에 패킷의 순서가 변경되거나 패킷이 누락될 수 도 있다. ① 연결 지향 ( connection-oriented ) → 서버와 클라이언트간의 전용 선로를 개설하거나 세션을 생성한다. → Three-way handshake : 3번의 패킷 교환으로 세션을 개설한다. ② 신뢰성 있는 데이터 교환 : 모든 패킷 전송에 대한 응답을 확인한다. [ TCP 소켓 프로그램 개발 ] socket( AF_INET, SOCK_STREAM, 0 ) 0 : defaul.. 2022. 10. 30.