전체 글66 Django annotate management Django 프로젝트를 개발하다보면 동일한 annotate를 각기 다른 view에서 호출하는 경우가 생기게 됩니다. 이럴 경우 유지보수가 어려워 지는 이슈가 발생하여 나중에 고생하게 될 수도 있습니다. 그래서 이런 이슈를 방지하고자 annotate를 관리하는 방법 중 하나를 소개하고자 합니다. annotate필드를 model.py의 class내에 class method로 관리하는 방법입니다. class Sample(models.model): first_name = models.CharField('이름', max_length=24) last_name = models.CharField('성', max_length=12) @classmethod def get_annotated_field(cls): return.. 어디까지가 기술 검토일까? 서비스 기업의 개발자로 업무를 하다 보면 기획자와 협업할 기회가 생기게 된다. 기술 검토를 할 때 주로 기획서를 참고하여 구현 가능 여부와 기존에 어떻게 구현되어 있고 어떤 방법으로 해결이 가능한지를 공유하고 기획자가 원하는 정보를 취합하여 구두로 논의하거나 문서 작성을 통해 공유하게 된다. 이 과정에서 기획자를 이해시켜야 하는 경우가 생기다 보니 개발하는 시간보다 기획자와 논의하는 시간이 더 긴 경우가 발생한다. 물론 좋은 서비스 개발을 위해 꼭 필요한 과정이지만 가끔은 입장 차이를 좁히지 못해 답답한 경우도 있다. 신규 입사자인 기획자와 일할 경우에는 더욱 어려움이 따르는 경우가 잦다. 서비스의 복잡도가 높을수록 이해하기가 어려워 서비스를 이해하는 시간을 주었더라도 완벽한 파악이 되기는 어렵기 때문에.. Django Database Functions - Text functions Django ORM은 데이터베이스 기능을 지원하기 위해 functions를 제공하고 있습니다. 이번 글에서는 텍스트 functions들에 대해 알아보도록 하겠습니다. Chr, Ord Chr, Ord함수는 파이썬의 chr()와 ord()함수와 동일하게 동작합니다. numeric field 또는 expression을 리턴합니다. from django.db.models.functions import Chr, Ord Author.objects.create(name='Margaret Smith') author = Author.objects.filter(name__startswith=Chr(ord('M'))).get() print(author.name) # Margaret Smith author = Author.o.. Django csv streaminghttpresponse csv streaminghttpresponse는 Django에서 브라우저로 응답을 스트리밍하는 데 사용됩니다. 응답을 생성하는 데 너무 오래 걸리거나 메모리를 너무 많이 사용하는 경우 이 작업을 수행할 수 있습니다. csv 파일의 용량이 클 경우 유용하게 사용되며 전체 내용이 메모리에 내장되어 단일 조각으로 브라우저로 전송됩니다. def get_rows(): yield 'Hello,' yield 'there!' def my_view(request): return StreamingHttpResponse( get_rows, content_type='text/csv', headers={'Content-Disposition': 'attachment; filename=files.csv' ) OSI 7계층 모델 OSI 7 계층 모델은 국제표준화기구인 ISO에서 개발한 것으로 컴퓨터 네트워크 프로토콜 디자인과 통신을 7 계층으로 나누어 정의한 것으로 각 프로토콜을 기능별로 구분하기 쉽게 나눈 것이다. 이번 글에서는 OSI 7 계층에 대해 알아보고 일반 사용자에게 가장 친숙한 최상위 계층인 7계층 응용에 대해 자세히 알아보겠다. 각 계층은 서로 독립적이며 하위계층의 기능만을 이용할 수 있다. 상위 계층인 응용, 표현, 세션 계층은 통신 기능을 제공하며 하위 계층인 전송, 네트워크, 데이터링크, 물리는 전달 기능을 제공한다. 통신 기능을 제공하는 상위 3계층에서는 응용프로그램과의 통신관리와 동기화 서비스를 유지하는 기능, 데이터의 번역을 통해 일관되는 데이터 전송 및 암호화와 압축 기능 등 데이터 통신을 위한 여러 .. nextjs 프로젝트 정리 보호되어 있는 글 입니다. Django Database Functions - Date functions Django ORM은 데이터베이스 기능을 지원하기 위해 functions를 제공하고 있습니다. 이번 글에서는 날짜 functions들에 대해 알아보도록 하겠습니다. Extract Extract는 날짜를 숫자로 변경합니다. DateField, DateTimeField, TimeField 또는 DurationField의 값에 lookup_name을 사용하여 날짜의 일부를 숫자로 추출할 수 있습니다. lookup_name으로는 아래 목록들이 사용 가능합니다. datetime 2015-06-15 23:30:01.000321+00:00 “year”: 2015 “iso_year”: 2015 “quarter”: 2 “month”: 6 “day”: 15 “week”: 25 “week_day”: 2 “iso_week_.. Django Database Functions - Comparison and conversion Django ORM은 데이터베이스 기능을 지원하기 위해 functions를 제공하고 있습니다. 이번 글에서는 비교 및 변환 functions들에 대해 알아보도록 하겠습니다. Cast Cast는 값의 필드 타입을 output_field의 필트 타입이 되도록 변경시키는 역할을 합니다. 이를 사용하려면 expression, output_field 2개의 인자를 Cast function에 넣어줘야 하고 두가지 모두 유효한 값이여야 합니다. from django.db.models.functions import Cast, FloatField Sample.objects.annotate( float_num=Cast('number', output_field=FloatField()) ) 위 코드가 실행되면 float_nu.. react 클래스 컴포넌트의 super 소개 super(props)는 클래스 컴포넌트를 사용하게 된다면 항상 constructor안에 사용되게 됩니다. 그래서 이번에는 왜 super(props)를 사용하는지 알아 보고 사용하지 않았을때 어떤 이슈가 발생하는지 알아보도록 합시다. class ClassApp extends React.Component { constructor(props) { super(props); } } super()는 자식 클래스가 생성될 때 부모 클래스의 생성자를 참조하는 방법으로 react 클래스 컴포넌트의 부모 클래스는 React.Component가 됩니다. 그리고 주의할 점으로 super를 사용하기 전에는 constructor에서 this를 사용할 수 없습니다. 자바스크립트가 이런 제약사항을 강제하는 데에는 사실 합리적.. 이전 1 2 3 4 5 ··· 8 다음