본문 바로가기

전체 글84

[flutter]플러터에서 Intent로 다른 패키지 실행 시 화면 전환이 안되는 현상 아마도 플러터로 앱을 개발한지 만 1년이 다되어 가는 것 같다. 하지만 여전히 플러터는 어렵다. 현재 Android와 Windows를 빌드하고 있는데, 회사 pc를 교체하며 그동안 버전 업그레이드를 하게 되었다. 최신버전인 3.10.0으로 업그레이드한 기쁨을 느낀지 일주일도 안되어 심각한 문제가 발생했다. 내가 개발하고 있는 앱은 launcher의 개념으로 사용되어 Intent로 다른 앱을 실행시켜야 하는데, 실행은 되지만 앱이 전환이 되지 않는 문제가 발생한 것이다.. 처음에는 별일이 아니라고 생각했다. 내가 무언가 코드를 수정했나? 싶어 이리저리 수정코드들을 주석처리 해보기도 하고, pc교체전 백업해뒀던 프로젝트를 열어 실행도 했다. 하지만 코드상태를 똑같이 맞춰도 문제가 해결되지 않았다. (개인적으.. 2023. 10. 25.
JWT 로그인 구현 (With Nest, React) 아마도 로그인 기능을 구현하는 방법은 여러가지가 있을 것이다. 쿠키, 세션, JWT토큰 등의 방법이 있는데 나는 JWT토큰을 사용하여 기능을 구현하려 한다. 우선 위 방법들의 차이가 무엇인지 간단하게 살펴 보자. 1. 세션 사용자 정보 파일을 브라우저에 저장하는 쿠키와 달리 세션은 서버 측에서 관리 사용자가 많아질수록 서버 메모리를 많이 차지 서버는 클라이언트를 구분하기 위해 세션 ID를 부여하며 브라우저를 종료할 때까지 인증상태를 유지 보안 면에서 쿠키보다 우수 세션 동작 방식 1. 유저가 로그인 요청 2. 서버에서 세션 생성 후, 세션 아이디 반환 4. 유저가 API요청 시, 세션ID를 함께 전송 5. 세션 ID가 유효할 시, 응답을 보냄 2. 쿠키 인증 유효시간 설정가능, 유효 시간이 정해지면 브라.. 2023. 9. 24.
[Nest] Repository Pattern 아마도 Nest에서 Service단에서 DB에 바로 접근하는 것은 좋지 못한 것 같다. 실제로 회사에서 .NET CORE로 백엔드 서버를 만들 때, 이곳 저곳에서 분별없이 DB에 접근을 하다보니 여러가지 문제가 있었다. 실제 가장 문제가 되었다고 느끼는 부분은 1. 하나의 함수, 변수를 수정할 때 사이드 이펙트가 생길 가능성이 높다. 처음에는 내가 만든 함수가 어떤 변수를 사용하는지, 어느 곳에서 호출하는지 고려하고 기능의 추가 혹은 수정이 가능했지만 프로젝트가 커지면서 점점 예상치 못한 문제들이 발생하기 시작했다. 특히 DB와 관련된 기능들은 되돌릴 수 없는 문제를 야기할 수 있기 때문에 특히나 조심해야 함을 느꼈다. 즉 개체간의 결합도를 낮추는 작업이 필요하다. 2. 데이터 로직과 비즈니스 로직이 분.. 2023. 9. 3.
아마도 개발자 나는 아마도(?) 개발자이다. 비전공으로 부트캠프를 수료하고 회사에서 개발자(라기보단 직장인)로 1년째 일하고 있다. 이렇게 소개를 한다면, 많은 개발자들의 시작 루트와 같다고 볼 수 있겠다. 하지만 부트캠프의 많은 친구들이 크고 작은 IT회사에 취업을 할 때 나는 조선소에서 개발을 시작하였다. 부트캠프 수료 직전 채용이 열려 나는 습관적으로 지원을 했고, 시험을 치고, 면접을 보고 합격을 했다. 1년동안 배운 웹개발에 점점 더 흥미가 붙고 있었던 차였기에, 입사일 이전까지의 여유기간에 마음에 드는 IT회사에 취업하면 바로 행선지를 옮기면 된다고 생각했었다. 그리고.. 1년이 지났다. 처음에는 사내에서 사용하는 외부 툴의 인하우스 개발을 맡았으나 금방 업무가 바뀌어 현재는 앱 개발을 풀스택으로 하고 있다.. 2023. 8. 26.