토이 프로젝트

  • 13. 노션 도우미
  • 12. 작명 도우미
  • 11. 코딩 도우미
  • 10. SkyChat - Realtime Web Chat
  • 9. BLOG EXPRESS ME
  • 8. GoodByDPI GUI Korean
  • 7. ImageCompressor
  • 6. imagekyll
  • 5. NotePHPad
  • 4. TextWidget
  • 3. SkyNote2
  • 2. IUCalendar
  • 1. KorCoding

NotePHPad

4개월, 4주 전
@baealex

소비적인 일보단 생산적인 일을 좋아합니다.

목적

기존 SkyNote2의 문제점은 윈도우와 리눅스에서만 메모 공유가 가능하고 일단 프로그램을 설치해야 한다는 것은 상당히 귀찮은 문제였다. 그래서 관심을 가진게 웹이다. 웹은 윈도우, 리눅스 심지어 핸드폰도 구분없이 접속할 수 있다.


사용기술

  • PHP
    • Parsedown
  • JavaScript
    • jQuery


개발노트

  • 2019-01-07

    • 기본적인 동작 구현
    • 기본적인 레이아웃 구현(반응형, 노트 디자인)
    • <a> 태그와 <b> 태그 외 태그 문자 처리
  • 2019-01-08

    • 카피라이트 문구 2019로 변경
    • PHP만을 이용한 기본적인 로그인 구현
    • 현재 메모를 다운로드하는 기능 추가
    • 모든 태그는 문자로 처리되도록 변경
  • 2019-01-09

    • parsedown 라이브러리를 이용하여 마크다운 작성 제공
    • 텍스트 입력창이 보이지 않을경우 상단에 고정되도록 수정
    • 헤드라인 태그에는 색상을 삽입하고 링크와 코드의 디자인 변경
  • 2019-01-10

    • 메뉴창과 인포메이션 버튼 추가
    • 메뉴창에서 소스코드를 삽입할 수 있는 메뉴 구현
    • 소스코드 textarea에 codemirror 라이브러리 적용
    • 로그인 되지 않지 않은 사용자에게 basic.txt를 노출
  • 2019-01-14

    • 메모를 위에서 삽입할지 아래서 삽입할지 결정한 메뉴 추가
  • 2019-01-17

    • 날자별로 새로운 메모를 생성할 수 있도록 변경
    • 상위 인덱스에선 생성된 날짜의 링크를 출력하고 메모작성 불가
  • 2019-01-19

    • 입력 상자의 레이아웃 Absolute로 변경
    • 비로그인 상태에서는 루트 페이지로 강제 이동
    • 메인 페이지의 입력 상자의 타입을 Password로 변경
  • 2019-01-20

    • 기본 글씨체 '나눔 펜'으로 변경
    • 메인 페이지에서 해당 메모의 미리보기 제공
  • 2019-02-15

    • 반응형 링크로 변경
  • 2019-03-12

    • 카피라이트 문구 변경
    • 이메일 주소 변경
  • 2019-03-24

    • 가독성을 위한 패스워드 변수 추가
  • 2019-03-27

    • 레이아웃 동적으로 로딩
  • 2019-06-03

    • Ajax를 이용한 새로고침 최소화
  • 2019-09-17

    • 메모 목록 정렬
    • 소스코드 메모 개선


설치방법

웹서버(Nginx)와 PHP7이 필요합니다.

sudo apt-get install nginx php7-fpm

설치가 완료되었다면 Nginx의 설정파일을 수정합니다.

sudo vi /etc/nginx/sites-available/default
server {
    ...
    server_name memo.domain.com;
    root /home/user/memo;
    ...
    index index.html index.php;
    ...
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }
    ...
    location ~ \.txt$ { 
        return 403; 
    }
}

지정한 루트경로에 해당 소스코드를 삽입하고, PHP를 사용할 수 있도록 해줍니다. 또한 외부에서 텍스트 파일에 접근하지 못하도록 설정하였습니다.

최초 비밀번호는 baealex입니다! 로그인 완료한 후 새로운 메모를 생성하였으나 메모가 출력되지 정상적으로 출력되지 않은 경우 라이브러리의 부재이므로 설치해주셔야 합니다.

apt install php-mbstring

이후 php.ini에서 ;extension=php_mbstring.dll에서 ;을 삭제합니다.


개선할점

  • 라인 삭제


느낀점

웹 개발 재밌다...!

작성된 댓글이 없습니다!
로그인된 사용자만 댓글을 작성할 수 있습니다.