본문 바로가기

728x90
반응형

Language

(57)
pytest-django 에서 자주 사용했던 것들 HTML 삽입 미리보기할 수 없는 소스 개요 pytest는 python에서 테스트 코드를 작성하기 위해 많이 사용되는 라이브러리입니다. unittest와는 조금 다르게 테스트 코드를 작성하기에 간결하고 여러 기능을 지원하기 때문에 필자는 자주 이용하는 편입니다. 이전부터 가끔씩 django에서 pytest를 써왔는데 pytest를 최근 자주 사용하게 되어 pytest에서 애용했던 항목들을 기록해두고자 합니다. Installation pytest를 django에 사용하기 위해 다음과 같이 ‘pytest-django’라는 라이브러리를 설치해야합니다. pip install pytest-django pytest-django는 pytest.ini를 통해 pythonpath를 설정할 수 있게 해줍니다. python..
Python을 이용한 UserAssist 레지스트리 분석하기 이전 블로그로부터 백업된 글입니다. 작성일: 2019-10-16 20:14 원제목: Python을 이용한 UserAssist 레지스트리 분석하 레지스트리 분석으로 사용했던 프로그램을? 윈도우 레지스트리 정보에는 사용했던 프로그램 정보들을 가지고 있는 항목이 있습니다. 윈도우 10에서 확인해 본 결과 경로는 다음과 같습니다. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{CEBFF5CD-ACE2-4F4F-9178-9926F41749EA}\Count 레지스트리 정보는 "Windows" 를 누르신 후, reg 까지 입력하면 자동으로 레지스트리 편집기를 찾아줍니다. 암호화 되어있는 레지스트리 정보 아래의 사진은 제..
외부 APIResponse Data를 DataClass로 변경하기 개요 Python에서 Type Hint를 적용하면 TypedDict를 사용해 Key를 자동완성 시킨다거나 특정 클래스에 어떤 속성이 들어 있는지 파악할 수 있어 많이 편리합니다. 하지만 Typing 자체를 적용하려고 공수를 들여 작업하는 케이스도 존재합니다. 이번에 마주한 경우는 외부 API에서 받은 응답을 프로젝트에서도 사용할 수 있게 구성해야 했습니다. 단순히 API의 요청과 응답을 제공하는 메서드를 만드는 것이 아닌 응답받은 데이터에 대해 TypeHint를 적용해 코드 자동 완성을 달성하기 위함이었죠. 문제는 외부 API에서 응답으로 주는 데이터가 중첩된 구조의 자료형일 때 나타났습니다. 여기서 중첩된 구조라 하면 다음과 같은 형태를 말합니다. { "a": { "b": { "c": 1, "e": 1..
datetime과 시간대 HTML 삽입 미리보기할 수 없는 소스 DateTime datetime은 날짜와 시간 정보를 함께 저장하는 클래스이다. 현재시간을 나타내는 datetime.now() 메서드를 통해 알아보자. from datetime import datetime ct = datetime.now() print(ct) # Output # 2023-01-15 13:27:40.177895 날짜 정보와 시간 정보를 접근할 수 있는 속성을 가진다. 날짜 정보는 year, month, day 시간 정보는 time, second, microsecond이다. print(ct.year, ct.month, ct.day) # 2023 1 15 print(ct.minute, ct.second, ct.microsecond) # 27 40 1778..
exit와 sys.exit은 무슨 차이일까 ? HTML 삽입 미리보기할 수 없는 소스 개요 exit와 sys.exit 두 가지 함수는 Python에서 프로그램을 종료시키기 위한 용도로 사용한다. 그런데 왜 프로그램을 강제 종료하는 기능을 가지는 함수가 두 가지나 있을까? 1. 공통점 : 둘 다 SystemExit를 발생시킨다. 공통점은 SystemExit Exception을 발생시킨다. 코드로 설명하자면 다음과 같다. # builtin - exit() try: exit(1) except SystemExit as e: print(e.args) # Result # (1,) import sys try: sys.exit(1) except SystemExit as e: print(e.args) # Result # (1,) 어려운 코드가 아니니 구체적으로 설명..
[Java] 변수와 상수와 리터럴 변수 변수(variable), 값을 저장할 수 있는 메모리 상의 공간을 의미함, 이 공간에 저장된 값은 변경될 수 있기 때문에 변수라고 부름 변수의 선언과 초기화 변수의 선언은 다음과 같이 해주면 된다. boolean flag = true; char var1 = 'a'; byte var2 = 1; short var3 = 10; int var4 = 100; long var5 = 100; float var6 = 3.14f; double var7 = 3.14; 변수는 ‘변수 타입’과 ‘변수명’으로 구분된다. 위 예시에서는 boolean, char, byte, short, int, long, float, double이 변수의 타입이 되고 각각 flag, var1, var2, var3, var4, var5, va..
Name Magling Name Magling이란 Name Maggline은 변수나 메서드 앞에 언더바(_) 두 개를 붙여서 다른 이름으로 바꿔 버리는 것을 말한다 이름을 바꾼다고? 속성으로 foo를 가지고 있는 클래스가 존재한다. Namespace를 보게 되면 마지막 foo 그대로 Namespace에 존재하는 걸 확인할 수 있다. class Sample: def __init__(self): self.foo = 'a' [..., 'foo'] 이어서 foo 앞에 언더바(_) 두 개를 붙여서 Namespace를 확인해보자 class Sample: def __init__(self): self.__foo = 'a' ['_Sample__foo', ...] foo라고 존재하던 속성이 ‘_Sample_foo’라고 변경된 것을 확인할 수 있..
Chart.js와 FetchAPI 뒤적거리기 페이지가 필요하다.. Django Template을 이용해 데이터를 표출해줘야 하는 상황에 직면했다. 즉 Front 페이지가 필요한 상황인 것이다. 간단히 데이터 몇 개만 그래프로 그리면 되긴 하는데 Front에 관련된 것이라고는 Html, CSS, JavaScript 그리고 예전에 조금 깔짝 여본 React가 전부인데 이를 어떻게 해결하나 싶은 순간에서 대학 시절에 조금 만져봤던 Chart.js를 다시 꺼내 들었다 JavaScript의 Fetch API를 동기적으로 써먹기 JavaScript에 Http Request에 사용할 수 있는 Fetch API가 존재한다고 한다. 대학 시절에는 XMLHttpRequest를 썼기 때문에 비슷한 부류겠지 하고 인터넷을 뒤적거린 결과 다음과 같은 예제 코드를 발견했다..

728x90
반응형