본문 바로가기

728x90
반응형

전체 글

(260)
Javascript: slide # 무한 슬라이드 Javascript를 이용해서 무한 슬라이드를 구현해보자 HTML CSS .rank-banner { position: relative; overflow: hidden; } .slide-content { position: absolute; } Javascript const slideContainer = document.querySelector(".slide-content"); // slide 틀을 잡아줄 container const containerLength = slideContainer.children.length; const slideItemWidth = slideContainer.children[0].offsetWidth; let slideCount = 0; function slideBanner()..
Python: Error handling # 에러를 어떻게 다룰지를 쉽게 파악해보자 Error handling을 어떻게 할지 도구들을 살펴보자 def is_callable(obj): try: call_result = obj() return {"callable":True, "result": call_result} except: return {"callable":False, "result": obj} try: """Some Error Logic""" except Exception as e: for i in dir(e): print(i, is_callable(eval(f"e.{i}"))) 위와 같이 하면 Exception을 어떤 method를 통해 다룰지 살펴보기 좋다.
image 꽉 채우기 # 이미지간 딱 붙도록 경계 제거 1. HTML 2. CSS .flex { display: flex; } * 결과물 위 빨간선으로 표시한 것처럼 여백이 생긴다. 딱 붙여주고 싶다. 아래와 같이 css 적용 .small-img { display: block; }
Python: 중첩 list comprehension # 이중 컴프리헨션 # itertools # chain 리스트 안에 리스트가 담긴 형태, 다른 표현으로는, 2차원 행렬을 하나의 리스트로 담고자 할때 다음과 같이 사용 가능 test_list = [[a,b], [c,d], [e,f]] new_list = [j for i in test_list for j in i] itertools 라이브러리의 chain.from_iterbale()을 통해서도 가능 from itertools import chain test_list = [[a,b], [c,d], [e,f]] new_list = list(chain.from_iterable(test_list)) 결과: [a,b,c,d,e,f]
Python: 색 추출 # pick color # PIL Python pillow, PIL.image 를 활용해서 가장 많이 사용된 색깔과 가운데 사용된 색깔을 추출해보자 우선 Pillow library 설치 $ pip install Pillow 1. 가장 많이 사용된 색 추출 from PIL import Image from collections import Counter def get_most_used_color(image_path): # Open the image using Pillow image = Image.open(image_path) # Convert the image to RGB mode (in case it's grayscale or has an alpha channel) image = image.convert('RGB') # Get the wi..
Python Django: select_related 언제 쓰고, 왜 쓰냐? 1) select_related 예시 1. my_fr = MyFruit.objects.get(fruit_id=fr_id, customer=customer) 2. my_fr = MyFruit.objects.select_related('fruit').get(fruit_id=fr_id, customer=customer) 1과 2는 어떤게 더 효율적이거나 좋은 방법일까? ------------- 1과 2 중 더 효율적인 방법은 상황에 따라 다르다. my_fr = MyFruit.objects.get(fruit_id=fr_id, customer=customer) 이 방법은 MyFruit 객체를 가져올 때, 연결된 fruit 객체는 가져오지 않습니다. 따라서 이후에 my_fr.fruit에 접근..
Python Django: 동시 접속 로그인 막기 # session # session_key Django를 통해서 동시 접속을 막기 원리: 로그인 할 때 생기는 session_key를 DB에 저장 하고, 새로 로그인이 될 때 기존 session_key를 유저의 DB에서 불러와서 DB의 Session에서 해당 session_key를 지움으로써 기존 로그인은 해지 시키기 # models.py class User(AbstractUser): username = models.CharField(max_length=150) session_key = models.CharField(max_length=40, null=True, blank=True) # views.py from django.contrib import auth user = User.objects.get("로그인하려는 유저") if user.sess..
Docker: docker cp # 호스트 파일 container 안으로 복사 docker cp -a ./ abc:/usr/src/app/ docker cp 명령어는 Docker 컨테이너와 호스트 시스템 간에 파일이나 디렉터리를 복사하는 데 사용됩니다. 위 명령어는 다음과 같은 작업을 수행합니다. -a 옵션: 이 옵션은 파일이나 디렉터리의 소유자, 그룹, 퍼미션 등 메타데이터를 유지하면서 복사하는데 사용됩니다. 이를 통해 원본 파일의 속성이 대상 파일에도 그대로 적용됩니다. ./: 현재 작업 디렉터리에 있는 모든 파일 및 디렉터리를 복사합니다. abc: 이 이름을 가진 실행 중인 Docker 컨테이너를 찾습니다. /usr/src/app/: 컨테이너 내에서 파일 또는 디렉터리가 복사될 대상 경로를 지정합니다. 따라서 이 명령어는 현재 작업 디렉터리의 모든 파일 및 디렉터리를 "abc..

728x90
반응형