분류 전체보기
-
python error 해결법: TypeError: 'module' object is not callableError Handling 2022. 3. 1. 21:12
클래스를 생성한 뒤 다른 파일에서 해당 클래스를 호출하려 할때 아래와 같은 에러가 발생하는 경우가 있다. TypeError: 'module' object is not callable 위 의미는 말그대로 모듈객체는 호출이 불가능한데 호출하려 해서 발생하는 에러이다. 보통 생성한 클래스를 생성한 함수를 적고 뒤에 모듈명을 적은뒤 함수처럼 () 를 사용하여 호출하려 할때 발생한다. 예를 들면 service 폴더 아래 Temp.py 를 생성한 뒤 service 밖에 있는 파일에서 아래와 같이 호출하였다. service > Temp.py 을 호출 from service import Temp temp = Temp() 이러면 위 에러가 발생한다. 따라서 아래와 같이 한단계 더 들어가는것을 명시하여 해결해주면된다. f..
-
python error 해결법: flask response 한글 깨짐 현상Error Handling 2022. 3. 1. 20:39
python framework 중 하나인 flask 를 이용하여 값을 응답 하다보면 한글인 경우 아래와 같이 깨져서 나타나는 경우가 있다. { "sentence": "\uc548\ub155\ud558\uc138\uc694" } 이경우는 flask 에서 사용하고 있는 인코딩이 utf8 이 아닌 ascii 라 발생한다. 해결법은 간단하게 아래와 같이 flask 를 호출한 부분에서 ascii 를 꺼주면 된다. from flask import Flask app = Flask(__name__) # 아래 추가 app.config['JSON_AS_ASCII'] = False 그런데 flask 의 Response 모듈과 json.dump 를 사용하는 경우에는 위의 설정이 깨어지는 경우도 있다. res = json.do..
-
python - 순열 (permutaions), 조합 (combinations), 중복순열, 중복조합Python 2022. 3. 1. 12:37
python 을 이용하여 순열, 조합을 사용하여 문제를 해결할 때가 있다. itertools 을 사용하면 간단하게 해결 가능하다. 직접 구현도 남기긴 하였지만 itertools 을 사용하여 간단히 해결하는게 깔끔하다. 순열 => 반복 가능한 객체에 대해서 중복을 허용하지 않고 n개를 추출 => 간단히 순서 의미있는 열 # 순열 from itertools import permutations arr = [1,2,3,4] print(list(permutations(arr, 3))) 중복순열 => 반복 가능한 객체에 대해서 중복을 허용하고 n개를 추출 # 중복 순열 from itertools import product arr = [1,2,3,4] print(list(product(arr, repeat=3))) ..
-
Camel case, Kebab case, Snake case, Pascal case 란?ETC 2022. 2. 28. 00:26
프로그래밍을 하다보면 변수명을 결정하려할때 프로젝트 팀당 혹은 사용하는 언어마다 익숙하게 아래 케이스중 하나로 명명하는 경우가 많다. Camel case, Kebab case, Snake case, Pascal case 만약 Admin Company Name 이라는 단어로 변수명을 할당하려 할때 각각의 차이는 아래와 같다. Camel case (카멜 케이스) => 낙타 등처럼 높낮이를 생각하면 편하다. => 첫문자는 소문자로, 나머지 이어지는 단어의 첫글자마다 대문자로 표현한다. adminCompanyName Kebab case (케밥 케이스) => 먹는 케밥처럼 꼬챙이에 연결된것을 생각하면 편하다. => 각 단어를 소문자로, 대시 (-) 를 통해 연결한다. admin-company-name Snake ..
-
git 프로젝트 이름 규칙 (naming convention)Git 2022. 2. 26. 23:31
깃 프로젝트를 시작하기에 앞서 해당 프로젝트 이름의 명명 규칙이 무엇인지 궁금할때가 있다. 프로젝트 (레포지토리) 이름은 띄워쓰기 대신 보통 아래와 같은 다양한 케이스가 있다. Camel case / Kebab case / Snake case / Pascal case 이중 가장 보편적인것을 찾기 위해 찾아본 결과 stack overflow에 명시된것이 있는데 번역하면 아래와 같다. 만약 프로젝트 이름이 아래 3가지중 무엇이 가장 적절한지에 대한 대답으로 purchaserestservice purchase-rest-service purchase_rest_service 보통 2번의 케이스인 Kebab case 즉 소문자(lower case) 를 사용하고 - (dashes) 를 이용하여 구체적인 프로젝트 이름..
-
Error 해결법 : HTTP DELETE Method 에 body 추가 할 때 500 errorError Handling 2022. 2. 22. 23:36
Front 에서 back server 로 Delete method 에 body를 추가하여 보낼 때 오류가 나는 경우가 있다. 이유는 아래와 같으며 요약하면 DELETE 메소드에는 payload body 를 추가할 경우 요청이 거절될 수 있다. A payload within a DELETE request message has no defined semantics; sending a payload body on a DELETE request might cause some existing implementations to reject the request. 해결법 (springboot) => body를 없애는것이 제일 맞는듯하지만 추가하고 싶다면 아래와 같이 payload body 를 @PathVariable..
-
CSS : input tag border 안보이게 하는 법Frontend 2021. 12. 28. 23:37
웹 개발을 하다보면 input 태그를 사용할 때 태그를 감싸고 있는 border를 보이지 않게 하고 싶을 때가 있다. 간단하게 border none 옵션을 주면 될꺼 같지만 input box 를 다시 클릭하면 focus 되어 border 가 살아난다. 따라서 아래와 같이 적절히 조합하여 CSS 를 사용하면 된다. input { border: none; &:focus { outline: none; } } 추가적으로 아래쪽에만 border 를 주어 위치를 표시시키는 것이 이쁜 경우가 많다. 아래와 같이 주면 CSS 를 줘본다. input { border: none; border-bottom: 1px solid black; &:focus { outline: none; } }