일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- HTTP
- 스프링부트
- 안드로이드
- 보안
- rabbitmq
- 데이터베이스
- 자바
- 웹
- 스프링 부트
- 디자인 패턴
- mysql
- 개발
- node.js
- 스프링
- 웹 개발
- Spring
- ORM
- BCI
- db
- JPA
- java
- Spring Boot
- bytecode
- 파이썬3
- django
- 파이썬
- python3
- Python
- 장고
- 자료구조
- Today
- Total
목록파이썬 (9)
semtax의 개발 일지
개요 이번 포스팅에서는 실제로 Channel 라이브러리를 이용해서 웹 소켓 요청을 처리하는 부분을 작성하도록 하겠습니다. 웹 소켓? 웹 소켓은 말 그대로, 웹 브라우저에서 서버와 계속 연결을 유지하면서 소켓 통신을 할 수 있게 해주는 프로토콜을 의미한다. 주로 채팅 서버나, 연결을 계속 유지하면서 메시지를 받거나 전송해야 하는 곳(Ex : 푸시 알림, 게임)에 많이 쓰인다. 보통, HTTP/S 등으로, 웹소켓을 연결한다는 메시지와 기본적인 세션정보들을 전송하고, 그 이후에 실제 웹소켓으로 통신하는 방식으로 이루어져 있다. 사실, 기존의 http나 ajax 같은것들이 있는데 굳이 웹소켓 같은 것을 써야하나? 라고 생각하는 사람들이 있을 수 도 있다. 하지만, 푸시 알림이나 서버와 계속 연결을 유지하면서 데..
개요 이번 시리즈 에서는, Django에서 웹 소켓을 쓸 수 있게 해주는 라이브러리인 Channels을 이용해서 채팅서버를 만들어보는 예제를 만들어보도록 하겠습니다. Channels? Channels 공식 홈페이지에 들어가면 아래와 같은 설명이 나와있습니다. Channels is a project that takes Django and extends its abilities beyond HTTP - to handle WebSockets, chat protocols, IoT protocols, and more. It’s built on a Python specification called ASGI. It does this by taking the core of Django and layering a ful..
소개 이번 포스팅에서는, 장고 프레임워크에서 static 파일들(css, js)의 경로를 지정하는 법에 대해서 알아보도록 하겠다. Static File? 스태틱 파일(Static File)은, 말 그대로 변하지 않는 데이터들을 의미한다. 대표적인 스태틱 파일들로는, 사진, 동영상, css, js 등과 같은 자료들이 있다. 사실 사진이나 동영상 같은 경우에는 static 파일이기는 하지만 크기나 너무 크므로, 이러한 파일들을 저장하는데 특화된 CDN(Content Delivery Network) 서비스들을 이용한다. 물론, 요즘에는 css나 js들도 CDN에 보관하는 경우가 매우 많다. 실제로, 우리가 작성한 예제에서 임포트한 부트스트랩관련 라이브러리, 파일들은 모두 CDN을 통해서 가져왔다. 장고(Dja..
소개 이번 포스팅에서는, 지금까지 만든 스도쿠 게임에 랭킹 기능을 추가 해보도록 하겠다. 또한, 프로그램이 재시작 되더라도, 랭킹 기록이 계속 남게 하기 위해 데이터 베이스를 이용하여 랭킹기록을 저장하는 것도 다루도록 하겠다. 데이터 베이스? 데이터 베이스는 쉽게 말하면 데이터를 저장하는 공간이다. 데이터를 어디다 저장하는데? 라고 물어 보면, 아래와 같은 대답을 해줄 수 있다. 메모리 파일 로컬파일 네트워크하고 자기 PC에 분산처리 JSON 표 형식으로 XML 그래프(?!) 저 위에서 언급한 종류 모두 실제로 회사에서 사용하는 데이터베이스 종류이다. 게다가 특히, 가장 많이 쓰이는 데이터 베이스는 관계형 데이터베이스(RDBMS) 라는 종류의 데이터 베이스 이다. 관계형 데이터베이스 라고 하면 어려워 보..
소개 이번 포스팅에서는, 우리가 작성한 sudoku api를 pytest를 이용해서 테스트를 해보도록 하겠다. 아래글을 먼저 읽기 전에, pytest에 대한 기본 지식이 필요하므로 아래의 포스팅을 읽고 오도록 하자. https://semtax.tistory.com/37 pytest로 파이썬 유닛테스팅 수행하기 개요 이번 포스팅에서는 파이썬 테스팅 도구인 pytest에 대해서 알아보도록 하겠습니다. 테스트 코드의 중요성 맨 처음 프로그램을 짜는 사람의 입장이나, 크기가 그렇게 크지 않은 서비스를 제작할때에는, 테스트.. semtax.tistory.com 왜 테스트 코드를 작성하는가? 사실, 테스트 코드를 작성하지 않아도 프로그램을 개발 할 수 있다. 오히려 규모가 엄청 작은 프로젝트이거나, 한번 만들고 계..
소개 이번 포스팅에서는, 실제로 sudoku 퍼즐을 생성하고 검증하는 api를 작성 해보도록 하겠다. Sudoku & 필요한 기능 명세 스도쿠는, 9*9 격자에 숫자를 채워넣는 게임이다. 단 조건이 있는데, 각 칸에 해당하는 행/열/3*3 사각형에 1~9 까지의 숫자가 단 1개씩만 들어가 있어야 한다는 조건이다. 보통 이러한 스도쿠는 백트래킹 알고리즘을 이용해서 풀 수 있다. 백트래킹 알고리즘에 대한 자세한 내용은 아래 글을 참조해주기를 바란다. https://semtax.tistory.com/50 파이썬과 백트래킹 알고리즘을 이용한 스도쿠 구현 개요 이번 시간에는 백 트래킹 알고리즘에 대해서 알아보도록 하겠습니다. 또한, 백 트래킹 알고리즘을 이용해..
소개 이번 포스팅에서는, 파이썬과 장고(Django) 프레임워크를 이용해서 웹 기반의 스도쿠 게임을 만들기 위해서 Django 설치 및 세팅을 하는법에 대해서 다루도록 하겠습니다. 장고(Django)? 장고(django)는, 파이썬을 기반으로 한 오픈소스 웹 프레임워크 이다. 일반적인 웹 프레임워크와 다르다고 할 수 있는 점은, 기존의 다른 웹 프레임워크들(Spring MVC, code ignitor, laravel 등)과는 다르게, MTV 라는 구조를 가진다는 것이 특징이다. 또한, 웹 프로젝트를 작성 할때, 각 기능들을 app이라는 단위로 각각 분리해서 개발 할 수 있다는 특징이 있다. 마지막으로, django는 플러그인 기반의 아키텍처를 지원 하기 때문에, 비록 다른 django 프로젝트에서 만든 ..
개요 이번 시간에는 백 트래킹 알고리즘에 대해서 알아보도록 하겠습니다. 또한, 백 트래킹 알고리즘을 이용해서 스도쿠 퍼즐을 만드는 프로그램을 작성 해보도록 하겠습니다. 백 트래킹(Back Tracking)? 백 트래킹(Back Tracking)은 단어 뜻 그대로, 되 추적이라는 다시 되돌아가서 되돌아간 자리에서 시작한다는 말입니다. 어릴 적에 "경우의 수" 문제나, "확률과 통계" 문제를 풀 때를 떠올려 봅시다. 문제를 맨 처음 풀 때, 우리는 종이에 수형도 라고 부르는 나뭇가지를 처음부터 하나씩 그려서 갯수를 전부 세었습니다. 아니면, 길 찾기 문제를 풀 때 에도, 종이에 거의 모든 경우의 수를 그려서 직접 세서 풀었던 것을 기억 하실겁니다. 사실은 모든 경우의 수를 전부 세서 그렸다고 생각을 하고는 ..