본문 바로가기
728x90
반응형

개발자 전향 프로젝트93

Callback에 대한 의문과 Promise 와 Async/Await 를 쓰는 이유 (feat.비동기vs동기) 콜백이 무엇이고, 콜백을 사용해야하는 이유가 무엇인가? 콜백함수는 한마디로 비동기 작업을 처리할 때 순서를 보장해주는 함수이다. 자바스크립트에서 비동기 작업을 해야할 때가 생긴다. 그럴 때 제일 중요한 것은 순서이다. 예를 들어 토스트에 잼을 발라서 먹으려고 하는데 집에 잼은 있는데 빵이 없다. 그래서 이상적인 순서가 아래와 같다면 마트에서 빵을 사고 -> 빵을 굽고 -> 빵에 잼을 바르기 위 순서가 지켜져야지만 원하는 결과를 얻을 수 있을 것이다. 컴파일러는 기본적으로 위에서 아래로 코드를 읽고 컴파일하지만 비동기 작업은 순서가 보장되지 않기 때문이다. 그러면 그 순서를 보장해줘야 하는데 그때 쓰는게 콜백이다. 위 내용을 콜백함수를 쓰는 코드로 바꾸면 아래와 같을 것이다. function getBrea.. 2024. 1. 30.
ajax로 JSON 객체 배열 넘기기 (파이썬 장고) 아래는 JSON 객체 구조의 배열이다. JSON 구조는 아래와 같은 특징이 있다. 이름과 값의 쌍으로 이루어짐 예를 들어 아래와 같은 것이다. 이름: 홍길동 나이: 20 성별: 남자 파이썬의 Dictionary와도 비슷한데 차이점은 JSON 같은 경우 데이터를 담아서 전달하는데 그치지만 Dictionary는 실제로 메모리에 저장되는 객체이다. 아무튼 비즈니스에서는 종종 아래와 같이 JSON 구조의 객체배열을 넘겨줄 때가 있는데 let objArr = [ { sno: '1', paramCode: '0101', dateTime: '2023-12-07 11:46:57.000000' }, { sno: '2', paramCode: '0102', dateTime: '2023-12-07 11:47:00.000000'.. 2023. 12. 20.
ajax 로딩 시 로딩 중 표시하는 방법 (jQuery Loading Spinner) 아래 코드는 로딩중을 나타내기 위한 html 코드이다. 아래는 jQuery ajaxSetup을 통해 loading spinner 언제 보여주고 숨기는지 세팅해놓은 js 코드이다. jQuery.ajaxSetup({ beforeSend: function () { $('#loading_spinner').show(); }, complete: function () { $('#loading_spinner').hide(); } }); 아래는 css 코드로 기본적으로 loading spinner를 숨겨놓고 위치를 조정해주며 spinner가 뱅글뱅글 돌도록 만들어주는 코드이다. #loading_spinner{ display: none; position: absolute; left: 50%; top: 50%; z-inde.. 2023. 12. 20.
(파이썬 장고) CSV 를 Django를 이용해 DB에 집어넣기 사용할 DB는 코끼리..가 아니라 PostgreSQL이다 이전글인 https://samori.tistory.com/80 (파이썬 장고) DB 테이블 CSV 로 출력하기 views.py에 아래 함수를 집어넣고 def 함수명(request): response = HttpResponse(content_type='text/csv') response['Content-Disposition'] = 'attachment; filename="파일명.csv"' writer = csv.writer(response) writer.writerow(['칼럼1','칼럼2',. samori.tistory.com 과 반대로 오늘은 CSV를 DB에 입력하는 방법에 대해 알아보려고 한다. 가장 쉽게 줄인 코드는 아래와 같다. @trans.. 2023. 11. 19.
(파이썬 장고) DB 테이블 CSV 로 출력하기 views.py에 아래 함수를 집어넣고 def 함수명(request): response = HttpResponse(content_type='text/csv') response['Content-Disposition'] = 'attachment; filename="파일명.csv"' writer = csv.writer(response) writer.writerow(['칼럼1','칼럼2',...]) 변수1 = 장고 모델명.objects.all().values_list('칼럼1','칼럼2',...).order_by('정렬할 칼럼') for 변수2 in 변수: writer.writerow(변수2) return response urls.py에 해당 함수를 추가하고 path('url 경로', views.py이름.함수명.. 2023. 11. 18.
SonarQube 사용법 (Windows) 서론 Static Code Analysis Tool, 정적코드분석툴로 불리는 이 툴은 보통 개발자가 개발을 하고 배포하기 전에 프로젝트 소스 코드에 문제가 있는지, 있다면 어떠한 문제가 있는지 분석하고 체크하기 위해 필요한 툴이다. 다양한 툴이 존재하지만 오늘 소개할 툴은 SonarQube로 다수의 블로그나 커뮤니티에서 가장 많이 추천하는 툴이다. 이름이 비슷한 SonarLint의 경우 코드를 치는 순간 그 코드가 어떤 문제가 있는지 알려주는 일종의 보조툴이고 SonarQube는 프로젝트 전체를 한꺼번에 분석해서 그럴싸한 리포트까지 뽑아주는 툴이므로 필요에 맞게, 용도에 맞게 사용하면 될 것 같다. 준비물 Windows OS Java JDK 11 이상 SonarQube SonarScanner 분석할 프로.. 2023. 7. 20.
로컬 컨테이너에 백업 DB 구축하기 (feat. Docker, Postgre) 데이터의 저장소인 데이터베이스, 이 데이터베이스와 연결되지 않으면 웹 애플리케이션은 작동을 할 수가 없다. 하지만 다양한 이유로 데이터베이스와의 연결이 자유롭지 않을 수 있고 이를 방지하기 위해 사용중인 DB를 로컬에 복제하곤 하는데 오늘은 로컬 PC(Windows) Docker 컨테이너에 Postgre DB를 복제하여 세팅하는 방법에 대해서 다뤄보겠다. 준비물: 1. 도커가 설치된 PC ( Windows의 경우 Docker Desktop으로 쉽게 설치가 가능하다) 2. 이미 사용중이며 접속이 가능한 Postgre DB 3. 테이블스페이스, 테이블, 파티션, 데이터가 포함된 SQL 스크립트 4. 본인이 익숙한 DB 툴 (Datagrip, sqldeveloper, Heidisql, Dbeaver 등등) *.. 2023. 7. 15.
728x90
반응형