본문 바로가기
728x90
반응형

분류 전체보기362

네트워크 기초 정리 - SW 개발자 관점의 Port 번호 Port 번호란? 2024.01.02 - [source-code/network] - 네트워크 기초 정리 이전에 학습한 것과 같이 Process가 kernal의 구성 요소를 애플리케이션 수준으로 추상화할 때 File 형태의 interface를 사용하며 이때 추상화 대상이 TCP/IP와 관련된 경우, 해당 File을 Soket이라 부릅니다. → Port 번호는 이러한 TCP Socket에 attach되는 정보 중 하나입니다! Port 번호 Port 번호는 기본적으로 16bit로 구성됩니다. → 0~65535(2의 16제곱)이 가능한데, 이 중 0과 65535는 사용하지 않습니다. Process 식별자로써의 Port 번호 IP가 192.168.0.1인 host의 경우 해당 host에서 실행된 process a.. 2024. 1. 30.
24.01.21~24.01.28 업무 new Prototype 기능 개발 POC 진행 기업 중 하나인, B사(Series D)의 pain point에 기반한 MVP를 개발했다. 기존 개발했던 extension 및 동작과 유사하면서도 다른 부분이 있어, 일주일 정도로 기간을 산정했는데... 정확히 일주일 만에 배포 및 공유를 완료했다. (물론 전 날 밤에 이슈가 터져 폭풍 야근) B사 요구사항 기능 개발 관련 논의 피봇 이후, 처음으로 엔터프라이즈 급 회사의 요구사항을 들었다. 당연한 얘기겠지만... 장애 발생 시 대응 절차를 가장 중시하는 모습! → 이와 관련된 해결 방안을 찾기 위한 논의를 진행했다. 다음 주 스프린트 회의에서 우선순위를 정하고, 본격적인 추가 개발에 들어갈 예정! 회고 0 번째 고객 반응은, 생각보다 더 괜찮았다. .. 2024. 1. 28.
next 14 Amplify 배포 시 crypto 에러 해결 1. 문제 상황 인증 절차에 공개키 알고리즘을 사용하고 있었습니다. server와 client 모두 node 환경이므로, crypto를 사용해 암호화/복호화를 진행했습니다 import crypto from 'crypto'; encrypt(plainText: string, publicKey: string) { const buffer = Buffer.from(plainText); const encrypted = crypto .publicEncrypt(publicKey.replace(/\\n/g, '\n'), buffer) .toString('hex'); return encrypted; } decrypt(encrytedText: string, privateKey: string) { const buffer = .. 2024. 1. 24.
Cannot find module 'expo/bin/cli.js' 에러 해결 1. 문제 상황 현재 사내 서비스는 react-native로 작성되어 있다. expo로 프로젝트를 구성한 덕분에, EAS(Expo Application Services)를 통해 build 및 OTA(over-the-air) 업데이트를 진행하는데... 어느 날부터 eas update시 Cannot find module 'expo/bin/cli.js' 에러가 발생했다. node 환경에서 MODULE_NOT_FOUND 에러가 발생하면 → 열이면 열 패키지가 올바르게 설치되지 않았다는 것! 패키지를 다시 설치하거나, package.json 파일이 올바른 경로에 위치하는지를 확인하면 된다. https://stackoverflow.com/questions/64532188/react-native-expo-cli-ca.. 2024. 1. 22.
24.01.14~24.01.21 업무 MVP 실사용 및 버그 픽스 스프린트 계획 당시 목표는 1) poc 기업 피드백 반영 2) 추가 기업 페이지 내 실사용 및 버그 픽스 3) 로그인 이었다. 1의 경우 해당 기업에서 피드백이 와야 하므로... 기존 mvp를 제공했던 N사(seed)와 B사(series D) 서비스에서 우리 제품을 테스트했다. D사 페이지의 경우 큰 문제가 없었는데... N사의 경우 서비스 URL 구성과 관련된 크리티컬 한 이슈가 있었다. 해당 서비스는 인증이 완료된 유저가 접근 시 Server 측에서 해당 유저가 속한 페이지로 redirect를 동작시키는데(Next js를 통한 SSR로 보였다), 문제는 이러한 기조가 우리 서비스의 콘셉트와 양립할 수 없다는 점이었다. 위 이슈를 N사 대표님과도 공유했는데, 생각보다 .. 2024. 1. 21.
[chrome extension] 익스텐션 설치 여부 감지하기 chrome extension 서비스를 제공할 경우, 웹 페이지에서 해당 extension이 브라우저에 설치되었는지 감지해야 하는 경우가 발생한다. (익스텐션이 설치되지 않았다면, chrome extension store로 이동해 설치 유도 등) 구글링을 해보면, 일반적으로는 아래와 같은 방법들이 사용된다.1. extension에서 DOM을 조작해 감지extension에서 문서를 조작하고, 웹 페이지에서는 해당 문서가 조작되었는지로 판단하는 방식! extension이 설치된 경우, manifest.json의 content_scripts 속 파일이 실행된다. // manifest.json { "content_scripts": [ { "js": ["content.js"], } ] } js 파일이 실행되므로,.. 2024. 1. 18.
Cannot read properties of null (reading 'useContext') 에러 해결 배경 사내 서비스에서 공통으로 사용하는 모듈들을 위한 패키지를 개발하는 도중, 위 에러와 마주쳤습니다. 문제가 된 상황은 다음과 같았습니다. 1. A 패키지는 B, C 프로젝트에서 공통으로 사용하는 모듈들을 제공합니다. 2. 이때 공통으로 사용되는 모듈들에는, 기본 css가 적용된 styled-components가 포함됩니다. 3. B 프로젝트는 A 패키지가 제공하는 styled-components 컴포넌트를 사용합니다. 4. B 프로젝트는 위 컴포넌트뿐만 아니라, 서비스 내 스타일링을 위해 자체적으로 styled-components를 사용합니다. 문제 상황 개발 환경에서는 아무런 문제도 발생하지 않았습니다. A 패키지에서 styled-components를 사용한 react component(편의상 St.. 2024. 1. 16.
24.01.07~24.01.14 업무 POC 기업 추가 기능 개발 POC 기업의 요구 사항을 처리하다 보니, 현재 개발된 기능으로는 구현할 수 없는 사항이 있었다. input이나 textarea 등 사용자와 상요작용이 필요한 가이드가 있는데... 지금까지 구현된 온보딩 요소들은 타겟과의 상호작용이 일어나는 순간 → 다음 요소로 넘어갔기 때문! 이를 구현하기 위해 template의 sub category를 추가, 해당 요소는 페이지와 상호작용이 가능하고 + 다음 버튼을 눌러 온보딩을 진행할 수 있게 구현했다. MVC로 구성된 kit에서는 애플리케이션 공통 interface를 추가하고 View단 로직만 수정하면 이를 구현할 수 있었기 때문에, 큰 공수가 들지는 않았다. (객체지향 만세!) extension에서 해당 요소를 toggle 할 .. 2024. 1. 14.
전방 십자인대 재건술 1달 차 후기 (보조기, 재활 운동) 수술한 지 정확히 1달 차. 드디어 반깁스를 떼고, 보조기를 착용했다. 사실 원래라면 지난주, 그러니까 수술 후 3주 차에 보조기를 착용해야 했다. 그런데 담당 선생님 왈. 많은 환자들을 봐보니, 일찍 보조기를 착용해 버리면 후유증이 금방 오는 경우가 많더라... 특히 나 같은 젊은 사람들은! (띠용) 친구의 소개로 찾아가서 신경을 더 써주시는 건지... 아무튼 덕분에 1주일 더 반깁스를 했다. 당연한 얘기지만, 반깁스보다는 훨씬 편하다. 착용 1주일 전 병원과 제휴된 듯한 보조기 업체가 와서 안 다친 쪽 다리를 재고 갔다. 개인별 맞춤 제작이라 가격이 좀 나간다고 했고... 실제 가격은 220000원! (당연히 보험처리는 안된다) 살짝 딛는 정도는 괜찮지만, 어쨌든 목발은 계속 착용해야 한다. 의사 선.. 2024. 1. 13.
728x90
반응형