LANGUAGES
-
🍃 Crontab crontab은 Linux 운영체제에서 시간 기반 잡 스케줄러이다. 즉, 원하는 시간에 원하는 작업을 수행할 수 있게 해주는 작업 스케줄러라고 보면 된다. 예를 들어 장고에서 로그인을 했을 때, session으로 구현된 로그인이라면 django-session에 session정보가 저장되었다가 로그아웃하면 삭제가 된다. 하지만 브라우저가 닫히거나 만료시간이 지나게 되면 session정보는 유지되며 로그아웃 처리가 되기 때문에 계속되는 로그인 많아지면 불필요한 session 데이터가 쌓여 자리를 차지하게 된다. 이때 특정 시간이 되면 만료가 된 session정보를 삭제해 줬으면 좋겠다. 위의 기능을 대신 해주는 것이 바로 crontab!!이다. 🌱 django-crontab 설치 먼저 다음..
[Django] django-crontab 스케줄러 작성🍃 Crontab crontab은 Linux 운영체제에서 시간 기반 잡 스케줄러이다. 즉, 원하는 시간에 원하는 작업을 수행할 수 있게 해주는 작업 스케줄러라고 보면 된다. 예를 들어 장고에서 로그인을 했을 때, session으로 구현된 로그인이라면 django-session에 session정보가 저장되었다가 로그아웃하면 삭제가 된다. 하지만 브라우저가 닫히거나 만료시간이 지나게 되면 session정보는 유지되며 로그아웃 처리가 되기 때문에 계속되는 로그인 많아지면 불필요한 session 데이터가 쌓여 자리를 차지하게 된다. 이때 특정 시간이 되면 만료가 된 session정보를 삭제해 줬으면 좋겠다. 위의 기능을 대신 해주는 것이 바로 crontab!!이다. 🌱 django-crontab 설치 먼저 다음..
2023.05.22 -
🍃 파이썬에서의 다형성 Java 언어의 다형성을 다루면서 오버라이딩과 오버로딩에 대해 알아보았다. 그렇다면 Python에서도 언어의 다형성이 있는지 살펴보려고 한다. Java 오버라이딩과 오버로딩 [Java] Java 다형성과 오버로딩, 오버라이딩 🍃 Java 다형성 ✔️ 다형성 이란 하나의 함수, 클래스가 다양한 방법으로 동작하는 것을 말한다. Java에서는 주로 오버로딩(Overloading)과 오버라이딩(Overriding) 을 통해서 다형성을 지원한다. 🌱 오 geminihoroscope.tistory.com 🌱 오버로딩(Overloading) ✔️ 파이썬에서는 오버로딩을 정식으로 지원하지 않는다고 한다. 하지만 구현은 가능하지만 오버로딩을 남발하면 코드가 복잡해진다. ✔️ 파이썬에서는 연산자 오..
[Python] 파이썬 오버라이딩과 오버로딩🍃 파이썬에서의 다형성 Java 언어의 다형성을 다루면서 오버라이딩과 오버로딩에 대해 알아보았다. 그렇다면 Python에서도 언어의 다형성이 있는지 살펴보려고 한다. Java 오버라이딩과 오버로딩 [Java] Java 다형성과 오버로딩, 오버라이딩 🍃 Java 다형성 ✔️ 다형성 이란 하나의 함수, 클래스가 다양한 방법으로 동작하는 것을 말한다. Java에서는 주로 오버로딩(Overloading)과 오버라이딩(Overriding) 을 통해서 다형성을 지원한다. 🌱 오 geminihoroscope.tistory.com 🌱 오버로딩(Overloading) ✔️ 파이썬에서는 오버로딩을 정식으로 지원하지 않는다고 한다. 하지만 구현은 가능하지만 오버로딩을 남발하면 코드가 복잡해진다. ✔️ 파이썬에서는 연산자 오..
2023.05.16 -
🍃 Java 다형성 ✔️ 다형성 이란 하나의 함수, 클래스가 다양한 방법으로 동작하는 것을 말한다. Java에서는 주로 오버로딩(Overloading)과 오버라이딩(Overriding) 을 통해서 다형성을 지원한다. 🌱 오버로딩(Overloading) : 확장 ✔️ 함수가 여러 개의 동일한 이름을 가지며 매개변수의 유형과 개수 가 다르게 설정되어 사용하는 것을 의미한다. ✔️ 오버로딩은 함수 오버로딩 과 생성자 오버로딩 이 있으며 실제 적용되는 것은 같다. 같은 이름의 함수를 여러 개 정의하고, 매개변수의 유형과 개수를 다르게 하여 다양한 유형의 호출에 응답할 수 있게 하는 방식이다.(일반적으로 하나의 클래스 안에 동일한 이름의 함수를 작성하게 되면 에러가 발생한다.) ➤ 오버로딩 예제 public cl..
[Java] Java 다형성과 오버로딩, 오버라이딩🍃 Java 다형성 ✔️ 다형성 이란 하나의 함수, 클래스가 다양한 방법으로 동작하는 것을 말한다. Java에서는 주로 오버로딩(Overloading)과 오버라이딩(Overriding) 을 통해서 다형성을 지원한다. 🌱 오버로딩(Overloading) : 확장 ✔️ 함수가 여러 개의 동일한 이름을 가지며 매개변수의 유형과 개수 가 다르게 설정되어 사용하는 것을 의미한다. ✔️ 오버로딩은 함수 오버로딩 과 생성자 오버로딩 이 있으며 실제 적용되는 것은 같다. 같은 이름의 함수를 여러 개 정의하고, 매개변수의 유형과 개수를 다르게 하여 다양한 유형의 호출에 응답할 수 있게 하는 방식이다.(일반적으로 하나의 클래스 안에 동일한 이름의 함수를 작성하게 되면 에러가 발생한다.) ➤ 오버로딩 예제 public cl..
2023.05.15 -
✔️ Windows에서 자바를 사용했던 입장에서, M1 맥북에서 Java를 사용하려고 하니 어떻게 환경세팅을 해야하는지 막막하길래 이번 기회에 설치하고 정리하려고 한다. 🍺 homebrew 설치 [macOS] M1 Mac 에 brew 설치하는 방법! 최근! 아이패드 가격사태를 보고 맥북프로 2017 이후 5년만에 쿠팡에서 M1 Max 맥북프로 16인치를 구매하였습니다. 새로 구매를 하였으니 개발환경을 세팅하기 위하여 가장 먼저! brew 를 설치해주었 somjang.tistory.com ✔️ homebrew가 기본적으로 설치되어 있는 프로그램이 아니기 때문에 사용하기 위해서 먼저 설치를 진행하자. brew update 시 Error 발생(Ventura 업데이트 이후) [macOS] brew update ..
[Java] 맥북에서 Java 환경세팅(VSCODE)✔️ Windows에서 자바를 사용했던 입장에서, M1 맥북에서 Java를 사용하려고 하니 어떻게 환경세팅을 해야하는지 막막하길래 이번 기회에 설치하고 정리하려고 한다. 🍺 homebrew 설치 [macOS] M1 Mac 에 brew 설치하는 방법! 최근! 아이패드 가격사태를 보고 맥북프로 2017 이후 5년만에 쿠팡에서 M1 Max 맥북프로 16인치를 구매하였습니다. 새로 구매를 하였으니 개발환경을 세팅하기 위하여 가장 먼저! brew 를 설치해주었 somjang.tistory.com ✔️ homebrew가 기본적으로 설치되어 있는 프로그램이 아니기 때문에 사용하기 위해서 먼저 설치를 진행하자. brew update 시 Error 발생(Ventura 업데이트 이후) [macOS] brew update ..
2023.05.15 -
✔️ EC2서버에서 일반적인 Django를 이용한 서버 배포 작업도 도움이 많이 되었다. ❗️ 요즘 추세로 DepOps에서 이용되는 MSA형태의 서버 배포 방식의 기본이 되는 Docker 배포 방식을 익히기 위해 docker-compose로 프로젝트를 배포해 보려고 한다. 🍃 EC2 1. 깃허브 repo 서버로 이동 ➤ 프로젝트 폴더 생성 $ mkdir workspace ✔️ 프로젝트 작업물이 들어가 폴더를 생성한다. ➤ Git repo 받기 $ git clone -b ✔️ 현재 main 레포지터리는 최신 상태가 아니기 때문에 develop 레포지터리를 clone 받도록 하자. 2. 서버에서 사용될 패키지 update 및 설치 ➤ 사용 가능한 패키지 및 버전 정보 업데이트 $ sudo apt update..
[Docker] docker-compose를 이용한 프로젝트 배포✔️ EC2서버에서 일반적인 Django를 이용한 서버 배포 작업도 도움이 많이 되었다. ❗️ 요즘 추세로 DepOps에서 이용되는 MSA형태의 서버 배포 방식의 기본이 되는 Docker 배포 방식을 익히기 위해 docker-compose로 프로젝트를 배포해 보려고 한다. 🍃 EC2 1. 깃허브 repo 서버로 이동 ➤ 프로젝트 폴더 생성 $ mkdir workspace ✔️ 프로젝트 작업물이 들어가 폴더를 생성한다. ➤ Git repo 받기 $ git clone -b ✔️ 현재 main 레포지터리는 최신 상태가 아니기 때문에 develop 레포지터리를 clone 받도록 하자. 2. 서버에서 사용될 패키지 update 및 설치 ➤ 사용 가능한 패키지 및 버전 정보 업데이트 $ sudo apt update..
2023.05.08 -
✔️ 숫자가 천, 만 단위 이상으로 커지면 한 번에 몇자리 수인지 읽기가 어렵다. 123958674 ✔️ 숫자의 자릿 수를 읽어 천자리 마다 ","를 찍어주는 로직을 넣어 Python의 함수로 만들 수 있겠지만, Python에서는 format이라는 함수가 있기 때문에 이를 이용하여 천자리 마다 ","를 삽입하여 보자. price = 123958674 print(format(price, ',d')) print(format(price, ',f')) ✔️ format() 함수의 첫 번째 인자로 ","를 삽입할 값, 두 번째 인자로는 "d" 또는 "f"를 넣어준다. format(price, ',d'): 정수형으로 format(price, ',f'): 실수형으로 ➤ format() 천단위 삽입 print(form..
[Python] format(천단위 콤마 삽입하기)✔️ 숫자가 천, 만 단위 이상으로 커지면 한 번에 몇자리 수인지 읽기가 어렵다. 123958674 ✔️ 숫자의 자릿 수를 읽어 천자리 마다 ","를 찍어주는 로직을 넣어 Python의 함수로 만들 수 있겠지만, Python에서는 format이라는 함수가 있기 때문에 이를 이용하여 천자리 마다 ","를 삽입하여 보자. price = 123958674 print(format(price, ',d')) print(format(price, ',f')) ✔️ format() 함수의 첫 번째 인자로 ","를 삽입할 값, 두 번째 인자로는 "d" 또는 "f"를 넣어준다. format(price, ',d'): 정수형으로 format(price, ',f'): 실수형으로 ➤ format() 천단위 삽입 print(form..
2023.05.04 -
게시판과 페이징을 구현하며 템플릿 태그를 사용하였다. ✔️ {% csrf_token %}: 서버와 api 통신에 필요한 크로스 사이트 요청 위조를 방지하기 위해 사용되는 태그 ✔️ {% if %}{% else %}: 조건을 이용하여 html에서 python 문법 사용 가능 ✔️ {% for item in items %}: for 루프를 이용하여 html에서 python 문법 사용 가능 🍃 순차적 출력 cycle ✔️ 게시판을 구현하면서 부트스트랩으로 디자인을 입히고, 짝수와 홀수 라인의 백그라운드 색상을 다르게 주었다. 아이디 유저이름 이메일 가입일 페이플랜 가격 {% for user in users %} {{ user.id }} {{ user.username }} {{ user.email }} {{ u..
[Django] 다양한 템플릿 태그게시판과 페이징을 구현하며 템플릿 태그를 사용하였다. ✔️ {% csrf_token %}: 서버와 api 통신에 필요한 크로스 사이트 요청 위조를 방지하기 위해 사용되는 태그 ✔️ {% if %}{% else %}: 조건을 이용하여 html에서 python 문법 사용 가능 ✔️ {% for item in items %}: for 루프를 이용하여 html에서 python 문법 사용 가능 🍃 순차적 출력 cycle ✔️ 게시판을 구현하면서 부트스트랩으로 디자인을 입히고, 짝수와 홀수 라인의 백그라운드 색상을 다르게 주었다. 아이디 유저이름 이메일 가입일 페이플랜 가격 {% for user in users %} {{ user.id }} {{ user.username }} {{ user.email }} {{ u..
2023.05.04 -
장고 게시판을 구현하기 위해 django-seed를 이용하여 임의의 데이터를 만들어보았다. 하지만 무작위 데이터를 생성하기 때문에 이번에는 코드를 작성하여 내가 원하는 데이터를 생성해보려고 한다. ➤ 둘러보기 : Django 게시판 🍃 seed를 이용하여 데이터 생성하기 1. django-seed 설치 $ pip3 install django-seed $ pip3 install psycopg2 $ pip3 freeze > requirements.txt ✔️ 먼저 데이터를 생성할 수 있게 도와주는 seed를 설치하자. 📌 무작위 데이터 생성 방법 $ python3 manage.py seed shortener --number=30 ✔️ 코드 작성 없이 seed만 사용하여 app에 작성된 모델의 데이터를 무작위..
[Django] django-seed를 이용한 데이터 만들기장고 게시판을 구현하기 위해 django-seed를 이용하여 임의의 데이터를 만들어보았다. 하지만 무작위 데이터를 생성하기 때문에 이번에는 코드를 작성하여 내가 원하는 데이터를 생성해보려고 한다. ➤ 둘러보기 : Django 게시판 🍃 seed를 이용하여 데이터 생성하기 1. django-seed 설치 $ pip3 install django-seed $ pip3 install psycopg2 $ pip3 freeze > requirements.txt ✔️ 먼저 데이터를 생성할 수 있게 도와주는 seed를 설치하자. 📌 무작위 데이터 생성 방법 $ python3 manage.py seed shortener --number=30 ✔️ 코드 작성 없이 seed만 사용하여 app에 작성된 모델의 데이터를 무작위..
2023.05.03 -
📌 Django로 커스텀 커맨드 만들기 장고 manage.py에 사용자 지정 커맨드를 만들어 사용할 수 있다.커스텀 커맨드를 작성하는 것으로 manage.py부터 사용할 수 있는 커맨드를 늘릴 수가 있다. 지금부터 원하는 기능을 커맨드로 만들어서 사용하여 보자. 사용자 지정 커맨드 개요 모델 만들기 커맨드 작성 커맨드 실행 커맨드 자세히 알아보기 📌 사용자 지정 커맨드 개요 Django 커스텀 커맨드는 Django에서 생성하는 앱마다 만들 수 있으며, 커스텀 하여 만들어진 커맨드는 manage.py에서 실행할 수 있다. 예를 들어 내가 showuser라는 커맨드를 만들면 아래와 같이 사용할 수 있게된다. python3 manage.py showuser Django에서 관리용으로 모델을 조작하거나 참조하고..
[Django] Django 커스텀 커맨드 만들기📌 Django로 커스텀 커맨드 만들기 장고 manage.py에 사용자 지정 커맨드를 만들어 사용할 수 있다.커스텀 커맨드를 작성하는 것으로 manage.py부터 사용할 수 있는 커맨드를 늘릴 수가 있다. 지금부터 원하는 기능을 커맨드로 만들어서 사용하여 보자. 사용자 지정 커맨드 개요 모델 만들기 커맨드 작성 커맨드 실행 커맨드 자세히 알아보기 📌 사용자 지정 커맨드 개요 Django 커스텀 커맨드는 Django에서 생성하는 앱마다 만들 수 있으며, 커스텀 하여 만들어진 커맨드는 manage.py에서 실행할 수 있다. 예를 들어 내가 showuser라는 커맨드를 만들면 아래와 같이 사용할 수 있게된다. python3 manage.py showuser Django에서 관리용으로 모델을 조작하거나 참조하고..
2023.05.02 -
📌 Node.js 백엔드 기초강의 이 기초강의 내용은 유튜브 조코딩 JoCoding님의 "한 시간 만에 Node.js 백엔드 기초 끝내기(ft. API구축)"이라는 제목을 가진 Node.js의 기본영상이다. 길이는 1시간 정도로 Node.js가 무엇이고 어떻게 사용되는지 알아보기 위해 부트캠프 수료식 가는 지하철에서 1시간 정도 가볍게 봤었는데 Node.js를 시작하기 좋은 강의라 생각이 들어 다시 한번 시청하면서 강의 내용을 정리해 보려고 한다. 출처 : 조코딩 JoCoding -한시간만에 Node.js 백엔드 기초 끝내기(ft. API구축) 📌 Node.js란 무엇인가? 지금 메인으로 사용하고 있는 python 언어는 컴퓨터에 설치해야 사용이 가능한 백엔드 언어이다. 하지만 javascript는 설치..
[Node] node.js를 이용하여 서버통신 구현하기📌 Node.js 백엔드 기초강의 이 기초강의 내용은 유튜브 조코딩 JoCoding님의 "한 시간 만에 Node.js 백엔드 기초 끝내기(ft. API구축)"이라는 제목을 가진 Node.js의 기본영상이다. 길이는 1시간 정도로 Node.js가 무엇이고 어떻게 사용되는지 알아보기 위해 부트캠프 수료식 가는 지하철에서 1시간 정도 가볍게 봤었는데 Node.js를 시작하기 좋은 강의라 생각이 들어 다시 한번 시청하면서 강의 내용을 정리해 보려고 한다. 출처 : 조코딩 JoCoding -한시간만에 Node.js 백엔드 기초 끝내기(ft. API구축) 📌 Node.js란 무엇인가? 지금 메인으로 사용하고 있는 python 언어는 컴퓨터에 설치해야 사용이 가능한 백엔드 언어이다. 하지만 javascript는 설치..
2023.04.19