본문 바로가기

전체 글

(231)
웹 클라이언트 관련 정리 Topic 1. 클라이언트 저장소 리액트 전역 컨텍스트는 새로고침할때 데이터가 초기화돼? 리액트의 전역 컨텍스트(Context)는 앱 내에서 데이터를 전역적으로 공유할 수 있게 해주는 API입니다. 컴포넌트 간의 데이터 공유를 쉽게 해주지만, Context API를 사용하더라도 브라우저 새로고침(refresh)을 할 경우 데이터는 초기화됩니다. 이유는 웹 애플리케이션의 상태는 메모리에 저장되기 때문입니다. 페이지를 새로 고칠 때마다 웹 애플리케이션의 모든 상태가 초기화되며, 메모리에 저장된 정보도 사라집니다. 새로고침을 해도 데이터가 유지되길 원한다면, 웹 애플리케이션의 상태를 브라우저의 로컬 스토리지(localStorage), 세션 스토리지(sessionStorage) 또는 쿠키(cookie)와 같은 ..
시놀로지 ssl 설정 리버스 프록시는 인터넷에서 특정 도메인으로 접근할때 리버스프록시 서버를 통해 각각의 웹서버로 접근할 수 있게 해준다. 패킷이 dsm에 도착하면 리버스프록시서버를 확인해서 각각에 맞는 서비스로 보내는 방식이다. 인증서 설정을 해서 리버스프록시 서비스 도메인과 연결해야한다. lets encrypt 인증서를 만들고나면 구성에서 어떤 서비스에 연결할건지 정해줘야한다. 기본인증서로는 안된다. docs.parktest0325.synology.me URL에 접근하면 dsm으로 패킷이 전달되고 https 방식으로 전달한 암호화된 패킷이 dsm 에서 복호화돼서 리버스프록시로 보낸다.
srt 매크로 크롬을 디버깅모드로 열기 (for mac) /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --user-data-dir="~/ChromeProfile" 버전정보 확인 chrome://version/ 크롬드라이버 설치 https://sites.google.com/chromium.org/driver/?pli=1 대충 셀레니움으로 디버깅모드로 붙은다음 제어 from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options = Options() chrome_options.add_expe..
inception 원격접속 VMware (debian) ssh dongkim@dongkim.asuscomm.com -p 54422 P@ssw0rd 데비안을 VM_NAT네트워크에 연결하고 sshd 서버 설치 후 22번 포트로 서비스 pc:60022로 포트포워딩. 공유기가 사용하는 공인아이피에서 54422 포트를 pc:60022로 포트포워딩 pc의 60022 인바운드 방화벽도 설정해야함 외부포트 443 하나 더 사용하게될 예정임 소개 이 과제는 도커를 이용해서 시스템관리자 능력을 넓히는게 목표이다. 가상화된 여러 도커이미지를 새로운 가상머신에 생성한다. 이프로젝트는 가상머신위에서 완료되어야 한다. 프로젝트 구성을 위한 모든 필요한 파일들은 src 폴더안에 있어야한다. 메이크파일은 루트디렉터리에 있어야한다. 그것은 전체앱을 설..
webserv Everything in C++ 98. execve, dup, dup2, pipe, strerror, gai_strerror, errno, dup, dup2, fork, htons, htonl, ntohs, ntohl, select, poll, epoll (epoll_create, epoll_ctl, epoll_wait), kqueue (kqueue, kevent), socket, accept, listen, send, recv, bind, connect, getaddrinfo, freeaddrinfo, setsockopt, getsockname, getprotobyname, fcntl 소개 http는 분산, 협업, 정보 시스템을 위한 애플리케이션 프로토콜이다. 웹서버는 웹페이지를 저장, 처리, 클라이언..
zshrc, vimrc set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() Plugin 'VundleVim/Vundle.vim' Plugin 'scrooloose/nerdtree' call vundle#end() if has("syntax") " syntax가 있는 파일이라면 syntax on " syntax highlighting 기능을 켠다 endif set nu " 왼쪽에 줄 번호 표시 set mouse=a " 마우스 사용 옵션 (a는 auto) set autoindent " 자동 들여쓰기 set ignorecase " 검색 기능 사용 시 대소문자 무시 set ruler " 오른쪽 하단에 현재 커서의 위치 표시 set title " 현재 열린 파일 이름을 창 타이틀에 표시 se..
ft_irc Subject IRC는 텍스트 기반 커뮤니케이션 프로토콜이다 인터넷에서 리얼타임 메시징, 퍼블릭 오어 프라이빗으로 제공해야한다. 유저는 dm이나 그룹채널 참여가 가능합니다. 제너럴 룰 니 프로그램은 어떤 상황이든 크래시 나면 안되고 , 예기치 않게 종료되선 안된다. 만약 그러면 0점이다. 메이크파일을 만들어야한다. 리링크 안되어야한다. $NAME, all clean, fclean, re 포함해야한다. c++ -Wall -Wextra -Werror 플래그 넣어서 컴파일해라 + -std=c++98 항상 c++ 스타일로 해라 c 함수는 허용되어있지만 C++ 버전을 선호한다. 외부 라이브러리나 부스트 라이브러리는 금지된다. 멘데토리 ./ircserv Makefile ... h, hpp, cpp, tpp, ipp..
ft_containers c++ 컨테이너들을 구현하는 과제이다. You have to take the structure of each standard container as reference. If a part of the Orthodox Canonical form is missing in it, do not implement it. 표준 컨테이너의 구현을 따라한다. 실제구현이 캐노니컬폼이 아니라면 그것도 따라해라 인듯 As a reminder, you have to comply with the C++98 standard, so any later feature of the containers MUST NOT be implemented, but every C++98 feature (even deprecated ones) is ex..