본문 바로가기
반응형

Project/소경관72

[소경관] : 로컬 데이터베이스 설정 및 프론트 마저 진행하기 AWS에서 하다가 요금이 자꾸 나와서 일단 로컬에 하기로 했다. 이 외에도 깔끔하게 남기기 위해 로컬에 하기로 했다. Thymeleaf 사용 배운 타임리프 문법을 사용하기 시작했다. 이렇게 href 경로도 걸어줘보고 회원가입 이렇게 onclick도 사용해 봤다. 앞으로 천천히 따로 공부한 내용을 이렇게 적용해 보면서 프로젝트를 완성시킬 예정이다. 소경관 로그인 화면 다듬기 로그인 부분 데이터 넘겨주는 작업을 나중에 해야하고 아래 카피라이터 부분도 수정해 줘야 한다. 백그라운드 이미지도 새로 넣어줘야하고.. 회원가입이랑 비밀번호 찾기 페이지도 다듬어야 한다. mariaDB 설정하기 sudo apt-gat update $ sudo apt-get install software-properties-common .. 2022. 4. 4.
[소경관] : 프론트 뼈대 잡기와 Jenkins 재도전 하기 오늘의 목표 큰 페이지들 연동 다 하고 진입까지 완료하기 작은 페이지들 생성해 두기 CI/CD 적용 다시 시도해 보기 문제 발생 시 체크해 두기 큰 메뉴 완성하기 내가 계획하고 있는 프로젝트의 메뉴는 이런 식이다. 로그인 페이지를 기본으로 로그인 후 입장이 가능하고 메인 페이지에서 세부 큰 페이지로 나눠지고 그 큰 페이지에서 작은 페이지로 나눠진다. 오늘은 큰 페이지를 만들었다. 이게 지금 로그인 후 들어오는 메인 페이지인데 이 메인 페이지에는 사용 설명을 간단하게 올릴 예정이다. 아직 수정하지는 않았다. 프로젝트 네임을 적어두고 홈으로 이동할 수 있는 링크를 걸어뒀다. 큰 메뉴들이다 큰 메뉴 선택시 이동이 가능하다. 나중에 빨리 완성되면 이동된 탭의 이름에 효과를 주는 것도 고려중이다.(밋밋하다는 생각.. 2022. 4. 2.
[소경관] : Jenkins 맛 보고 후퇴.. & BootStrap Spring Boot thymeleaf에 적용하기 오늘 목표 Jenkins 설치 및 환경 셋팅 가능하면 Git까지 연동 후 테스트 페이지 띄우고, 수정하고 재적용 확인까지 해보기 어떻게 할까? Jenkins 공식 문서 참고한다. 오류가 난다면? 사례를 구글링해서 찾아보자. AWS EC2 Ubuntu에 Jenkins 설치 및 셋팅하기 먼저 Jenkins를 실행하려면 Java가 있어야 한다. Java를 먼저 설치해 주자. $ sudo apt update $ sudo apt install openjdk-11-jre $ java -version Debian apt 레포지토리를 업이트하고 Java를 설치한다. 설치가 잘 되었는지 체크를 해준다. curl -fsSL | sudo tee \\ /usr/share/keyrings/jenkins-keyring.asc >.. 2022. 4. 1.
[소경관] : 프로젝트 진짜 시작 ! DB구축과 연동 그리고 CI/CD 고민.. 오늘 학교에서 개발 설계 산출물을 가지고 프로젝트 발표를 잘 마쳤다. 교수님이 “기능은 충분한데 너는 더 할 수 있을 것 같은데 더 넣으면 안되나?”라는 식으로 말씀하셨고..나는 일단 지금 있는 기능이나 똑바로 잘 하고 싶어서 최대한 거절했다.. 변경 사항에 대해서.. 교수님이 도커는 이제 쿠버네티스에서 지원을 안 해서 별로인 것 같다고 빼라고 하셨고 도커가 빠지게 되었다. 그래도 최근에 공부한 내용인데 아쉽긴 하다. 쿠버네티스만 사용하는 것은 아직 익숙하지 않기 때문에..(도커도 마찬가지긴 하지만..)어려울 것 같다. 혼자 공부한새로 배운 다른 기술도 많이 적용하려 한다. JPA, Gradle, CI/CD, Thymeleaf 등등.. 이것들도 프로젝트에 적용은 처음인데 쿠버네티스까지 하면 시간을 못 맞.. 2022. 3. 31.
[소경관] : 개발 설계 산출물 완성 및 제출 개발 설계 산출물 완성 ! 설계 산출물을 드디어 완성했다. 메뉴 구조도에 대한 설명을 추가했고 다른 페이지도 마찬가지로 화면 아이디를 메인으로 쭉쭉 사용해 보는 느낌으로 작성했다. 일단 완성된 화면설계서와 산출물을 제출했고 내일 발표가 있다. 발표 후 피드백을 다시 받고 문제가 없다면 실 개발 스타트가 될 예정이다. ERD가 줄었다? 그 전에 복잡하게 구상하고 있던 ERD를 줄였다. 대부분의 데이터를 MongoDB로 구현하려고 했기 때문에 간단한 회원 정보만 입력하고(사실 회원 가입이 없어도 되지만.. 구현 경험을 위해 일단 넣었다. 나중에 다른 방향으로 사용해도 되고..)넘어간다. https://ohju96.notion.site/e76cef85fe82425cac4b4e754b6e308c 개발 설계 산출.. 2022. 3. 30.
[소경관] : 화면 설계서 마무리 단계에 돌입했다. - 발표를 한다고 해서 표지를 준비했다. 가능하면 이쁘게 하는 게 좋긴 하지만 차라리 잘 못 꾸밀 거라면 깔끔하게 하는 게 좋을 것 같다. 원래 튜닝의 끝은 순정이라고 하지 않던가.. 간단하게 학우들에게 내 프로젝트에 대해 설명하기 위해 간단한 안내 멘트들을 적어봤다. 당장 오는 목요일에 발표하는데 연습도 좀 하고 스터디를 통해 한 발표 연습이 도움이 되고 있길 바란다. 사실 긴장감이 전에 발표한다고 마음 먹었을 때 보다 훨씬 줄어든 것을 체감하고 있다. 화면 설계서에 디자인은 들어가지 않았다. 레이아웃이라고 해야 하나. 전체적으로 어떻게 어떤 기능을 배치할지에 대해 생각하고 만들고 있다. 딱 이 모양대로 만드는 게 아니라 이런 구조, 이런 배치를 생각중이다. 정도를 전달할 수 있을 것 같다. 이단 메뉴.. 2022. 3. 29.
[소경관] : 아직도 개발 설계 산출물 작성 중 .. 곧 완료 예정.. 개발 설계 산출물 중 제일 어려운 부분은? 화면 설계서는 페이지가 많아서 어렵다. 지금 제일 어려운 부분은 데이터 베이스를 어떻게 설계할지.. 당장 수요일까지 완료해야 하는데 아직 완료하지 못 했다. 개발 설계 산출믈은 이번주 수요일에 제출해야 하기 때문에 어떻게든 빨리 작성해야한다. 떠오르는 부분은 있기 때문에 마음 놓고 있긴 한데 내일은 이제 그만 생각하고 어느 적도 적용하면서 수정해 나가야한다. JPA? MongoDB? JPA와 MongoDB를 사용해 보고 싶은데 같이 공부하는 동기가 같은 프로젝트에서 적용했을 때 동작이 잘 안 되더라..라는 말을 해서 알아보고 있다. MSA... Microservice Architecture라는 것을 사용해 보고 싶은데 아직 정보가 부족하다. MSA로 만들어진 프.. 2022. 3. 28.
[소경관] : 화면 설계서 작성과 엑셀을 어떻게 JSON으로 가져올지에 대해.. 어떻게 작성하나? 화면 설계서를 어떻게 작성할까 고민을 많이 하고 있었다. 진짜 내가 개발 할 프론트 레이아웃을 적용해서 해야 하는지,? 혹은 템플릿 수준으로만 만들어 둘지에 대해 고민하고 있었다. 설명을 위한 템플릿은 이렇게 표로 간단하게 구성했고 일단 로그인을 위한 페이지를 간단하게 만들고 있다. 아무래도 디자인은 적용되지 않은 모습으로 만들어 볼 예정이다. 채색을 하기 전 스케치 버전으로 생각하면 된다. 테이블 명세서와 ERD 작성은 어디갔나? 테이블과 ERD에 대한 고민이 있다. 먼저, MariaDB와 MongoDB를 사용할 예정인다. 사용자(경비원) 정보는 RDB로, 차량에 대한 정보(차량주인, 전화번호, 주소, 차량번호)는 엑셀로 받아서 JSON으로 MognoDB에 저장하는 것을 생각중이긴 한.. 2022. 3. 26.
[소경관] : 개발 설계 산출물 작성(2) 개발 설계 산출물 작성기.. 아이디어 체크 ! 교수님에게 아이디어 체크를 받았다. → “아, 그러면 자동차 번호판을 인식하는 이미지 인식을 넣으면 될까요?”→ “네, 알겠습니다.” → “그 정도는 되도 생각해 볼까, 말까인데 일단 해 봐.” → “기능이 부족하다, 거의 게시판이잖아” 간단한 대화를 통해 기능 부족 판정을 받고 기능을 추가했다. 기능 추가 번호판 이미지 인식 엑셀 파일을 불러와 차량 정보 등록 이렇게 두 가지 기능을 넣기로 했다. 개발 설계 산출물 다시 작성!? 기능이 바뀌면서 어제 조금 작성한 메뉴구조도, 프로그램명세서가 바뀌었다. 메뉴구조도, 프로그램명세서, WBS를 작성했다. 기능을 추가하고 기능 이름을 살짝 정비했다. 기간은 일단 임의로 작성해 두긴 했는데 하면서 수정을 거쳐야 할 .. 2022. 3. 24.
[소경관] : 개발 설계 산출물 작성(1) 이 전의 소경관에 대한 기록은 혼자 공부하면서 정리해 둔 것에 불과하지만 이제는 진짜 해야 할 때가 왔다. 오늘은 개발하기 앞서 개발 설계 산출물을 먼저 작성했는데 완성하지도 못 했고 아직 작성하지 못 한 서류도 있다. 메뉴구조도와 프로그램명세서를 작성했다. 메뉴 구조도에는 메뉴에 어떤 탭이 들어갈지 생각하면서 적었는데 아직 디테일하진 않다. 프로그램 명세서는 메뉴 구조를 참고해서 적었다. 나중에 화면 설계서 작성을 위해 프로그램ID를 설정하고 어떤 DB Transaction을 수행하는지 간단히 체크했다. 업그레이드를 통해 추후에 조금 더 뚜렷하게 구체화 작업이 필요할 것 같다. 메뉴 구조도에는 메뉴에 어떤 탭이 들어갈지 생각하면서 적었는데 아직 디테일하진 않다. 프로그램 명세서는 메뉴 구조를 참고해서 .. 2022. 3. 23.
[소경관] : 프로젝트 요구사항 완전 변경 및 재시작 학교에서 개인 프로젝트 과제로 만들려고 생각해 두다 방학 때 진행하려 했으나 요구사항이 자꾸 바뀌어 진행하지 못 했었다. 이제 개강하고 과제의 최종 요구사항이 결정되어 앞으로 몇 가지의 수정 작업을 진행하고 개발 설계 산출물부터 천천히 작성하고 깃 레포지토리도 비우고 다시 시작해야 한다. 처음에 스프링 프레임워크 레거시버전으로 만든다 했었으나 교육 과정 개편(?)으로 스프링 부트로 만들게 되었다. 기존에 메이븐 사용도 그레이들로 바꿔서 적용할까도 생각중이고.. 아직 개발 설계 산출물이 작성되지 않은 만큼 뚜렷하지 못 한 상태이다. 3월 말 까지 설계 산출물을 제출해야 하니까 그 전에 구상은 마칠 예정이다. 2022. 3. 17.
[소경관] : Flask를 통한 Pandas 라이브러리 데이터 분석 활용 Flask를 통한 Pandas 라이브러리 데이터 분석 활용 from flask import Flask app = Flask(__name__, static_url_path='/resource') @app.route("/test") def spring (): return "Flask Server" @app.route("/data") def data(): import pandas as pd import numpy as np m_store = pd.read_csv('C:\git\Parking_management_Project\Flask_data\source\주현아파트.csv') m_store.loc[m_store['차량 수'] == "", '설명'] = '차량 수 등록이 안 되어 있습니다.' m_store.lo.. 2021. 12. 28.
[소경관] : Flask Server 구현 소경관 프로젝트를 생각하면서 굳이 사용이 필요가 없더라고 배운 머신러닝을 활용해 적용하고 싶었다. 그래서 생각한게스프링 프레임워크에서 .csv 파일을 받고 그것을 플라스크 서버를 통해 파이썬 프로젝트로 넘겨준 뒤 파이썬 프로젝트에서 머신러닝을 통해 (굳이 필요하지 않을 수도 있는)데이터 가공을 하고 데이터를 가공한 것을 다시 플라스크 서버를 통해 스프링 프레임워크로 넘겨줘서 활용할 수 있는 방법이다. 아직 내가 이것을 제대로 구현해 본 적이 없어서 가능한 일인지 모르겠지만 시작했고 우선 플라스크 서버먼저 구현했다. from flask import Flask app = Flask(__name__) @app.route("/") def spring (): return "Flask Server" if __nam.. 2021. 12. 27.
[소경관] : Clean Code 적용 클래스 생성 및 UserDTO 생성 Clean Code 적용 클래스 생성 및 UserDTO 생성 클린 코드에서 클래스 명 적용하는 방법을 공부한대로 적용해 봤다. 간단하게 DTO도 등록했고 프로젝트를 좀 더 구체화 시킨 뒤 진도를 나가야 할 것 같다. 2021. 12. 26.
[소경관] : 프로젝트 새로운 셋팅 및 다시 적용한 암호 Util 프로젝트 새로운 셋팅 및 다시 적용한 암호 Util 최근 log4j 관련 이슈 때문에 교수님이 프로젝트 파일을 교체하라고 공지가 내려와서 어제 교체하고 잤는데 생각해보니 아주 조금이지만 내가 해놨던 암호화 알고리즘 유틸 부분을 새로 추가해야 했다. 저번에 프로젝트를 진행하면서 기록해둔 Notion을 확인하고 오늘 추가 수정과 테스트를 완료했고 정상적으로 동작하는 것을 확인했다. 개발 진행이 늦는 이유 머릿속에서 구체화 된 것이 없다. 아이디어는 풀어서 설명을 할 수 있지만 사실 그 단서들을 이어 줄 짜잘짜잘한 무언가가 아직 잘 생각이 나질 않는다. 아무래도 학교에서 요구하는 WBS 문서 양식을 받으면 WBS를 먼저 작성하면서 아이디를 구체화 시키고 그 뒤에 본격적인 개발을 시작하는 게 좋을 것 같다. 그.. 2021. 12. 25.
[소경관] : Ubuntu MongoDB root 계정 설정 및 Robo 3T 외부 접속 Ubuntu MongoDB root 계정 설정 및 Robo 3T 외부 접속 MongoDB 관리자 계정 추가 sudo service mongod start MongoDB를 시작한다. mongo MongoDB에 접속해 준다. 참고 | exit를 통해 빠져나올 수 있다. use admin admin 유저에 접속한다. db.createUser( { user:'root', pwd:'1234', roles:['root'] } ) root 계정을 생성해 준다. db.dropUser("root") root를 삭제한다. db.getUsers() 사용자 목록을 확인할 수 있다. MongoDB 접속 인증 설정 인증 과정을 거쳐 접속하기 위해 설정 파일을 수정한다. sudo service mongod stop MongoDB를.. 2021. 12. 24.
[소경관] : Ubuntu 18.04.05에 MongoDB 설치 내용 요구 사항 변경으로 인해 MySQL → NoSQL 구현을 진행한다. 참고 링크 ← Click ! Ubuntu에서 MongoDB 설치와 셋팅을 진행한다. 코드 & 설명 Install MongoDB Community Edition on Ubuntu Ubuntu에 MongoDB를 설치하기 위해 MongoDB에서 제공하는 방법을 사용하면 된다. hostnamectl 명령어를 통해 Ubuntu 버전을 확인한다. 18.04.5 버전을 사용하고 있으므로 그에 맞는 MongoDB를 설치해 준다. 몽고 커뮤니티 버전 설치 | Ubuntu 18.04.ver wget -qO - | sudo apt-key add - MongoDB 공개 GPG 키를 가져온다. GPG는 GnuPg이기도 하다. GPG가 뭔지 잘 몰라서 찾아.. 2021. 12. 23.
[소경관] : 프로젝트 진행 중 요구 사항 발생 ! 프로젝트 진행 중 변경 사항 발생(중요) 이 소경관 프로젝트는 개인 프로젝트이기도 하지만 학교에 제출해서 평가받는 프로젝트이기도 하다. 보통 학교에서 1학기 시작할 때 교수님이 요구 사항을 주신다고 했는데 2학년 선배들에게 들어 미리 전년도와 비슷한 맥락의 프로젝트를 구상하고 있었다. 대충 내용은 API 2개 이상 활용, 기본 기능만 있어선 안 됨 정도만 들었는데 오늘 요구 사항이 나왔다. ○ 평가방법 -------------------------------------------------------- 1. 설계산출물 중 WBS에 정의된 항목에 대해 100% 구현 - 구현 : 교수 평가에 따라 A-D까지 학점 부여 - 구현 못함 : F학점 부여 ---------------------------------.. 2021. 12. 23.
[소경관] : UserDTO 코딩 및 DTO 등록 UserDTO 코딩 및 DTO 등록 DTO 등록을 해줬다. package poly.dto; /* * @author 오주현 * @version 0.1 user_info DTO */ public class UserDTO { private String user_seq; private String user_email; private String user_pw; private String user_name; private String user_address; public String getUser_seq() { return user_seq; } public void setUser_seq(String user_seq) { this.user_seq = user_seq; } public String getUser_em.. 2021. 12. 22.
[소경관] : user_info 테이블 생성 및 컬럼 추가 user_info 테이블 생성 및 컬럼 추가 아직 데이터 베이스 모델링이 완성되지 않았다. 더 이상 프로젝트 진행을 미룰 수는 없다고 생각해 우선 쉽게 만들 수 있는 사용자인 user_info에 관한 정보를 만들었다. 프로젝트를 진행하면서 사용한 SQL Query는 vi를 통해 텍스트를 프로젝트에 남겨두기로 했다. 이렇게 생성 내용을 주석과 함께 남겨놨다. 나머지 파트는 후에 이어나가기로 한다. 2021. 12. 22.
[소경관] : SHA-256 암호화 알고리즘, AES128-CBC암,복호화 알고리즘 적용 SHA-256 암호화 알고리즘, AES128-CBC암,복호화 알고리즘 적용 내용 회원 가입 시 개인을 식별할 수 있는 정보에 대해 암호화 해야 한다. 정보통신망법, 개인정보보호법 식별 정보 이메일 전화번호 주민등록번호 계좌정보 암, 복호화 키가 같으면 대칭키, 다르면 비대칭키 비대칭키 보안 강도가 쌔다. 속도가 느리다. 공인인증서, 지문, 공동인증서 등에 사용된다. 비밀번호는 복호화되지 않는 단방향 암호화를 사용하여 비밀번호를 저장한다. 암호화는 단방향과 양방향이 있다. 단방향 암호화만 지원한다. 해시 암호화 절대 복호화 하지 않기 위해 사용한다. 속도가 빠르고 암호화 되는 값의 크기가 일정하다. 완전한지에 대한 검사가 오래 걸리기 때문에 해시 암호화를 사용한다. SHA-256 암호화 알고리즘을 사용한다.. 2021. 12. 20.
반응형