본문 바로가기

728x90
반응형

programming

(130)
BFF - Backend for Frontend BFF - Backend for Frontend 프론트엔드를 위한 백엔드 서버. 모바일, 앱, 글로벌 서비스 등 다양한 형태의 프론트엔드 클라이언트가 존재하기 때문에 각 클라이언트에 맞는 백앤드 서버를 두는 것. 이 패턴을 쓰는 이유가 궁금해서 찾아봤었다. 일단 의문이 api gateway를 두면 되는데 왜 굳이 한 클라이언트 당 또 백서버를 두는지 그 이유가 궁금했다. gateway는 여러 클라이언트가 다야한 서비스에 요청을 보내게 될 때 호출 관계를 정리하기 위해 사용한다. 예를 들어 web에서 물건을 주문하게 될 때, list api, order api 등 여러 백 서비스의 라우팅을 담당하게 된다. 하지만 bff는 api gateway 앞에 서버를 하나 더 두는 방식이다. 그 이유는 클라이언트 별로..
NoSQL 프로젝트 진행하고 또 이런저런 자료를 뒤적이다 보니 nosql이라는 용어가 계속 나와서 정리겸 공부하기 위해 쓰는 블로그. 일단 nosql이란 말 그대로 기존의 rdbms가 아닌 db들을 의미한다. 우리가 일반적으로 알고 사용하는 oracle, mysql, mariadb, sqlite 등은 전부 sql이다. 그렇다면 nosql은 뭘까 정리해보도록 하겠다. 일단 사전적 정의는 : 기존의 관게형 데이터베이스 시스템의 주요 특성을 보장하는 ACID(Atomic, Consistency, integrity, Durability)특성을 제공하지 않는 덜 제한적인 데이터베이스를 의미한다. 기존에 사용하는 dbms는 행과 테이블을 사용하여 데이터구조에 제약이 크다. 하지만 NoSQL은 다양한 데이터 모델을 제공하여 대..
Dbeaver "The server time zone value 'KST' is unrecognized" 에러 DBeaver를 쓰는데 mysql 연결시에 위와 같은 오류가 발생한 경우 -> 타임존 설정을 안해줘서 그렇다 해당 DB 선택후 우클릭 Edit Connection Server Time Zone을 Asia/Seoul로 바꾸고 Test Connection 해보면 잘 된다.
curl: (6) Could not resolve host 에러 해결 curl: (6) Could not resolve host 발생시 해결방법 1. /etc/resolv.conf 수정 근데 나같이 리눅스도 익숙하지 않은 개발자들은 그래서 어떻게 수정하는데.. 부터 막막할 수 있음 1.1. sudo chmod 764 resolv.conf - sudo 안붙이면 안됨 권한을 일단 줘봤어요 안그래도 될 수도 있음 1.2. sudo vi /etc/resolv.conf - 마찬가지로 sudo 안붙이면 안됨 2. 수정방법 vi로 켰기 때문에 vi 단축키도 알아야함 저는 익숙해졌는데 모르는 분들을 위해 2.1. i 누르고 입력모드 2.2. search 8.8.4.4 nameserver 8.8.8.8 추가 2.3 esc눌러서 입력모드 종료 2.4 :wq! 입력으로 저장 실제로 conf ..
[Python] 프로그래머스 로또의 최고 순위와 최저 순위 - level1 그렇게 어렵지는 않았었다. 일단 0이 (미지수) 몇개 있는지 세주고, 로또를 맞춘 번호가 있으면 match에 1씩 더해준다. match에 미지수의 갯수를 더하면 최고순위, match만 세면 최저순위가 된다. 등수를 맞춰줘야 하는데, 그건 dict를 사용해서 switch~case 구문처럼 사용했다. 그리고 answer list에 extends 해서 값을 하나씩 더해 리턴해줬다. def score(key): list={0:6,1:6,2:5,3:4,4:3,5:2,6:1}.get(key) return list def solution(lottos, win_nums): answer = [] zero=lottos.count(0) best=0 worst=0 match=0 for i in win_nums: if i in..
국비 교육 - 수료 길고긴 5.5개월이 금방 지나갔다. 마지막으로 만든 개인 프로젝트 링크로 오늘의 포스팅을 대체하겠다. https://youtu.be/wLmwRVu7134
국비 교육 109일차 - django cookie사용 자바에서 쿠키를 사용해봤듯이 파이썬 장고에서도 쿠키를 사용할 수 있다. 오늘은 일단 이걸 연습해보겠다. 가장 중요한 파일은 views이다. 세션에다 쿠키를 저장하기 때문에 작동원리를 이해하고 사용을 할 수 있어야 한다. {% for row in rd%} Lorem ipsum... {% endfor %} 디테일을 넘어가기 전에 detail_before를 걸어준다. 디테일 화면을 보여주기전에 먼저 정보를 저장하고 들어가야해서 이렇게 써줘야 한다. def recipe_before(request): # 쿠키 저장 no=request.GET['no'] response=redirect('/recipe/recipe_detail/?no='+str(no)) response.set_cookie(f"k{no}",no,60*..
국비 교육 106일차 - ORM 게시판 만들기,MySQL 사용 정말 막바지를 향해 달려가고 있다.. 오늘은 ORM을 사용해서 게시판을 만드는걸 배웠다. 저번에 한번 했지만 이번에 더 자세하게 배웠다. 일단 pycharm에서 mysql을 사용하려면 이렇게 먼저 등록을 해주어야 한다. DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'sist', 'USER': 'root', 'PASSWORD':'1234', 'HOST':'', 'PORT':'' } } views.py에서는 원래 만들어져있는 클래스를 import받아와서 사용을 한다. from django.db.models import F from django.shortcuts import render from django.views.gen..
국비 교육 105일차 - django project 마무리(사진 등록, 템플릿 적용) 오늘도 게시판을 만들어서 별 다르게 새로 배운건 없어서 처음 배운 부분만 블로깅해보려고 한다. 사진을 넣는 방법이 달라서 정리를 해보고자 한다. 사진 파일들은 static 폴더에 저장을 해두고 불러와야 하는데, 저 static 폴더 경로를 읽기 위해서는 settings.py 파일에서 변경이 필요하다. # 이미지, 동영상 출력시에 STATIC_URL = '/static/' STATICFILES_DIRS=[ os.path.join(BASE_DIR,'totalapp','static') ] STATIC_ROOT=os.path.join(BASE_DIR,'static') 위와 같이 path를 등록해준다. static 폴더안에 저장해준 그림 파일을 위와 같이 받아와서 출력을 해준다. 그리고 템플릿을 구해와서 출력해본..
국비 교육 104일차 - django project (include, page block.. ) 게시판에 이어서 여러 데이터를 출력하고 뿌리는 프로젝트를 완성해나가고 있다. 다 볼 필요는 없을거 같고 중요한 부분 몇가지만 추려서 개인 프로젝트에 적용도 하고 블로깅으로 기록도 남길 생각이다. 페이지 블록 나누기 일단 필요한 값을 dao에서 보내준다. 이때 필요한 정보는 totalpage, 즉 몇 페이지까지 있는지에 대한 정보가 필요하다. def movie_list(page): conn=getConnection() cursor=conn.cursor() rowSize = 12 start = (rowSize * page) - (rowSize - 1) end = rowSize * page sql = f""" SELECT mno,poster,title,num FROM (SELECT mno,poster,titl..

728x90
반응형