대게 웹 서비스를 개발할때 MVC 패턴이라는 디자인 패턴중 하나를 사용하게된다. 장고는 이 MVC패턴과 유사한 MTV 패턴을 사용한다. 졸업프로젝트로 서버를 개발하다 급하게 특정 서비스를 배포하기 위해 파이썬을 사용해야 할때가 생겨서 장고를 사용한 적이 있다. 원래 스프링으로 개발했기 때문에 MVC패턴에만 익숙한 상황에서 장고를 쓰다보니 기본적인 기능조차 이해가 되지 않았고, 구현하는데도 한참 걸렸다. MVC 패턴에 관한 글 보러가기 ➡ Web Service - MVC 패턴 (tistory.com) Web Service - MVC 패턴 서버 개발자로 지원할때(웹 프론트나 모바일 애플리케이션은 지원해본적이없어서 모르겠다) 단골로 등장하는 질문이다. MVC패턴에 대해 설명해주세요 누군가가 이것에대해 설명해달..
이와같은 MVC패턴 구조를 갖도록 개발을 할때, 스프링부트(혹은 스프링)을 이용하면 데이터에 접근하기위해 DAO, DTO, VO, Entity라는 개념을 사용하게 된다. 이에 대해 한번 정리를 해보고자 한다. Domain 소프트웨어로 해결하고자 하는 모든것을 통틀어서 부르는 말. 소프트웨어로 개발하려는 혹은 개발한 특정 개념들을 묶은 것이라고 이해하시면 됩니다. 예를들어, 크게는 쇼핑몰 도메인, 작게는 주문 도메인 등에 해당합니다. 출처 : OKKY - DAO, DTO, VO 개념이 정확히 뭔가요? 소프트웨어로 하고자하는 모든 것을 일컫는 표현이라고 받아들였다. DAO - Data Access Object 실제로 DB에 접근에서 데이터에 대해 CRUD를 수행할 객체이다. (데이터베이스를 객체로 표현하는 ..
서버 개발자로 지원할때(웹 프론트나 모바일 애플리케이션은 지원해본적이없어서 모르겠다) 단골로 등장하는 질문이다. MVC패턴에 대해 설명해주세요 누군가가 이것에대해 설명해달라고하면 늘 두루뭉실하게 대답하는 것 같아서 이번 기회에 제대로 정리를 해두려고 한다. MVC Pattern 바퀴를 재발명하지마라. 라는 유명한 말이 있다. 어떤 프로젝트를 개발할때 처음부터 모든것을 하나하나 스스로 개발하려고 한다면 엄청난 노력과 시간이 걸릴 것이다. 또한 누군가가 자신의 입맛대로 만든다면 추후에 다른 개발자가 유지보수하기에도 힘들 것이다. 이에 대해 유지보수를 포함한 모든과정을 보다 쉽고 편리하게 만들기위해 디자인패턴이라는 것이 존재한다. 디자인패턴이란? 프로그램이나 어떤 특정한 것을 개발하는 중에 발생했던 문제점들을..
목차 배경 스프링부트(Sping Boot)를 이용하여 구현한 서버를 AWS Ec2 머신을 활용하여 public ip주소를 할당받아 배포하는 방법이다. git과 aws만 다뤄본 경험이 있다면 어렵지 않게 따라 할 수있다. 빌드도구로는 Maven을 사용하였다. 각자 로컬 머신에서 구현한 프로젝트를 사용하는 깃허브 계정에 올려두는 것까지는 완료가 되었다고 가정하고 진행하겠다. 1. EC2 머신 사용하기 예전에 올렸던 아래 글을 참고하면 된다. AWS - EC2 할당받아 가상컴퓨터 사용하기 (tistory.com) AWS - EC2 할당받아 가상컴퓨터 사용하기 여러 조그만 프로젝트를 진행할수록 aws와 구글이 최고란걸 느낀다. 지금 포스팅하는 가상 컴퓨팅은 피지컬적 한계를 해결해주기도하고. google clou..
웹 페이지의 HTML과 비슷하게 출력할 사운드를 에쁘게 꾸며주는 SSML 태그가 존재한다 캡스톤 프로젝트로 진행하는 책읽어주는 AI 스피커에서 이 SSML 태그를 활용하여 스피커가 읽어주는 사운드의 퀄리티를 높이려고 시도해봤는데, 생각보다 구글에서 제공하는 SSML태그가 다양하지 않고, 나는 할머니와 어린아이의 목소리로 출력해주는 태그와 동화책을 읽어주는 태그가 필요한데 존재하지 않는 것 같아서 (사용법을 잘모르기도하고) 제대로 쓸 수 있을지는 모르겠다. SSML로 주소 말하기 | Cloud Text-to-Speech 문서 | Google Cloud SSML로 주소 말하기 | Cloud Text-to-Speech 문서 | Google Cloud 이 가이드에서는 음성 합성 마크업 언어(SSML)를 사용하여..
Development Restful Web Server 학부 졸업 프로젝트로 모바일 어플리케이션제작을 진행하고 있는데, 그 중 Spring Boot Framework를 통한 서버 개발을 하는 중이다. (Spring Boot는 Spring의 러닝커브를 줄이고자 어느정도의 환경을 설정해주고 여러 스프링의 기능들을 응용하기 쉽게 도와주는 프레임워크이다. 원래 Spring으로 서버 개발을 하려고 했으나, 익숙치않고 너무 어려워서 Spring Boot로 노선을 바꾸게 되었다.) 처음엔 관심있는 분야가 웹 서버 개발이였고 모바일 앱을 구현하기로 했을때, 구조가 다를거라 생각해서 조금 걱정되었지만 크게 다를 바 없었다. 단지 이 웹 어플리케이션 구조에서 Client가 안드로이드(Java/Kotlin) 혹은 iOS(S..
캡스톤디자인 프로젝트의 주제로 사용자의 취침시간에 최적화된 AI스피커를 삼았다. 본격적으로 구현하기에 앞서 주 요구사항을 분석하고 기능을 설계하기위해 기존에 상용화된 AI 스피커, 그들 중 애플의 HomePod mini를 분석하였다. Homepod ? Apple사에서 개발한 스마트 스피커(Ai스피커)이다. 2017년 6월 출시되었으며 한국에는 미출시하였다. 당연히 한국어도 지원하지 않는다. 하지만 지난 2021년 3월 14일 애플에서는 Homepod은 단종시키고 Homepod mini에만 집중하겠다고 발표하였다. 출처 : 애플, 홈팟 단종... 실패한 이유는 : 네이버 블로그 (naver.com) 애플, 홈팟 단종... 실패한 이유는 애플이 5년간 공을 들여 제작한 스마트 스피커 홈팟(Homepod)이 ..
What is Database? - 작성된 목록으로써 여러 운용프로그램과 작성된 목록으로써 여러 응용 시스템들의 통합된 정보들을 저장하여 운영할 수 있는 공둉 데이터들의 묶음 대표적인 4가지 DB 종류 관계형 데이터베이스(RDB, Relational DataBase) :행과 열로 구성된 테이블을 갖는 구조, SQL을 통해 데이터에 접근 및 관리 NoSQL :RDB에 비해 덜 제한적인 일관성 모델 사용, 키-값 pair형태로 저장, 키(key)값을 이용해 데이터에 접근 및 관리 계층형 데이터베이스 : 데이터를 트리 구조로 정의, 부모,자식형태를 갖는 구조, 데이터 중복의 문제발생 네트워크형 데이터베이스 : 레코드간의 다양한 관계를 그물처럼 갖는 구조, 구조가 복잡해서 유지보수가어려움 계층형 데이터베이스의 ..
Server Development 애플리케이션의 로직을 구현할 서버프로그램을 제작하여 WAS에 탑재 서버 프로그램 개발 시 다양한 네트워크 설정, 요청 및 응답처리, 아키텍처 모델 구현등을 손쉽게 처리할 수 있도록 클래스나 인터페이스를 제공하는 소프트웨어 서버 개발 프레임워크에 따라 지원하는 프로그래밍 언어가 제한적이므로 선정할 수 있는 프레임워크도 제한적 서버 개발 프레임워크의 대부분은 모델-뷰-컨트롤러 MVC패턴을 기반으로 개발됨 1. 클라이언트가 API로 데이터를 요청 Client → Controller 2. 데이터베이스에 데이터를 요청 Controller → Model 3. 요청에 따라서 데이터를 관리 및 응답 Model → Controller 4. 응답 받은 데이터를 클라이언트로 전송 Contr..