본문 바로가기

분류 전체보기186

백준 2902 - KMP는 왜 KMP일까? n = list(input().split('-')) starr = [] for i in range(len(n)): starr.append(n[i][0]) result = ''.join(s for s in starr) print(result) 2022. 11. 28.
[플라스크] 모놀리식 아키텍처 / 마이크로 서비스 아키텍처 모놀리식 아키텍처 모놀리식 아키텍처는 소프트웨어 프로그램의 전통적인 모델로, 자체 포함 방식이며 다른 애플리케이션과 독립적인 통합된 유닛으로 만들어집니다. 모든 비즈니스 관련 사항을 함께 결합하는 하나의 코드 베이스를 갖춘 대규모의 단일 컴퓨팅 네트워크로 이러한 종류의 애플리케이션을 변경하려면 코드 베이스에 액세스하고 서비스 측 인터페이스의 업데이트된 버전을 구축 및 배포하여 전체 스택을 업데이트해야 한다는 특징이 있습니다. 장점 1. 손쉬운 배포 : 실행 파일 또는 디렉토리가 하나여서 배포가 더 쉬움 2. 쉬운 개발 : 하나의 코드 베이스로 애플리케이션을 구축하여 개발이 더 쉬워짐 3. 성능 : 중앙 집중식 코드 베이스 및 리포지토리에서는 대부분 하나의 API만으로 마이크로서비스에서 여러 API가 수행.. 2022. 11. 27.
[플라스크] - 비즈니스 로직 비즈니스 로직은 컴퓨터 프로그램에서 데이터를 생성/표시/저장/변경 하는 부분을 말합니다. 현재 진행하고 있는 플라스크 인스타그램 서비스에서의 비즈니스 로직은 주로 api/resources에 정의되어 있습니다. @classmethod @jwt_required() def put(cls, id): """ 게시물의 전체 내용을 받아서 게시물을 수정 없는 리소스를 수정하려고 한다면 HTTP 404 상태 코드와 에러 메시지를, 그렇지 않은 경우라면 수정을 진행 """ post_json = request.get_json() # first-fail 을 위한 입력 데이터 검증 validate_result = post_schema.validate(post_json) if validate_result: return vali.. 2022. 11. 27.
Flask - 인스타그램 클론코딩(댓글 수정, 삭제 구현) 구현하기에 앞서 댓글 수정 및 삭제는 작성자만 수행할 수 있는 기능이라는 생각이 들어 유저를 구분해줄 수 있는 jwt를 사용해주어야 겠다는 생각이 들었다. PUT 구현하기 앞서 댓글의 경우 기본적으로는 게시물 수정과 비슷하나, 게시물 id 뿐만아니라 해당 댓글의 id 또한 필요함을 알 수 있다. 따라서 class CommentDetail(Resource): @classmethod @jwt_required() def put(cls, post_id, comment_id): comment_json = request.get_json() username = get_jwt_identity() author_id = UserModel.find_by_username(username).id comment = Comment.. 2022. 11. 20.