본문 바로가기
반응형

전체 글45

파이참... git 설정이 바뀌다.. 변경 리스트 열심히 삽질을 해 나가고 있었습니다. 테스트를 한번 해봐야지 생각을하고 push를 하는데 그런데 이게 무슨일인지 갑자기 인터넷이 죽었습니다. 당연히 인터넷이 붙으면 다시 push하면 되니까 크게 여의치 않았습니다. 헉 그런데 파이참에서 무슨 안내창이 떳는데 하필 클릭하는순간 그 팝업창을 클릭하더니 9.git 내용이 바뀌게 되었습니다. 음.... 뭐지???? 갑자기 테러를 당한 기분이였습니다. 원래 local 에서 깃이 안된것들을 확인하고 push 해야할것과 하지말아야할것이 보였는데 이렇게 history가 보이다니.. 우선 검색을 해야하는데 그게 무슨 명칭이였는지 도통 생각이 나질 않았습니다. 뭐였지... history 인가? 열심히 검색 하지만 git 자체가 history니 얻고싶은 답을 얻을 수 가 없.. 2020. 7. 6.
자바스크립트 var와 let ,const 차이 저는 주로 파이참을 아주 좋아합니다~ 실수하는 부분을 잘 찾아주거든요~ 그런데 최근 업데이트가 되면서 자바스크립트 문구중에 "var"에 밑줄이 쳐지더라고요 음 코드에 밑줄이 생기면 뭔가 깔끔하지 않은 느낌이 들죠 var 에 마우스를 올리면 이런 문구가 뜨게됩니다. 'var' used instead of 'let' or 'const' 음.... Ctrl + R (일괄변경시 유용) ....... 그후 not defined의 연속적인 에러.... 헉.... 역시 문서를 읽어보는게 중요하다고 또 느끼며 문서를 찾아봤습니다. var = Function Level Scopelet , const = Block Level Scope var는 함수 레벨의 범위를 갖는다는것이고 let과 const는 블록 레벨의 범위를 갖.. 2020. 6. 30.
Django에서 memcached 사용하기 (우분투, 윈도우) 이전에 작성한 캐시의 중요성을 깨닫는다는 글을 이어서 쓰려고 하는데 이전 포스팅을 다시보니 해당문제는 캐시의 문제는 아니였던것 같습니다.;;; 항상 이전에 작성한 코드를 다시 읽으면 잘못된것만 같고 왜 저렇게 했나 하는 느낌이네요 ㅎ 캐시의 중요성을 깨닫..다 Django를 공부하면서 개발까지 모든 걸 혼자 해야 하다 보니 우선순위를 정해서 진행할 수밖에 없었네요;; 처음 python을 배우고 > Django를 배우고 > HTML, CSS, Javascript를 배우고 > ubuntu 과정으로 학습하 install-django.tistory.com 이번에는 최적화를 시도해보기위해 캐싱을 사용해보기로했습니다. 노가다로 django와 제이쿼리로 상품의 셀렉트 할때마다 금액과 안내 이미지를 불러오는데 상품 안.. 2020. 6. 17.
윈도우에서 가상 환경 만들기~! 처음에는 파이썬을 배울때는 가상환경 이런걸 몰랐습니다. 그렇다보니 무조건 컴퓨터 전체 환경에 모든 패키지들을 설치했었습니다. 당연히 처음에는 큰 문제가 없었습니다 오히려 좋다고 생각했습니다~ 1번만 설치해서 캐시 같이 언제어디서나 불러서 쓸수 있다고 생각했으니까요~ 하지만 버전 관리가 필요한 경우가 오게 됩니다. 예를들어 django 2.2 버전으로 개발을 해둔 프로젝트가 있다고 가정 해보겠습니다 현재 django 3.0 이 나왔습니다. python -m pip install --upgrade pip 2.1 과 2.2 는 크게 차이가 안날 수 있지만 버전 번호 앞자리가 바뀌는경우는 많은 변화가 있다는 이야기이기때문에 잘 작동하던게 안될 수 있습니다. 그래서 가상 환경을 설치하는것이 중요합니다. 저는 개인.. 2020. 5. 30.
[CRITICAL] WORKER TIMEOUT (pid:00000) 이전 포스팅처럼 timeout 에러가 떴지만 변함없이 얼마지나지 않아 timeout에러가 계속 뜨는것이였습니다. 이유를 좀 찾아봐야지. 로그를 뒤져보기 시작했습니다. 서버가 스타트되면 gunicorn worker들이 일을 시작하게 됩니다~ 저는 2 core 서버를 쓰기때문에 worker가 5개가 보이네요 // worker = core * 2 + 1 [CRITICAL] WORKER TIMEOUT (pid:32200) 5개의 woker중에 pid 32200번이 아주 심각한 문제가 터졌다는 신호를 보냈습니다. 순간 정신이 번쩍 떠졌습니다. "아 timeout은 nginx에서만 있는게 아니구나!" 바로 문서를 찾아봤습니다. -t INT, --timeout INT / 보통 30초로 세팅하는것이 일반적 그래서 저는.. 2020. 5. 27.
캐시의 중요성을 깨닫..다 Django를 공부하면서 개발까지 모든 걸 혼자 해야 하다 보니 우선순위를 정해서 진행할 수밖에 없었네요;; 처음 python을 배우고 > Django를 배우고 > HTML, CSS, Javascript를 배우고 > ubuntu 과정으로 학습하고 있습니다. 모두 겉핥기 식으로 학습하고 있는 것 같아 속상하긴 합니다ㅠ "우선 돌아가게 하고 보자!"라는 신념으로 이것저것 만들어보고 기능도 붙여봤습니다. 최적화야 우선 돌아가야 하고 고치든 폐기하든 할 수 있다고 생각을 했습니다~ 혼자 만드는 프로젝트지만 데이터를 입력하다 보니 데이터베이스의 한 테이블에는 60만 줄의 row가 쌓이는 필드가 있었습니다. 갈수록 더 많은 row가 쌓이게 될 것이라고 생각되는 부분이었습니다. 제 생각에 쇼핑몰 서비스라면 대부분 동.. 2020. 5. 23.
Nginx 사용시 504 Gateway Timeout 뜹니다. 저는 Nginx를 사용합니다 Nginx는 빠르고 가볍다는 장점을 가지고 있다고합니다. 사용하기도 쉽습니다. 몰라도 복붙하면 그냥 작동하는것같습니다. 그러다가 여러 에러를 만나면서부터 Nginx를 찾아보기 시작하게 되었습니다 ㅎ 대량의 이미지를 입력 받아야하는 상황이 있었습니다 음... 간단하게 html 하나 꾸려서 받으면 끝~~~~ 이라고 생각했지만.... "504 Gateway Timeout" ...........역시 구글링... 쉽게 풀어보면 클라이언트와 서버의 연결 시간이 너무 길어져서 차단했다 그런 내용입니다. 아무래도 서버 입장에서 누군가 발목을 잡고 안놔주면 다른일에 지장이 생기겠구나 공감이 되었습니다. 먼저 설정을 찾아주세요 #ubuntu sudo vim /etc/nginx/sites-ava.. 2020. 5. 19.
Out of range value for column (SQLite is working but MySQL is not working) 저는 고객에게 입력받는 텍스트 데이터의 경우 안전성을 위해 당연한 이야기겠지만 항상 form 검증을 거치고 있습니다. (나 혼자만 쓰는거라면 내가 공격하지 않으면 뭐 큰일이 없겠죠? ㅎ) 저는 혹시 모를 부분을 방지하기위해 한번 딕셔너리로 정리하는 편인데요 이것도 개발 방식에 따라 매번 달라지는것 같습니다. 프론트엔드와 백엔드를 나누냐 장고 개발자들이 장고 템플릿을 써서 개발하는지 그런게 많이 좌우할것 같긴합니다. 저는 독학이다 보니 협업도 안해봤고 프론트, 백엔드로 안해봤지만 혼자 REST API를 만들고 하다보니 나눌수밖에 없는 경우가 생기기는 하더라고요 order_dic = {} order_dic['order_date'] = order_date #str order_dic['company'] = co.. 2020. 5. 18.
파이참 테마 바꾸기 (One Dark - Atom) .jsr말고 플러그인으로 개발을 모르던 시기에는 모든 개발자는 검은 화면에 흰 글씨만 사용하는줄 알았습니다. 그런데 그게 아니더라고요 ㅎ 어떤걸 개발하냐에 따라 조금씩 다르다는 것을 요 ㅎ 파이썬을 하시는분들은 비주얼스튜디오, 파이참, 아톰 정도를 많이 사용하시는것같습니다 저는 가벼운 아톰으로 json, txt, csv 등 간단한 텍스트를 제어할때는 아톰을 종종 사용했습니다. 익숙해져서 그런지 아톰이 이쁜건지 아톰의 one dark를 선호하게 되었습니다. 먼저 개발툴은 화이트계열과 다크계열 두가지로 호불호가 완전히 갈리는것 같습니다~ 어떤분은 화이트계열이 시안성이 떨어진다고 하시고 어떤분은 다크계열이 떨어진다고하고 ㅎ 같은 특징을 가지고 반반씩 나뉘어지게 됩니다. 저는 다크계열이 저랑 잘맞아서 다크계열을 선호합니다. 파이참의 경.. 2020. 5. 17.
request로 전송받은 csv file 바로 읽고 데이터베이스 저장 가끔씩 csv나 엑셀 등의 내용을 DB에 넣어야 하는 경우가 존재합니다. 다들 어떻게 하시는지 모르겠지만 저는 로컬에서 테스트를 해본 후 superuser만 접근할 수 있는 페이지 하나를 임시로 만들어서 그냥. csv 파일을 올립니다. 특히 foreign key를 사용해 외래 키값을 물고 저장해야 하는 경우가 있을때는 다른 방법은 너무 복잡하고 시간이 많이 걸리는 것 같은 느낌이 있습니다. # EX post_obj = Post.objects.create(user=self.user) Like.objects.create(post=post_obj) 아무래도 프로덕션 환경이라면 배포도 다시 해야 하고 작업 프로세스도 돌아야 하니 시간대를 잘 보고 하시는 게 좋으실 듯합니다. 본론으로 돌아와 전송받은 csv를 읽.. 2020. 5. 11.
python 에서 pop, del 하면 메모리 공간도 삭제 될까요? 이전 "파이써닉이 뭔가요?" 포스팅에서 같은 코드여도 성능이 달라질 수 있다는 이야기를 아주 조금 언급한게 생각나서 짧은 알쓸신코를 카테고리를 추가하였습니다~ 위에 포스팅에서 언급했던 append()시에 메모리가 증가하는 부분입니다 동일한 데이터의 리스트라 하더라도 바이트수는 차이가 발생하는것을 확인하실 수 있습니다~ 그러다 문득 python에서 딕셔너리와 리스트에서 pop과 del을 사용하면 메모리도 지워지는지 궁금했습니다. 그래서 실험을 해봤습니다. lst0 = [0,1,2,3,4,5] lst1 = [0,1,2,3,4,5] lst2 = [0,1,2,3,4,5] lst3 = [0,1,2,3,4,5] lst0 #base lst1.pop(0) #pop lst2.remove(0) #remove del lst.. 2020. 5. 5.
구글 애드고시(Google-AdSense) 도전기-Part 1 (feat. 고객님은 이미 애드센스 계정이 있습니다) 블로그를 시작하면서 나의 프로그래밍 독학의 삽질?을 기록하는것도 중요하지만 내 글을 통해 부가적인 수입인 광고에 관심이 가게되었습니다. 광고는 크게 구글, 다음, 네이버 등이 있겠지만 티스토리의 경우 네이버 광고는 연동되지 않기때문에 패스했습니다. 우선 구글을 먼저 연동해보기로 했습니다. 구글의 광고 추천 알고리즘이 클릭 확률도 높여줄것이고 전세계 사용자를 대상으로 광고가 되기때문에 수익적으로 나을거라고 생각했습니다. 간단한 조사를 하는데 "애드고시"라는 말이 있더라고요. 41만개의 문서가 있을정도네요;;; 하지만 그렇다고 포기 할 수는 없죠 우선 애드센스에 접수하기로 했습니다. 로그인하고 사이트 URL을 입력하고 노출되는 Javascript를 소유한 사이트 head 부분에 입력하면 완료가 됩니다~ "아.. 2020. 5. 2.
반응형