본문 바로가기

프로그래밍27

[Flask/APScheduler] 순환 참조로 인한 초기화 오류 해결 주기적으로 요청해야하는 프로그램이 있어 스케쥴러 프로그램을 작성했더니 (flask) from apscheduler.schedulers.background import BackgroundScheduler from flask import Flask from .batch import check_not_answer_question from .database import db from . import config from sqlalchemy import text from .routes import routes_bp global_api_key = config.API_KEY def create_app(): app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = .. 2024. 3. 1.
알고리즘에서 쓰이는 자료구조(데이터타입) 자바 알고리즘에서 주로 쓰이는 데이터 타입들을 한번 정리하고 가기 위해.. 작성한 글이다. Tree나 Map과 HashTable의 경우 서로 겹치는 클래스들이 많다. (단순히 Map의 역할만하지않고 순서를 신경쓰는 Map의 경우 LinkedHashMap을 쓴다던가 서로의 역할이 겹치는 경우가 많음) 배열 (Array): 연속된 메모리 공간에 같은 데이터 타입의 원소를 저장. 인덱스를 통해 원소에 접근할 수 있으며, 원소의 삽입과 삭제가 비효율적인 편. 이전에 정리한 적 있음 https://lets-do-the-odessey.tistory.com/60 리스트 (List): 원소들을 순서대로 저장하는 자료구조로, 주요한 종류로는 ArrayList와 LinkedList. ArrayList는 배열 기반으로 동작.. 2023. 11. 24.
Java Array Sorting 정리 파이썬과 다르게 자바는 ArrayList같은것을 사용하지않으면 단순array에선 바로 sort하는 기능이 없고 util 라이브러리를 import해서 사용해야한다. 오늘은 내가 알고리즘 테스트를 준비하는 겸.. 기본 자료구조에 대해 정리해보고자한다. 1. int array 정렬 Arrays.sort()를 사용하지 않는 경우 이 경우 선택정렬의 알고리즘이기때문에 시간복잡도 O(n^2)이다. 이렇게 정렬했다가는 알고리즘테스트에서 폭망한다. int[] arr = {5, 3, 8, 2, 1, 4}; int n = arr.length; for (int i = 0; i arr[j + 1]) { //.. 2023. 11. 18.
지그재그 로그인 오류 왜 발생한걸까? 이번 지그재그에서 다른 사람 계정으로 로그인되는 등 보안이슈가 있었죠. 해당 원인은 Redis문제 였던 걸로 보이는데요. 이미 Chat GPT를 사용하는 OPEN AI에서도 비슷한 문제를 일으킨 적이 있어 관련 분석 기사가 있습니다. https://thehackernews.com/2023/03/openai-reveals-redis-bug-behind-chatgpt.html?m=1 OpenAI Reveals Redis Bug Behind ChatGPT User Data Exposure Incident OpenAI discloses a Redis bug causing certain ChatGPT users' personal info and chat titles to be exposed. thehackerne.. 2023. 11. 10.
Cors 오류 왜 생기는걸까? 이전 프론트분과 협업했을 당시 구글 클라우드 버킷에 업로드한 이미지가 종종 떴다가 안떴다가하며 안뜰때는 이런 오류를 뱉는다고 하셨다. 메세지를 자세히 보면 이렇다. Access to image at 'https://storage.googleapis.com/lookids-image-search/closet_data/top04.png' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. 이 당시 클라우드 버킷을 관리하던 건 나였기에 내가 이 문제를 해결해야했다. 이전까진 막연히만 알고있던 CORS 에.. 2023. 11. 9.
깃헙 리드미(.Readme)엔 뭐가 들어가야할까? 개발자라면 마크다운을 통해 리드미를 작성해보았거나, 다른 사람이 작성한 리드미를 본 적이 있다. 프로젝트 자체를 잘 끝내는 것도 중요하지만 진짜 끝! 이라고 하기위해선 해당 프로젝트를 남들이 볼 수 있게 요약본을 잘 작성하는 것도 중요하다. 여기서 해당 프로젝트가 무엇이고 어떻게 사용하는지를 소개하는 글이 리드미다. 목차 그렇다면 리드미를 왜쓰는 걸까? 그래서 어떻게 써야 잘쓴걸까? 활용 예시 리드미를 왜 써야할까? 우선은 리드미는 프로젝트의 첫 인상에 큰 영향을 준다. 깔끔하고 정보가 잘 정리된 리드미는 프로젝트에 대한 신뢰감을 주며 관심을 끌 수 있다. 이게 가장 중요한건데, 리드미는 결국 개발자의 포트폴리오다. 개발자는 이력서를 제출하는 것 만큼이나 포트폴리오가 중요한다. 이때 잘 작성한 리드미는 .. 2023. 10. 19.