innovationacademy-kr / slabs-munetic Goto Github PK
View Code? Open in Web Editor NEWMunitec 기업 협력 프로젝트
License: MIT License
Munitec 기업 협력 프로젝트
License: MIT License
21.12.23 목 오전 10시 50분
매 transaction 발생 시 2021-12-23 10:42:37 65 [Warning] Aborted connection 65 to db: 'munetic' user: 'express' host: '172.20.0.2' (Got an error reading communication packets)
와 같은 오류가 뜸. 작동은 정상적으로 되나 연결이 끊기는 단계에서 문제가 있는 것 같습니다.
83cafd3 외 기타 여러 커밋
쿼리가 들어있는 아무 lesson service를 실행하면 다음과 같은 오류가 뜹니다.
airbnb 스타일을 적용하기로 함
develop에 .github 폴더를 만들고 그 하위에 PR과 issue 템플릿 파일을 생성합니다.
21.12.23 목 11:32
테스트가 잘 되다가 갑자기 스크린샷과 같은 문제가 납니다. 더불어 jest가 종료되지 않아 강제종료해야합니다.
munetic_express/src/test/service/lesson.test.ts (or lesson.service.test.ts)
유효한 인증서를 적용해서 443 port에 https 서버를 열어야 합니다. 80번 http는 443 https로 리다이렉트 되게 됩니다.
develop 브랜치에 eslint, prettier 적용
develop 브랜치에 적용되어 있지 않던 airbnb eslint, prettier 파일을 생성 및 적용합니다.
본격적인 api 개발에 들어가기 전 필요한 미들웨어를 설치하고 api 문서화를 위해 swagger를 설정합니다.
각 항목에 대한 자세한 설명을 달아놓았습니다.
lesson 모델을 생성하고 초기화시킵니다.
2021년 12월 11일 11시 47분 kunlee 발견
http://localhost:8080/
이나 http://localhost:8080/admin
으로 접속 시 새로고침이 끊이지 않는 버그가 생김.
docker-compose up --build
후 해당 주소로 접근
일단 컴포넌트만 생성
프로필 표시 및 수정 버튼
닉네임 표시 및 수정 버튼
이름 표시 및 공개/비공개 옵션 버튼
소개 표시 및 수정 버튼
피그마에는 수정 페이지 부분에 연락처 표시 및 수정 기능이 나와있지 않은데 프로필 뷰에서 보여주는 만큼 여기서도 표시 및 공개/비공개 옵션을 주어야하지 않을까요?
이름, 소개 부분 수정 후 저장 버튼이 없어도 될까요?
홈 화면 UI 구현
홈 화면 내 레슨 등록 버튼, 레슨 찾기 버튼 생성 및 링크 적용
21/12/27 오전 11시 경
service 로직이 response/request 로직에 오염되어있음
api 작성 후 모두
app의 TDD 기반 개발을 위한 세팅
도커 컴포즈에 MariaDB 컨테이너를 추가합니다.
프로필 표시 및 수정 버튼
닉네임 표시 및 수정 버튼
이름 표시 및 공개/비공개 옵션 버튼
연락처 표시(전화번호 필드)
소개 표시 및 수정 버튼
이름, 소개 부분 수정 후 저장 버튼이 없어도 될까요?
현재 사용하고 있는 노드 이미지가 17버전이라서 안정화 버전인 16으로 다운그레이드 합니다.
학생(일반계정) 프로필 관리 페이지 구현
약식 프로필(사진, 닉네임, 소개글)
수정 버튼(클릭 시 프로필 수정 페이지(MNT-C-002)로 이동)
여기도 약식 프로필에 연락처가 있어야 하지 않을까요?
MariaDB를 Sequelize를 이용해 서버와 연결하고 모델을 생성합니다.
##[security] 프론트가 직접 외부에 노출되어있는 문제
해당 커밋에서 프론트를 직접 외부로 노출함으로써 #44가 해결되었습니다.
프론트의 작업과 별개로 진행할 수 있는 작업이라 일단 작업이 가능한 상태로 해결을 보고 이 문제는 나중에 해결을 할 생각입니다.
ports:
- '2424:2424'
약식 프로필(사진, 닉네임, 소개글)
수정 버튼(클릭 시 프로필 수정 페이지(MNT-C-004)로 이동)
여기도 약식 프로필에 연락처가 있어야 하지 않을까요?
레슨 등록/수정 버튼은 클릭 시 레슨 등록/수정(MNT-C-007)페이지로 이동하게만 해주면 되니까 추가로 구현 해도 되지 않을까 합니다.
둘 중 하나를 참고하여 작성할 것. bug, feat 외에 commit 타입을 선택해서 작성 가능합니다.
21/12/12(일) 오후 4:00
Sequelize.sync(force:true) 상황에서 express 서버 재시작했을 때 models 생성에서 오류가 발생해 테이블이 생성이 되지 않는 이슈가 있었습니다.
munetic_express
현재 커밋에서 /munetic_database/my.cnf 에서 lower_case_table_names = 2 로 바꾸고 docker를 재시작해서 docker-compose를 실행시키면 다음의 에러를 확인하실 수 있습니다.
munetic_express | original: SqlError: (conn=7, no: 1146, SQLState: 42S02) Table 'munetic.category' doesn't exist
munetic_express | sql: SHOW INDEX FROM `Category` - parameters:[]
munetic_express | at Object.module.exports.createError (/munetic_express/node_modules/mariadb/lib/misc/errors.js:61:10)
munetic_express | at PacketNodeEncoded.readError (/munetic_express/node_modules/mariadb/lib/io/packet.js:505:19)
munetic_express | at Query.readResponsePacket (/munetic_express/node_modules/mariadb/lib/cmd/resultset.js:46:28)
munetic_express | at PacketInputStream.receivePacketBasic (/munetic_express/node_modules/mariadb/lib/io/packet-input-stream.js:104:9)
munetic_express | at PacketInputStream.onData (/munetic_express/node_modules/mariadb/lib/io/packet-input-stream.js:169:20)
munetic_express | at Socket.emit (node:events:390:28)
munetic_express | at Socket.emit (node:domain:475:12)
munetic_express | at addChunk (node:internal/streams/readable:315:12)
munetic_express | at readableAddChunk (node:internal/streams/readable:289:9)
munetic_express | at Socket.Readable.push (node:internal/streams/readable:228:10) {
munetic_express | text: "Table 'munetic.category' doesn't exist",
munetic_express | sql: 'SHOW INDEX FROM `Category`',
munetic_express | fatal: false,
munetic_express | errno: 1146,
munetic_express | sqlState: '42S02',
munetic_express | code: 'ER_NO_SUCH_TABLE',
munetic_express | parameters: undefined
munetic_express | },
munetic_express | sql: 'SHOW INDEX FROM `Category`',
munetic_express | parameters: undefined
munetic_express | }
짜야할 함수는 넷입니다.
nginx를 이용하여
app은 http://${hostname}:8080/
,
admin은 http://${hostname}:8080/admin
,
express는 http://${hostname}:8080/api
로 리버스 프록시 됩니다.
포트번호 8080은 compose.yaml에 설정합니다.
도커 내부 munetic network를 통해서 리버스 프록시 됨에 따라 app, admin, express는 외부로 포트를 노출시키지 않게 됩니다.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.