#궁금증

질문 4
해시태그 없이 키워드만 일치하는 질문은 개수에 포함되지 않아요.

15일 전 · 지현 님의 질문 업데이트

이직 준비 시 포트폴리오/이력서에 SI 프로젝트는 어떻게 작성하나요?

안녕하세요. 현재 SI 회사에 재직 중인 신입 개발자입니다. 이직을 준비하며 지금까지 진행한 업무들을 정리해 이력서와 포트폴리오를 업데이트하려고 합니다. 그 과정에서 아래와 같은 궁금증이 생겼습니다. 1. SI 프로젝트를 포트폴리오에 어떻게 녹여서 작성하면 좋을까요? 팀 단위로 기업 의뢰를 받아 개발한 프로젝트들이 대부분인데, 구체적으로 어떤 식으로 써야 하는지 고민됩니다. 담당한 역할 위주로 써야 할지, 결과물 중심으로 써야 할지도 궁금합니다. 2. 보안이나 이슈가 있는 프로젝트는 어떻게 다뤄야 하나요? 프로젝트 보완 정책 때문에 세부 기능이나 시스템 구조를 구체적으로 공개하지 못하는 경우에는 어떻게 요약해서 표현하면 좋을지 알고 싶습니다. 3. 외부 기업의 요청으로 만든 프로젝트도 포트폴리오에 써도 되나요? 예를 들어 관공서, 공공기관, 대기업 시스템 개발에 일부 참여한 경우 어떻게 작성하면 좋을까요? 4. 신입 때 만들었던 사이드 프로젝트도 계속 포트폴리오에 포함해도 괜찮을까요? 시간이 좀 지나긴 했지만 개인적으로 만든 프로젝트들도 함께 넣는 게 도움이 될지, 아니면 현업 프로젝트 중심으로만 구성하는 게 좋을지도 고민됩니다. 혹시 비슷한 경험이 있으신 분들이나, 이직을 해보신 선배님들의 조언을 듣고 싶습니다. 감사합니다!

개발자

#이직

#신입

#si

#포폴

#이력서

답변 0

댓글 0

조회 77

한 달 전 · 조세영 님의 새로운 답변

프론트엔드 디자인 고민

프론트엔드 개발에 관심있는 대학생 3학년입니다. 프론트엔드 개발을 하면서 '디자인'에 대한 궁금증이 생겼습니다. 보통 협업을 할 때는 따로 디자이너와 함께하면서 프론트엔드는 피그마 디자인을 구현하면 되는데, 개인 프로젝트나 디자이너 없는 프로젝트에 관해서 디자인을 어떻게 가지고 가야하는지 궁금합니다. ... 추가적으로 개발에만 집중할 수 있는 디자인 툴 이나, 팁같은것이 있을까요?

개발자

#프론트엔드

#디자인

#피그마

답변 2

댓글 0

조회 101

2달 전 · 박유한 님의 질문

스프링 부트 프로젝트 성능 개선 궁금증

다른 사람들의 포트폴리오들을 보면 예를 들면 API 요청 시간이 평균 10ms → 6ms로 줄였다 이렇게 성능 개선을 하던데 주로 어떻게 하는지가 궁금합니다. 프로메테우스랑 그라파나를 사용하고 jmeter으로 부하를 걸고 성능을 테스트 하는건가요? 어떤 방식으로 사용하는지 잘 모르겠습니다.

개발자

#스프링

답변 0

댓글 0

조회 103

6달 전 · 전재욱 님의 새로운 댓글

자바스크립트의 이벤트 처리 질문

리액트로 이미지 inpainting 컴포넌트를 만들고 있습니다. 사용자가 이미지 업로드를 하면 canvas 영역에 그 이미지가 채워지고 그 이미지에 mask 영역을 칠할 수 있는 이미지 에디터 컴포넌트인데요, 궁금한게 생겨 질문드립니다. 첨부한 코드는 컴포넌트의 코드중 이미지 업로드 시 onChange 이벤트의 처리기인 handleImageUpload 함수와, handleImageUpload 함수에서 호출되는 loadImage 함수의 코드입니다. 사용자가 input 요소에 이미지를 업로드하면 onChange 이벤트가 발생해 handleImageUpload 함수가 실행되고 loadImage 함수가 실행됩니다. loadImage 함수가 실행되면 img 객체가 생성되고 img 객체의 src를 지정하죠. 그러면 브라우저는 이미지 로딩을 시작하고 이미지 로딩이 완료되면 onload 콜백함수가 실행됩니다. 저는 이 과정을 자바스크립트의 콜스택, 이벤트 루프, 태스크큐 구조에서 나타내보자면 다음과 같다고 생각했습니다. 1. 초기상태 콜스택 : [ ] 태스크큐 : [ ] 2. 사용자가 파일을 업로드 -> onChange 이벤트 발생 콜스택 : [handleImageUpload] 태스크큐 : [ ] 3. handleImageUpload 내부에서 loadImage 함수 호출 콜스택 : [handleImageUpload, loadImage] 태스크큐 : [ ] 4. loadImage 내부에서 img 객체 생성 및 src 할당 콜스택 : [handleImageUpload, loadImage] 태스크큐 : [ ] Web API : 이미지 로딩 시작 5. loadImage 함수 종료, handleImageUpload 함수 종료 콜스택 : [ ] 태스크큐 : [ ] Web API : 이미지 로딩 진행중 6. 이미지 로딩이 완료되면 Web API가 onload 콜백을 태스크큐에 추가 콜스택 : [ ] 태스크큐 : [onload] Web API : 이미지 로딩 완료 7. 이벤트 루프가 콜스택이 비어있음을 확인하고 태스크큐에서 onload 콜백을 콜스택으로 이동 콜스택 : [onload] 태스크큐 : [ ] 8. onload 콜백 실행 (캔버스에 이미지 그리기 등) 콜 스택 : [onload, drawImage, ...] 태스크큐 : [ ] 일단 이 과정이 맞나요? 만약 이게 맞다면 생기는 궁금증이 있습니다. Web API에서 이미지 로딩이 진행되는동안 loadImage 함수 및 handleImageUpload 함수가 종료되면 loadImage 함수 내에서 생성된 img 객체는 가비지 컬렉터에 의해 지워져야 하지 않나? 그렇게 img 객체가 GC에 의해 사라지면 이미지 로딩이 완료되었을 시점엔 img 객체의 onload 함수도 없어진것이니 onload 함수의 로직은 실행이 되지 않아야 하는 거 아닌가? 하는 생각이 들어 질문드립니다

개발자

#자바스크립트

#react

#frontend

답변 1

댓글 1

조회 254

7달 전 · 익명 님의 질문

기업에서 사용하는 자연어 처리 모델에 대한 궁금증이 있습니다.

현재 취업준비생인데 자연어 처리 분야로 목표를 잡고 있습니다. 기업은 대기업이 아니더라도 중소기업, 스타트업 다 생각 중에 있습니다. 자연어 처리 쪽에 궁금한 점이 생겨 질문을 남깁니다. 기업들의 자격조건들을 보면 pytorch나 tensorflow 등 사용 경험이 나왔습니다. 보통 개인적으로 학습할 때는 pytorch나 tensorflow 등을 사용해서 LSTM 같은 모델들을 직접 짜보는 경험들을 하지만 요즘 프로젝트를 진행하면 GPT, Gemma, Huggingface 등 이런 모델들을 불러와서 파인튜닝하고 평가할때만 pytorch를 이용해서 하는 거 같습니다. 실제로 기업에서는 직접 LSTM 같은 모델들을 설계하여 사용하는 지 그 정도 수준의 pytorch 수행능력을 가져야 하나요 아니면 외부 모델 파인튜닝을 더 많이 해서 pytorch의 수준 능력이 고급까지 아니여도 되는 지 궁금합니다.

개발자

#취업

#취준생

#자연어처리

#ai

#인공지능

답변 0

댓글 0

조회 31

8달 전 · 익명 님의 질문

OAuth2 + jwt 환경 부하 테스트 방법에 대한 질문..

최근 성능 테스트의 중요성에 대해 알게 되어서 목표 성능치를 두고 부하테스트를 진행해보려는 계획에 있습니다! 테스트 툴로는 nGrinder를 사용할 생각인데요, 문제는 제 서버가 이메일 로그인을 지원하지 않고 oauth2와 jwt를 활용한 인증/인가 방식을 사용하는데 부하테스트 시 가상 유저에게 어떻게 accessToken을 발급해주어야 하는지에 대한 궁금증이 생겼습니다..! 제가 생각해본 방식들은 다음과 같습니다. 1. 실제 유저에 대한 accessToken을 하나 발급해두고 이를 고정값으로 사용한다. - 이 방식은 제일 편하지만 사실상 한명의 유저에 대한 시나리오만 테스트할 수 밖에 없고, 같은 유저에 대한 각종 캐싱된 데이터들로 인해 실제 상황과는 동떨어진 작업이 될 것 같아 채택하지 않았습니다. 2. FakeAuthServer와 같은 가상의 OAuth 서버를 만들어 로그인을 시도한다. - 구현하기는 어려워보이지만 그나마 가장 실제 서비스와 동일한 형태입니다. 하지만, 제가 테스트하려는 시나리오는 여러 요청에 대한 순차적인 테스트가 아닌 하나의 API가 얼마나 많은 부하를 견딜 수 있는지 보기 위한 테스트라서 굳이 로그인 과정을 테스트에 포함시킬 필요는 없어보입니다.. - 사실 하나의 API에 대한 테스트만 진행해도 괜찮은지 몰라서 이 방법을 버리지 못하고 있습니다 3. nGrinder의 테스트 스크립트에서 @BeforeThread에 jwt를 발급받는 로직을 작성해서 테스트 전 미리 토큰을 발급받아 요청한다. - 이 방식은 로그인 과정은 포함되어 있지 않고 이미 토큰을 발급받았다는 가정하에 하나의 API만 테스트하기 가장 적합한 방법이라고 생각이 되었습니다. - 번거롭지만 jwt를 직접 생성해주기 위해 jjwt 라이브러리를 nGrinder에 포함시켜야 될 것 같습니다 - 하지만 이렇게 스크립트에서 토큰을 발급해주는게 맞는지 실무에서도 이런식으로 사용하는 경우가 있는지 궁금합니다.. 처음 부하 테스트를 적용하려고 하는데 oauth2 + jwt로만 구성된 예제가 보이지 않네요 ㅠㅠ 어느 방법이 가장 적절한지 혹은 더 나은 방법이 있는지 조언을 구하고자 질문 남깁니다!

개발자

#ngrinder

#oauth

#jwt

#부하테스트

#성능테스트

답변 0

댓글 0

조회 118

8달 전 · 신민규 님의 새로운 댓글

백엔드 공부중인 학부생인데 실무 관련해서 단순한 궁금증이 있습니다!

안녕하세요 현재 백엔드 개발 공부중인 학부생입니다. 공부중 현업에 관련해서 간단한 궁금증이 있는데 알고있는 현업자분이 없어서 여기에다가 질문 남깁니다. 제가 트랜잭션에 대해 공부하다가 spring의 open-in-view 속성에 대해 알게 되었는데 이 설정을 현업에서는 false로 하는지 궁금합니다. False로 할 경우 lazy load하는 부분에서 문제가 생긴다고 하는데 제 추측으론 현업에선 연관 데이터가 많을것 같고 그럼 lazy load를 사용해야 해서 문제가 있을것 같고 또 키자니 트래픽이 많을때 요청이 종료될때까지 영속성 컨텍스트가 유지되면서 커넥션 풀에 커넥션이 고갈하는 현상이 발생할 것 같은 이런 상황을 현업에선 어떻게 대처하는지 궁금합니다!

개발자

#spring-boot

#jpa

#영속성

#트랜잭션

#데이터베이스

답변 1

댓글 1

조회 76

9달 전 · 유연 님의 질문

자연어처리 VS 이미지처리

이제 공부를 시작하는 입장에서 자연어처리와 이미지처리 중 어떤 분야를 가고 싶은지에 대한 것을 미리 정해야한다는 조언을 받았습니다 여기서 문득 생긴 궁금증이 있습니다 자연어처리를 하는 직무에서 이미지처리를 하는 직무로 변경하는 것이 뿌리부터 바꿔야할정도로 많이 다른 분야일까요? 1. 이미지처리 쪽에 하고 싶은 분야가 있는데 이 분야가 딥러닝을 필요로 하는 것에 있어서 석사를 고려해야하는 것에 부담이 있습니다 2. 공기업 준비한다면 자연어처리가 더 나을 거라는 생각이 드는데요(금융권을 생각하고 있습니다) 이걸 사기업과 공기업의 차이로 볼 순 없겠지만, 자연어처리와 이미지처리의 직무 이동을 고려한다면 거의 불가능이라고 봐야할까요?

개발자

#자연어처리

#이미지처리

#공기업

#사기업

답변 0

댓글 0

보충이 필요해요 1

조회 68

10달 전 · 경범 님의 질문

토큰 관리, 로그인 유지를 현업에서는 어떻게 진행하는지 궁금합니다

안녕하세요 토이프로젝트로 인증/ 인가 파트를 맡게되었습니다 이전의 프로젝트에서는 로컬스토리지과 전역 상태 관리 라이브러리의 persist를 활용하여 토큰과 로그인상태를 로컬스토리지에 저장하여 진행하였습니다 하지만 이번에 새롭게 진행하는 프로젝트를 위해 다양한 웹사이트를 개발자도구로 참고하였지만 토큰이나 isLogined와 같이 로그인 여부 상태를 로컬, 세션 스토리지에서 관리하는 사이트를 확인할 수 없었고, 검색을 통해 보안을 위해 Http Only 쿠키를 통해 액세스 토큰과 리프레시 토큰을 관리하는 방법이 일반적이란것을 알 수 있었습니다 이러한 방법에서 몇 가지 궁금증이 생겨 질문을 드리고 싶습니다 1. 현업에서는 어떠한 방식으로 토큰을 관리하고 로그인 상태를 유지하나요? 2. 만약 http only 쿠키를 사용하게 된다면, 쿠키에 저장된 토큰을 클라이언트에서 조작할 수 없으니, 매번 페이지를 렌더링 할 때마다 토큰이 유효한지 api 호출을 통해서 로그인 상태를 유지해야하는걸까요? (api를 통해 토큰이 유효하다면 로그인 유지, 아니라면 로그인 페이지 리다이렉션) 3. http only 쿠키 외에 인증 / 인가를 위해서 클라이언트 단에서 보안적으로 신경써야하는 부분은 어떠한것이 있을까요? 가장 기본적이지만 가장 어려운 인증/인가 부분 현업 선배님들께서는 어떻게 진행하시는지 답변해주시면 감사하겠습니다

개발자

#front

#react

#login

#jwt

#프론트엔드

답변 0

댓글 0

추천해요 3

조회 140

10달 전 · 바보 님의 질문

Nextjs, 비용차이 많이 날까요?

안녕하세요 그냥 제 주변인이나 학우 대상으로 플젝 조그만하게 만드는 사람입니다 새 프로젝트를 nextjs로 가다보니 단순 호기심이에요 지금까지 프로젝트는 csr 방식으로 제작해 배포했고 비용은 0원나왔어요(트래픽이 많이 발생한 것도 아니고ㅋㄷ) 이번 플젝은 nextjs approuter을 사용하지만(ssr) client component만을 사용할 것이고 server side에서 Fetching하지 않을 계획이에요 실제 트래픽이 유의미하게 발생해야하고, 배포 플랫폼(버셀, aws)에 따라 다르지만 여러분들의 사례를 대충 알려주신다면 제 궁금증이 해소될 것입니다

개발자

#react

#next.js

답변 0

댓글 0

보충이 필요해요 3

조회 135

일 년 전 · 설송우 님의 새로운 댓글

Jwt 리프레시 토큰 관련 궁금증

안녕하세요! Jwt 인증로직을 구현하고있는데, 리프레시토큰 쪽을 구현하다가 문득 의문이 들어서 질문 남겨봅니다! 보통 엑세스토큰이 만료되었을때 1. 리프레시 토큰으로 검증에 성공하면 이후, 기존 요청은 캔슬하시고 새로운 토큰을 클라이언트에게 반환 2. 리프레시 토큰으로 검증에 성공하면 새로운 토큰정보를 기존 요청에 대한 반환과 함께 반환 1번 방법으로 한다면, 클라이언트쪽에서는 2번의 요청을 수행해야하고, 2번 방법으로 한다변 1번의 요청만으로 기존 요청에 대한 수행과 토큰 갱신을 둘다 할 수 있을것같은데 보통 실무에서는 어떻게 진행하나요??

개발자

#jwt토큰

#인증

#인증만료

답변 1

댓글 1

추천해요 1

조회 100

일 년 전 · 김승상 님의 댓글 업데이트

컴공 4년제 백엔드 개발자로서 초과학기를 들어야 하는지 궁금합니다..

컴퓨터공학을 전공하고 있는 4학년 학생입니다... 이제 곧 4학년 1학기가 끝나갑니다만, 궁금증이 있어 이렇게 질문글을 올리게 되었습니다. 저는 원래 웹/앱쪽을 주력으로 공부하여 전공 과목도 주로 이쪽으로 들엇습니다만, 3학년 겨울방학 때 토이프로젝트를 진행하면서 백엔드에 매력을 느꼈고, 그를 통해 졸업 작품까지 java + spring을 이용하여 만들었습니다. 저는 현재 웹 분야의 백엔드 개발자가 되려고 하고 있습니다만, 원래 백엔드가 메인이 아니었다보니 aws나 spring, react, 데이터베이스에 대한 내용들은 강의를 통하여 배웠지만, 데이터마이닝이나 빅데이터프로그래밍, ai에 관련한 강의들은 수강하지 않았습니다... 위 강의들을 들으려면 아무래도 1학기 정도를 초과학기로 더 들어야 할 듯한데, 초과학기를 듣는게 좋을까요? 취업을 할 때, 면접에서 위와 같은 강의들을 수강했다는 것이 중요한지, 취업하고 나서 백엔드 개발자로서 개발을 할 때도 중요한지 궁금합니다. (초과학기를 듣지 않는다면 싸피 등의 부트캠프로 들어가 포트폴리오를 좀 더 채우고 취업을 준비할 듯 합니다.)

개발자

#백엔드

답변 1

댓글 1

조회 187

일 년 전 · 짹 님의 새로운 답변

로그인 구현 시 토큰 및 정보 저장 방식에 대한 궁금증

안녕하세요. 진행 중인 프로젝트에서 로그인 기능을 구현하려고 하는데, 직장에서 근무하시는 선배님들은 어떤 방식으로 토큰 등 로그인 정보를 저장하시나요? HTTPonly 쿠키, 로컬 스토리지 등등 많은 방법이 있는 걸로 아는데 어떤 것이 맞다, 틀리다는 없는 것 같아서요. 선배님들이 다니시는 혹은 다니셨던 회사에서는 어떤 방식으로 로그인 정보를 저장하는지 궁금합니다! 또한 왜 해당 방식을 사용하는지도 궁금합니다!

개발자

#프론트

#기술

#프론트엔드

#웹-개발

#앱개발

답변 1

댓글 0

조회 58

일 년 전 · 최기환 님의 새로운 댓글

안녕하세요 신입 개발자 최기환이라고 합니다! 테스트 코드 관련해서 선배님들의 고견을 여쭙고 싶습니다!

1. 로그인 폼에 대한 테스트를 작성하다 생긴 의문이 있습니다. 현재 테스트에 대해 공부하며 로그인 폼에 대한 테스트 코드를 작성하고 있었습니다. 그러다보니 로그인 폼에 포함되는 이메일 인풋 에서 진행했던 테스트와 유사한 테스트 코드를 반복해서 작성하고 있는걸 발견했습니다. 예를들어 이메일 입력에 유효하지 않은 이메일 입력이 들어오면 인풋 아래에 에러 텍스트가 보여야 한다 라는 테스트를 작성 했습니다. 그런데 로그인 폼에서 이런 로직을 포함하는 통합적인 로직을 테스트 하고 있었습니다. 이런 경우 로그인 폼에서는 이메일 인풋에서 작성한 테스트는 패스하고 좀 더 통합적인 테스트를 작성해야 할까요? 2. TDD를 도입한다면 어떤 테스트 코드부터 작성 되어야 하나요? 예를 들어 위 처럼 로그인 폼에 대한 통합 테스트가 있고 각 인풋 그리고 버튼 에 대한 유닛 테스트가 있다고 생각했을 때 어떤 테스트가 먼저 작성 되어야 하는지 궁금합니다. 통합 테스트를 먼저 작성하게 되면 이 통합적인 기능이 완료 되기 전까지는 계속해서 테스트가 실패 할 텐데 그래도 괜찮은가? 하는 궁금증이 있습니다!

개발자

#테스트코드

#tdd

#react

#javascript

#프론트엔드

답변 1

댓글 1

조회 136

일 년 전 · JB 님의 새로운 답변

라이브러리에서 필요한 정보를 찾을 때, 주로 공식페이지 or …

프론트 재취준 주니어입니다. 혼자 문제 해결 능력을 길러보고 싶어서 강의에서 알려주는 코드를 해당 강사는 어떤 경로로 알게되었는지 궁금증이 생겼습니다. 선배님들은 라이브러리에서 필요한 정보를 찾으실 때(블로그 제외) , 주로 해당 라이브러리의 공식 홈페이지 또는 github repo 둘 중 어떤 것을 위주로 탐색하시나요? msw 라이브러리 같은 경우에는 공식홈페이지에 없는 자료가 github repo에 있어서 보통 둘 다 뒤져서 찾아보는 경우가 많은지도 궁금합니다.

개발자

#문제해결능력

답변 1

댓글 0

조회 44

일 년 전 · ㄷㅇ 님의 새로운 댓글

Next.Js의 next/link, middleware 질문합니다!

안녕하세요. 회사에서 Next.js, Vercel 환경에서 개발하는 신입 프론트엔드 개발자입니다. Next.js 기술의 next/link와 middleware 기술에 대해서 궁금증이 생겨서 질문합니다!! next/link는 prefetch기능이 큰 장점으로 알고있어서 Link태그에 경로를 설정해서 미리 데이터를 받아오려고 테스트해보는데 prefetch={true} 속성값을 줘도 개발자도구에서 봤을때 미리 데이터를 받아오지 않는거같습니다 ㅠㅠ 원래 개발자 도구에는 확인이 불가능한건가요?? 그리고 next.js의 middleware는 공식문서에 구글링을 통해서 이론적인 부분은 알고있는데 어떤 경우에 사용해야할지 감이 안잡히네요. 어느 페이지에 middleware를 적용해보는게 좋을까요? 이해하기 쉽게 알려주시면 감사하겠습니다 🙏

개발자

#next.js

#react

답변 1

댓글 1

추천해요 2

조회 276

일 년 전 · 박정환 님의 답변 업데이트

개발자 직장 지역이 상관 있나요?

저는 충남에 거주중인 백엔드개발자 취업준비생입니다. 채용사이트들의 입사지원을 넣어보고, 면접을 보면서 궁금증이 들었는데요 개발직종의 회사가 경기도권과 서울쪽에 몰려있다보니 그 위주로 지원을 하게 되었는데 회사의 규모가 더 큰지, 잡플래닛 리뷰가 좋은지와 상관없이 서울권 기업의 지원율이 훨씬 높더라구요 예시1. 자사솔루션 커스터마이징 서울: 100명초반의 사원수, 경기도쪽 대비 낮은 매출액 -> 300명대 지원자 경기: 170명대의 사원수, 잡플래닛 평점 2점 후반대 -> 160명대 지원자 예시2. 웹개발자 서울: 21명의 사원수, 강서쪽 -> 200명대 지원자 경기: 70명의 사원수, 군포쪽 -> 30명대 지원자 공고를 올린 기간이나 이런부분은 거의 비슷한점 참고 부탁드립니다. 제가 예시로 보여드린 기업들 중에서는 저는 경기쪽이 더 좋다고 생각합니다. 그런데 단순히 서울 사는 인구가 많아서 근처로 지원을 한 것인지 아니면 서울 쪽으로 취업 후 이직 시 이점이 있기에 지원율에 차이가 있는 건지 왜? 지원자 수에서 차이가 나는지 근본적인 이유가 궁금합니다. 많은 분들의 의견 부탁드립니다. 감사합니다.

개발자

#취업

#백엔드

#서울

#경기

#지원율

답변 2

댓글 0

조회 307

일 년 전 · 손대호 님의 댓글 업데이트

API 호출 시, 응답의 반환하는 방법에 대해 질문이 있습니다.

제가 했던 방식과 다른 새로운 방식을 알게 됐는데 다른 개발자분들은 일할 때 어떤 식으로 통신하는지 궁금증이 생겼습니다. 그리고 이번 기회에 다른 개발자들과 이야기해 보면서 또 어떤 방식이 있는지 알기 위해 커리어리에 첫 글(질문)을 쓰게 됐습니다. —— ***들어가기 전에*** - 신입 백엔드 개발자로 취업 준비 중입니다. - 다양한 방식으로 해보는 걸 좋아하기 때문에 장단점만 있을 뿐 정답은 없다고 생각합니다. - API 요청 시, `Reponse status code`는 클라이언트-서버와의 약속이라고 생각하고 있고, 약속을 했으면 따라야 한다고 생각합니다. - 기간이 짧은 프로젝트이기 때문에 어떤 답변이 오더라도 프로젝트에서 정한 약속을 바꿀 생각은 없습니다. 프로젝트가 끝나고 백엔드 개발자분과 리팩토링을 하면서 의견을 공유해보고 싶긴 합니다. (원하지 않는다면 어쩔 수 없고요..) ***중요*** - 글을 잘 쓰는 편이 아니라 이해가 안되거나 제 말투가 공격적이라고 느껴지는 부분이 있으면 언제든지 말씀해 주세요! - 만약 방식이 잘못됐다고 생각하시면, 그렇게 생각하는 이유와 가능하다면 경험을 공유해주세요! —— # 본문 지금까지 RFC / MDN / IT 기업 기술 블로그 등을 보고 REST API를 공부했고, 설계 원칙에 따라 모든 API 요청에 대한 Response 상태 코드를 200, 400, 401, 403, 404, 500 등과 같이 정확하게 주고받아야 한다고 생각하고 있었습니다. (물론 애매한 경우도 있었습니다) 그런데 최근 짧은 기간 동안 프로젝트를 하게 되었는데, iOS 개발자(2년차 현직)분과 백엔드 개발자(신입 개발자 취업 준비)분께서는 아래와 같은 의견을 주셨습니다. ''' 클라이언트의 입장에서 요청을 보냈을 때, 서버와 연결이 실패한 게 아니라 서버를 통해 정의된 에러 (4xx, 5xx)를 받았으니 통신에 성공한 것이다. 그러므로 API의 모든 요청(권한이 없는 사용자의 요청, 잘못된 리소스 요청, 이미 가입한 사용자가 다시 회원 가입 요청 등)의 `Response status code`는 200을 반환하고 body에 서버에서 응답한 상태 코드(3xx,4xx, 5xx 등)와 함께 커스텀으로 명시한 에러 코드(AUTH-001 등), 에러 메시지를 보내야 한다. ''' 관점을 다르게 보면 그럴 수 있겠구나 싶었고 문득 주변 개발자분들은 어떻게 구현을 하는지 궁금해져서 이야기를 나눠봤는데 그 결과는 반반이었습니다. 아직 그분들도 연차가 높지 않기 때문에 그렇게 설계한 이유와 이점에 대해 자세히 알고 계시지는 못했습니다. —— # 질문 1. 모든 요청의 Response status code로 200을 보내는 건 REST API 설계에 어긋난다고 생각하는데 이렇게 설계하는 이유와 있는지 궁금합니다. 2. 모든 API 요청의 Response status code를 200으로 보내는 방식으로 구현한다면 나중에 어떤 문제가 생길 수 있을까요? (예를 들어 웹으로 확장 등) - 현재 iOS로 개발 중이며, 확장 가능성은 없는 상태입니다. 단순하게 궁금해서 질문드립니다. 3. 만약 두 방식 외에 다른 방식으로 통신한 경험이 있으시면 그 방식을 선택하신 이유와 이점도 궁금합니다.

개발자

#rest-api

#statuscode

#지식-공유

답변 1

댓글 1

추천해요 2

조회 783

일 년 전 · 김민식 님의 새로운 댓글

UIKit + Rx Vs UIkit + Combine

회사에서 현재 프로젝트가 후자로 되어 있습니다. 이유를 들어보니, - Combine 이 성능이 좋다는 글참고 - 기술 스텍상 SwiftUI 도입은 불가능 이 두 이유를 들었구요. SwiftUI 에는 Combine이 잘 어울리니 당연하다고 생각은 해왔으나 UIKit이랑 사용하는 것은 굳이 Combine으로 할 필요가 있냐는 궁금증이 생겨서요. (물론 먼 미래에 SwiftUI로 컨버팅할때 유용할 것 같습니다.) 혹시 iOS개발자분들 의견은 어떠신가 궁금합니다!

개발자

#ios

#uikit

#rxswift

#combine

#swift

답변 1

댓글 3

조회 183

일 년 전 · 김태양 님의 새로운 답변

React Native CodePush 배포 중 궁금증이 있습니다!

안녕하세요 :) React Native 개발자분들께 궁금한 점이 있어 질문 올립니다. 보통 RN앱은 CodePush를 사용해서 핫픽스나 유지보수 등의 목적으로 배포를 진행하는데, 신규 feature 개발로 인한 라이브러리 추가 혹은 Native쪽 소스코드를 수정하였을 때에는 스토어 배포를 해야 앱에 적용되는 것으로 알고 있습니다. 여기서 궁금한 점! 신규 feature 개발로 라이브러리를 추가하였을 때 앱 업데이트를 필수로 해야하는데, 사용자가 만약 앱 업데이트를 하지 않고 CodePush에 업데이트된 버전만 받게 되면 해당 추가된 페이지에서 충돌이 나지 않을까 하는 의문이 생겼습니다. 또, 스토어에 업데이트를 했다 하더라도 CodePush에 업데이트를 해주지 않으면 이전에 올려둔 Codepush 앱 버전만 사용자가 보게 될텐데, 다른 RN 개발자분들은 스토어 배포와 Codepush 배포를 어떤 방식으로 진행하게 되는지 여쭤봅니다!

개발자

#reactnative

#codepush

#앱배포

답변 1

댓글 0

조회 121

일 년 전 · 포크코딩 님의 답변 업데이트

장고 admin 페이지 보안

안녕하세요. 최근 장고를 공부중에 있는데 문득 admin 페이지의 보안이 안전한가에 대해 궁금증이 생겨 질문 드립니다. admin 계정을 만들 때 물론 아이디와 패스워드를 만들지만 이것만으로도 보안이 충분하다고 할 수 있나요?? 만약 누군가가 운 좋게 접속한다면 내부 DB 정보들을 볼 수 있을 텐데 어떻게 보안이 유지되나요? 예를 들어 무작위 대입 공격도 있을 수 있구요.

개발자

#django

답변 1

댓글 0

조회 101

일 년 전 · 정하선 님의 새로운 답변

SpringBatch 공부를 하다 궁금증이 생겨 질문드립니다.

SpringBatch 5를 공부하고 있습니다. Job과, Step 그리고 Step을 이루는 item reader, process, writer 로 구성되어 하나의 잡을 실행시킬 수 있다는 점을 공부하게 되었습니다. 문제가 된 부분은 Job을 여러개 두어 정해진 시간마다 돌게끔 하고싶다는 생각이 문제가 되었는데요, Job을 여러개 두려 하니 Job을 하나만 실행시켜야 하고, 시작할 때 돌리고 싶은 Job 을 명시하라는 등의 문제를 겪었습니다. 제가 구글링을 잘 못하는 것일수도 있지만 ..ㅠㅠ 많은 시간을 찾아봤는데도 아직 모르겠어서 질문드립니다..! 고수분들 .. 제가 여기서 잘못 알고있었던건지 아니면 아직 제가 방법을 모르는건지 모르겠어서 질문드립니다 ㅠㅠ..

개발자

#spring

#spring-batch

답변 1

댓글 0

조회 260

일 년 전 · 우엉김밥 님의 질문

nextjs에서 랜더링 시점 바꾸기

안녕하세요! nextjs 프로젝트 진행중에 궁금증이 생겼습니다. 현재 Sidebar 컴포넌트에서 카카오맵이 불러와져야 작업을 할 수 있는 상태입니다. 카카오 맵은 children 에서 랜더링되기 때문에 아래와 같이 코드작성시, Sidebar 랜더링 시점에 kakao is not defined 라는 오류가 뜹니다. 혹시 Sidebar를 좀 늦게 랜더링 할 수 있을까요? export default function RootLayout({ children, }: { children: React.ReactNode; }) { return ( <html lang="en"> <body className={inter.className}> <div id="login-modal" /> <section className="flex h-screen"> <nav className=" h-full bg-slate-100"> <Sidebar /> </nav> {children} </section> </body> <Script src={`//dapi.kakao.com/v2/maps/sdk.js?appkey=${APIKEY}&libraries=services,clusterer`} strategy="beforeInteractive" /> </html> ); }

개발자

#nextjs

#reactjs

답변 0

댓글 0

조회 59

일 년 전 · 다형 님의 답변 업데이트

데이터 join후 어디에 담으시나요?

안녕하세요 join한 결과를 repository를 통해 받아올때 다들 어떻게 하시나요?? 어떤 방법을 써야 하는지 모르겠어서 선배님들의 의견과 다른 회사에서는 어떻게 하는지 알고 싶어서 질문 드립니다~ 제가 알기로는 domain은 db테이블과 1대1관계를 가져야 한다?, dto는 request와 response시에만 사용하는것? 으로 알고 있습니다 Mybatis를 통해 두 테이블을 join할때 (예를 들어 게시판 상세페이지에 접속할때 게시판테이블의 정보와 업로드된 파일을 관리하는 테이블의 데이터를 함께 조회함) 그 데이터를 어디에 담아서 repository를 통해 리턴하면 될까요..? 게시판 domain에 파일 정보를 추가해서 조인한 데이터를 담자니 domain이 db와 1대 1관계를 깨는것 같고 dto에 바로 담자니 dto와 domain의 변환 시점이 있는데 규약(?)을 무시하는것 같고 브릿지 테이블을 만드는것도 아닌것 같고.. 회사에서도 여쭤볼 분이 마땅치 않아서 궁금증을 여쭤봅니다ㅜㅜㅜㅜ

개발자

#join

#dto

#domain

#mybatis

답변 2

댓글 0

조회 256

일 년 전 · 손윤석 님의 새로운 댓글

emitter와 adapter에는 어떤 차이가 있나요?

socket.io adapter 구현을 위해 docs를 살펴보던 중 생긴 궁금증입니다. 두루뭉실하게 소켓을 관리하는 것이 adapater이고, 이 adapter들을 관리하는 것이 emitter라고 받아들여지기는 하지만, 정확한 개념은 아닌 것 같아 질문 남깁니다. 둘은 어떤 차이가 있는지, 어떠한 맥락에서 사용되는지도 같이 알려주시면 감사하겠습니다.

개발자

#socket.io

답변 1

댓글 1

조회 118

일 년 전 · 이양일 님의 답변 업데이트

프론트와 백 연결중 Controller

일단 제 친구가 프론트 저는 백엔드 이렇게 서로 처음 팀프로젝트를 해보고자 노력하고 있습니다. 만드는 과정에서 궁금증이 생겼고 이걸 물어볼 곳이 없어서 선배개발자가 많은 이곳에 물어보려고 글을 씁니다! (우선 글이 좀 방황할 수 있는데 미리 죄송합니다ㅠ) ------------------------------ 현재 스프링을 통해서 개발 중인데 궁금한거는 @Controller에 있습니다 이 어노테이션은 view를 반환하고 @RestController은 data를 반환하는 걸로 알고 있습니다. 데이터를 주고 받고자 한다면 RestController를 사용하면 되는데 @Controller을 사용하기 위해서는 view를 반환하기에 html이 있어야 되는걸로 알고 있습니다. 그러면 @Controller를 통해서 작업을 처리하고자 한다면 백엔드 프로그램에 html을 놔둬야 하는건가요? 아니면, 프론트에서 html과 같은 것을 작성하고 그 view를 반환하는 건가요? 요약: 프론트와 백 연결과정 중 @RestController이 아닌 @Controller은 어떻게 연결하나요?

개발자

#spring

#백엔드

#프론트엔드

답변 2

댓글 8

조회 554

일 년 전 · 상연 님의 새로운 댓글

브라우저 API KEY 노출 관련

안녕하세요 프론트엔드 개발자 취업을 준비 중인 취준생입니다 다름이 아니라 프로젝트를 진행함에 있어 궁금증이 생겼는데 생각보다 답을 찾기가 어려운 것 같아 질문 올려 봅니다 오어스나 지도, open ai 등의 api를 사용할 때, 개발자도구 네트워크 란에 들어가니까 api키가 쉽게 노출되더라구요 인증 토큰까지야 어치피 자신의 것이 노출된다고 생각하긴 하는데 api key나 다른 시크릿 키 등은 위험할 수도 있겠단 생각이 들었습니다 env가 생각보다 쉽게 노출되기 때문에 보안에 중요한 부분은 넣지 않아야 한다고 들었습니다만 위와 같은 경우, 브라우저에서 키를 보이지 않게 하는 방법이 어떤 게 있을까 해서 여쭤봅니다 조금 찾아 봤더니 사실 플랫폼 도메인과 redirect uri 같은 것을 등록하기 때문에 외부 오리진에서 api 키를 이용하는 것은 막혀 있다고 알고 있긴 한데 이렇게 잘 구성되어 있지 않은 부분이 있을 수도 있고, 말 그대로 민감한 정보가 노출될 수도 있다고 생각해서 가릴 수 있는 방법을 알고 싶습니다 FE는 ts vite react에 배포는 vercel로 진행했고 환경 변수는 버셀 프로젝트 세팅 환경 변수에 넣었습니다

개발자

#env

#브라우저

#api

#보안

답변 1

댓글 1

조회 296

일 년 전 · 김태우 님의 새로운 댓글

[Next.js] api라우터에 대한 질문입니다.

갑자기 의미없을 거 같은 단순 궁금증이 생겼습니다. (클라이언트 - app) & (서버 - app) (클라이언트 - app) & (서버 - page) 클라이언트와 서버 모두 app 디렉터리에서 구현하는 것과 클라이언트는 app, 서버는 page 디렉터리에서 하는 것이 성능 차이가 있을까요?

개발자

#next

#프론트

#프론트엔드

답변 1

댓글 5

조회 124

일 년 전 · 강병진 님의 답변 업데이트

Request값으로 사용할 값들을 모두 atom에서 객체로 관리해도 문제가 없을까요?

안녕하세요. depth 가 있는 컴포넌트들이 많은 등록페이지를 개발하다가 궁금증이 들어서 질문드립니다. 그동안 가짓수가 많아도, 모두 recoil의 atom에서 단일 값으로 관리를 해왔었는데, 어차피 서버에 객체에 담아서 보낼 것이라면 애초에 모든 값들을 다 객체에서 꺼내서 사용하는 object 타입의 atom 으로 관리하면 되지 않을까 라는 생각이 문득 들어서 현업에서 종사하시는 선배님들께 여쭤보려고 글을 작성합니다. 아마 각각의 단일 데이터 값으로 관리하면 key값이 제각각이라 뭔가 좀 더 안전할 것 같긴한데, 어떤 것이 나은 방법일까요?

개발자

#react

#recoil

#상태관리

#객체배열

답변 1

댓글 1

추천해요 1

조회 130

일 년 전 · 피벨롶 님의 질문

useSuspenseQuery 와 ErrorBoundary 궁금증입니다!

ReactQuery v5 와 ErrorBoundary를 공부하고 있습니다. 학습 과정에서 궁금한 점이 있는데용 Query 데이터를 가져올 때, 네트워크 오류 발생 시 오류 오버레이 UI가 렌더링되면서 uncaught errors 라고 메세지가 나오네요. 그러나 ErrorBoundary의 fallback UI는 렌더링이 제대로 됩니다. uncaught errors라면 ErrorBoundary에서 에러를 캐치하지 못한 걸까요? 그러기엔 fallback UI가 렌더링되니 오류를 잡은건가 헷갈립니다. 혹은 개발 환경에서는 오류 오버레이 UI가 렌더링되는 것이 정상적인건가요? 열심히 찾아봤는데 잘 나오지 않는 것같아 질문드립니다...!

개발자

#react

#react-query

#error

#error-boundary

답변 0

댓글 0

조회 377