[Django] Template script에서 view데이터 사용하기
·
Django,Python
Django Template을 사용할때 html 코드내에서는 view에서 넘어온 데이터를 사용하기 쉽다. 하지만 script 내에선 어떻게 사용할지 애매하다.일단 https://adamj.eu/tech/2020/02/18/safely-including-data-for-javascript-in-a-django-template/ 이 블로그를 보면 잘 나와있는데 방법은 간단하다.예제로 알아보기Product라는 모델이 있고, 그 Product를 장바구니에 담는 예제로 알아보자class Product(models.Model): productTypes = [('S', 'Small'), ('R', 'Regular'), ('G', 'Grande')] name = models.CharField(max_leng..
MAMP로 Python CGI 테스트 해보기
·
Django,Python
간단하게 맥에서 Python CGI를 테스트해보았다. 1. MAMP를 다운받는다.(Bitnami를 다운받으려 했는데 지원을 중단했다고 한다 🥲) https://www.mamp.info/en/windows/ MAMP & MAMP PRO - your local web development solution for PHP and WordPress development MAMP GmbH is the manufacturer of the award-winning MAMP software. www.mamp.info 2. 기본 버전을 실행해준다.(PRO 버전도 상관없음) 그럼 localhost:8888에 웹서버가 뜬걸 확인할 수 있다. 3. 설정파일을 확인한다.(나의 경우는 /Application/MAMP/conf/ap..
SQLD 합격 후기
·
기타
11월 18일 SQLD 시험을 보게되었다. 이전부터 관심있었던 시험이지만 이런저런 이유를 핑계로(사실 귀찮아서) 미루고 있다가 올해 마지막으로 하나 남았길래 용기를내서 응시하게 되었다. 우선 나는 어디서 SQL을 배운적은 없고 개발자로 일하면서 SQL 기초책 한권, 친절한 SQL 튜닝 앞부분 조금 읽고 실무에서 업무하는데는 문제없게 생존형(?)으로 할 수 있는 수준이다. SQLD 접수 https://www.dataq.or.kr/www/accept/schedule.do 데이터자격시험 데이터아키텍처 준전문가 제54회 - 3.20~24 4.7 4.23(일) 5.12~16 5.19 - www.dataq.or.kr 여기서 시험 일정을 확인하고 접수기간에 맞춰 접수하면된다. 참고로 응시료는 5만원이다.(토익보다 비..
[AWS] Route53 설정 살펴보기
·
인프라
사이드 프로젝트에 HTTPS를 붙이고 싶어서 이것저것 찾아보다가, AWS EC2를 사용하는김에 ALB에 Route53을 연결하고, ACM에서 인증서를 발급받아 ALB에 붙이는 방법을 사용하게되었다. 일단 ec2에 HTTPS 적용을 검색해 가장 상단에 뜨는 블로그에서 시키는대로 하니까 어렵지 않게 성공했는데, 적용 도중에 궁금한 점이 있어서 몇가지 설정에 대해 찾아보았다. 1. 도메인을 구입하고 브라우저에 입력하면 어떻게 찾는것일까? 일단 우리가 DNS를 사용하는 이유는 유저가 숫자로 된 ip 주소를 하나하나 기억하기 어렵기 때문에 식별가능한 도메인 이름을 브라우저에 입력하면 DNS 서버에서 domaintest.com -> ip 주소(ex: 3.38.xx.xxx) 로 매핑된 정보를 찾아 접속 가능하도록 하..
Serverless 배포할때 serverless update_rollback_failed state and can not be updated 에러가 나는 경우
·
기타
오랜만에 사이드 프로젝트 서버를 serverless를 배포하다 serverless update_rollback_failed state and can not be updated 라는 에러로 배포가 되지 않았다. CloudFormation 콘솔을 확인해보니 마지막 상태가 UPDATE_ROLLBACK_FAILED 상태였는데 이 상태이면 배포를 못하는 것이다. 처음엔 단순히 상태만 갱신해주면 되겠지 싶어서 콘솔에서 [스택 작업 > 업데이트 롤백 계속]을 실행해서 해결하려 해주었으나, 똑같은 결과가 나왔다. 아래 메시지를 못 보고..🥲 나의 경우에는 아래 UPDATE_FAILED에 있는 에러메시지 처럼 람다 실행환경이 이제 지원을 안하는 버전이라서(node12.x) 아예 상태 갱신조차 안되는 상태였다. 보통 se..
[postgresql] 시퀀스 조회, 변경하기
·
데이터베이스
Postgresql은 자동 증가 컬럼을 위해 시퀀스를 사용한다.Postgresql에서 시퀀스는 아래의 쿼리를 통해 확인할 수 있다.nextval: 시퀀스 값을 1 증가시키고 증가시킨 값을 반환한다.currval: 현재 세션에서 마지막으로 호출했던 nextval의 값을 반환한다.last_value: 현재 세션에서 마지막으로 반환된 nextval 값을 반환한다.SELECT nextval(item_id_seq);SELECT currval(item_id_seq);SELECT last_value FROM item_id_seq;개발하다보면 직접 데이터를 넣어주는 경우가 있는데, 이 경우 시퀀스도 업데이트해주지 않으면 이미 수동으로 넣은 데이터와 sequence가 겹치게 되므로 duplicate key 에러가 발생하..
[Django] Django ORM Coalesce 사용하기
·
Django,Python
문제상황 Sum을 구할때 조건에 해당하는 row가 없으면 당연히 0이 나올것이라 생각했다. def get_item_count_by_member(member): result = Item.objects.filter(member=member, status=ItemStatusEnum.AVAILABLE).\ aggregate(total=Sum('quantity')) return result.get('total') 하지만 결과는 0이 아니라 None이 나온다. 이런 경우에 조건에 만족하는 행이 단 하나도 없으면 0, 있으면 Sum을 수행한 값을 결과로 받고싶으려면 어떻게 해야할까? Coalesce 함수 사용하기 Coalesce 함수는 null이 아닌 가장 첫번째 값을 리턴하는 함수이다. 인자로는 여러개를 넣을 수 ..
[SpringBoot] MockK 사용하기
·
Java,Kotlin,SpringBoot
Spring Boot + Kotlin 조합으로 유닛 테스트 코드를 짜다 보면 repository를 어떻게 주입해줘야할지 고민이 된다. 이럴때 주로 가짜로 구현체를 만들어서 주입해주게 되는데 테스트할 클래스가 JPARepository를 바라보고 있는 경우에는 가짜 구현체에 구현해줄게 너무 많다. 그래서 여러가지 방법을 찾다가 moking 라이브러리를 사용하기로 하였는데 서치중 mockK를 어떻게 사용했는지 기록하고자 한다.MockKMockK는 Kotlin에서 Mocking해주는 라이브러리이다. baeldung에서 이렇게 소개하고 있다.kotlin은 모든 class와 method들이 기본으로 final이므로 open 키워드를 붙여주지 않으면 상속되지 않는데, 이러한 특성때문에 대부분의 mocking라이브러리..
백준 10757 큰 수 A + B
·
알고리즘/BOJ
10757번: 큰 수 A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 풀이 (0 < A,B < 10^10000) 엄청나게 큰 수 이므로 long long, unsigned long long 을 사용해도 풀 수 없다. 참고 https://blog.kimtae.xyz/133 자료형 범위 int –2,147,483,648 ~ 2,147,483,647 long long –9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 unsigned long long 0 ~ 18,446,744,073,709,551,615 아이디어 이런..
백준 5021 왕위계승
·
알고리즘/BOJ
5021번: 왕위 계승 문제 유토피아의 왕이 사망했다. 왕은 자손을 남기지 않고 사망했기 때문에, 왕위를 계승할 사람을 지목하지 않았다. 왕실 귀족은 왕위를 주장하기 시작했다. 유토피아의 법에는 왕의 계승자가 www.acmicpc.net 문제 유토피아의 왕이 사망했다. 왕은 자손을 남기지 않고 사망했기 때문에, 왕위를 계승할 사람을 지목하지 않았다. 왕실 귀족은 왕위를 주장하기 시작했다. 유토피아의 법에는 왕의 계승자가 없는 경우에, 나라를 세운 사람과 혈통이 가까운 사람이 유토피아를 통치한다는 조항이 있다. 나라를 세운 사람과 혈통이 가장 가까운 사람은 그의 자손이 아닌 사람과 피가 덜 섞인 사람이다. 모든 사람은 아버지의 혈통과 어머니의 혈통을 반 씩 받게 된다. 나라를 세운 사람의 자식은 1/2 왕..
togeepizza
Beyond the Now