전체 글
FE DeveloperAdmin 사이트 로그인이 안될 때
데이터를 싹다 지우고 admin 사이트에 다시 로그인 하려고 하니 로그인이 안됐다. 비밀번호를 잘못입력했나 싶었지만 그것도 아니었고.. 비밀번호 찾기 기능이 있지도 않아서 구글링을 시작했다. https://kitle.xyz/post/58/ django admin 장고 어드민 계정 찾기 및 비밀번호 변경하기 django admin 장고 어드민 계정 찾기 및 비밀번호 변경하기 django 3.X 버전 기준으로 작성되었습니다.장고 … kitle.xyz 이 포스팅을 보며 계정이 존재하는지 찾아보았는데 결론적으로 슈퍼유저가 없는 걸로 나왔다. 그래서 https://developer.mozilla.org/ko/docs/Learn/Server-side/Django/Admin_site Django Tutorial Pa..
[오류]OperationalError, No such column
https://ohdowon064.tistory.com/316 (Django) 테이블 초기화하기; reset table 장고 개발을 진행하다가 테이블명을 잘못 적어서 테이블명을 다시 적고 마이그레이션을 했는데 id값이 엉켜서 이도저도 못하는 상황에 직면했다. 그래서 마이그레이션 파일을 삭제해서 테이블 ohdowon064.tistory.com 현재 진행중인 프로젝트 중 프론트 팀을 만나 오프라인 회의를 하다가 api 내용을 바꿔야 하는 상황이 생겼다. 소통의 부재가 이렇게 무섭다😂 아무튼 기존에 있던 테이블들을 지우고 다시 작성하는 과정에서 제목과 같은 에러가 났다. 구글링 하다 이 위에 있는 링크의 방법이 제일 명확해서 참고해서 해결했다. makemigrations 명령을 했을 때 생기는 파일들 (__i..
[Django]API 테스트 프로그램 Postman
Postman 이라는 것을 이용해서 api가 잘 되었는지 테스트 할 수 있다고 해서 알아봤다 아래는 참고한 사이트 https://meetup.toast.com/posts/107 Postman 개요 / 설치 / 사용법 / 활용 방법 : NHN Cloud Meetup Postman meetup.toast.com https://kibua20.tistory.com/149 무료 REST API 테스트 프로그램: Postman (설치, 활용법) RESP API를 사용하는 클라이언트를 개발하는 경우 서버와의 API 인증과 동작을 먼저 확인 후 파이썬, 자바, NodeJS, PHP 등의 언어로 소스 코드를 작성하는 경우가 많습니다. 이러한 목적으로 전통적인 kibua20.tistory.com Postman 이란? RE..
[머신러닝 야학]텐서플로우(python)-모델을 위한 팁 (appendix 2)
학습이 잘 되는 모델 사용할 레이어 tf.keras.layers.BatchNormalization() tf.keras.layers.Activation('swish') 데이터 보스턴 집값 예측: https://raw.githubusercontent.com/blackdew/tensorflow1/master/csv/boston.csv 아이리스 품종 분류: https://raw.githubusercontent.com/blackdew/tensorflow1/master/csv/iris.csv BatchNormalization에 대한 원리는 나중으로 미뤄두고 일단 사용하는법에 집중해보자 전에 했었던 코드 그런데 이제 BatchNormalization 이란걸 추가해줘보자 레이어 3개를 쌓은 셈이다. 이 구조로 만들면 ..
[머신러닝 야학]텐서플로우(python)-데이터를 위한 팁(appendix 1)
데이터 타입 조정 https://raw.githubusercontent.com/blackdew/tensorflow1/master/csv/iris2.csv 변수(칼럼) 타입 확인: 데이터.dtypes 변수를 범주형으로 변경: 데이터['칼럼명'].astype('category') 변수를 수치형으로 변경: 데이터['칼럼명'].astype('int') 데이터['칼럼명'].astype('float') NA 값의 처리 NA 갯수 체크: 데이터.isna().sum() NA 값 채우기: 데이터['칼럼명'].fillna(특정숫자) 일단 데이터를 한번 불러와보자 품종이 0으로 뜨는데 세가지 품종을 각각 0,1,2 의 데이터로 바꿔놓은 상태이다. 범주형 데이터임. 원핫 인코딩을 해줘보자. 원핫인코딩이 안되는 걸 볼 수 있음..
[Python]2차원 배열 선언
전부 0으로 초기화된 2차원 배열을 만들어보자. list comprehension 을 이용하면 처음에 전부 0으로 채워진 2차원 배열을 다음과같이 선언 가능하다 n = 4 arr_2d = [ [0 for _ in range(n)] for _ in range(n) ] print(arr_2d) >> 출력 결과 [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]] n*n 이 아닌 n*m 이라면 다음과 같이 한다. n, m = 4, 5 arr_2d = [ [0 for _ in range(m)] for _ in range(n) ] print(arr_2d) >> 출력 결과 [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [..
[Python]문자열 내 문자 정렬
문자열 내의 문자들을 알파벳 순으로 정렬하려면? 숫자 정렬을 할 때에는 sort() 함수를 이용했었다. sort 함수를 쓰기 위해서는 list 를 만들어 사용해야 한다. 따라서 문자열을 list 로 만들고 sort 함수를 이용하면 정렬가능. (정렬한 이후에는 join 함수로 리스트를 문자열로 다시 만들어 주면 되니까!) string = "banana" arr = list(string) arr.sort() print(arr) # ['a', 'a', 'a', 'b', 'n', 'n'] sorted_str = ''.join(arr) print(sorted_str) # aaabnn sorted() 함수는 리스트가 아니더라도 문자열을 바로 정렬해준다. 하지만 결과물이 리스트이다! string = "banana" ..
[Python]list comprehension
리스트의 각 원소들에 전부 2배씩 해주는 코드를 생각해보자. 기존 리스트에 있던 원소들을 모두 2배 해주면서 동시에 그걸 새로운 리스트에 append 해줄 수도 있지만 list comprehension 을 이용하면 선언과 동시에 for loop 으로 부터 나온 원소를 원하는 값으로 변경해줄 수 있다. [(표현식) for (표현식에서 사용한 변수) in (변수 추출 조건) ] arr = [1, 2, 3, 5] new_arr = [elem * 2 for elem in arr] print(new_arr) >> [2, 4, 6, 10] 조건문을 포함하는 list comprehension 어떤 조건문을 만족하는 값만 리스트에 들어가도록 만들고 싶다면 다음과 같이 작성해주자. [(표현식) for (표현식에서 사용한..
[Python]입출력
기본 개념 문제들을 풀어보면서 기억해둘만한 것들을 되짚어 보기. python에서는 input() 함수를 통해 한줄 단위로 입력을 받을 수 있음. x = int(input()) print(x + 2) 소수점 반올림을 하려면 python의 내장함수 round() 를 이용하자. x = float(input()) print(round(x,2)) python에서 입력은 한 줄 단위로만 받을 수 있다. (그래서 2개의 줄에 걸쳐 입력받을 때에는 input() 을 두번 써준다.) 만약에 한 줄에 공백을 사이에 두고 받고 싶다면 split() 이라는 함수를 이용한다. 이 함수는 문자열을 특정 기준으로 잘라주는 함수이다. 공백을 기준으로 문자열을 잘라서 그 문자열들을 원소로 가지는 list 가 만들어짐. arr=inpu..
[Django][파이썬 웹 프로그래밍] 05. 실습 예제 확장하기 (2)
이 글은 [파이썬 웹 프로그래밍](저자 김석훈, 출판사 한빛미디어) 교재를 보고 공부하며 정리한 글임. 5.1.8 지금까지 작업 확인하기 클래스형 제네릭뷰로 books 애플리케이션을 코딩했었다. 템플릿 상속에 대해서 다시 제대로 짚고 넘어가자면 base.html 이 기본 뼈대를 만드는 역할을 하고 이 부모 템플릿에 나타난 block 부분들을 자식 템플릿이 덮어쓰는 것이다.(치환) ->이렇게 이해하니 이해가 잘된다. 아래 문서를 참고해서 이해했다. https://django-doc-test-kor.readthedocs.io/en/old_master/topics/templates.html Django 템플릿 언어 — Django 1.4 documentation Django의 템플릿 언어는 강력함과 용이성 사..
[머신러닝 야학]텐서플로우(python)-히든레이어
퍼셉트론 하나로만 이루어진 모델말고 퍼셉트론 여러개로 이루어진 신경망같이 생긴 딥러닝 모델을 알아보자 깊은 신경망을 만드는건, 기존의 퍼셉트론을 여러개 연결하면 되는거다. 입력부분을 input layer 라고 하고 출력부분을 output layer 라고 하는데 그사이에 추가한 부분을 hidden layer 라고 한다. 이러면, hidden layer 를 입력으로 받아들이는 퍼셉트론이 필요하다 그리고 hidden layer의 첫번째 결과(h1)를만들기 위해선 하나의 퍼셉트론이 필요할거다. 이렇게 연속적으로 퍼셉트론을 연결하여 거대한 신경망을 만드는 것이다. 이게 딥러닝 인공지능망! 이걸 코드로 만들려면 다음과 같이 적으면 되는데 H=tf.keras.layers.Dense(5, activation='swis..
[머신러닝 야학]텐서플로우(python)-학습의 실제, 아이리스 품종 분류
https://docs.google.com/spreadsheets/d/11DAONRZ92ob0T0YRIT5KgU9vNeO28bYNvteu_-fbRV0/edit#gid=0 딥러닝 워크북 회귀 (mse) 온도,판매량,W,B,Loss,예측 (w*온도+b),예측 - 판매량,(예측 - 판매량)^2 21,42,1.969,0.526,0.036891,41.875,-0.125,0.015625 22,44,dLoss / dW,dLoss / dB,prevLoss,43.844,-0.156,0.024336 23,46,122.2291,5.2961,7.028832,45.813,-0.187, docs.google.com 이곳에 있는 자료를 보고 공부했다. dt만큼 W와 B를 움직여보면서 loss 값이 커지는지, 작아지는지 확인하고(우..
[Django] Django 이용한 REST API 서버 구축
https://dawonny.tistory.com/11?category=991193 API 에 대해서 정리한 포스트. 이번에는 REST API 서버를 구축을 한번 해보고 싶다. 해봐야 뭐가 뭔지 알 것 같아서. 아래 포스팅을 참고했다. http://throughkim.kr/2018/05/29/django-rest/ Django를 이용한 Rest API 서버 구축 Django를 이용해 Restful한 API 서버를 구축하는 방법을 익혀본다. Ubuntu 16.04-64-server Python 3.5.2 Django 2.0.5 django-rest-swagger 2.2.0 환경 세팅 파이썬 버전을 확인해 준다. 파이썬 3.x 버전이 없다면 설치해준 throughkim.kr https://jamanbbo.t..
[머신러닝 야학]텐서플로우(python)-보스턴 집값 예측
이런 데이터가있다고 해보자. 1부터 13까지의 특성들이 14에 영향을 미친다. 독립변수들과 종속변수라고 할 수 있겠다. 이 관계를 식으로 나타내면 다음과 같다. 결과가 정확히 나오진 않지만 비슷한 값을 얻을 수 있다. 이런 복잡한 공식은 머신러닝이 만들어준다. 학습을 잘 시킨다면 더 정확한 값을 얻을 수 있을거다. 레모네이드 판매량 예측 때 했던 순서대로 보스턴 집값도 예측해보자 y를 수식으로 나타내면 저렇게 나타낼 수 있는데 이런 모형을 퍼셉트론이라고 하고 각 w들을 가중치 , b는 bias (편향)이라고 한다. 만약에 종속변수를 두 개라고 해보자. 그러면 저런 모형이 나올거다. 수식도 두개가 생기겠지. colab 에 작성을 해보자 텐서플로우랑 판다스를 임포트 해주고 데이터를 가져와 주자. 그다음에 ...
[Django][파이썬 웹 프로그래밍] 05. 실습 예제 확장하기 (1)
이 글은 [파이썬 웹 프로그래밍](저자 김석훈, 출판사 한빛미디어) 교재를 보고 공부하며 정리한 글임. books라는 애플리케이션을 만들어 보자(주로 클래스형 뷰를 사용할것.) 애플리케이션을 만들려면 상위에 더 큰 개념인 프로젝트를 먼저 만들어야 한다-> 3장에서 사용했던 mysite 프로젝트를 그대로 사용 순서는 애플리케이션 설계 프로젝트 뼈대 생성 애플리케이션 model 코딩 애플리케이션 URLconf 코딩 애플리케이션 View 코딩 애플리케이션 Template 코딩 5.1.1 애플리케이션 설계하기 books 애플리케이션은 책, 저자, 출판사의 정보를 관리하는 웹 애플리케이션 index.html 에는 책, 저자, 출판사 중에 고를수 있고 책을 선택해서 들어가면 book_list.html 에서 책의 목..
[머신러닝 야학]텐서플로우(python)-레모네이드 판매량 예측
지도학습의 빅픽쳐 지도학습을 하기 위해서는... 1. 과거의 데이터가 있어야 함. -> 원인(독립변수)과 결과(종속변수)를 분석해 내야함. 2. 모델의 구조를 만든다. 3. 데이터로 모델을 학습(FIT) 한다. 4. 모델을 이용한다. Jupyter notebook 을 구글 서비스 내에서 사용할 수 있도록 만든게 Colaboratory 이전에 딥러닝 스터디를 하면서 깔았던 적이 있다. 그러니 패스! 표를 다루는 도구 '판다스' import pandas as pd 를 해주면 데이터를 불러오고 분류하는 기능을 쓸 수 있게 된다. 실습을 통해 배울 도구들 - 파일 읽어오기 : pd.read_csv('/경로/파일명.csv') - 모양 확인하기 : print(데이터.shape) - 칼럼 선택하기 : 데이터[['칼럼..
[Django]페르소나 프로젝트 - 2
오늘은 settings.py에 INSTALLED_APPS에 'rest_framework' 를 추가하고 다른 멤버가 구글 스프레트 시트에 model 문서 적어준 것을 보면서 persona_app/models.py 작성을 했다. models.py를 코딩하면서 고민했던 점은 테이블과 테이블 사이의 관계성이었다. 예를들어서 (Answer 테이블을 코딩할때) Answer 과 Question 의 관계는 N:1 이니까 ForeignKey 를 써준다든지 그런것들 그리고 또 하나 고민했던 점은 Mbti 모델의 객체를 만들때 아예 16개의 객체를 따로 만들어주면 Character와 연결해서 보여주기 쉽겠다 라는 생각이 들었다. 그럼 Character 와 Mbti 는 뭐가 맞을까? 캐릭터 한명당 Mbti 하나를 가지고 있으..
[Django][파이썬 웹 프로그래밍] 04. Django의 핵심 기능 (3)
이 글은 [파이썬 웹 프로그래밍](저자 김석훈, 출판사 한빛미디어) 교재를 보고 공부하며 정리한 글임. 4.5 클래스형 뷰 장고에서는 뷰를 함수로도 작성 가능하고, 클래스로도 작성 가능함. -> 클래스형 뷰가 장점이 많음. 중급, 고급 개발자를 위해선 잘 익혀두자! 4.5.1 클래스형 뷰의 시작점 URLconf에서 함수형 뷰가 아닌 클래스형 뷰를 사용한다는걸 표시해줘야함. 예시로 MyView라는 클래스형 뷰를 사용한다고 하면 URLconf가 아래처럼 됨 # urls.py from django.urls import path from myapp.views import MyView urlpatterns = [ path('about/', MyView.as_view()), ] as_view() 메소드 : 진입 메..
Flask란?
갑자기... flask 가 무엇인지에 대해서 궁금해서 쓰게 된 포스팅 이것도 백엔드라며? python 쓴다며? 근데 django랑 뭐가 다른건데? 포스팅 할 때에는 아래 두 곳을 참고했다. https://dingrr.com/blog/post/%EC%96%B8%EC%A0%9C-django%EB%A5%BC-%EC%96%B8%EC%A0%9C-flask%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%B4%EC%95%BC-%ED%95%A0%EA%B9%8C 언제 Django를, 언제 Flask를 사용해야 할까? | 블로그 | 딩그르르 언제 Django를, 언제 Flask를 사용해야 할까? dingrr.com https://wikidocs.net/91417 위키독스 온라인 책을 제작 공유하는 플랫폼 서..
Push/Pull/Merge/Pull Request 정리
정리할 겸 쓰는 포스팅 아래 참고 https://holika.tistory.com/entry/Git-%EC%82%BD%EC%A7%88%EA%B8%B0%EB%A1%9D-PR%EC%9D%84-%EC%98%AC%EB%A6%AC%EB%8B%A4-Pull-Request%EC%97%90-%EB%8C%80%ED%95%B4%EC%84%9C
Branch 이름과 Commit 작성
협업을 하다보니 branch 이름을 뭐라고 지어야 할지 고민하거나 commit 메세지를 뭐라고 적어야 하는지 고민하는 때가 있다. 그래서 정리할 겸 작성하는 포스트 Branch naming 브랜치 이름을 정할 땐 목적에 맞는 naming이 필요하다 기본적으로 branch 는 각 이슈마다 생성해서 작업을 한다. 우리 프로젝트를 예로 들면 feat/persona-001 이런식이다 앞에 붙은건 branch 단위라고 생각하면 되는데 멤버가 작성해준 guide 를 가져와봤다. Branch 단위 master : 최종 단위 브랜치. Release 완료 시 master에 최종적으로 병합해주세요. dev : 개발 브랜치. feature 관련 브랜치에서 작업이 완료되면 해당 브랜치로 병합 부탁드립니다. feat: 기능 추..
[Django][파이썬 웹 프로그래밍] 04. Django의 핵심 기능 (2)
이 글은 [파이썬 웹 프로그래밍](저자 김석훈, 출판사 한빛미디어) 교재를 보고 공부하며 정리한 글임. 4.3 템플릿 시스템 템플릿 시스템 : MVT 방식에서 UI 를 담당하는 기능 4.3.1 템플릿 변수 형식) {{ variable }} 정의가 되어 있지 않은 변수 사용하면 빈 문자열 ' '로 채워주고 이걸 변경하고 싶으면 setting.py에서 TEMPLATE_STIRNG_IF_IINVALID 속성을 지정해주면 된다. 4.3.2 템플릿 필터 템플릿 변수에 필터를 적용해서 변수의 출력결과를 변경하려면 파이프 문자 | 를 사용하자 {{ name|lower }} -> name 변수값의 문자들을 소문자로 바꿔주는 필터 {{ text|escape|linebreaks }} ->text 변수값 중에서 특수문자를 ..
[오류]fatal: Not a valid object name: 'master'. 해결
https://somjang.tistory.com/entry/Git-fatal-Not-a-valid-object-name-master-%ED%95%B4%EA%B2%B0%EB%B0%A9%EB%B2%95 [Git] fatal: Not a valid object name: 'master'. 해결방법 Git Flow에 대해서 실습을 해보던 중 GitHub에 새로 만든 비어있는 repository를 컴퓨터로 git clone 명령어를 통해 clone해와서 branch를 생성하려고 하니 다음과 같은 오류를 얻었습니다. $ git branch develop.. somjang.tistory.com 위의 링크를 참고 새로운 branch 를 생성하려고 하니까 위와 같은 오류를 얻었다. 찾아보니까 아직 commit 을 한번..
클래스의 활용
1학년 때 시험대비할 겸 정리했던 글 *객체들의 배열 #include #include using namespace std; class Car { int speed; int gear; string color; public: Car(int s = 0, int g = 1, string c = "white") :speed(s), gear(g), color(c) { } void print() { cout
클래스와 객체 ~ 생성자 정리
1학년 때 시험 대비 할겸 정리해놨던 글 *절차지향 프로그래밍 : 데이터와 함수가 묶여있지 않다. 객체지향 프로그래밍 : 데이터와 함수가 묶여있다. *객체는 상태와 동작을 가진다 객체의 상태 : 객체의 속성 객체의 동작 : 객체가 취할 수 있는 동작 *접근지정자 private 멤버는 클래스 안에서만 접근될 수 있다. protected 멤버는 클래스안 & 상속된 클래스에서 접근가능 public 멤버는 어디서나 접근 가능 *객체의 멤버 접근 obj라는 객체의 radius 멤버 변수에 접근하려면 obj.radius = 3; 처럼 . 연산자를 사용 #include using namespace std; class Circle { public: int radius; string color; double ..
[JavaScript] 모듈
코드의 재활용성을 높이고 유지보수를 쉽게 할수 있는 방법에는 여러가지가 있다 그중에 하나가 하나의 코드를 여러개의 파일로 분리하는 것이다 장점은.. -자주 사용되는 코드를 별도의 파일로 만들어서 필요할 때마다 재활용할 수 있다 -코드를 개선하면 이를 사용하는 모든 애플리케이션의 동작이 개선된다 -필요한 로직만을 로드해서 메모리의 낭비를 줄일 수 있다 순수 자바스크립트에서는 모듈이라는 개념이 분명하게 있는건 아니지만 js가 구동되는 호스트환경(구동되는 환경)에 따라서 다른 모듈화 방법이 제공된다 여기 생활코딩에서 나오는건 웹브라우저에서 로직을 모듈화 하는 방법을 알아볼것임 이런 코드가 있다고 가정하자 welcome 함수가 필요할때마다 정의해서 사용하는건 낭비가 된다 함수 welcome을 모듈..
[JavaScript] 객체
배열에서는 인덱스로써 숫자를 이용했다 만약에 인덱스로 문자를 사용하고 싶으면 객체(dictionary)를 사용해야한다 다른언어에서의 딕셔너리라는 데이터 타입이 객체에 해당한다. 객체는 이렇게 만든다 var grades = {'egoing': 10, 'k8805': 6, 'sorialgi': 80}; egoing은 key가 되고 10은 value 이다 객체를 만드는 또다른 방법은 다음과 같다 var grades = {}; grades['egoing'] = 10; grades['k8805'] = 6; grades['sorialgi'] = 80; var grades = new Object(); grades['egoing'] = 10; grades['k8805'] = 6; grades['sorialgi'..
[JavaScript] 배열
데이터를 모아서 통으로 관리하고 싶다면 배열을 이용하면 된다 var member = ['egoing', 'k8805', 'sorialgi'] alert(member); 이런식으로 대괄호 [ ] 에 담으면 된다 각각의 데이터들은 원소라고 부른다 원소들을 하나씩 꺼내오고싶으면 인덱스를 활용한다. var member = ['egoing', 'k8805', 'sorialgi'] alert(member[0]); alert(member[1]); alert(member[2]); 배열과 반복문이 결합한 예제를 보자 function get_members(){ return ['egoing', 'k8805', 'sorialgi']; } members = get_members(); // members.length는 배열에 담..
[JavaScript] 함수
함수의 형식 function 함수명( [인자...[,인자]] ){ 코드 return 반환값 } 예제로 numbering이라는 함수를 보자. 이 함수는 0부터 9까지를 화면에 출력한다. function numbering(){ i = 0; while(i < 10){ document.write(i); i += 1; } } numbering(); //함수 호출 마지막에 numbering(); 이라고 써서 함수를 호출하고 있다. 함수의 입력과 출력 return은 함수의 결과를 출력하는 동시에 함수를 종료시킨다. function get_member1(){ return 'egoing'; } function get_member2(){ return 'k8805'; } alert(get_member1()); alert..