프로젝트/hyper-V 웹서비스 8

전체 서비스 알고리즘 프로세스 + 느낀점

DataFlow관점에서 전체 프로세스 외부 API사용경험이 된 결제 API 프로세스 프로젝트를 통해 얻은 기술 1. (json)REST API통신 이해 2. 해쉬를 이용한 보안 3. 세션을 이용한 보안및 응용기술 4. NoSQL, RDBS구현 -특히 MongoDB 5. DB중점 알고리즘 구현능력 6. Docker사용시 이점과 사용방법 숙달 7. AWS를 통한 배포 8. 서버 백그라운드 스케쥴러(BackgroundSchedular) 응용 및 구현경험 10.python, flask 숙달 11. 기본적인 프론트 지식(템플릿 수정 및 창조) 12. shellscript 문법+C#코딩 깨달았습니다.. 적절한 위치에 용도에 맞는 적절한 데이터로그를 수집해두면, 서비스의 질을 높일 수 있는 자산이 된다는 점을 깨달았..

[hyper-V 웹 서비스]7.결제 API 구현하기[RESTFUL API!]

해야 할 일 1.html로 결제실행 페이지와 결제 완료페이지를 만들기. 2.백엔드 구현 1.결제 페이지 간단하게 결제 버튼만 구현했다. 유저친화적인 설계덕분에 유저가 할 일은 결제버튼을 누르는 일 뿐이다. 결제 준비단계에 필요한 유저 식별 정보와 상품 정보, 할인율(이 또한 어드민 전용 DB에서 조정할 수 있다.)등을 세션과 DB를 유기적으로 조작해 request 해주면 된다. 결제부분의 서버는 Flask의 BluePrint를 활용하여 개발했다. pay.py: @bp.route('/point', methods=['GET','POST']) def point(): user_id = session.get('login',None) if user_id == None: return redirect(url_for("..

[hyper-V 웹 서비스]6.결제 API 이해하기

들어가기 앞서 구현하다보니 들은 생각이지만 flask를 얼른 때려치우고 Django를 배워야 할것같다. flask도 많은 필수기능을 제공하긴 하지만, 자료양이 너무 적어서 참고할 수 있는 코드가 거의 없다시피 했다. 한번도 해본 적 없는 기능이기 때문에, 처음은 항상 쉽지 않았다. 하지만 내가 가장 잘하는 일은 이해하고 일단 만들어보는 것이기에 일단 카카오페이 api를 확인해 보았다. 내가 구현할 기능인 단건 결제이다. 이해한 바로는 크게 세 단계로 구성이 되는데, 순서는 다음과 같다. 1. 결제 준비 2. 결제 요청 3. 결제 승인 한 단계씩 구성해보며 따라가보자 1.결제 준비 결제 준비 단계에서 request를 해줄 json 형식은 다음과 같다. 이런 형식으로 만들어 request를 해주면, 다음과 ..

[hyper-V 웹 서비스]5.Hyper-v 자동생성 기능 구현 알고리즘 -2

Hyper-V Cmdlet 활용 알고리즘 고안하기 일단 생성파일을 실행시키도록 하는 기능은 해결되었으니, 이제 알고리즘을 구현할 시간이 왔다. 앞 글에서 언급했다시피, Hyper-V는 Power-shell Cmdlet을 지원한다. 서버에서 생성파일을 실행시킬때 필요한 정보들을 인자로 넘겨줄 수 없기때문에, DB의 정보를 불러와서 생성하는 알고리즘을 고안할 필요가 있었다. 요점은 생성파일이 만들어야할 서버정보를 인지하는데 식별할수있는 컬럼을 추가하는 아이디어이다. 알고리즘 : 1. 유저가 서버를 생성요청을 한다. 2,서버 생성에 필요한 정보를 입력하면, Vm정보가 저장된다. 이때 저장되는 컬럼중 trans의 값을 True로 저장한다. 참고로, service_num은 미리 옵션별 스펙을 어드민이 관리하는 D..

[hyper-V 웹서비스]4.Hyper-v 자동생성 기능 구현(매우중요) -1

들어가기 앞서 Hyper-V를 자동화 하는것이 프로젝트의 가장 핵심적인 과제였고, 앞서나간 이들이 없었기 때문에 사실상 맨땅에 헤딩이었다. 사실상 이 기능을 구현하지 못하면 앞서 만든 기능들이 쓸모 없어지기 때문에 심리적으로 많이 고생한것 같았다. 결론을 먼저 말하자면 밤새 여러 시도끝에 성공하고 치킨을 시켰으나 아침해가 떠서 열어있는 치킨집이 없었다고 한다. ㅎㅎ Hyper-V Cmdlet이 되는지 확인좀 해봅시다 Hyper-V를 컨트롤 할 수 있는 powershell Cmdlet의 document의 링크를 동봉해 드리겠 습니다 https://docs.microsoft.com/en-us/powershell/module/hyper-v/?view=windowsserver2022-ps&viewFallback..

[hyper-V 웹서비스]3. flask로 MongoDB에서 가져온 정보 html에 넘겨주기

만들고 싶은 기능이 생겼어요 로그인 하고 메인 페이지에 들어갔을때, 유저정보와 현재 생성되어있는 VM을 보여주는 기능을 만들어보고 싶다. @app.route('/') def main(): user_id = session.get('login',None) if user_id == None: return redirect(url_for("login"))#로그인 확인 elif user_id == "admin": return redirect(url_for("Admin"))#어드민 접속이면 가격관리페이지로 넘김 else: user_info = user.find_one({"user_id":user_id}) Vm_info = Vm.find_one({"user_id":user_id}) service_num = Vm_inf..

[hyper-V 웹서비스]2. flask로 로그인 기능 구현

1. 로그인 구현하기 저번 글에서 DB안에 유저 정보를 넣었으니, 이제 꺼내 볼 차례이다. 전과 마찬가지로 할 일을 적어보자. -유저에게 로그인정보 받아오기(id,pw) -DB안의 정보와 비교해서 일치하면 로그인 시켜주기 MongoDB의 파이썬 내 CRUD는 어렵지 않은데, 문제는 로그인 시켜주기이다. 로그인을 시켜준다는건 뭘 뜻하는 걸까? 로그인이 되었다는 것은 기능을 갖고 작동할 앞으로의 페이지들이 현재 로그인 한 유저를 인식한다는 뜻이다. 즉, 사용자에 대한 연속성을 유지하는 개념이라고 볼 수 있다. 방식은 크게 두가지를 사용할 수 있다. 1.토큰 2.세션 토큰은 정보를 클라이언트가 직접 가지고있다가 서버가 요청할때 받는 정보를 뜻한다. 그렇다. 보안을 생각하면 멀리해야 할 물건이다. 열쇠를 전단지..

[hyper-V 웹서비스]1. flask로 회원가입 기능 구현

1.일단 시작하는 웹서비스 기존 RDBMS가 일관성 모델 때문에 가질 수 없었던 확장성, 유연성, 고성능, 고기능성을 확보하기 위해 noSQL을 사용하기로 결정 2. 페이지가 수행해야 하는 Missons 우선 뭘 해야하고, 그걸 위해 무엇이 필요한지 생각해볼 필요가 있다. 이는 창조행위가 가져야할 응당한 자세이다. 무얼 해야할까? -가입페이지 보여주기 -가입페이지에 정보를 입력하면 서버로 가져와 유저 정보에 저장 3. 일단 만들어보자 register.html (일부) 회원가입 bootstrap은 참 좋은 친구다. 12구역에 대한 이해만 있으면 내 입맛대로 커스텀하는건 식은죽 먹기이기 때문. 이에 대한 설명은 나중에 해보도록 하고, 아무튼 위처럼 가입정보를 받아오도록 했다. flask의 request.fo..