그리기, 채우기, 전체 삭제, 다운로드 기능이 있는 그림판. HTML - BODY Draw Mode Clear Save Javascript const canvas = document.getElementById("canvas"); const ctx = canvas.getContext("2d"); const colors = document.getElementsByClassName("controls_color"); const range = document.getElementById("range"); const mode = document.getElementById("mode_btn"); const save = document.getElementById("save_btn"); const clear = docum..
expo를 시작하기 전에 먼저 npm 설치가 되어있어야한다. expo에 가입하기 위하여 https://expo.dev/ 로 이동한 후 가입한다. 아래 명령어를 실행하여 expo를 설치한다. npm install --global expo-cli expo를 통해서 프로젝트 생성 expo init ProjectName 만약 Windows에서 진행하면서 UnauthorizedAccess 에러가 발생하면 관리자 모드로 PowerShell을 열어준 후 아래 명령어를 입력한다. Set-ExecutionPolicy -ExecutionPolicy Unrestricted 스마트폰에도 expo가 설치되어 있어야 하는데, 안드로이드는 Expo를 ios는 Expo go를 설치하면 된다. 이후 expo에 컴퓨터와 스마트폰에 각각..

신림역 인근에 있는 스터디카페인 거북이의 기적의 이용 방법에 대한 기록이다. 코보스페이스 어플을 설치해서 이용했었는데, 자리 잡는 방법을 헤매서 추후 또 헤맬까 봐 작성해둔다. 위치는 아래와 같다. 아래는 입구 사진이다. 입구로 들어가서 엘리베이터 앞에 키오스크가 있어서 자리를 잡을 수 있다. 다만 직접 가서 확인해야 하는 불편함이 있기 때문에 코보스페이스 어플을 설치하여 이용한다. 설치 후 거북이의 기적을 찾아서 들어가면 아래 이미지와 같이 나오고 현재 자리가 얼마나 비어있는지 알 수 있다. 같은 페이지에서 스크롤만 내리면 다음 이미지와 같이 보이는데, 충전되지 않은 상태에서는 이용 상품 칸이 비어있고 상품 충전 버튼을 눌러 충전하면 이용 상품에 이미지처럼 관련 내용이 보인다. * QR코드는 출입문을 ..
어쩌다가 Wordle을 알게 되었다. 하루 한 번만 가능한데 더 하고 싶어서 만들어본다. Wordle은 하나의 온전한 단어를 맞추는 거지만 이번에 만들어 본건 랜덤 한 영어다. 막 만들어서 코드나 동작이나 마음에는 들지 않지만 가끔 심심풀이로 하기엔 괜찮을 듯싶어 더 수정하진 않는다. HTML - BODY submit CSS #wrapper { margin: 100px auto 0 auto; width: 290px; } #parent { width: 290px; } .child { width: 290px; display: flex; justify-content: space-between; margin-bottom: 12px; } input { width: 50px; height: 50px; border:..
비밀번호 암호화는 비밀번호를 지킬 때 필요한 것으로 개인정보보호법에 명시되어 있는 만큼 만약 서비스를 만들어 운영하게 된다면 반드시 해야 하는 부분일 것이다. 비밀번호를 암호화할 때는 SHA-256과 같은 단방향 암호화를 해야하며, 이는 암호화된 비밀번호가 유출되더라도 비밀번호를 찾아내지(복호화) 못하도록 하기 위함이다. * SHA-256 : 암호 알고리즘 중 한 종류 * 단방향 암호화 : 평문을 암호화한 후 암호문에서 평문을 찾을 수 없도록 구현된 암호화 방법 하지만 암호화를 하더라도 레인보우 테이블과 같은 공격을 받게 되면 암호화한 의미가 퇴색된다. * 레인보우 테이블 : 공격자가 단방향 암호화로 암호화한 데이터를 가지고 암호화된 데이터와 비교하여 평문을 찾는 방법 위와 같은 공격을 방어하는 방법으로..
> 1. 먼저 설치되어 있는 Ubuntu에 로그인을 한 후 openssh-server를 설치한 후 실행한다. 설치 명령어 : sudo apt-get install openssh-server실행 명령어 : sudo systemctl restart ssh실행 확인 명령어 : sudo systemctl status shh(active(running) 이면 실행 중인 것이다.) 2. 그 다음 명령어 ifconfig를 통해서 ip를 알아낸다. 3. 다음 서버를 끈 후 vm에서 Ubuntu를 설치한 가상 서버의 설정하기 위해 이동한다. 4. 네트워크 탭으로 이동한 후 5. 포트 포워딩 버튼을 눌러준다. 6. 포트 포워딩 규칙을 추가한 후 아래와 같이 변경해 준다. 호스트 IP는 현재 컴퓨터안에 가상서버가 있기 때문..