본문 바로가기
728x90
반응형

전체 글170

[Node.js] 헬키 개발일지 5. backend schema 확인과 endpoint 만들기 흠... 이번 만큼은 node.js으로 태그를 바꾸어 두겠다. 확실히 backend를 더 만질 듯하니까. 뭐가 어떻게 되든 이젠 front-back을 오가면서 작업을 해야한다. 원래는 1명정도는 보조로 개발을 할 것 같았는데 일어나지 않을 일일 듯 하고... 이렇게 되면 이미지를 인식하는 AI는 어떻게 만드는 것이 좋을까 의문이기는 하다. 뭐 언젠간 하겠지. 우선은 있는 것 부터 합시다. 우선은 제 아무리 backend라도 mail을 바로 쏘는 건 불가능한데... 그나마 linux에서 동작을 하신단 말이죠? mail server를 깔아도 무리가 없다. 그래서 일단 mail발송을 해주는 서비스를 생각해보기로 했다. 결국은 그냥 공식 google 계정을 파서 거기서 메일 쏴주는 것으로 대신 했다. 그게 훨씬.. 2024. 5. 11.
[React-native + Web] 헬키 개발일지 4. CI 파이프라인 완성, 간단한 테스팅 https는 기본적으로는 도메인을 필요로하기는 하는데, 그냥 그거 없이 production 환경만 테스팅해보고 싶을 때는 우리가 직접 pem을 만들어서 테스팅하는 것이 가능하다...사실 기본적으로는 그걸로 하는 수 밖에. 아님 뭐 서버 코드를 또! 고쳐야 한다.openssl genrsa -out key.pem 2048openssl req -new -sha256 -key key.pem -out csr.pemopenssl x509 -req -days 365 -in csr.pem -signkey key.pem -out cert.pem 다행히 아직 history에 살아 계시기 때문에 빠른 아카이빙.그리고 root로 서버를 실행하는건 그다지 좋은 생각이 아니기 때문에, 돌릴 유저한테 다른 포트를 주고, 포트포워딩.. 2024. 5. 11.
[React-native + Web] 헬키 개발일지 3. HTTPS + 배포 도전기 2 2024-05-07T02:10:23 ERROR [codedeploy-agent(23562)]: InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller: Missing credentials - please check if this instance was started with an IAM instance profile... 원래하던 프로젝트(GTDList)는 어떻게 되었냐고, 왜 넌 맨날 하고 싶은게 바뀌냐고 물으실지도 모르겠다만, 원래 하던 것도 결국 마무리할 계획이 있고, 사실상 그쪽에서 쓰던 백엔드를 가지고 작업하고 있다! 프런트는 원래 망해가고 있었으니, 실제로는 어느정도 이어지고 있는지도 모르겠다. 계속 코드를 짜다보면 결국 기본적인 건 비슷하달까. 이.. 2024. 5. 7.
[React native + Web] 헬키 개발일지 2. HTTPS + 배포 도전기 오늘은 다소 짜증날 수도 있는 구현을 해보려고 한다.어제 대충 회원가입/로그인 페이지 기틀을 짜두었다. 뭐 엄청난 디테일을 준 건 아니고 적당히 이쁘면 된다.내가 UI/UX 디자인까지 다 하는게 아니기 때문에... 이 정도 해주면 나중에 UI/UX가 들어와도 수정 가능할 것이다. 이젠 백엔드 서버와 통신이 제대로 되기 때문에(네트워크 문제가 없다는 전제하에), 구현해야할 건 대략 3가지가 남았다. 1. App의 AuthContext.2. HTTPS로 보안 챙기기3. 배포하기. 인데... 흠. 앱 배포는 그렇다치는데, backend 배포를 해야지 android / ios 기종에서 테스트가 가능해지니까 빠르게 하는게 좋다. 이걸 제외하고도, 기획단에서 더 저장해달라고 부탁한 사항도 있기 때문에 빠르게 완성해.. 2024. 5. 7.
[React-native + Web] 헬키 개발일지 1. 이번엔 크게 형식 신경 쓸 것 없이 여태껏 뭘 해왔는지를 대충 말해보도록하겠다.  https://github.com/heeboy007/Integrated3DDevEnv GitHub - heeboy007/Integrated3DDevEnv: Android + iOS + Webpack + React Native + FiberAndroid + iOS + Webpack + React Native + Fiber. Contribute to heeboy007/Integrated3DDevEnv development by creating an account on GitHub.github.com일단 이걸 만들어보고 있었는데, 이게 어쩌면 제일 큰 시간을 차지했을지도 모르겠다.react-native는 기본적으로 안드로이드와 .. 2024. 5. 5.
[AWS 배포 연구] - Code Pipeline - 해결 안됨... 어쩌다가 hive 땜시 이 쪽 연구가 당겨지게 되었다. 나도 정확히는 앱을 배포까지 해본 적은 없었기 때문에... 하여간에 앱배포를 어제는 실패했다. 기본적인 CI/CD를 해보고자 Code Pipeline을 만들어서 Soruce -> Build -> Deploy를 해보고 싶었는데... 계속 실패했다. BuildArtifact를 가져올 수 없다고 징징대길래 어짜피 하는 것도 없어서 Source -> Deploy로 단축시켰다. SoruceArtifact는 다행히 잘 가져온다. 그래서 일단 S3에 배포하는 것도 static한 웹사이트를 지원한다고 하길래 elastic beanstack로 갈아 탔다. 이거 하는데도 1. elastic beanstalk 자체를 만들고 env를 만든다. 2. env에 넣을 inst.. 2024. 4. 11.
FlowForge(GTDList) 04-03 일지 Typescript Test / Build(Babel) 환경 기록 여기서는 간단하게 typescript로 작성된 코드의 경우 어떻게 테스팅 환경을 짜면 좋은지를 기록해두려고 한다. 지금은 backend를 먼저 바꾸고 있는데, 거기서 어떻게 했는지 알아내면 frontend에서도 바로 적용이 가능하기 때문이다. 테스트환경은 jest를 쓰기로 했다. 공식적으로 typescript를 지원하고, 문서 지원도 되어있기에 선택했다. https://jestjs.io/docs/getting-started Getting Started · Jest Install Jest using your favorite package manager: jestjs.io 다만 이게 엄청난 스노볼이 되어서 또 다른 삽질을 불러일으키기는 했다. babel이라는 트랜스파일러를 이용해서 체크를 하는 방법이 소개되.. 2024. 4. 4.
FlowForge(GTDList) 03-30 일지 ESLint과 초기 기동 처음으로 ESLint를 이용해 보았다! 이걸 이용할 생각이 처음부터 있었던 것은 아니다. 단순히. ts 확장자나. js확장자를 붙이지 않아서 제대로 import가 안 되는 문제가 생겼고, 그래서 해결 방법을 찾다가 Linting을 해서 코딩을 더 깔끔하게 하기로 마음먹었다. ts에다가 yarn까지 써서 좀 복잡해진 김이 있지만, 다행히 그렇게 어렵진 않았다. 1. eslint 설치 yarn add --dev eslint eslint-config-love eslint-plugin-import eslint-plugin-typescript @typescript-eslint/parser 내가 바라는 import구문 강제를 위해서 추가적인 plugin을 설치한다. 최종 사용자는 굳이 필요 없으므로 --dev옵션을.. 2024. 3. 30.
for in vs for of 반복문 비교, Array .. in이 가능해서 생기는 문제 오늘 Typescript를 계속 공부하는 중에 갑자기 이상한 버그...는 아니고 미묘한 문법 차이로 생긴 1시간의 삽질을 방지하기 위해서 이 글을 올린다. 우선 이분의 글을 참고하였으니 좀 더 자세한 설명을 원하면 여기로 가면된다. https://jsdev.kr/t/for-in-vs-for-of/2938 자바스크립트 for in vs for of 반복문 정리 ES6 공부하면서 for in 과 for of 차이점이 뭔지 궁금해서 찾아보다가 정리해보았습니다. 잘못된 부분이 있으면 커멘트 부탁드려요~ http://itstory.tk/entry/Javascript-for-in-vs-for-of-반복문 foreach 반복문 foreac jsdev.kr 바로 본론을 이야기하면 이렇다. 분명 JS배울 때 같이 배웠을.. 2024. 3. 24.
Typescript 디버그 세팅!(tsconfig.json + vite + vscode) 일단... 갑자기 이걸 들고 온 이유는 반드시 이걸 배워야겠다는 생각이 들어서이다. 물론 스프링도 들을 거긴 한데... 그전에, 지금 죽어가고 있는 FlowForge를 살려낼 희망을 여기서 찾았기 때문이다. redux 가지고 react앱 개발하는 건 좋은 아이디어다. redux를 대체 어떻게 이용해 먹어야 하는지 도대체 알 수가 없다는 생각이 들기 전까지는. 일단 당장 코드가 언제 어떻게 쓰이는지 바로바로 직관적으로 이해할 수 없는 코드가 많기도 하고, action이랑 같이 있으니까 더욱 환장할 것 같았다. 지금은 되지도 않는 거에 투자하는 것 보다는 나중에 돌아오는 게 낫겠다 싶어 스프링을 들으면서 힐링하고 있었다. 역시 Java! 하고 있는데 문득 생각이 드는 게, Typescript를 쓰면 특유의 .. 2024. 2. 28.
Spring - 기초 프로젝트 세팅과 spring boot / spring initalizr의 차이 굉장히 오래간만에 Java와 관련된 걸 건드려보는 듯 하다. 과거에도 다형성, 명시적인 코딩 스타일이 내 맘에 쏙 들었던 기억이 있어서, 기대가 되는 튜토리얼 이기도 한데, 인프런에서 내용을 가져와서 복습하는 식으로 배울 것이다. 언제나 이 사이트에서 프로젝트를 가져와서 시작하는 듯 하다. https://start.spring.io/ 이게 spring boot인가? 싶었는데 그건 아니었다. ChatGPT의 이야기에 따르면 이렇다 : spring-boot가 추구하는 바는 spring 프로젝트를 하다가 많은 설정을 하지 않아도 웹서버를 구축, 테스트, 배포하기 쉽도록 해주는 것이고, 그런 방식으로 동작하고자 하는 프레임워크이다. 반면 spring initalizr은 일단 프로젝트를 쉽게 세팅하는데 중점이 있.. 2024. 2. 24.
객체 지향 프로그래밍의 5원칙 SOLID 강의를 듣다 보니까 개인적으로 필기해 두는 게 좋을 것 같아서 여기다가 간단하게 노트처럼 적는다. S. Single Responsibility Principle - 단일 책임의 원칙 어떤 객체는 한번에 한 가지 책임을 져야 한다. 이는 굉장히 모호하지만 해당 객체에 변경이 있을 경우 다른 객체에 주는 영향이 작을 수록 좋다는 것을 기준으로, 그때 마다 판단한다. O. Open-Close Principle - 개방-폐쇄의 원칙 객체는 확장에는 열려있되, 개방에는 폐쇄적이어야한다. 다형성을 활용하면 인터페이스/구현체를 분리하므로 확장하는 방향으로 개발하기가 쉬워진다. 다만, 다형성만으로는 해당 원칙을 완벽하게 지킬 수 없는게 결국 구현체를 선택하는 부분에 있어서 의존성이 발생해서 해당 부분의 코드를 수정해야.. 2024. 2. 17.
FlowForge(GTDList) 02-06 일지 (backend - express의 next) 정말 오래간만에 일지를 쓰는 것 같다. 역시 사람 마음가짐과 행동은 100% 일치할 수는 없나 보다. 여태까지의 성과, 그리고 이해한 것을 조금이라도 정리하고자 한다. 이전에도 이야기했다시피, 난 한 가지 레퍼런스 프로젝트를 기반으로 백엔드를 만들고자 하였다. 특히, 유저 파트는 그럴 수 밖에는 없었다. Restful 한 API를 넘어서서 cookie, jsonwebtoken을 이용해서 seemless 한 유저 경험을 만들어내는 것은 적어도 그 당시 나의 능력 밖이었다. 분하지만 어쩔 수 없다. 모르는 건 배우는 수밖에. 그래서 일단 그 코드를 분석하는데도 의외로 삽질이 꽤 많이 필요했다. (지금 글을 쓰면서 생각하는 것이지만... 어쩌면 코드를 분석하는 방법이 잘못된 것은 아닐까? commit log를.. 2024. 2. 6.
REDUX 모르겠어요... 도저히 안될 것 같아서 올린다. 모르겠고 귀찮다... 으아아ㅏ아앙 백엔드를 계속 만지다가 프런트엔드에서 연결작업을 해보고 있는데, 이놈의 리덕스 쪽이 전부 해결이 되지를 않는다. ChatGPT한테 물어볼게 산더미고 가면갈 수록 너무 복잡해져서 슬슬 내가 뭐하는지 모르겠어서 결국은 반쯤 놔버렸다... 흠... redux를 써서 스토어 하면 깔끔하게 코드를 쓸 수 있다고, 괜찮은 투자였다고 생각했다. 근데 아쉽게도, 나는 리덕스에 발끝자락만 담그고서는 괜찮다고 생각하고 있었다. 생각보다 공부해야 할 게 많은 state machine이었고, 최근에서야 전체적인 그림을 파악하고 조금씩 개발을 하고는 있지만... 또 이것 때문에 지쳐버려서 그냥 노는 게 부지기수가 되어버렸다. 그러니까... 전에 내가 포스팅해서 .. 2024. 1. 22.
FlowForge(GTDList) 01-09 일지 컨트롤러 작성 및 TDD 환경 조성 흔해빠진 기능마저도 구현하는 데는 참 노력이 많이 들어가는 듯하다. 이메일 확인 절차를 만들기로 결정했는데, 생각보다 고려해야 할게 많았다. 나중에 이메일 확인 절차 같은 건 자동으로... 자동으로...? 잠시만... 그나마 답변을 보니 외부의 뭔가를(Firebase라던가 AWS Congnito라던가) 경우도 있어서, 완전 노력이 헛되는 않은 것 같다. 하여간에 그것을 위해서 새로운 모델을 넣기로 하기도 했고 해서, 컨트롤러를 더 수정해야 할 것 같다. - 오늘의 개발 커밋로그는 간단한 편이지만 추가된 것은 많다. 라이브러리를 보면서 설명하면 좋으니까 package.json 의 일부도 가져왔다. 1. 이메일 토큰을 자동으로 발급하기 위한 crypto 2. 입력값의 확인을 위한 joi 3. 환경설정을 위한.. 2024. 1. 10.
728x90
반응형