일단 direct message는 작성되 있지 않기 때문에 board message와 comment에서 이름만 추출하는 함수를 각 service에 추가해주고 mention service에서 불러와 사용해주었습니다. 그리고 board member service를 수정하려 했으나 그 뒤로 아직 말이 없어서 더 이상 고치진 못했고,
board front 부분에서 메인 타이틀을 저장된 보드 이름으로 변경해주었고, 디테일은 예찬님이 마치는대로 제가 댓글 부분을 맡기로 했습니다.
일단 오늘은 멘토링을 받으면서 궁금했던점을 알아갈 수 있어서 좋았습니다.
제가 질문한 부분은 아래와 같습니다.
- 보드 프론트가 여러 백들과 연결하는 부분이 많아 async await을 많이 사용합니다. 그래서 가끔 코드가 꼬이기도 하는데, 백엔드에서 작업시 async await을 줄이는 방법이 있을까요? 만약 백에서 async await을 사용하지 않는 부분이 있으면 프론트에서도 async await을 쓰지 않아도 돌아가는데 문제가 없나요?
- 이부분에서는 해당 하는 api의 값을 다른 api가 필요하지않을 경우엔 async await을 제외해도 되지만 필요할 경우엔 꼭 필요하다고 합니다.
- 백에서 보드 멤버를 a,b,c가 있다고 하면 수정 시 a,c,d로 수정을 하려는데 현재 백에서는 하나씩 받아오는 형태고 프론트에서 for문을 돌려서 사용중입니다.
보드 멤버에서 b라는 멤버는 지우고 d라는 멤버를 채우려는데 멤버 지우는것에서 문제입니다. 받아오는것은 userId 하나인데 지우려는 멤버 아이디는 받아오지 않기 때문입니다.
userId를 하나만 가져오는데 멤버 수정시 가져오는 값이 없는데도 지우는 것이 가능할까요?
- 이부분은 아예 멤버 배열을 통으로 백으로 보내서 저장된 값들과 비교를 해서 제외하고 추가하거나, 아니면 모든 멤버를 다 지운뒤에 보내는 값들을 새로 생성하거나 아니면 추가하려는 멤버와 지우려는 멤버를 보내거나 등의 방식이 있다고 알려주셨습니다.
기술면접 top30
- 쿠키, 세션의 개념과 차이를 설명해보세요.
- 무상태(stateless) 이 기술이 왜? 생겨났는지
- 쿠키는 서버에 인증하기위한 클라이언트 정보를 클라이언트 단에 저장하는 값으로, 사용자 입장에서 별도의 인증 과정을 거치지 않고 서버가 나를 쉽게 기억할 수 있습니다. 다만 쉽게 수정도 가능해서 악의적인 공격자에 의해 변조될 가능성도 큽니다.
세션은 쿠키와 달리 서버에 인증하기 위한 클라이언트의 정보를 서버단에서 저장 및 관리하는 방식으로 서버가 클라이언트에 부여한 세션 ID를 통해 기억하게 됩니다. 쿠키에 비해 안전하며 인증을 거쳐 서버의 데이터를 참조해야하므로 속도가 좀 느립니다.
무상태의 기술이 생겨난 이유는 인터넷 상 불특정 다수의 통신 환경을 기초로 설계 되있어, 한번 맺은 연결을 지속적으로 유지한다면 쓸데없이 많은 자원이 소요될겁니다. 차라리 매번 연결을 맺는 편이 지속적 연결 유ㅣ에 자원을 쓰는것보다 효율적이어서 생겨났습니다.
그리고 cs를 공부를 하는데 오늘은 프로세스에서 대기큐, 스케줄링, 주-보조 교환, 문맥 교환, 그리고 메모리에 대해 배웠습니다.
프로세스 대기큐, 스케줄링, 주-보조 교환, 문맥 교환
프로세스 메모리