#쿼리

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

4일 전 · 익명 님의 질문

2년차 물경력 이직에 메리트있을까요..?

2년전에 백엔드개발, 데이터베이스관리로 취업을했지만 개발업무는 전혀안하고 DB관리업무만 했습니다. 경력에 쓸만한 내용은 신규프로젝트 데이터베이스 구축및 설계, 마이그레이션 이구요 기존프로젝트 고도화작업이라 기존 데이터정합성 안맞는 테이블구조 정규화 및 데이터검증후 마이그레이션 작업이 주 업무였어요 부가적으로는 유지보수성 DB관리, 그리고 번거로운 노가다성 쿼리작업을 대체할려고 간단한 코드짜서 데이터채우거나 일부 데이터 마이그레이션정도 했습니다. 제가 고졸이라 방통대 재학중이고, 집에서 혼자서 스프링부트, 리액트로 회사프로젝트(윈도우 프로그램입니다)를 웹으로 1인개발하고있는데 시작한지 얼마 안되었어요. 냉정하게 봤을때 2년차의 개발자실력이 절대아니고... DBA나 관련업무로 봤을때도 깊이나 전문성이 많이 모자른거같습니다.. 지금 당장 이직을 한다면 지금까지의 경력으로 이직이 될거같나요..? 아니면 스터디나 개발연습을 더해서 이직을할까요?? 서두르는 이유는 더물경력리 되기전에 옮겨야 할거같아서 입니다..

개발자

#이직

#경력

답변 0

댓글 0

조회 31

20일 전 · 조유정 님의 질문

제조회사에서 서비스회사로 중고신입 이직하려는데, 어떻게 준비하면 좋을까요?

현재 제조업 sm 개발자로 일한지 1년도 안된 주니어 개발자입니다. 지금 사용하고 있는 기술은 jsp, spring(그냥 데이터 전달용도), mybatis, oracle입니다. 일은 정말 단순한 crud, 쿼리 작성 정도이고 제조업이다보니 기술적인 것을 중요하게 생각하기 보단 도메인 지식을 깊게 알고 현업 요구사항을 시스템에 녹여내는 게 대부분입니다. 지금 다니고 있는 회사 기업규모도 크고 나름 안정적이지만, 예전부터 서비스직을 너무 가고 싶었기에 중고신입 이직을 준비하려 합니다. 중고신입으로 제조업에서 서비스업으로 이직할 때에는 어떤 식으로 준비하면 좋을 지 조언을 얻고 싶습니다. 산업이 많이 다르다보니, 방향을 잡기 힘드네요..ㅠ 일을 해봤다는 점을 어필하려고 하니 레거시한 기술이기도 하고 주니어라 성과 낼 환경도 아니라서 어필할 수 있을지 모르겠습니다. 레거시한 기술이라도 이직하려는 회사에 맞게 잘 풀어내면 설득이 될까요? 입사 이전에 한 프로젝트들을 어필하면 회사생활까지 했는데 아직도 입사전 포폴 밖에 얘기할 게 없나? 라고 느껴질까요? 회사생활과 조금더 기술적인 고민을 담은 토이프로젝트를 병행하는 건 어떻게 생각하시나요? 물론 정답이없는 문제라고 생각합니다! 그렇지만 서비스직군에 계신 개발자분, 제조업에서 서비스업으로 이직을 성공하신 분들의 의견을 참고해서 방향을 잡아보고 싶습니다!!

개발자

#이직

#이직고민

#제조업

#서비스회사

답변 0

댓글 0

조회 41

19일 전 · CP 님의 새로운 댓글

neo4j로 데이터 가져올 때 속도가 너무 느려요

neo4j 를 도입해 연관성을 찾는 작업을 하고 있어요 데이터가 얼마 없을 경우 문제가 없었지만 현 기준 노드 200만개 관계 6000만 건 으로 한번 검출 할 때 속도가 너무 느려서요 그래서 apoc를 도입을 했고요 메모리, heap 등 용량도 늘려줬습니다. 쿼리도 MATCH (first:Keyword {name: '마우스'}) CALL apoc.path.expand(first, 'RELATED_TO', 'Keyword', 1, 6 ) YIELD path WHERE ANY(n IN nodes(path) WHERE n.name = '게이밍마우스') RETURN path LIMIT 500; 이렇게 apoc와 LIMIT를 적용 했고요 추가로 profile을 찍어보니 한번 검사를 할 경우 500만~1억 번 노드를 조회를 하고 있어요 방법이 없을까요? ps. 데이터는 아직 1%만 쌓였습니다

개발자

#neo4j

#디비저장

답변 2

댓글 3

추천해요 1

조회 38

2달 전 · 코딩하는기린 님의 새로운 답변

Mysql Lock 관련

안녕하세요. 이번에 사내시스템을 오픈했는데, 고작 20명 정도가 한 테이블을 조회하는데 테이블이 Lock 걸리면서 사내시스템이 정상적으로 작동을 하지않아 보류하게 됐습니다. 여기서 질문입니다. 다른분들은 저희 회사 규모보다 훨씬 많은 이용자들이 방문하고 조회할것인데 테이블 조회 관리를 어떻게 처리하고 계신가요..? 테이블에 1년치 데이터만 이관을 해도 조회속도가 현저히 느려지고 작업속도가 굉장히 느려집니다.. 쿼리를 Limit과 offset을 사용하여 페이징처리까지 해도 워낙 Group By로 묶인 컬럼들이 많아서 조회가 너무 느려지는데 해결방법이 있을까요… 데이터 로우는 100만건 정도 있습니다 요약 1. 여러사람이 한 테이블을 조회할때 Lock을 어떻게 해결하는지? 2. 데이터가 많을때 어떤 최적화를 해야 처리속도가 빠를지? Gcp 2코어 8기가 사용중

개발자

#javascript

#mysql

#mybatis

#node.js

#express

답변 2

댓글 0

보충이 필요해요 1

조회 431

2달 전 · 이상래 님의 새로운 답변

검색 모달 창에서 검색할 때 리액트 쿼리 사용 여부

안녕하세요, 현재 제가 검색 모달 창에서 텍스트를 입력하면 검색하는 작업을 하고 있습니다. 보통 useQuery 훅은 페이지 마다 데이터를 불러오는 경우 많이 사용하는 걸로 알고 있습니다. 제가 작업하는 검색 모달은 사용자가 검색 창을 누르면 검색 모달이 나와서 검색하는 기능이라 여기서도 React-Query에서 제공하는 useQuery를 쓰는지 궁금합니다!

개발자

#react-query

#프론트엔드

#usequery

답변 3

댓글 2

조회 77

3달 전 · 영훈 님의 새로운 댓글

로컬스토리지 데이터 변환 감지

리액트에서 로컬스토리지에 데이터가 변환되는걸 감지하여 쿼리 데이터를 무효화하고 싶은데, 좋은 방법이 있나요,,

개발자

#로컬스토리지

#리액트

답변 1

댓글 1

조회 67

3달 전 · 노장우 님의 질문

신입 이직 방향 고민

현재 대기업 협력사에 입사하여 운영, 유지보수 개발로 1년 정도 다니고 있습니다. 입사 전에는 스프링을 중심으로 백엔드 개발자로 진로를 정했었는데 입사 후에는 MES 관련 DB 쿼리 작업을 위주로 하고 있습니다. 가장 걱정인 것은 JAVA, SPRING 등의 작업은 거의 하지 않고, 대부분 DB의 쿼리를 통해 CRUD 작업만 하고 있는 것입니다. DBA와 같은 DB에 관련된 방향으로 잡으려고 해도 쿼리 튜닝이나 프로시저 수정, 생성 등의 작업은 하지 않고 있고, 선배들을 봐도 요청 받은 CRUD 작업만 하고 있는 것을 보고 기술적으로 성장할 수 있는 기회가 적다고 생각이 들었습니다. 따라서 회사를 다니면서 다시 신입으로 이직을 준비해야겠다고 생각이 들었는데 방향을 잡기가 힘들어서 어떻게 해야 할 지 모르겠습니다. DB의 CRUD 쿼리 작업을 위주로 했는데 포폴이나 이력서, 이직 방향을 어떻게 해야할까요..?

개발자

#db

#이직

#신입

#백엔드

답변 0

댓글 0

조회 55

3달 전 · 익명 님의 질문

대기업SI와 서비스 기업

안녕하세요 현재 2개의 회사에서 최종합격을 한 상태인데 두 회사의 장단점이 명확하여 어떤 선택이 좋을까 의견을 듣고 싶어 글을 써봅니다 1. 제조 대기업 SI 연봉 : 5천 중반 워라밸 좋음 SM 업무를 주로 할 예정, 그룹사 시스템 개발 업무 레거시가 많고 쿼리에 비지니스 로직이 담긴 프로젝트가 많음 2. 시리즈 B 이상 서비스 기업(200인 이상 규모) 연봉 : 4천 중반 워라밸은 잘 모르겠음 백엔드 개발 업무 진행 예정, 코드리뷰/사내스터디와 같은 개발 문화 존재 꾸준한 트래픽과 성장하는 기업 서비스 운영 중(매출액으로는 000억대) 영끌 연봉으로는 1번 기업이 훨씬 높을 것으 로 예상 됩니다. 이전에 스타트업에서 근무를 했었기에 대기업 입사를 목표로 취준을 했지만 최종적으로는 IT 대기업에서 근무를 해보고 싶습니다. 선배님들이라면 어떤 선택을 하실까요...?

개발자

#스타트업

#대기업

#백엔드

#신입

답변 0

댓글 0

조회 77

4달 전 · 최훈오 님의 새로운 댓글

invalidateQueries가 안먹힙니다.

사진 순서대로 1. 유저 정보 수정 Mutation훅 2. 유저 정보 수정 Mutation훅을 호출하는 컴포넌트 3. 유저 정보를 새로받아오는 Query 훅 입니다. invalidateQueries, refetchQueries, 옵션추가 등등 다해봤는데 쿼리를 무효화하는 요청이 아예안갑니다..ㅜ 쿼리키도 똑같은데 뭐가 문제일까요? 두번째 사진은 흐리게보여서 코드로 올립니다.

개발자

#tanstackquery

#invalidatequeries

답변 1

댓글 2

조회 38

4달 전 · 냥꼬리 님의 새로운 댓글

공부를 어떻게 해야할 지 모르겠습니다

실습 중인 회사에서 제이쿼리, php를 이용해서 웹 개발을 맡고 있습니다. 인원이 10명도 안되기 때문에 웹 개발자가 없어서 AI와 구글에만 의존해서 진행하고 있습니다. 그래서 성능이나 최적화 신경도 안 쓰고 오로지 구현에만 초점을 두고 일하고 있습니다. 회사의 다른 웹 프로젝트는 NextJS로 개발되었어서 따로 NextJS도 공부를 하고 있습니다. 하지만 기존과는 달리 리액트의 기술들(hook 등)이 전혀 와닿지 않습니다. 리액트의 성향과 맞지 않는건지, 구현만 집중하는 제가 동작 원리나 기본 구조를 소홀해서 그런건지 생각이 많아집니다. 1. 구현만 생각하던 제가 기본부터 다시 잡으려면 어떤식으로 공부할 지 모르겠습니다. (조금만 아는 내용이면 빨리 넘어가는 나쁜 습관 때문에 메타인지 능력이 부족합니다...) 2. 주변에서 리액트가 쉽다고는 하는데 저는 아닌 거 같습니다... 리액트가 성향에 안 맞다고 하면 다른 걸 배워야 할까요? 아니면 더욱 리액트를 집중적으로 공부를 해야할까요

개발자

#신입

#공부

#react

#next.js

#공부방법

답변 1

댓글 1

조회 36

5달 전 · aigoia 님의 답변 업데이트

현재 직장대로 다니는게 맞는걸까요?

3년동안 같은 직장에 다니고 있습니다 이 회사에 개발자로 취직하긴했지만 이게 개발자로서의 옳은 커리어로 가고있는것이 맞나라는 의문이 생깁니다. 이 회사의 특징은 복지수준도 괜찮고 야근도 필수도 아니지만, si/sm기반의 이커머스 고객사의 개발수주를 요청받아서 인력투입을 하는 형식으로 개발을 하는데 문제는 2000년대 초반 혹은 1990년대 후반 정도되는 자바스크립트 프레임워크 프론트기술과 스프링 프레임워크를 사용하지만 5버전도 되지않는것으로 개발되어있는 회사솔루션을 이용하여 오로지 똑같은 솔루션으로만 이커머스 고객사의 수주를 받고 개발/운영하고 있습니다. 또한, 프론트쪽은 비슷하게만들어진 화면단을 복붙하는 수준이고 나아가봤자 css추가정도이며, 스프링에서의 개발은 화면단에서 던져주는 데이터들을 받아서 for문으로 돌려서 쿼리문에서 거의 모든 비즈니스 로직을 처리하는 수준입니다... 쿼리문을 굉장히 길게짜기 때문에 쿼리문 하나는 정말 잘할 자신이 있지만, 문제는 개발자로서의 기술 스택을 쌓아가는 것이 아니라 이커머스 업계의 상품, 주문, 배송과 같이 도메인 지식이 거의 업무에 주요한 부분을 차지하고 있기 때문에 그 도메인 지식을 오로지 같은 오래된 기술로만 녹여내는 업무가 주를 이룹니다. 또한, 백엔드로서의 개발자가 제가 정말 하고자하는 일이지만 회사에선 근 1년동안은 프론트 관련업무만 그것도 요즘 쓰는 기술도 아닌 구시대 프론트 기술로 업무를 받아서 하고있다는게 제일 큽니다.(소위, 물경력이라고 하지요) 3년차기때문에 제가 개발자로서의 옳은길이 무엇인지 확실하게는 모르지만 적어도 다른 개발사보다 지금 재직하고 있는 회사의 기술이 많이 떨어진다는것은 인지하고 있습니다. 회사의 잘못이 아니라 저의 커리어가 망가질까 걱정이 많습니다. 제가 다음 이직회사를 이커머스 관련 업계 회사라면 당연히 도움이 될수 있겠지만 제가 바라는 회사는 자사 솔루션을 개발해나가며 필요하다면 새로운 기술도 경험하면서 적용하여 단순히 회사에서 일 잘하는 개발자가 아니라 기술적으로 경험이 풍부한 개발자로서 인정을 받고 싶습니다. 위와 같은 경우라면 제가 이 회사에 정년까지 다닐게 아니라면 이직을 하는것이 옳은길일까요? 아니면 원래부터 개발자라는 직업이 한 업계에 들어가서 일을 하게되면, 도메인지식이 주업무를 이루고 기술적인것은 뒤쳐지더라도 따로 개발공부를 하여 연차를 쌓아나가며 이직을 하는것이 정석인 직업인걸까요? 현직자분들의 의견이 부탁드리겠습니다...

개발자

#이직

#백엔드

답변 1

댓글 0

조회 220

6달 전 · 이상래 님의 새로운 댓글

물경력이 되고 있는것 같습니다

현재 상황을 말씀드리자면, 2년차로 SI/SM 중소기업을 다니고 있습니다. 근무환경이나 복지도 나쁘지 않지만, 문제는 현직장에서 사용하는 기술이 너무 오래된 기술(10명중에 1명 알까 말까한 기술이고, 검색해봐도 거의 쓰는 회사가 없는 기술)이고, 자바 스프링을 사용하지만, 거의 기본적인 CRUD 바탕에 쿼리 짜는게 거의 메인 업무입니다. 더욱 심각한 문제는 제가 이 회사를 다니면서 이력서에 쓸만한 프로젝트를 한번도 해보지 않았다는 것입니다. 물론, 회사에서 일을 시키지 않은 것은 아니지만, 고객사에 가더라도 화면 찍어내는 일과 유지보수를 하긴 했지만, 그나마 6개월 정도 고객사 도메인 관련 업무를 하였고, 나머지 시간은 회사의 프로젝트 수요가 몇년 전부터 급감해서 그냥 화면 찍어내는 일이나 간단한 JUnit 테스트 정도만 하고 있습니다. 지금 이 회사에 평생 다닐 의사는 전혀 없고, 제가 하고 싶은 백엔드 관련 업무만 하는 회사로 이직을 꼭 하고 싶은데, 2년차에 경력에 쓸게 고작 6개월 정도 프로젝트도 아닌 유지보수 업무만 했다는 것밖에 없어서 어떻게 해야할지 막막합니다. 회사에서 쓰는 기술이 다른 회사에서도 쓰는 기술과 전혀 매치도 되지 않고요. 위에서 자바, 스프링을 사용한다고 했지만, 자바, 스프링을 쓰는 것은 정말 최소한만 쓰는 것이지 거의 쿼리가 주업무입니다. 이 사이트에서 어떤 현직자분이 글쓴 것을 보니 경력 이직 같은 경우는 아예 사이드 프로젝트가 없어도 된다고 오히려 이전 직장에서 무얼 했냐고 중요하다고 하더라고요 그래서 혼자 공부하면서 사이드 프로젝트를 만들고 있습니다만 이 상황에서 이직할 방법이 저 사이드 프로젝트 하나로 승부 볼 수 밖에 없을까요? 그렇다고 화면 찍어내는 일 했다고 이력서에 기재할 수도 없는 노릇이니깐요...

개발자

#이직

#백엔드

답변 1

댓글 2

조회 419

6달 전 · 고지완 님의 새로운 댓글

권한 관리 AOP와 영속성 컨텍스트 문제

프로젝트를 진행하던 중, 해당 펫이 api를 요청하는 유저가 소유하고 있는 펫이 정말 맞는지 확인하는 권한 검사 로직 등이 중복으로 발생해서 이를 비즈니스 로직에서 분리하고자 스프링 AOP 기술을 활용해보려고 했습니다. 동작은 잘 되지만.. Pet을 조회하는 쿼리가 중복해서 2번이 발생하더군요. 저는 OSIV가 꺼져있더라도, 비즈니스 레이어에서 같은 트랜잭션 내에서 동작하기에 AOP에서 조회한 엔터티도 같은 영속성 컨텍스트에서 관리될 거라고 생각하고 위처럼 작성했는데 어디가 문제인지 모르겠어서 도움을 부탁드립니다.. ㅠㅠ 혹시 가능하시다면 현업에서는 중복되는 권한 체크 로직을 어떻게 관리하시는지도 알려주시면 큰 배움이 될 것 같습니다!

개발자

#aop

#spring-boot

#jpa

#spring

#java

답변 1

댓글 1

조회 25

6달 전 · 포크코딩 님의 새로운 답변

5년차 백엔드 개발자.. 경험이 너무 없어요..

안녕하세요 한회사만 5년을 다니면서 사이트 유지보수만 담당했습니다 회사가 문닫으면서 이직을 하게 되었는데요 면접시 서버 다룰줄 아냐 쿼리 튜닝 해보았냐 등 여러가지 물어보는데 회사에서 단순업무만 하다보니 해본게 하나도 없더군요 기술질문도 대답을 잘 못했습니다 그러다보니 서류는 붙는데 면접에서 광탈하더군요 경험도 없고 지식도 너무 없는데 어디서부터 다시 시작해야될까요.. 도움 부탁드립니다..

개발자

#이직

#물경력

답변 1

댓글 0

보충이 필요해요 1

조회 144

7달 전 · 프레드윰 님의 답변 업데이트

1년도 안된 사수없는 웹퍼블리셔입니다

웹퍼블리셔의 업무 범위가 어디까지일까요 ㅠ 요즘에 리액트를 너무 강요? 아닌 강요라서 리액트를 하고있긴한데 어떻게 쉽게 쉽게 접근해야할지 모르겠습니다 학원에서 제이쿼리문법4일 자바스크립트 문법2일 가르쳐 준게 끝인데 ㅠㅠ 많은 조언 부탁드리겠습니다

개발자

#react

#프론트엔드

#웹퍼블리셔

#웹개발

답변 1

댓글 0

조회 160

7달 전 · 전재욱 님의 질문

next.js의 캐시와 react query 캐시 질문

next.js와 react query를 사용해 프로젝트를 진행하다가 이해가 안되는 현상이 있어서 질문드립니다. 어떤 A 라는 페이지에 들어오면 포스트와 포스트의 댓글들이 보이는 상황입니다. 첨부한 코드는 A 페이지를 담당하는 page.tsx 코드와 page 에서 사용중인 컴포넌트중 댓글 컴포넌트인 Comments 컴포넌트, 그리고 Comments 에서 useQuery의 queryFn으로 지정한 getComments 함수의 코드입니다. Comments 컴포넌트의 useQuery의 staleTime은 10초로 해두었고, queryFn인 getComments 함수의 fetch는 revalidate를 60초로 해둔 상황입니다. useQuery의 staleTime보다 fetch의 revalidate 시간을 길게 한건 react query로 인한 클라이언트측의 캐시와, next.js의 fetch에 의한 서버 측의 캐시의 차이점을 확인해보려고 그런것입니다. A 페이지에 처음 들어와 page 컴포넌트가 실행되면 ['posts', id, 'comments'] 쿼리로 인해 받아온 댓글(comments) 데이터가 화면에 보입니다. 이 댓글에는 랜덤으로 생성된 이미지가 있습니다. 우선 10초가 지나기 전에는 새로고침에도 기존의 데이터 그대로 보이고, fetch 요청을 받는 백엔드 api에도 요청이 들어오지 않습니다. react query로 인해 쿼리가 실행되지 않아서 그런 것이겠죠? 그러고 10초가 지나 ['posts', id, 'comments'] 쿼리가 stale 상태가 된 후에 A 페이지를 새로고침하면 ['posts', id, 'comments'] 쿼리는 다시 fresh 해지는데 백엔드 api에는 요청이 들어오지 않았더라구요. 화면상의 댓글의 이미지들도 이전과 동일하게 나옵니다. 저는 이게 "A 페이지에 들어와 page 컴포넌트가 실행되면 ['posts', id, 'comments'] 쿼리가 실행되어 fetch 요청이 실행되는데 이 ['posts', id, 'comments'] 쿼리는 서버 컴포넌트에서 프리패치 되는 거니까, 즉 fetch가 서버쪽에서 실행되는 거니까 react query의 캐시가 아닌 fetch의 캐시 설정을 따른다. 그렇기 때문에 ['posts', id, 'comments'] 쿼리가 실행되어 fetch가 실행되지만 fetch의 캐시는 남아있으니까 캐싱된 값을 사용해서 백엔드 api에는 요청이 안들어온것이다." 라고 생각했고 이걸 확인하기위해 새로고침을 해본것이었기 때문에 이 결과에 대해 납득하긴 했는데요.. 이 생각이 맞는건지가 일단 궁금합니다. 그리고 진짜 이해가 안되는건 이겁니다. A 페이지에 들어오고 10초가 지나 ['posts', id, 'comments'] 쿼리가 stale해지면 이번에는 다른 페이지로 이동했다가 A 페이지로 다시 돌아옵니다. A 페이지에서 새로고침을 하지 않고 사이트 내에서 페이지 이동으로 A 페이지에 다시 들어오는거죠. 이러면 백엔드 api에 요청이 들어오더라구요. 이게 왜 그런건지 모르겠습니다. 10초가 지나 ['posts', id, 'comments'] 쿼리는 stale 해졌지만 60초는 안지나서 fetch의 캐시는 유효한... 위의 새로고침 경우와 동일한 상황인데 새로고침 시에는 api로 요청이 안들어오고, 다른 페이지로 이동했다가 다시 돌아온 경우는 api로 요청이 들어오네요. A 페이지에서 새로고침을 하나, 다른 페이지에서 A 페이지로 페이지 이동을 하나, 둘 다 page 컴포넌트가 실행되고 ['posts', id, 'comments'] 쿼리가 서버에서 프리패치되니까 fetch가 서버에서 실행되는거 아닌가요? 근데 왜 새로고침하면 fetch의 캐싱이 적용되는것처럼 백엔드 api로 요청이 안들어오고 페이지 이동 시에는 들어올까요... 이걸 아무리 생각해도 모르겠습니다. 60초가 지난 후에는 새로고침 시에도 백엔드 api로 요청이 들어오더라구요. 이것으로보아 60초 전에는 새로고침 시 요청이 안들어오는게 fetch의 캐시 때문인것도 맞는 거 같은데, 왜 페이지 이동 시에는 60초 전에도 캐싱값을 안쓰고 api로 요청을 보내는지 모르겠습니다. 어떤 메커니즘으로 이렇게 되는것일까요? 아직 Next.js의 캐싱과 react query에 대해 잘 알지 못해서 이해가 안됩니다.. ㅠ 도와주십쇼..!

개발자

#next.js

#react-query

#프론트엔드

답변 0

댓글 0

조회 79

7달 전 · 정의헌 님의 새로운 답변

신입 sql 공부 하려는데 책 추천부탁드려요!

si다보니 쿼리가 복잡한게 너무 많아서 부족함을 많이 느껴 공부를 하려고합니다 좋은 책이 있다면 추천 부탁드랴요! 일단 봐둔건 https://m.yes24.com/Goods/Detail/119736711 이책인데 어떤가요..?

개발자

#sql

답변 1

댓글 0

조회 212

7달 전 · 이상래 님의 새로운 답변

NextJs 확장 fetch로 서버 컴포넌트에서 동적으로 api를 받는 방법

안녕하세요. 선배 개발자 선생님들. 오늘도 한 단계 성장하기 위해 질문을 남겨봅니다. 저는 NextJs, App router 방식으로 코드를 구현중이며, 서버 상태는 React-Query로 상태값을 관리하고 있었습니다. 왜 리액트 쿼리를 사용했는가? why? 1. Optimistic update, 무한스크롤에 대해 공부하고 적용해보고 싶었습니다. 2. 클라이언트 상태, 서버 상태를 나눈다는 개념이 너무 좋아서 서버 상태는 React-Query로 다뤘습니다. 3. statleTime, gcTime을 조정하여 캐싱기능이 좋았습니다. 갑자기 문득 나는 NextJS를 잘 쓰고 있는건가? 리액트랑 폴더 구조 말고는 다른게 없는거 아닌가? 라는 생각이 들었고, NextJs의 기능을 최대한 활용하고 나머지 불편한 부분이 생긴다면 외부 라이브러리를 사용하자! 라는 생각이 들었습니다. 그래서 저는 React-Query로 상태를 관리하던걸 NextJs의 확장 fetch로 바꿀려고 합니다. Optimistic update, 무한스크롤 기능을 제외하고 나머지 모든 서버 상태는 확장 fetch로 바꿀려고 합니다. 페이지네이션 페이지네이션 처럼 사용자와 상호 작용하는 부분, 즉 동적으로 데이터를 받아오게 하기 위해 url을 변경한 뒤, [id]/page.tsx에서 param로 받던지 혹은 header()를 통해 params를 받아서 처리를 할 수 있다고 생각하고, 저는 header()로 params를 받아서 처리를 했습니다. 모달에서의 페이지네이션 그런데 문제는 모달을 띄우고, 모달 내부에서 페이지네이션이 있는 경우 어떻게 데이터를 동적으로 받아오는지 고민을 해봐도 방법이 없는 것 같습니다. 1. 모달에서 다음 페이지 클릭시 url을 변경한다. -> 안해봤지만 동작을 할 수 있더라도 뭔가 느낌적으로 아닌 것 같습니다. 2. 클라이언트 컴포넌트에서 상태값을 서버 컴포넌트로 전달한다 -> 불가능 궁금한 점 1. 모달 내부에서 페이지네이션을 처리할때 url을 변경해서 서버 컴포넌트에서 확장 fetch로 데이터를 관리하는 게 적절할까요? 2. 모달 내부에서는 페이지네이션을 처리할 때는 react-query로 데이터를 관리하는 걸 확장 fetch로 바꿀 수 없는 건가요?? 바꿀 필요가 없는 건가요? 3. 더 좋은 방법이 있는 건가요?

개발자

#next.js

#reactquery

답변 2

댓글 0

조회 168

7달 전 · 익명 님의 질문

스프링 mvc jwt토큰

스프링 mvc에서 타임리프로 웹 제작중인데 jwt엑세스토큰을 해더에 담는데 리다이렉트 쓰면 헤더가 소멸되는데 어떤식으로 사용해야할까요 로그인 후 정보를 가지고 서비스 메인페이지로 가는데 쿼리나 포스트로 정보를 받아서 사용해야하는지 Jwt에서 즉 필터에서 다른 방법이 있는지 궁금합니다!

개발자

#스프링

#스프링시큐리티

#jwt

#타임리프

답변 0

댓글 0

조회 35

7달 전 · Jooyeon 님의 새로운 댓글

6년 8개월째 인하우스 웹디+웹퍼블리셔의 이직 고민..어렵네요!

워라벨이 가장 중요한 사람이라 연차가 쌓일수록 연봉 인상율이 팍팍 적어지는데도 이직을 망설이고 있었습니다. 그런데 올해 봄.. 회사에 저보다 연차 많은 분들이 다 빠지고는 대표 다음으로 제가 제일 오래 다닌 사람이 되고 만 것입니다. 그래서 올해 말엔 탈출 계획을 했으나 당장 발등에 불이 떨어졌습니다. 월급이 밀리는 사태가 발생한 것이죠.. 처음이 쉽지 두 번 세 번은 더 쉽겠죠? 그래서 부랴부랴 준비 중이고 인하우스 웹디 웹퍼블리셔였다보니 성장할 기회는 크지 않았습니다. 새로운 툴, 언어가 쏟아지는 와중에 할 수 있는 건 html, css 그리고 약간의 자바스크립트, 제이쿼리, 적당한 디자인 능력 뿐입니다. 이 직업을 가진 사람 중 이도저도 아닌 너무 어중간하다는 생각이 들더군요. 대표는 늘 새로운 사업 벌이기만 좋아해서 벌이기만 하고 유지를 못해 엎어버리는 일이 부지기수입니다. 현재 진행 중이고요.. 제가 속한 사업체는 등한시 하다가 가끔 와서 급발진을 하더군요. 평소 관심 가져줬으면 월급 밀림 사태는 없었을 거 같지 말입니다.. 이 회사에 재직하며 그나마 크게 남은 거라면 제 인생에서 가장 큰 프로젝트였던 대기업 계열사와의 협업입니다. 처음 입사 당시만 해도 프론트엔드 개발자까지 가보고 싶었지만 적응해 보기도 전에 회사에서 사람을 이리저리 휘두르다 사수라 할 수 있는 사람들은 다 사라졌고 취업 직전에 다녔던 국비교육에서의 훈련으로 지금까지 버텼다는 생각이 지금에야 듭니다.. 이렇게 발등에 불이 떨어지고 나서야 이직을 위해 figma도 배워보는 중에 그나마 남은 커리어를 정리해 보고 있습니다. 어느덧 30대 중반..이런 제가 이직이 잘 될까요?

개발자

#이직

#웹디자이너

#웹퍼블리셔

답변 1

댓글 3

조회 265

7달 전 · 이지혜 님의 새로운 댓글

한 개의 api에 한 개의 쿼리?

안녕하세요, 항상 한 개의 테이블 또는 많아봤자 테이블 두개 조인한 결과로 api를 만들다가 갑자기 복잡한 로직을 다루게 되었습니다 미리 정해둔 response 데이터 형식으로 db 결과를 가공하려다 보니 사진과 같이 엄청나게 긴 쿼리문을 작성하게 되었고 데이터가 별로 많지도 않은데 성능도 나쁜 것 같아요...(워크벤치로 query cost확인해보니 최악의 경우 2200이 나옵니다....ㅜㅜ) 일반적으로 이렇게 긴 쿼리문은 작성해서 모든 것을 한번에 처리하지는 않을 것 같은데 어떻게 개선해야 할지 갈피가 잡히지 않습니다 어떻게 하는게 좋을까요..?

개발자

#jpa

#쿼리

답변 1

댓글 1

조회 117

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

JPA를 사용해서 부모(1)와 자식 목록(N)을 가져올 때 쿼리를 2번 발생시키나요?

안녕하세요. JPA와 QueryDSL을 사용하여 개발을 하고 있는 홍길동입니다. 예를 들어 상품 테이블(부모)과 옵션 테이블(자식 목록) 정보를 조회하는 service에서 쿼리를 보통 2번 발생시키는지 궁금합니다. 저는 부모 조회 쿼리 1번, 자식 목록 조회 쿼리 1번 총 2번의 쿼리를 발생시키고 있습니다. 다른분들은 현업에서 부모와 자식의 데이터를 가져와야 하는 경우 쿼리를 몇번 발생시키는지 궁금합니다.

개발자

#jpa

#자식데이터-조회

답변 1

댓글 0

추천해요 1

조회 514

8달 전 · 프레드윰 님의 새로운 답변

기술 스택이 진짜 난잡하게 됬는데 이럴땐 어떻게 해야될까요...

저는 8년차 개발자 입니다. 첫회사에서 7년 다음 회사에서 1년의 경력을 가지고 있습니다. 첫회사에서 Spring Framework를 다뤘구요, 웹팀에서 화면 구현에 더 중점을 두고 개발을 하느라 제품에 사용된 spring기술을 전부 파악하니깐 5년차가 되어있었습니다. 그때쯤 되니깐 팀장부터 말단 직원까지 저한테 다 물어보러 오더라구요... 그래서 더이상 성장을 못한다고 판단하고 혼자서 SpringBoot로 이것저것 만들어보고 python도 배우고 node.js도 배워보고 React.js도 배워보고 그러면서 지냈습니다. 그러다가 이직 제안을 받게 되어서 바로 이직하게 되었어요. 두번째 회사는 클라우드, AI 등 최신기술을 사용하는 스타트업 회사였어요. 여기서 내부 서비스를 유지보수하면서 지내다가 회사에 돈이 없어서 SI 프로젝트를 몇개 진행하게 되었는데 제가 총괄을 맡아서 시스템설계, DB 설계, React.js, Flask 전부다 맡아서 진행하게 되었습니다. 이 프로젝트 진행하면서 AWS 서비스를 직접 구축하게 되었는데 그제야 진짜 성장한다고 느껴졌습니다. (VPC, LB, EC2, S3, Amplify, API Gateway 등등등) 직접 하나하나 구축하면서 클라우드서비스 파악도 되고 참 뿌듯했습니다. DB는 왠만한 RDBMS는 다 다뤄본거 같습니다. Mysql/MariaDB, 오라클, PostgreSQL, Cubrid, MS-SQL 까지요 근데 이 DB들 설치하고 쿼리 날려본게 큰 장점은 또 아닌 거 같고.. 그리고 impala, Redis, Elastic Search, InfluxDB 도 해봤구요... 그리고 DB 테이블 설계하고 쿼리 튜닝하는것도 할수는 있는데 이건뭐 짬차면 다 할 줄 아는거라 메리트도 없구요. 이렇다보니 뭐 하나 잘한다는 느낌이 안듦니다... 뭔가 할줄 아는건 많은데 알맹이가 빠져있는 느낌이에요.. 몇군데서 불합격통보를 받으니 좀 답답하네요

개발자

#커리어

#물경력

답변 1

댓글 0

조회 175

8달 전 · 조현아 님의 질문 업데이트

PostLike 테이블에서의 JPA 관계 설정 (Web, Spring, JPA)

Post 테이블 (Long pno, String cotent) UserInfo 테이블 (String uid, String nickname) PostLike 테이블 (Long pno, String uid) Post에 대한 좋아요 정보를 PostLike테이블에서 관리하고 있습니다. 여기서 PostLike 엔티티를 정의할 때 1) UserInfo userInfo, Post post를 @ManyToOne으로 관리할지, 2) 아니면 그낭 Long pno, String uid로 관리할지 고민입니다. 1번 방법) 장점 : Post, UserInfo를 delete 할때 알아서 관련된 좋아요 정보를 찾아서 삭제해준다는 면에서 무결성 관리가 편함. 단점 : JPA는 where pno=(삭제하는 게시글 id)처럼 쿼리 한 번으로 삭제하지 못 한다. 먼저 PostLike 테이블에 pno가 삭제 게시글 id와 같은 것들이 무엇이 있는지 확인하고, 해당 id에 해당하는 row를 deleteById로 하나하나 삭제하기 때문에 쿼리가 N+1 필요해서 성능 이슈가 생긴다. 2번 방법 ) 장점 : 성능 문제가 해결된다. 쿼리 한 번으로 게시글 혹은 유저를 삭제했을 때 관련 좋아요 정보를 삭제할 수 있다. 단점 : 무결성 관리를 직접 해줘야 해서 프로그래머가 신경써서 관리해야 한다. ◼️ 질문 1 1번 방법과 2번 방법 중에서 2번 방법을 선택하려고 합니다. Trade off를 제대로 한 게 맞을까요? Post와 Comment에서는 @ManyToOne을 사용하고, Follow나 PostLike에서는 @ManyToOne을 사용하지 않는 것이 제멋대로인 것 같아서 고민입니다. ◼️ 질문 2 유저를 삭제할 때 해당 유저가 좋아요를 누른 기록을 유지하는 것이 좋을까요, 삭제하는 것이 좋을까요? 요구사항에 따라 달라진다는 것은 알지만 그래도 일반적으로 사용되는 방법이 궁금합니다.

개발자

#spring-boot

#jpa

#backend

#web

답변 0

댓글 0

조회 28

9달 전 · 삭제된 사용자 님의 댓글 업데이트

안녕하세요.. 정말 이것저것 다 해봤는데 안되네요 ㅠ

안녕하세요. 리액트와 리액트 쿼리를 이용해 프로젝트를 진행 중 입니다. 저는 일단. src/hooks/useProduct.jsx 라는 커스텀 훅 을 만들었습니다. 제 계획은 1. 맨 처음 최상단 Home.jsx 에서 useProduct 라는 커스텀 훅 호출 2. 자식컴포넌트에 data를 전달 3. Search.jsx에서 받은 filter값으로 커스텀 훅 안의 query 재실행 4. 바뀐 상태는 Home.jsx 가 다시 받고 자식 컴포넌트에게 전달. 1~3까지는 콘솔찍어가면서 잘 되는데 4.는 되지 않습니다. (쿼리 데이터가 바뀌어도 4이 재 실행이 안됨..) ㅠㅠㅠㅠㅠㅠㅠ 쿼리 옵션도 줘보고 전역 상태도 만들어보고 이것저것 다 해봤는데 ㅠㅠ 혹시 아시는분 계신가요..? 어떠한 답변도 정말 감사히 받겠습니다 간략 코드첨부) Home.jsx const Home = ()=>{ const { data, error, isLoading } = useProduct(); return ( <Search /> <List data={data?.product} /> ); }; export default Home; Search.jsx const Search = () => { ```일부코드생략``` const { updateQuery } = useProduct (); const handleSubmit = () => { const searchData = { productId }; updateQuery(productId); }; } return( ```일부코드생략``` <button onClick={handleSubmit}> 조회 </button> ) } export default Search; useProduct.jsx const useProduct = () => { const [queryData, setQueryData] = useState(); const { data, error, isLoading } = useQuery({ queryKey: ["product", queryData], queryFn: () => fetchProduct(queryData), }); const updateFilters = (queryData) => { setQueryData(() => (queryData); }; return { data, error, isLoading, updateQuery , }; export default useProduct ;

개발자

#react

#react-query

#react-query-v5

답변 3

댓글 6

조회 110

9달 전 · 우엉김밥 님의 질문 업데이트

react-query,

안녕하세요. 리액트쿼리 최신v5를 사용하면서 어려움에 처해 글을 남기게 되었습니다. 제가 만든 코드는 아래와 같습니다. Home.jsx (맨처음 데이터를 받아서 List에 뿌려주는 역할) const { data, error, isLoading } = useFilteredApartmentData(); console.log('home data',data) <List data={data.speechCommands} /> Search.jsx (사용자 검색) const { updateFilters } = useFilteredApartmentData(); //커스텀훅 const handleSubmit = (filter) => { updateFilters(filter); }; useFilteredApartmentData .jsx (훅) const useFilteredApartmentData = () => { const [filters, setFilters] = useState({ skip: 0, take: 15 }); const { data, error, isLoading } = useQuery({ queryKey: ["apartments", filters], queryFn: () => fetchFilteredApartmentData(filters), placeholderData: keepPreviousData, enabled: !!filters, }); console.log("훅안에서 새로운데이터", data); const updateFilters = (newFilters) => { console.log(newFilters); setFilters((prevFilters) => ({ ...prevFilters, ...newFilters, })); }; return { data, error, isLoading, updateFilters, }; }; export default useFilteredApartmentData; 저의 계획은 search.jsx에서 사용자의 검색을 받으면 훅의 updateFilters 를 실행시키고 useState가 바뀌니 useQuery의 재 시작과 함께 새로운 데이터를 받아 List에서 새로운 데이터를 뿌리는 것이었습니다. 그런데 console.log("훅안에서 새로운데이터", data); 이 부분도 새로운 데이터로 잘 찍히는데 문제는 Home.jsx 에서 console.log('home data',data) 이부분은 안찍히네요 결과적으로, 리스트의 변동이 없습니다. 혹시 아시는분 답변주시면 정말 감사하겠습니다 ㅠㅠ

개발자

#react

#react-query

답변 0

댓글 0

조회 72

9달 전 · 포크코딩 님의 새로운 댓글

리액트쿼리 데이터 리패칭 이렇게 하는거 아닌가요?

home.jsx const { data, error, isLoading } = useFilteredApartmentData(); <List data={data.result} /> 훅.jsx const useFilteredApartmentData = () => { const queryClient = useQueryClient(); const [filters, setFilters] = useState({ skip: 0, take: 15 }); const { data, error, isLoading } = useQuery({ queryKey: ["aaa", filters], queryFn: () => fetchFilteredApartmentData(filters), placeholderData: keepPreviousData, enabled: !!filters, }); const mutation = useMutation({ mutationFn: (filter) => { fetchFilteredApartmentData(filter); }, onSuccess: () => { queryClient.invalidateQueries({ queryKey: ["aaa", filters] }); }, }); const updateFilters = (newFilters) => { console.log(newFilters); setFilters(newFilters); mutation.mutate(newFilters); }; return { data, error, isLoading, updateFilters, }; }; export default useFilteredApartmentData; 여기서 처음에 데이터 패칭은 잘 이루어 지는데 fillter가 바뀌면 훅의 updateFilters 가 동작하여 새로운 데이터를 list에 다시 뿌리려고하는데 화면에 변화가 없습니다 ㅜㅜ 이렇게 하는거 아닌가요??

개발자

#react

#react-query

답변 1

댓글 2

조회 62

9달 전 · 문정동개발자 님의 새로운 답변

미디어쿼리 작성할때

안녕하세요! 현재 재직중인 디자이너입니다! 웹 사이트를 미디어쿼리로 이용해 반응형을 제작할 때 @media (min-width: 576px) { ... } // 태블릿 디바이스 (가로 해상도가 768px 보다 큰 화면에 적용) @media (min-width: 768px) { ... } // 데스크탑 (가로 해상도가 992px 보다 큰 화면에 적용) @media (min-width: 992px) { ... } // 큰화면 데스크탑 (가로 해상도가 1200px 보다 큰 화면에 적용) @media (min-width: 1200px) { ... } 이런 식으로 나누어진 것이 아니라 개발자 모드에 PC~모바일까지 체크하면서 수정해야 하는 부분만 그 크기에 맞추어 미디어쿼리 추가하면서 작성하고 있는데 이게 잘못된 작업스타일인지 잘 모르겠습니다.😭😭😭 선배님들의 도움이 필요합니다ㅜㅜ

개발자

#css

답변 2

댓글 0

조회 30

9달 전 · 익명 님의 질문

개발자 신입 mdd툴 사용하는 sm회사 다니는게 맞을까요?

안녕하세요 비전공자에 개발에 대한 경험은 없는 신입 개발자입니다 이전에 개발팀은 아니고 운영팀에서 sql 쿼리업무를 2년동안 해왔고, 자바개발을 하고 싶어 퇴사하고 학원수강으로 지식을 쌓고 지금 시스템 운영유지보수 회사에 입사하게 됐습니다 회사에서는 MDD툴을 사용해 자바는 실행함수만 쓰면 나머지 코드는 자동 생성된다고 하더라고요 그래서 자바는 잘몰라도 된다고 하시고 오히려 자바보단 쿼리가 더 비중이 높다고 하셨습니다 자바개발에 대한 경험이 없는 저에게 SI회사도 아니고 SM회사에서 MDD툴을 쓰는 회사에 경력이 도움이 될까요?? 다니는게 맞을까요?

개발자

#신입

#고민

#취업

#개발자_진로

답변 0

댓글 0

조회 102

8달 전 · J.H Lee 님의 새로운 댓글

9년차 sm만하던 개발자가 서비스 기업으로이직할수있을까요?

서비스기업으로의 이직을 원하는 30대중반프리랜서 입니다. 처음에 취직한다고좋아했는데 그냥 생각없이 일하고보니 벌써9년이나 지나가버렸네요.. 요즘 개발에대해 하던것만 하니 현타가 오던중 우연히 개발자 커뮤니티에서 기업문화와 성장에 대한 내용들을 보다가 서비스기업으로의 이직을꿈꾸게되었습니다. 하지만, 연초부터 조금씩 지원했다가 서류탈락하는 모습을 보고 충격을먹었습니다. 네.. 그동안 커리어가 꼬인줄도모르고 일을했었다가 이 사단이 나버렸네요..그래서 서비스기업에서 필요한 역량이 뭘까 찾아보니 해당연차에는 cs지식, 개발실력은 당연한거고 거기에 쿼리튜닝,설계능력괴 주니어개발자들을 이끌수있는 능력을 많이 보는데 제가 그동안 유지보수만해서 설계를 해본적이 한번도 없고 쿼리튜닝또한 해볼기회가 많지않았고 그동안 혼자서개발을해왓었기때문에 누군가를 이끌어본 경험도 많지않습니다. 그렇다고 요즘 자주 등장하는 aws? 도커? 레디스? 카프카? 대용량처리경험? 테스트코드 작성? 이런 스택들을 도입하지않은 프로젝트고 내부망이라 해당 스팩들을 도입하기가 힘든 환경이라 이런것들을 업무적으로 경험할 수 없는 상황입니다 제가 나이도있고 프리경력이 많다보니 이렇게 시간이 가면 갈수록 대기업, 스타텁은 고수하고 요즘 기술스택을 사용하는 솔루션 회사도 못갈꺼 같은 두려움이 듭니다.. 요즘 거짓말로 이력서를 쓰면 안되지만 해도 좋으니 그렇게라도 써서 면접이라도 가고싶은 마음이 간절합니다. 이런 스팩을 가진 개발자가 서비스기업으로 이직을 할수있을까요? 이대로그냥 제2의 직업을 찾는게 좋을까요? 만약에 갈수있다면 무엇부터해야할까요? 긴글 읽어주셔서 감사합니다

개발자

#경력이직

#이직고민

#백엔드

답변 1

댓글 1

추천해요 1

조회 358