티스토리

잉구블로그
검색하기

블로그 홈

잉구블로그

wangin9.tistory.com/m

개발 블로그

구독자
6
방명록 방문하기

주요 글 목록

  • 신입 개발자로서의 취업을 준비하며 느낀 것들_part2 너무 많은 시간이 흘러서 쓰게 되는 part2 입니당.. 그때 당시 씻어야 더 진솔한 내용을 담을 수 있었을 것 같은데 저의 게으름이 많이 아쉽네용ㅠㅠㅠ 제가 1탄에서 정리했던 탈락을 많이 겪었었던 실패 요인은 다음 3가지입니다. 1. 나에 대해서 제대로 알지 못했다. 2. 그러다 보니 부족한 부분을 채우지 못했다. 3. 개발자로서의 열정을 보여주지 못했다. part1 에서 1번에 대한 내용을 정리했으니 오늘은 2,3번에 대한 이야기를 해보려고 합니다. 나에 대해서 제대로 알지 못했기 때문에 자소서를 쓰거나 면접에서 제대로 어필을 하지 못했습니다. 그래서 스스로에 대한 어필을 하는 방법을 part1 에서 진행했었는데요~! 이제는 개발자를 꿈꾸는 나의 부족한 부분을 채우는 내용에 대한 이야기입니다. 사실 .. 공감수 29 댓글수 5 2020. 8. 31.
  • 근 1년만에 블로그를 보며..... 보호되어 있는 글입니다. 공감수 0 댓글수 0 2020. 2. 29.
  • 신입 개발자로서의 취업을 준비하며 느낀 것들 _part1 들어가며,,, 내용이 진부하지 않길 바라며 작성하는 취업 후기 글입니다,,,drop the beat,,, 때는 2018년 7월, 학교를 졸업하고 취업 준비를 시작하여 거친 세상을 경험하고 수많은 실패를 겪은 끝에,,, 원하던 산업군에서 일을 시작하게된 잉구입니다. 블로그에 소홀한 시점부터라고 할 수 있쬬,,, 대학교를 다니며 "어떤 곳에서 어떤 개발자가 되야지!"라는 뚜렷한 목표가 있었다기 보다는 지금 하고 있는 일을 열심히 하면 나중에 취업이 잘 되겠지라는 안일한 생각으로 지냈던 터라 막상 취업 준비를 시작했을 때 나 왜이렇게 살았지 라고 후회가 밀려왔습니다. (tears) 불안한 마음에 많은 사람들의 취업 후기도 읽었고 기적의 자소서, 기적의 취업면접 등등의 책도 읽고 코멘토에서 돈내고 첨삭도 받았고.. 공감수 88 댓글수 12 2019. 4. 14.
  • [브라우저에 URL 입력 후 일어나는 일들] 5_TLS/SSL Handshake 이전에도 계속 언급했듯 HTTPS 는 HTTP에서 통신 내용을 암호화하는 것이 추가되었습니다. 이때 암호화를 하기 위해 어떤 과정이 일어나는지 알아보도록 하겠습니다. HTTPS는 클라이언트와 서버간의 통신을 제 3자가 인증을 해주어야 합니다. 이러한 일을 해주는 공인된 회사들을 CA(certificate Authority)라고 합니다. 이러한 CA는 SSL 인증서를 기준으로 클라이언트가 접속한 서버가 맞는지 확인해줍니다. SSL 인증서는 클라이언트와 서버간의 통신을 제3자가 보증해주는 전자화된 문서입니다. 인증서를 통해 클라이언트가 접속한 서버가 신뢰할 수 있는 서버인지 판단하고 SSL 통신에 사용될 공개키를 클라이언트에게 전달하는 것입니다. SSL 인증서로 서버가 신뢰할 수 있는지 판단하기 위해서 공개.. 공감수 5 댓글수 2 2019. 1. 22.
  • [브라우저에 URL 입력 후 일어나는 일들] 4_TCP 소켓 통신 지난번 포스팅에서 목적지의 IP와 MAC 주소를 찾는 것 까지 서명해보았는데요!오늘은 데이터를 전송하기 위해 서버와 클라이언트가 TCP 프로토콜을 통해 연결하는 과정을 설명해보도록 하겠습니다.브라우저가 목적지 서버의 IP 주소를 받으면 거기서 호스트명과 포트 번호를 뽑아내서 socket 이라는 이름의 시스템 라이브러리를 호출하고 TCP 소켓 스트림 ( AF_INET/AF_INET6 과 SOCK_STREAM )을 요청합니다. 이 요청은 먼저 TCP 세그먼트가 제작되는 Transport 전송 계층으로 전달됩니다. 목적지 포트는 헤더에 더해지고, 출발지 포트는 커널의 동적 포트 범위 (리눅스의 ip_local_port_range) 에서 선택됩니다.이 세그먼트는 추가적인 IP 헤더를 덧씌우는 Network 레이.. 공감수 2 댓글수 0 2019. 1. 15.
  • [브라우저에 URL 입력 후 일어나는 일들] 3_ARP 프로세스 지난번 DNS 서버에서 도메인으로 IP 주소를 받아오는 것을 설명했습니다. 오늘은 이 받아온 IP 주소를 가지고 서버 PC에 이동하는 과정에 대해서 얘기해보도록 하겠습니다. IP와 MAC의 차이에 대해서 먼저 알아보겠습니다. * IP 네트워크 통신에 있어서 통신기기에 할당된 식별번호입니다.이 아이피 주소는 통신기기마다 고유하게 할당되어 있는 것이 아니라 통신사에 일정 금액 지불하고 받아오는 것이기 때문에 경우에 따라 바뀔 수 있습니다.상대방 컴퓨터가 내 PC를 찾기 위해 필요한 주소입니다. * MAC 아이피 주소와 마찬가지로 네트워크 통신에서 통신기기의 식별번호 나타냅니다.MAC 주소는 통신기기 하드웨어 자체에 부여된 고유한 식별번호를 나타냅니다.세상에 단 하나밖에 없는 유니크한 값을 가지며 변경될 수 .. 공감수 0 댓글수 2 2019. 1. 12.
  • [브라우저에 URL 입력 후 일어나는 일들] 2_DNS 서버 검색 지난번 URL을 입력 후 엔터를 쳤을 때 키를 인식하고 URL에서 필요한 정보를 해석하는 과정까지 이야기했는데요!오늘은 목적지 IP주소를 알아오는 과정을 알아보고자 합니다. 1. HTTP와 HTTPS 먼저 지난번 URL 주소에서 http 프로토콜에 대해서 설명을 했었는데이때 http 와 https 를 간단하게 설명했었습니다. http 는 HTML 같은 문서를 웹 브라우저가 웹 서버에 요청하는 프로토콜인데 https 는 통신 내용을 암호화 한다는 것에서 차이점이 있었죠. 그런데 https 프로토콜을 사용하여 접근해야하는 주소에 http 로 접근하는 경우( HTTPS 를 강제하게 될 때 ) 서버측에서 302 Redirect 를 이용하여 전환시킬 수 있습니다.하지만 HTTP 연결을 거쳐가는 것이기 때문에 쿠키.. 공감수 0 댓글수 0 2019. 1. 7.
  • [브라우저에 URL 입력 후 일어나는 일들] 1_URL을 해석한다. 브라우져에서 wangin9.tistory.com 입력 후 일어나는 첫번째 과정!브라우저에서 'URL 입력 후 해석하는 과정 ' 입니다. (본 포스팅은 참고 : https://github.com/SantonyChoi/what-happens-when-KR 에서 정리된 부분을 설명합니다.) 1. "enter" 키 클릭, (windows) HID 트랜스포트는 키 눌림 이벤트를 HID가 사용하는 형태의 스캔코드로 변환하는 KDBHID.sys 드라이버에 전달한다. 이 경우 스캔코드는 VK_RETURN 이 된다. 키보드로부터 문자를 입력 받으려면 WM_CHAR 메시지를 사용해야하지만 문자 이외의 키, 커서 이동키, 엔터, Ins 등의 키는 문자키가 아니기 때문에 WM_KEYDOWN 메시지를 사용해야 한다. 가상키 코.. 공감수 1 댓글수 0 2019. 1. 4.
  • WSL에서 react-native 개발환경 위한 expo cli 설치 윈도우 환경에서 react-native 앱 개발을 위해서 윈도우 bash shell 이용할 수 있는 WSL (리눅스용 윈도우 하위 시스템) 을 설치하고빌드도구로 expo - cli 를 설치하려던 중 맥북을 구매할뻔했다. React-native 란?React의 UI 작성 접근 방법을 네이티브 모바일로 확장할 수 있음. 웹뷰를 통한 UI 작성을 하지 않고 JS 코드만으로 모바일 Native UI 작성이 가능. Expo: 리액트 네이티브 크로스 플랫폼으로 개발하기 위한 빌드 도구.실제 기기나 에뮬레이터에서 테스트할 수 있음 Expo 사용하는 이유- 무료이며 오픈소스임- 어떤 OS 위에 플랫폼(ios, android)에서든 개발 가능.- Linux나 Windows에서 iOS 장치 용으로 개발할 수 있음.- 공유.. 공감수 2 댓글수 3 2019. 1. 3.
  • 윈도우 서브시스템으로 리눅스 사용 윈도우를 쓰면서 vmware로 리눅스를 사용하고 있어서 너무 불편하던 차에,window10 에서 bash shell 제공한다는 것을 알게됐네요 WSL (리눅스용 윈도우즈 서브시스템)개발자 툴에 대한 셸 지원, 그리고 온프레미스 및 퍼블릭 공용 클라우드에서 실행되는 리눅스 서버 원격 접근 기능을 제공하는 WSL은 기술적으로는 콘솔 전용 애플리케이션. 윈도우 명령줄에서 WSL 기본 사용자를 사용해 리눅스 바이너리를 호출할 수 있고 배시에서 윈도우 바이너리를 호출할 수 있다. (또한 비주얼 스튜디오 코드 내의 터미널에서 배시에 접근할 수 있으므로 개발 툴을 나오거나 윈도우를 나오지 않고도 유닉스 코드를 테스트할 수 있다.) 설치하기우선 설치를 위해서는 64비트 PC, Windows 10 1607 이상 버전이 .. 공감수 0 댓글수 0 2018. 12. 27.
  • [브라우저에 url 입력 후 일어나는 일들] intro 개발자 면접 단골질문url 입력 후 일어나는 네트워크 상에서의 전체적인 흐름입니다. 1. 브라우저에서 URL 해석한다. http://wangin9.tistory.com/- 프로토콜 : http -> 하이퍼 텍스트 전송 규약을 사용- 자원 "/" : 메인(인덱스) 페이지를 가져오기 2. DNS 검색- DNS 서버 통해서 IP 변환. 3. ARP 프로세스- ARP : 주소 결정 프로토콜- 목적지 IP 주소와 MAC 주소 알아야 함.- 브로드캐스트 통해 MAC 주소 확인. 4. TCP 통해 socket 통신- 대상 서버의 IP 주소 받으면 URL에서 해당 포트 번호 가져와서 TCP socket stream 요청.- 3-way-handshake 통해 TCP socket 통신. 5. HTTPS인 경우, TLS h.. 공감수 1 댓글수 0 2018. 12. 26.
  • [삼성 sw expert 아카데미]1824. 혁진이의 프로그램 검증 1824. 혁진이의 프로그램 검증출처 : 삼성 sw expert 아카데미 1824 문제 - '?' 경우 때문에 dp로 풀어야 함.- 테스트케이스에 '@' 없는 경우도 있으니 미리 체크!- x,y 랑 col, row랑 헷갈릴 수 있으니 제대로 적어놓고 진행하기. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120.. 공감수 0 댓글수 0 2018. 12. 23.
  • [Javascript]Arrow function => : 화살표로 함수 표현. 간결한 표현 가능. EX ) var materials = [ 'Hydrogen', 'Helium', 'Lithium', 'Beryllium']; console.log(materials.map(material => material.length));// expected output: Array [8, 6, 7, 9] Syntax 1) Basic syntax (param1, param2, ,,,, ) => { statements }(param1, param2, ,,,, ) => expression // (= { return expression; } * param이 한개면 괄호 없어도 됨. param => { statements } param 없으면, () => { statemen.. 공감수 0 댓글수 0 2018. 12. 21.
  • React란? ** React 를 왜 사용할까 ? 1. React.js 란? " Facebook에서 내부적으로 개발한 javascript 라이브러리 " 2. React.js 는 view 라이브러리. 라우팅부터 모델, 컨트롤러까지 Angular js 및 Backbone js 에서는 MVC 형태를 모두 갖추고 있는 MVC 및 MVVM framework 라면, React는 뷰단을 조작하는 라이브러리. React가 가지는 관심사는 뷰에 대한 부분이기 때문에 기타 라우팅 및 모델에 관련된 부분을 신경쓰지 않음. 오로지 DOM 객체의 갱신 및 이벤트 응답에만 관심이 있음.React 는 DOM 업데이트에 관련된 성능이 강점으로 작용함. 3. React 특징 DOM 업데이트 효과적으로 처리할 수 있음. (1) JSX (javascr.. 공감수 1 댓글수 3 2018. 12. 21.
  • 백준 16234 인구이동 java 2018년 10월 21일 삼성 SW 테스트 2번 문제 : 인구 이동 (백준 16234 번) 문제 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모든 나라는 1×1 크기이기 때문에, 모든 국경선은 정사각형 형태이다.오늘부터 인구 이동이 시작되는 날이다.인구 이동은 다음과 같이 진행되고, 더 이상 아래 방법에 의해 인구 이동이 없을 때까지 지속된다.국경선을 공유하는 두 나라의 인구 차이가 L명 이상, R명 이하라면, 두 나라가 공유하는 국경선을 오늘 하루동안 연다.위의 조건에 의해 열어야하는 국경선이 모두 열렸다면, 인구 이동을 시작한다.국경선이 열려있어.. 공감수 0 댓글수 0 2018. 10. 21.
  • Junit_test Junit 단위 테스트, 통합 테스트, 시스템 테스트, UI 테스트 등 모든 수준의 테스트를 만들 수 있는 가볍고 단순한 인터페이스 제공클릭 몇 번으로 하나 또는 열 개의 테스트 셋을 실행할 수 있다. 작은 변경 사항이 있어도 테스트가 통과하는지 매우 빠르게 알려준다. JUnit 테스트하면 좋은 점 코드가 올바르게 작동하는 것을 확신할 수 있다. 이는 서버 측 아키텍쳐를 개발할 때 지속적인 배포 모델을 구축할 수 있는 기반이 된다.* 지속적인 배포 : 테스트 후 사람이 관여하지 않고 완벽하게 테스트 된 코드를 실제 서버에 자동으로 배포하는 것을 말한다. Junit 테스트는 보통 TDD(Test-Driven Development)라는 개발 방법론에 기반을 둔다. 코드가 어떻게 작동하길 바라는지에 관한 예상.. 공감수 0 댓글수 0 2018. 8. 5.
  • HTTP 상태코드 정리 HTTP 상태 코드 - HTTP 응답메세지의 첫째 줄에 결과응답 상태에 대해 서버가 코드값으로 알려준다. 1xx (조건부 응답) 요청을 받았으며 작업을 계속한다. 100(Continue: 계속)지금까지 상태가 괜찮으며 클라이언트가 계속해서 요청을 하거나 이미 요청을 완료한 경우에는 무시해도 되는 것을 알려준다.101 (Switching Procotol:프로토콜 전환)요청자가 서버에 프로토콜 전환을 요청했으며 서버는 이를 승인하는 중이다.102 (Processing : 처리)서버가 요청을 수신하였으며 이를 처리하고 있지만 아직 제대로된 응답을 알려줄 수 없음을 알려준다. 2xx (성공) 클라이언트가 요청한 동작을 수신하여 성공적으로 처리했음을 가리킨다. 200( OK :성공)요청이 성공적으로 되었다. 서버.. 공감수 0 댓글수 0 2018. 6. 15.
  • 데이터베이스 트랜잭션 [ 트랜잭션 이란 ? ] 어떤 작업을 수행할 때 작업이 실패하더라도 이 잘못된 작업이 실질적으로 수행해야 할 작업에는 영향을 미치지 않도록 하는 기능이다.트랜잭션은 ACID 성질이라고 하는 네가지 성질로 설명된다. Atomicity : 원자성. 트랜잭션과 관련된 일은 모두 실행되던지 모두 실행되지 않도록 하던지를 보장하는 특성이다.Consistency : 일관성. 트랜잭션이 성공했다면, 데이터베이스는 그 일관성을 유지해야 한다. 일관성은 특정한 조건을 두고, 그 조건을 만족하는지를 확인하는 방식으로 검사할 수 있다.Isolation : 독립성. 트랜잭션을 수행하는 도중에 다른 연산작업이 끼어들지 못하도록 한다. 임계영역을 두는 것으로 달성할 수 있다.Durability : 성공적으로 트랜잭션이 수행되었다.. 공감수 0 댓글수 0 2018. 6. 5.
  • Git 버전관리 버전관리 : 동일한 문서, 소스코드, 바이너리에 대한 여러 버전을 관리하는 것형상관리 : 소스코드 버전관리 뿐ㅁ나 아니라 개발환경, 빌드 구조 등 전반적인 환경 포함한 환경 포함하는 개념. 버전관리의 필요성프로젝트 진행 시 파일 시스템 공유 등으로 무제 발생시 복구하기 위함.대규모 변경 작업에 대한 안전성 확보가 가능 ◎ Branch 프로젝트 진행 시 개별 작업 진행하기 위한 개념 개별적으로 생성된 브랜치는 완전히 독립적이기 때문에 각각의 개발자에 의한 다양한 작업이 병렬적으로 진행 가능하다. ◎ Merge 독립적으로 개발된 각각의 브랜치는 다른 브랜치와 병합함으로써 신규 내용이 포함된 새로운 버전의 브랜치가 만들어짐. 새로운 브랜치가 생성되어도 이전 버전의 브랜치는 남아있기 때문에 언제든 복구 또는 이.. 공감수 0 댓글수 0 2018. 6. 1.
  • centos7+django+nginx+uwsgi 장고에서 자체적인 웹서버 실행 : python manage.py runserver 를 하며 테스트를 진행해왔으나,이제 배포를 하기 위해서 uWSGI와 Nginx 서버를 이용하고자 함. OS 는 centos7을 사용하고 있기 때문에 검색할 때 centos7 관련한 자료를 토대로 수행하였음. 출처https://www.digitalocean.com/community/tutorials/how-to-serve-django-applications-with-uwsgi-and-nginx-on-centos-7http://jaha01.tistory.com/12 프로젝트가 이미 설치된 상태에서 진행하였기 때문에 virtualenv, django 설치는 다루지 않음. 1. 프로젝트 루트를 어떻게 하느냐에 따라서 작성해야하는 .. 공감수 1 댓글수 0 2018. 5. 24.
  • python csv와 excel export 하는방법 및 엑셀 export 속도 빠르게 하는방법 엑셀과 CSV로 하는방법 먼저, pandas와 XlsxWriter를 설치한다. pip install pandaspip install XlsxWriter * pandas : 데이터 분석, 처리 등을 쉽게 하기 위해 만들어진 파이썬 패키지. 대용량 데이터를 안정적으로 쉽게 처리할 수 있다.* XlsxWriter : 엑셀파일 처리 및 사용하기 위한 라이브러리 12from pandas import DataFrameimport xlsxwritercs - 엑셀 export 하는 코드1234567def export_date_excel(request): header = [ 'A','B','C'] dataF = DataFrame(detail_list,columns= header) filename = '/folder/ex.. 공감수 2 댓글수 0 2018. 4. 23.
  • he size of BLOB/TEXT data inserted in one transaction is greater than 10% of redo log size. Increase the redo log size using innodb_log_file_size session에 사이즈가 큰 값을 저장하려다보니, he size of BLOB/TEXT data inserted in one transaction is greater than 10% of redo log size. Increase the redo log size using innodb_log_file_size이런 오류가 발생하였다. 한 트랜잭션에 삽입 된 BLOB / TEXT 데이터의 크기가 리두 로그 크기의 10 %보다 큽니다. innodb_log_file_size를 사용하여 리두 로그 크기를 늘리십시오. 라는 내용인데, innodb_lob_file_size는 transaction 의 redo log 를 저장하는 로그 파일의 사이즈를 의미한다. 늘려주는 방법: 1. mysql 종료service mysq.. 공감수 0 댓글수 0 2018. 4. 20.
  • python 인스턴스 클래스가 담겨진 list 특정 변수값으로 정렬하기 파이썬에서 특정 변수로 클래스를 정렬하고 싶을 때,클래스에다 def __lt__(self,other) 함수를 넣어서 비교할 때 사용하는 변수를 넣고 리스트를 sorted() 로 이용하면 된다. 사용예시) class MyClass:def __init(self,num):self.num = num# 다른 인스턴스 변수들 def __lt__(self, other): return self.num < other.num 클래스가 리스트 형태로 myclass_list 란 이름으로 정렬이 안된 채로 있다고 했을 때, sorted_myclass = sorted(myclass_list) 하면 끝. 공감수 0 댓글수 0 2018. 4. 18.
  • Django orm으로 최대값, 가장 나중에 저장된 인덱스 불러오는 방법 1. 가장 나중에 저장된 인덱스를 가져오는 query orm >>> obj = Model.objects.latest('인덱스명') >>> obj = Model.objects.last() 두가지 모두 가장 최근에 저장된 models 객체가 반환된다 # type 확인>>> type(obj) 2. 최대값을 가져오는 orm # 먼저 Max 를 importfrom django.db.models import Max obj = Model.objects.aggregate(컬럼명=Max('컬럼명'))queryset이 아닌. '컬럼명'만 들어있는 dictionary 형태로 반환된다.obj['컬럼명'] 으로 사용하면 됨. Aggregation과 Annotation 을 이용해서 최대값, 최소값, 평균값, 총 개수까지 불러올 .. 공감수 0 댓글수 0 2018. 4. 18.
  • _mysql_exceptions.OperationalError: (2006, 'MySQL server has gone away') _mysql_exceptions.OperationalError: (2006, 'MySQL server has gone away') 에러가 나서 찾아보니,, 서버에서 전달하는 패킷이 작아서 에러가 나는 것같아서 확인해보았다. MariaDB [(none)]> show variables where variable_name = 'max_allowed_packet';+--------------------+----------+| Variable_name | Value |+--------------------+----------+| max_allowed_packet | 4194304 |+--------------------+----------+ 4M 정도 되길래 용량을 더 키워주었다. 처리방법mysql 실행할 때, .. 공감수 0 댓글수 0 2018. 4. 17.
  • django + mariaDB MariaDBMySQL과의 호환성마리아DB는 MySQL과 소스코드를 같이 하므로 사용방법과 구조가 MySQL과 동일하다.[10] 이름만 다르지 명령어나 사용방법 (5.5까지) 모두 MySQL과 동일하다. 근본적인 차이점은 마리아DB는 GPL v2 라이선스를 따르는 순수한 오픈소스 프로젝트이기에 오라클로부터 자유롭다. 마리아DB의 모든 코드는 GPL, LGPL, LPGL, BSD의 라이선스로 만들어져 있다. 누구나 필요로 하면 커뮤니티를 통해 마리아DB를 내려받아 쓸 수 있다. 성능마리아DB 커뮤니티는 MySQL과 비교해 애플리케이션 부분 속도가 약 4~5천배 정도 빠르며, MySQL이 가지고 있는 모든 제품의 기능을 완벽히 구현하면서도 성능 면에서는 최고 70%의 향상을 보이고 있다고 주장한다 Djang.. 공감수 2 댓글수 0 2018. 4. 16.
  • django 에서 bulk insert django 프로젝트에서, 한번에 insert만 몇만번을 해야하는 코드를 작성하고있는데,bulk_create 를 사용하니 시간이 확 줄게 되었다. SQL 에서 사용하는 BULK_INSERT 의 기능을 실행시켜주는 장고의 orm이다. BULK_INSERT에 대해서 간략하게 설명하자면, 대용량 데이터를 로드하는 것이다. django orm 에서, 개별로 save 를 해주게 되는경우,connect -> 저장 -> disconnect 가 반복되기 때문에 느리게 저장된다. 하나의 query 문에 많은 일을 하도록 만드는 것이 좋고,많은 양의 데이터를 한꺼번에 저장해야할 경우 bulk_create를 사용하면 속도를 배로 줄일 수 있다. 사용예시) 123456789101112131415161718#a list of .. 공감수 1 댓글수 0 2018. 4. 2.
  • django fliter 에다 list 넣기 ids = [1, 3, 6, 7, 9] for id in ids: MyModel.objects.filter( pk=id )이런식으로 리스트의 값들만 filter 에 넣어서 가지고 오고 싶을때. # Get blogs entries with id 1, 4 and 7 >>> Blog.objects.filter(pk__in=[1,4,7]) # Get all blog entries with id > 14 >>> Blog.objects.filter(pk__gt=14)__in 을 통해서 가능하다. 출처 : https://stackoverflow.com/questions/9304908/django-filter-with-list-of-values?utm_medium=organic&utm_source=google_rich.. 공감수 0 댓글수 0 2018. 3. 29.
  • django query filter, value, distinct 1. filter 만 했을 때와 , filter().values() 했을 때 차이. # This list contains a Blog object. >>> Blog.objects.filter(name__startswith='Beatles') # This list contains a dictionary. >>> Blog.objects.filter(name__startswith='Beatles').values() 원하는 속성값만 가지고 오고 싶을 땐, 매개변수로 속성값을 넣어서 가져온다.>>> Blog.objects.values() >>> Blog.objects.values('id', 'name') 2. distinct()¶distinct(*fields)¶ SQL 문에서 SELECT DISTINCT 한 것과.. 공감수 1 댓글수 0 2018. 3. 28.
  • django query Django에서 쿼리셋 효과적으로 사용하기 http://raccoonyy.github.io/using-django-querysets-effectively-translate/ tree_set = Tree.objects.filter(type="deciduous") # exists()는 쿼리셋 캐시를 만들지 않으면서 레코드가 존재하는지 검사한다 if tree_set.exists(): # DB에서 가져온 레코드가 하나도 없다면 # 트래픽과 메모리를 절약할 수 있다 print("There are still hardwood trees in the world!")star_set = Star.objects.all() # iterator() 메서드는 전체 레코드의 일부씩만 DB에서 가져오므로 # 메모리를 절약할 수 있다.. 공감수 0 댓글수 0 2018. 3. 28.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.