목록대학교/etc (21)
SW
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/mMiRM/btqBS5ZYxQg/wgn2lj9JaYW4o3rpVtNKmk/img.jpg)
0. Cookie, Session 울랄라스파라는 곳이 있다. 울랄라스파는 회원등록을 하고 입장해서 내부 시설들을 맘껏 이용한 뒤 나올 때 한꺼번에 계산하는 방식이다. 우리가 브라우저로 어느 웹사이트를 이용하는 과정을 위 스파에 비유해 설명해보겠다. 이곳에서는 스파의 쿠폰북이 아닌 '쿠키북'이라는 수첩같은 것을 들고다니면서 이용하는 시설마다 이걸 보여주게 되어 있다. 이 '쿠키북'에는 시설 측에서, 혹은 내가 직접 뭔가 기록할 수도 있고 수정하고나 찢어서 버릴 수도 있다. 이 '쿠키북'의 핵심은 내가 들고다닌다는 것. 그리고 시설을 이용할 때마다 보여준다는 것이다. 쿠키는 사이트를 방문하고 이용할 때 브라우저에 저장되는 내용들이다. 브라우저는 내 컴퓨터에 있는것이므로 내가 갖고 있는 정보이다. 그런데 이 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ctPOyn/btqBSPBxcD3/eOfIm5xLBy0TDJGWqM374k/img.jpg)
0. 무엇을 언제 써야할까? 파이썬의 양대 웹 프레임워크 두개 중에 고민하고 있다면 Flask를 쓰면된다.(초보자, 학습목적) 서비스를 제공하고 싶다면 django쓰면 된다.(서비스) Flask -> Micro Web Framework : 정말 필요한것만 제공해준다. pip install 을 통하여 추가적으로 설치해주는 것이다. Django -> 장고를 설치하게 되면 모든 것이 딸려온다. 보통 웹서비스를 만드는데 있어서 90~95퍼센트, 대부분의 경우는 모두 설치되어 있다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Mtgm8/btqBQoYWpDt/HOmVgQE8aEVGp5AEKwYMK1/img.jpg)
0. 차이점 무엇을 빌드하느냐에 따라 다르다. 우선 CRUD(Create Read Update Delete)를 알아야 한다. 예를 들면, 인스타그램은 CRUD이다. 장고는 CRUD를 위한 최선의 옵션이다. 블로그, 인스타그램, 유튜브같은 것에 최적이다. 이와 같은 경우에는 파이썬 + 장고 조합을 선택할 것이다. 필요한 것을 다 갖추었다. 유저, 인증, 뷰, 템플릿 등등 최적화 되어 있다. 그러나 그런 경우가 아닌, 우버와 같이 CRUD외에 리얼타임이 필요하다거나 API를 사용해야하는데 그게 자바스크립트 베이스라던가 그런경우에는 nodeJS를 사용하면 좋다. 넷플릭스는 nodejs를 자주 사용한다. CURD이외에도 리얼타임을 자주 하기 때문이다. 결론을 말하면, CRUD를 활용한다? 파이썬 + 장고 조합을..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bsE7On/btqBNLHb4Gj/zzNj4Cm1lCvK6fBhB4cJr0/img.jpg)
0. 인공지능(A.I.) A.I는 2개로 나눌 수 있다. Narrow A.I, General A.I 보통 할리우드 영화나 넷플릭스에서 나오는 A.I는 general A.I를 뜻한다. general A.I는 인간이 하는 행동을 할 수 있고, 혹은 인간보다 더 뛰어난 능력을 가지고 있다. 대화를 나눌 수 있고 게임을 할 수 있고 판단을 할 수 있고 인간과 같은 것이다. 하지만 현실에서는 또 현재 산업에서는 narrow A.I를 다루고 있다. narrow A.I는 단 한개만 할 줄 알고, 그것만 잘한다. 집중하는 범위가 좁은 것(narrow)이다. narrow A.I의 예시로는 페이스북의 얼굴 인식 기능이 있다. 하지만 그 뿐이다. narrow A.I 이므로 딱 한개만 잘 할 수 있다. 1. 머신러닝 이때 머..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/c4o0ns/btqBLjdpc2V/mjCRHrx5hIqqfAUXRDKK6K/img.jpg)
0. 문제 git push 를 하려는데 다음과 같은 Error가 발생하였다. 1. 해결 원인을 찾아보니 git respository에 README.md 파일을 생성했기 때문이었다. git pull 명령어로 github의 원격 레포지토리를 내 로컬로 불러와서(fetch) 합친다(merge) 그 후 git push 명령어로 다시 원격 레포지토리에 업로드 한다. git pull origin master -> git push origin master 위 코드를 실행해주면 해결된다. 위 작업을 하다가 실수로 원하지 않는 파일이 Github로 올라갔다. 그래서 다시 되돌리기 위해 다음과 같은 방법을 사용하였다. git reset --hard [commit id(git log에서 확인 가능)] 그 후 git push..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dkxMRr/btqBJ6SpArv/5dPInZApoPkqAMVPoGfDkk/img.jpg)
0. 문제 📌VSCode 에서 Extensions 에서도 적절한 것을 모두 설치했지만 태그 자동완성이 안됨. 📌 ! 입력후 Tab키를 누르면 자동으로 코드가 나와야 하는데 작동하지 않음. 1. 해결 빨간 동그라미 부분이 Django HTML로 설정되어 있음. HTML로 바꿔줌. 정상 작동! 해결 완료~
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bpF1lL/btqBIIcxtxT/KCF6jxRpQkOXnCZtyeYKo0/img.jpg)
0. 네이티브 앱 만들기 네이티브 앱이란 Android 와 iOS 환경에 맞춰서 각각에 특화하여 개발하는 것 Android 앱을 만들기 위해서는 Java 혹은 Kotlin을 이용하여 Android Studio를 이용해서 만들 수 있다. iOS 앱을 만들기 위해서는 Objective-C 혹은 Swift를 이용하여 Xcode를 이용해서 만들 수 있다. 네이티브 앱은 각각의 OS에 맞춰서 만드는 것이라 성능은 가장 뛰어나지만 내가 만든 앱을 각각의 스토어에 출시하려면 각각의 언어와 플랫폼에 대해 학습해야하는 부담이 있다. 1. 하이브리드 앱 만들기 하이브리드 앱은 하나의 언어로 각각의 플랫폼(OS)에 맞는 앱을 동시에 개발하는 것이다. 대표적으로 React-Native라는 프레임워크를 이용하면 JavaScri..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/t1qEn/btqBLIJjPbx/R2cFPokZRnNytalvlrcR50/img.jpg)
0. 방법 내 컴퓨터를 서버로 만드는 방법 -> 보안에 취약하고, 365일 24시간 가동해야 하기 때문에 추천하지 않음 외부 서버를 이용하는 방법 -> 웹호스팅 제공 업체 amazon, netlify 등을 이용 1. netlify 이용방법 원하는 폴더 올린 후 이름바꾸고 싶다면 다시 설정 해주면 끝 https://www.netlify.com/ Netlify: All-in-one platform for automating modern web projects Deploy modern static websites with Netlify. Get CDN, Continuous deployment, 1-click HTTPS, and all the services you need. Get started for fre..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bWs5T1/btqBGevN10z/OAGGSHngavBKZHlIViC8QK/img.png)
0. Git Git을 사용할 수 있는 여러 프로그램들이 있다. SourceTree, TortoiseGit, Github Desktop 등이 있다. 그 중에 명령어를 이용해서 Git을 제어하는 방법에 대해서 알아보자. 이 방법에 익숙해지면 복잡한 GUI 없이 간편하게 Git을 다룰 수 있다. 명령어 특성상 한번에 명령해서 자동화가 가능하다. GUI로 제어할 수 없는 서버에서도 제어할 수 있는 유일한 방법이기 때문에 많이 쓰인다. 1. 설치 아래 홈페이지에서 다운로드한다. https://git-scm.com/ Git git-scm.com 2. 버전관리의 시작 원하는 위치에 폴더를 만든다. 그 폴더로 이동한다. git init : initialize repository git init . 이라는 명령을 통하여..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lmtdz/btqBFwpmF2H/Q8IrpuOcDU52vXTxoNm9kK/img.jpg)
0. 문제 Anaconda 설치 후 실행이 되지 않음. 1. 해결 원인을 찾아보니 bash에서는 잘 작동하는데 zsh에서는 자동으로 경로설정이 되지 않음. 구글링 결과 vi ~/.zshrc 후 export PATH="/Users/[username]/opt/anaconda3/bin:$PATH" 경로를 추가 하라고 함. 하지만 잘 안됨. 그래서 터미널에서 똑같이 export PATH="/Users/[username]/opt/anaconda3/bin:$PATH" 를 실행시켜주니 잘 됨.