Etc. Mac에서 git 자동 완성(tab) 사용하기 2021. 7. 12. 나는 맥북에 적응하고 있는 맥린이이다. git 명령어들이 tab으로 자동 완성이 안 돼서 너무 불편한 와중에 간단하게 자동 완성이 되게 할 수 있는 방법을 찾아서 공유하고자 한다. 새로운 맥들은 기본적으로 zsh 쉘을 사용한다. zsh 쉘을 사용한다면 터미널에서 아래 두 줄을 입력해주면 간단하게 자동 완성이 되도록 적용 가능하다. echo 'autoload -Uz compinit && compinit' >> ~/.zshrc source ~/.zshrc 끗. Springboot + vue.js 업로드한 pdf 파일 열기, 다운로드 2021. 7. 1. Springboot와 vue.js 조합으로 개인 프로젝트를 진행하던 중 pdf 파일 업로드 기능을 구현했다. 업로드, 업로드한 파일 삭제는 구글의 예제를 보며 순조롭게 구현했는데 업로드한 파일을 크롬 새 탭에 열거나 사용자 pc에 다운로드받는 기능을 구현할 때 문제를 겪었다. 다운로드를 누르면 사용자 pc에 다운이 받아지고 열기를 누르면 새 탭에 열려야 한다. 쉽게 찾을 수 있는 예제는 아래와 같다. 다운로드 열기 v-btn 태그를 a 태그로 바꿔도 문제없다. 이렇게 구현해도 vue 서버만 켜놓았을 때는 문제 없이 잘 작동한다. 하지만 아래 이미지처럼 Springboot를 사용한 서버에서 vue 빌드파일을 받아서 사용하는 구조일 땐 문제가 발생한다. vue 서버로 href를 타고 get 요청이 날아가면 .. Github API issue + JS로 댓글 기능 만들기 2021. 6. 1. HTML + CSS + JavaScript로 대학생활 포트폴리오를 만들다가 댓글 기능을 추가하고 싶은 욕심이 생겼다. github.io로 배포도 해놨으니 다른 사람들도 와서 구경하면서 댓글을 달아주는.. 그런 상상을 하면서 말이다. 먼저 댓글 기능을 열심히 검색해봐도 jekyll로 만든 블로그에 disqus을 사용하는 방법밖에 나오지 않았다. jekyll로 안 만들었으니 이건 불가능하고, 그렇다고 WAS를 만들고 AWS에 배포하고 이런 작업들을 하기는 좀 오바하는 것 같았다. 그러다 문득 javable에 참여할 때 댓글을 github issue로 관리하던 것을 본 것 같아서 그걸로 구현하면 되겠다 생각했다. API 문서에 워낙 잘 나와 있어서 얼마 안 걸릴 줄 알았는데 꽤 삽질했던 작업이라 적용하는 과정.. API vs Library vs Framework 2021. 1. 12. 차이에 대해 정확히 알고있다고 생각했는데 말로하려니 정리가 안돼서 [10분 테코톡] 🙆♀️티버의 API vs Library vs Framework을 다시 한 번 보고 글로 정리하면서 확실히 기억하려고 한다. API vs Library vs Framework 의 차이를 쉽게 이해하려면 [10분 테코톡] 🙆♀️티버의 API vs Library vs Framework 영상을 먼저 보는 것을 추천한다.👍 API(Application Programming Interface) 응용 프로그램에서 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스 프로그램 간에 연결을 시켜주는 다리라고 생각하면 쉽다. 특징 uri 를 통해 데이터를 받는 형태가 많음 구현과 독립적으로 사양(사용법)만 정의.. HTTP 2020. 9. 24. HTTP - RFC 2616 Requset Request = Request-Line *(( general-header | request-header | entity-header ) CRLF) CRLF message-body Request-Line Request-Line = Method SP Request-URI SP HTTP-Version CRLF general-header(Response와 공통으로 쓰임) general-header = Cache-Control | Connection | Date | Pragma | Trailer | Transfer-Encoding | Upgrade | Via | Warning request-header request-header = Accept | Accept-Char.. HTTP Cache 2020. 9. 11. HTTP Cache - web.dev에 정리된 내용을 나에게 필요한 내용만 정리한 글이다. 번역기로 번역한 문장도 많아서 부정확할 수도 있다. 네트워크를 통해 무언가를 가져오는 작업은 느린 동시에 비용도 많이 든다. 크기가 큰 응답은 클라이언트와 서버 사이에 많은 왕복을 필요로 하므로, 응답을 사용할 수 있게 되어 브라우저가 처리할 수 있게 되는 시기가 지연되고 방문자에 대한 데이터 비용도 발생한다. 따라서 이전에 가져온 리소스를 캐시했다가 재활용할 수 있는 기능은 성능 최적화에 있어 중요한 측면이다. 모든 브라우저에 HTTP 캐시 구현이 포함되어 있다. 각 서버 응답이 올바른 HTTP 헤더 지시문을 제공하여 브라우저에 해당 브라우저가 응답을 캐시할 시점과 기간을 지시하는지 확인하기만 하면 된다. 브라우.. TDD 정리 2020. 2. 17. TDD란?(Test Driven Development) TFD(Test First Development) + 리팩토링 -> 테스트 코드를 먼저 작성하고 프로덕션 코드를 작성하여 테스트 코드를 통과시킨 다음! 리팩토링을 하면 TDD이다. TDD 사이클 1. 실패하는 테스트코드를 먼저 작성한다. 2. 테스트 코드가 성공하도록 프로덕션 코드를 구현한다. 3. 프로덕션 코드와 테스트 코드를 리팩토링 한다. TDD의 장점 1. 변화에 대해 두렵지 않다. (중요) -> 요구 사항이 변경 되었을 때, 그에 대한 테스트 코드를 먼저 추가하고 테스트 코드를 만족하는 프로덕션 코드를 만들어 가는 것! 리팩토링을 할 때도 테스트 코드는 이미 있기 때문에 심적으로 안정된 상태에서 여러 방법으로 리팩토링을 시도해볼 수 있다. .. Git 2019. 11. 7. * 깃 초기 설정 및 원격 레포지토리에 파일 추가하기. git config --global user.name junseong hong git config --global user.email ebseud6135@naver.com git config --list 설정한 설정들 확인 깃에서 앞으로 사용할 설정 global 프로젝트를 저장할 폴더를 생성하고 명령프롬포트에서 그 폴더로 이동한 후 git clone https://github.com/DunDung/Git-Study.git 클론 즉 다운을 받는다. 내 컴퓨터에 있는 저장소는 local repository 깃허브에 있는 저장소는 remote repositroy 깃허브에 올릴 파일을 만들고 cd Git-Study cmd에서 로컬 리포지토리로 이동 git .. 이전 1 다음