styled-component을 사용할 때 많은 props는 어떻게 해결하시나요?
안녕하세요, 개인 프로젝트를 진행 중에 궁금한 점이 있어 현직의 선배님들께 여쭤보고 싶어 질문을 남깁니다! 현재 React 프로젝트에서 styled-components를 CSS-in-JS로 사용하고 있습니다. 하지만 styled-components를 사용하면서 많아지는 props로 인해 JSX의 복잡도가 높아지는 것 같아 고민이 생겼습니다. 개인 프로젝트에서 사용하고 있는 FlexContainer라는 Flex 스타일(정렬방향, 간격)을 적용하는 컴포넌트입니다. const FlexContainer = styled.div<FlexContainerProps>` display: flex; flex-direction: ${({ col }) => (col ? 'column' : 'row')}; gap: ${({ gap }) => gap && `${gap}rem`}; `; <FlexContainer> 컴포넌트를 '내부 컨텐츠 정렬'을 위해 확장한 <FlexContainerAlign>입니다. const FlexContainerAlign = styled( FlexContainer )<FlexContainerAlignProps>` justify-content: ${({ justifyContent }) => justifyContent}; align-items: ${({ alignItems }) => alignItems}; `; <FlexContainerAlign>을 확장하여 추가적인 style을 적용할 수 있는 <FlexContainerStyle>입니다. const FlexContainerStyle = styled( FlexContainerAlign )<FlexContainerStyleProps>` background-color: ${({ background }) => background && theme.colors.grey}; ${({ styles }) => styles && { ...styles }}; `; FlexContainerStyle 컴포넌트를 사용했을 때 아래처럼 많은 props로 인해 복잡해집니다. <FlexContainerStyle justifyContent="space-between" alignItems="center" background gap={1} styles={{ padding: '1rem 1.5rem', borderRadius: '0.5rem', }}></FlexContainerStyle> 혹시 styled-components를 실무에서 사용하실 때 많은 props를 깔끔하게 정리할 수 있는 팁이 있을까요?
개발자
#react
#styled-components
답변 3
댓글 0
추천해요 1
조회 1,057
일 년 전 · 김지섭 님의 질문 업데이트
MSA 환경에서 ABAC 기반의 권한시스템을 어떻게 구현하는게 좋을까요?
안녕하세요 현재 진행중인 프로젝트에 MSA를 적용하여 구현하고 있는 백엔드 꿈나무입니다. 빈번하게 일어나는 권한 검증을 효율적이고 높은 가용성을 확보할 수 있도록 하기 위해서 여러 방법을 모색하던 중, 다른 분들의 의견이 어떨지 하여 QnA를 올려보게 되었습니다. 우선 저희 프로젝트는 User, Device, Organization, Team, License 이렇게 5가지 개념이 있습니다. 사용자가 장비에 접근할 때에는 본인이 소속된 Org에 해당 장비가 존재하는지, 접근하는 동작에 대해서 해당 org가 License를 보유하고 있는지, 소속된 팀 또는 본인에게 해당 장비에 해당 동작을 승인받았는지 등 수많은 조건들에 의해 ABAC가 계산되게 됩니다. 하지만 MSA 환경으로 인해 테이블을 쉽게 join하지 못할 뿐더러, 가능하더라도 상당한 고부하 작업이 될 것이라고 생각합니다. 그래서 CQRS 패턴을 이용해서 license가 만료되거나 팀의 권한이 수정되는 등, 사용자와 장비간의 권한이 수정이 되는 command가 수신되면, 그것을 권한 담당 서비스에 비동기로 전달하여 특정 사용자가 특정 장비에 어떤 동작에 대한 제어가 가능한지를 저장(캐싱)하고 있다가 권한을 검사해야되면 간단하게 query하는 형태로 구현하는 것이 적합할 것이라고 판단했습니다. 이 패턴을 구현하기 위한 두가지 방법을 고안해보았습니다. [Permission Service] 별도의 permission 서비스를 만들고 캐시용도로 redis를 연결해두고, 권한 검사 요청이 들어왔을 때 Cache Miss가 된다면 Api Gateway 패턴과 유사하게 여러 서비스에 각각 정보를 요청하여 최종적인 권한 정보를 Aggregate 하여 전달하고, 캐시에 보관하는 방식입니다 [권한 관리 Infra Service] Google의 Zanzibar와 같이 권한을 관리하고 복잡한 쿼리를 처리해주는 서비스를 이용하는 방식입니다. 오픈소스로 구현된 SpiceDB를 고려하고 있습니다. Permission Service를 만드는 경우, 본인이 보유한 정보가 부족할 경우 능동적으로 정보를 Pull하여 권한 정보를 가져오는 반면, 양측에 별도 인터페이스를 구현해야되는 단점이 있고, 이미 있는 서비스를 사용하면 구현이 쉬워지는 반면, 해당 서비스에서 능동적인 Pull이 불가능하고, 권한 Query 정보가 최신인지 판단하고 업데이트하는 것을 각 서비스에서 각각 담당해야되기 때문에 별도 서비스를 분리하는 것에 비해 Responsibility Segregation이 부족하다고도 느꼈습니다. 무엇보다 관리해야될 인프라 요소가 늘어난 것은 덤이구요. 규모에 비해서 과한 고민을 하고 있는것이 아닌가 하는 생각도 들고, 그래도 더 나은 방법으로 서비스를 만들어가고 싶기도 합니다. ABAC를 적용하는 대부분의 서비스에서 이러한 고민을 적절히 잘 해결하여 서비스가 되고 있을텐데, 정답은 없겠지만 선배님들의 조언을 듣고 싶습니다!
개발자
#msa
#cqrs
답변 0
댓글 0
추천해요 2
조회 125
일 년 전 · 제승완 님의 새로운 댓글
파이썬 어디까지 리스트 인프리헨션을 적용까요?
안녕하세요. 파이썬을 사용하다 문득 궁금하여 질문을 남겨 봅니다. 파이썬을 사용하다 보면 단순 반복문을 사용할 때 보다 리스트 인프리헨션을 활용하거나, map함수를 사용할 때 처리 속도가 훨씬 빠르단 것을 알 수 있습니다. 이 때, 반복문의 중첩 수가 늘어 날수록 단순 중첩 반복문이 압도적으로 처리 속도가 느리게 나오는 경우가 있고, 이를 위해 조금 가독성이 떨어지지만 map이나 인프리헨션을 사용하곤 합니다. 제가 궁금한 것을 반복문의 처리 속도가 크게 차이가 없을 것 같은 적은 반복의 경우에도 인프리헨션을 사용하는 것이 좋을까요? 아니면 단순 반복문을 사용하여 가독성을 높이는 것이 좋을까요? 다음 예시는 SOP의 Minterm을 찾는 알고리즘 입니다. 총 반복 수는 16회 밖에 되지 않지만, 인프리헨션을 사용했을 때 가독성이 조금 떨어지는 것 같습니다. R, C = 4, 4 # (1) 인프리헨션 minterms = [format(i, '02b') + format(j, '02b') for i in range(R) for j in range(C) if map[i][j] == 1] # (2) 단순 반복문 for i in range(R): for j in range(C): if map[i][j] == 1: minterm = format(i, '02b') + format(j, '02b') minterms.append(minterm) 이런 경우에도 인프리헨션을 활용하는 것이 맞을까요?
개발자
#python
답변 2
댓글 1
추천해요 13
조회 3,143
2년 전 · 익명 님의 새로운 댓글
국비교육 조언부탁드립니다.
전자공학과를 나왔고 과에서 전공에 코딩이 많아서 접하는 일이 많다보니 흥미를 갖게 되었습니다. c언어, java, linux 등 하나를 깊게 배우지 않고 조금씩 접하다 보니 제가 배운게 뭔지 몰라 개발자가 되고싶다는 막연한 생각을 하던 와중에 국비지원을 알게 되었습니다. 저는 대부분 개발자를 접할 때 웹으로 많이 시작을 한다고 해서 저도 백엔드쪽을 집중적으로 공부를 하고 추후에 클라우드도 공부를 해서 데브옵스를 전문적으로 공부를 하고 싶다는 생각을 했습니다. 그래서 여러가지 학원들을 보고 있는데 배우는 내용과 난이도가 어떤지 몰라 조언을 구하려고 합니다. C언어는 다 배웠고 JAVA는 조금 배우고 졸업작품으로 안드로이드 스튜디오로 간단한 어플리케이션 만든정도 입니다. A학원 Database : Oracle DBMS, 설치 및 Admin, SQL 기본과 활용 Programming : Java 환경설정, 기본문법활용, 클래스, 네트워크, JDBC Front-end : HTML/CSS, Javascript, jQuery Back-end: 웹개발 환경구축, 서블릿&JSP, AJAX&MVC패턴, 리눅스&클라우드 Framework: Spring Framwork(DI, JDBC, MVC), Springboot, Mybatis B학원 클라우드 기반 웹 프로그래밍 - 클라우드 기술의 이해 (리눅스, NCP Laas 등) - 웹 프로그래밍 기초 (HTML, CSS, BootStrap) - 자바스크립트 - 리액트 기초프로그래밍 - 자바 프로그래밍 - 데이터베이스 (MySQL, JDBC) - 스프링 입문 - 스프링 데이터 - SaaS API 사용하기 DevOps 프로그래밍 - 네이버클라우드 플랫폼 - DevOps 를 위한 리눅스 - NCP DB&스토리지 - 도커를 활용한 컨테이너 구축 - 운영자를 위한 DevOps - 개발자를 위한 DevOps MSA 기반 프로그래밍 -MSA 개발을 위하 쿠버네티스 - 스프링 클라우드 - 스프링 배치 - 스프링 시큐리
개발자
#java
#devops
#spring
#cloud
#국비교육
답변 1
댓글 1
조회 566
9달 전 · nationdistributors00 님의 질문
United Distributors
At NationDistributor, quality is our first concern. We select our goods from reliable producers to guarantee that each item lives up to our exacting standards. You may be sure you're receiving the greatest items available when you pick us to be your wholesale supplier. With your consumers, our dedication to quality helps you establish a reliable reputation usa wholesale suppliers. https://nationdistributor.com/
개발자
#united
#distributors
답변 0
댓글 0
조회 17
일 년 전 · 익명 님의 새로운 댓글
Java Spring vs Node.js
안녕하세요 서울 수도권 대학교 3학년 재학중이며 내년 4학년 재학 이전 기업 인턴을 희망하고 있는 학생입니다. 최근 클라우드 네이티브에 관심이 생겨 관련 국비지원교육을 수료하고 CKA 자격증을 취득한 상태입니다. 또한 최종적으로는 백엔드 개발자가 아닌 클라우드 엔지니어로 커리어의 목표로 설정하고자 합니다. 더 정확하게는 백엔드 개발자로 시니어 개발 경험을 쌓고 MSA를 이해하고 최종적으로는 SE, 클라우드 엔지니어 분야로 경험을 쌓고 싶습니다. 또한 이러한 상황에서 내년 상반기 및 졸업 이후의 진로에 도움이 될 수 있도록, 이력서를 작성하고 미리 자기소개서를 작성하려고 합니다. 중학교 시절부터 컴퓨터에 관한 공부와 사이드 프로젝트로 여러 경험을 해오며 해당 글의 제목의 논제를 여러번 접하고 저 스스로도 많은 고민을 해온 상태입니다. 이전까지 군을 제외하고 3년동안 Express.js와 NoSQL을 위주로 다양한 초기 창업 팀에서 여러 종류의 프로젝트들을 진행해왔으며 FE, AI Serving 서버의 경우 ChatGPT를 활용한다면 초보적인 수준으로 개발이 가능합니다. 하지만 곧 취업 시장에 뛰어들 시기가 되니 많이 부족한 스스로보다는 여러 개발자 선배님들의 의견을 여쭈어보고자 해당 글을 작성하게 되었습니다. Java Spring에 대해 현재 제가 접한 정보는 다음과 같습니다 - 기존의 시스템을 변경하기 어려운 (중견기업 이상, 금융권) 등의 기업에서는 기존 Java Spring을 활용하는 것이 유리하며, 개발자에 대한 수요도 더 높다 - 대규모 시스템을 관리하고 개발하기 적합하다 - 규모가 큰 기업의 시스템은 다른 프레임워크로 변경되기 어렵다 Node.js에 대해 현재 제가 접한 정보는 다음과 같습니다 - Nest.js와 Typescript로 Node.js 프레임워크들의 문제를 해결했지만 아직 안정성이 떨어지며 개발자가 별도로 Spring에서의 기능들을 구현해야 한다 - MSA 형태의 서비스를 개발하는 기업에서는 Node.js 프레임워크에 대한 수요가 높다 - 스타트업과 같이 신사업을 Agile하게 개발하는 기업에서는 Node.js를 활용하는 것이 유리하다 하지만 커뮤니티 (검증되지 않았습니다) 등의 의견으로는 '이름있는 기업을 목표로 한다면 Node.js를 커리어의 시작으로 가져간다면 불리하다', 'Java Spring은 대기업, Node.js는 스타트업'과 같은 의견이 많아 프레임워크와 언어는 도구일 뿐이지만 더 효율적인 도구를 선택하고자 하는 마음에 아래와 같은 질문을 드리고자 합니다. 1. 현재 공고를 조사해봤을 때 Java Spring보다는 적지만 인지도가 높은 곳과 비교적 낮은 곳의 Node.js (Express.js, Nest.js)의 인턴 공고가 존재했습니다. 추후 커리어를 위해 꼭 중견기업 이상이 아니더라도 해당 기업에서 활동하는 것이 좋을까요? 2. Node.js를 선호하는 이유는 '시간', '취향'입니다. Node.js관련 경험들이 비교적 많으며 (+스크립트형 언어) 코드 스타일이 Java에 비해서 저와 더 잘 맞는다고 느꼈습니다. 또한 새로운 프레임워크를 배우고 적용하는데의 시간이 부족하다는 생각이 듭니다. 해당 이유들이 현 취업시장에서 Java Spring을 선택하지 않는 이유가 되기에는 비합리적일까요? 3. 개인적으로 어떠한 서비스를 개발하는데에 있어 처음부터 제작하고 배포까지 경험해보고자 합니다. 따라서 스스로 스타트업, 혹은 중견기업 이상의 신사업 팀이 더 맞는다고 생각하지만 연차가 쌓이며 저 스스로가 더 큰 시스템과 기업이 아니라 초기 스타트업에 머물게 될 것이라는 불안감이 존재합니다. 더 정확하게 말씀드리자면 더 좋은 기업으로의 이직 자체가 추후 불가능해질 수 있다는 불안감이 있습니다. 해당 부분에 대해서 어떻게 생각하시나요? 3. 앞으로의 Serverless, MSA의 관점에 대해서 어떻게 생각하시나요? 만약 최종적으로 클라우드 엔지니어를 희망한다면 Java Spring 혹은 Node.js 중 어떤 프레임워크가 더 트렌디해질 것이라고 생각하시나요? 4. 만약 Java Spring을 배우는 것이 더 전략적이라면 현재 진행하고 있는 스타트업 프로젝트의 서버를 Node.js에서 Spring으로 변경하는 것이 좋을까요? 물론 연차가 쌓이고 더 깊은 지식을 쌓아나가면 언어, 프레임워크 모두를 잘 다룰 수 있게 되겠지만 '한국에서 Node.js는 불리하다'는 의견을 계속 접하게 되니 불안감이 생겨 '신입 개발자로 어떤 역량을 가져야 할까'하는 고민으로 이 글을 작성하게 되었습니다. 부족한 점이 많지만 너그럽게 봐주시면 정말 감사하겠습니다. 소중한 시간 내주셔서 정말 감사합니다!
개발자
#java
#spring
#node.js
답변 1
댓글 1
추천해요 4
조회 1,387
일 년 전 · 손우진 님의 새로운 답변
Spring Cloud Config 서버에 관하여 질문이 있습니다.
MSA 아키텍처에서는 대개 환경 정보를 일괄적으로 관리하는 서버를 두는 것으로 알고 있습니다.(Cloud Native 12 Factors) 그 중에서 Spring에서 사용할 수 있는 것은 Spring Cloud Config Server입니다. 해당 컨피그 서버를 사용하면 효율적으로 application.yml를 관리할 수 있죠.. 그런데 여기까지는 좋습니다만 제 지식으로는 해결할 수 없는 문제가 발생했습니다. Github Actions CI/CD에서 빌드를 할 때 application.yml이 없어도 되지만 빌드 검증을 위해선 필요합니다. 그런데 이때 Config Server를 외부 포트로 열어놓고 Github actions 접속시 비보안적이지 않나요..? 그래서 Spring Basic Auth를 사용하여 접근하려 했지만 왜인지 모르게 오류가 계속 뜹니다. (몇 시간 동안 해봤지만 안됩니다.. 충돌 때문인지는 모르겠지만 그냥 Security 관련 Bean이 설정이 안되더라구요..) 관련해서 AWS를 활용하여 일회성 인증을 하는 방법이 있다고 합니다만.. 이것만이 방법은 아닐 거 같습니다. 에이 몰라! Config Server 외부 포트 열어놓는건 위험하니까 그냥 Github actions secrets에도 application.yml를 다 넣고 빌드 검증해보고, 실제 배포때는 Dockerfile로 프로파일 설정해서 Config Server에서 불러와야지! 라고 하기에는 그럼 application.yml이 수정될 때 마다 github actions, config server 둘다에서 수정해줘야 할 것 같습니다… 관련하여 조언 주시면 감사하겠습니다.
개발자
#spring
#spring-cloud
#spring-cloud-config
#msa
답변 1
댓글 0
조회 72
20일 전 · 익명 님의 새로운 댓글
개발자 준비 계속할 지 다른 곳(공무원이나 다른 업종)으로 넘어갈 지 고민중인 26살 남자입니다.
안녕하세요 프론트엔드를 준비중인 26살 남성(만나이)입니다. 1주일뒤면 제가 대학교 졸업한지 3년이 됩니다. 현재 프론트엔드쪽으로 이력서를 넣어보고 있는데요 제가 이전 과정(KOSA)과정에서 Vue를 배웠습니다. 그런데 현장에서는 React 실력을 요구하더라구요 ㅜㅜ 그래서 배운게 좀 부족하다고 느껴서 프론트엔드쪽 부트캠프 한번 더 해보고 프론트엔드쪽으로 취업해볼까 생각 중입니다. 그런데 공백기간이 워낙에 길다보니 부트캠프에서 더 배워야할지 다른 곳(공무원이나 다른 업종)으로 갈 지 고민입니다. 참고로 저는 지난 3년동안 아래와 같이 활동을 하였습니다. - 22.02 컴퓨터과학과 졸업 - 22.04~22.10 경기도 미래기술학교 클라우드 기반 데브옵스 운영자 과정(내일배움카드 발급 불필요) - 온프레미스 인프라 구축 프로젝트 1개(EVE-NG) - 클라우드 인프라 구축 프로젝트 1개(AWS) - 23.05 클라우드쪽 취업 안되서 지인의 도움으로 개발쪽 알아보다가 15일동안 개발 회사를 다님(직장 상사와의 갈등으로 그만둠) - 23.06~24.04 헌혈카페 알바 - 24.06~24.11 KOSA MSA 풀스택 과정(내일배움카드 발급 불필요) - JAVA, Oracle 프로젝트 1개(백엔드만 담당) - JQuery, Javascript 프로젝트 1개(프론트엔드만 담당) - Vue, Pinia 프로젝트(1인 프로젝트) - Vue, Spring Boot 프로젝트 1개 - 24.12~지금까지 이력서를 넣어보는 중(날리지큐브, 인스웨이브시스템즈 등 총 7개 회사에 이력서를 넣은 상황)
개발자
#프론트엔드
#재취업
#웹개발자
답변 1
댓글 3
조회 267
선배님들 신입 백엔드 포트폴리오에 대해 짧게만이라도 피드백 주실 수 있을까요?
안녕하세요. 저는 현재 4년제 대학은 졸업하고 취업을 준비하고 있는 학생입니다. 백엔드에 대한 분야는 3학년 2학기에 처음 접하였고 공부를 진행하며 관련 프로젝트를 2개(1개 완료, 1개 진행중)를 진행하였습니다. 가장 큰 고민점은 하나의 프로젝트만 강조할 수 있을때 어떤것을 내세우는것이 더 좋을지에 대한 판단이 되지 않습니다. 한 프로젝트는 1년동안 진행하였고 현재도 진행중입니다. 백엔드 팀원은 절 포함하여 2명이 있고 반년동안은 단일한 서비스로 구현, 반년은 서비스 런칭 및 확장을 위해 단일 서비스를 MSA로 재설계 하여 구현하였습니다. 설계에 많은 공을 들였지만 미숙한 부분도 많고, 아직 리팩토링을 진행중이라 코드가 난잡한 부분이 존재합니다. 나머지 하나는 저혼자 백엔드를 담당했고 제 지식의 한계 내에서는 리팩토링을 진행하여 코드가 좀 더 깔끔하다고 생각합니다. 그 어떠한 피드백도 정말 감사할것 같습니다. 혹시 도움주실 수 있을까요? https://thene.notion.site/1b58113bb5c38054b490daf88cb4a12e?pvs=4 원래는 앞단에 개인정보및 자기소개부분이 있지만 제외하였습니다!
개발자
#포트폴리오
#피드백부탁드립니다:)
#백엔드
#취업
답변 1
댓글 0
조회 44
2년 전 · 커리어리 AI 봇 님의 새로운 답변
Spring boot Kafka Test Code Gradle Test 불가
안녕하세요 MSA 공부하고있는 주니어 개발자 입니다. Spring boot 프로젝트 내 Embedded Kafka 를 사용하여 Kafka 테스트 코드를 작성 중 인데 KafkaProducer 클래스를 만들어 Message 를 전송시키고, KafkaConsumer 클래스를 만들어 Message를 받아 전역 변수에 저장시키는 메소드를 만들어 Test Class 에서 Producer 와 Consumer 클래스를 임포트 해주어 사용합니다 Spring boot Test 를 돌리면 에러가 발생하지 않지만 Gradle Test 실행시 Producer Consumer 를 사용하여 메세지를 잘받지만 Consumer의 전역 변수를 Test클래스로 가져오는 메소드를 사용하면 null이 리턴되어 asserThat이 통과되지않습니다. 혹시 해결방법 알고계신 개발자분들있으실까요?
개발자
#msa
#kafka
#springboot
#java
답변 1
댓글 0
조회 225
18일 전 · CP 님의 새로운 답변
금융권에서 다른 IT기업으로 이직하신 분 조언 부탁드립니다
금융권에서 근무한지 1년정도 된 개발자입니다 지금까지 업무를 진행하면서 개발은 거의 해보지 못한 것 같습니다 핀테크 it 기업으로 이직할 만한 개발 경험 (계정계 개발 등과 같은)도 없습니다 더 늦기전에 이직을 준비하려고 합니다 코딩테스트나 기술질문은 어떻게 준비할지 감이 잡히는데 프로젝트는 정말 막막하네요.. 회사 업무 중에 포트폴리오로 넣을 만한 경험은 없어서 개인적으로 진행하려고 합니다 혹시 다른 IT기업으로 이직하신 분들은 포트폴리오를 어떻게 구성하셨는지 궁금합니다 개인적으로 프로젝트를 진행하기엔 MSA나 대규모 트래픽 처리하는 것과 같이 구현하기에 한계가 있는 영역이 있고, 그렇다고 직장인 부캠이나 동아리로 준비하면 다른 분들과 포트폴리오가 비슷해질 것 같아서요 신입 -> 금융권 취업 후기는 많은데, 금융권 -> 다른 도메인 기업 후기는 별로 없어서 막막하네요ㅠㅠ
개발자
#이직
#금융권
#포트폴리오
#개발자
답변 1
댓글 0
조회 55
일 년 전 · 익명 님의 질문
신입이 면접 전 MSA 지식 속성으로 습득하기 좋은 법 없을까요
다음주 월요일에 백엔드 신입 면접이 있는데용....... 저는 신입인데 3년차 공고를 뚫긴 했는데 JD확인하니 MSA 관련한 것들이 많아서 물어볼거 같더라고요 저는 MSA 프로젝트 해보진 않았고 개념 정도만 알고 있습니다. 사가패턴 2페이즈 정도도 알고 있구요! 관련 도서는 DDD,클린 아키텍처책은 한번 읽어봤습니다! 신입한테 MSA 관련 물어볼까 싶기도 한데 스타트업 이기도 하고 3년차 공고에 지원을 한거라 실무 투입 바로 가능한지 확인하려고 물어보실거 같기도 하네요 ㅠㅠ
개발자
#면접
#msa
답변 0
댓글 0
조회 132
일 년 전 · k 님의 질문 업데이트
스프링 강의를 nestjs로 이해하면서 들어도 될까요?
안녕하세요 코딩 2년차 공부 중인 초보 학생입니다 바로 본론드리면 nestjs기본 베이스 상태에서 스프링기반 강의를 들어도 문제가 없을까요? 저는 자바 모릅니다 ts는 알고 있습니다 온라인강사님은 스프링에 대해서 kafka나 쿠버네틱스에 대해서 말씀하시는데 저는 그것을 네스트js로 실습하려고합니다 강의는 결제 전에 미리보기가 안되서 맛보기가 어렵더라구여 ㅜ.ㅜ 제가 아래에 제가 무엇을 공부했는지 적어보겠습니다 기본적인 게시판 구성이나 비디오 다운로드 정도 만들어보았습니다 네스트는 익스프레스와 달리 DI로 서비스를 여기저기서 모듈러 익스포트해서 쉽게 불러올 수 있는게 정말 인상적이었습니다 nestjs의 데코레이션을 추가하여 코드를 간결하게 하고 마치 익스프레스의 미들웨어처럼요! 데이터를 가로채서 원하는 쿼리스트링으로 조작할 수 있는 것도 새로웠습니다 익스프레스보다 훨씬 편하다는 생각을 지울 수가 없더라구여 ------ 인터넷에서 대용량처리 방법에 대한 광고를 확인했었는데 kafka, elesticsearch? 그리고 쿠버네틱스... 이러한 것들에 대한 도전도 해보고 싶습니다 하지만 죄다 스프링에서만 강의를 찍으시더라고요 스프링코드를 보는데 왠지 네스트와 비슷하다는 느낌을 받았거든요 네스트 게시판 비디오 rest api 정도 듣고 Kafka를 스프링 강의 기반으로 강의하는 영상 봐도 좋을까요? 미리보기가.안되서 두렵네요 지금 그냥 계속 게시판 복습만 하고 있습니다.. 국내 한국어 네스트 강의가 게시판이나 기본적인 restapi 밖에 없는 것 같습니다 공식문서는.너무 어렵구요 강의 토대로 공식문서 읽으면 빠르게.읽힐텐데 초보자니까 개척해서 nestjs kafka 도큐가 엄두가.안납니다 Msa 만드는게 제 꿈입니다 ㅜ.ㅜ ㅜ.ㅜ
개발자
#nestjs
#kafka
#spring
답변 0
댓글 0
조회 117
일 년 전 · 이양일 님의 새로운 답변
스프링부트 ServiceInterface에 요청문 작성
안녕하세요 MSA아키텍처를 적용한 개인프로젝트 진행중에 궁금한 사항이 생겨서 글 작성합니다 회원정보 수정을 한 뒤 수정이 정상적으로 완료되었을 때 클라이언트에 완료되었다는 메세지와 함께 로그아웃 메서드를 실행시키고 싶어서 public interface IUserInfoService { @PostMapping(value = "security/v1/logout") void logout(); } 이렇게 서비스 인터페이스에 작성을 해두고 컨트롤러에서 userInfoService.logout(); 으로 호출하여 실행하는데 권장되는 방법인지, 더 좋은 방법이 있는지 궁금해서 질문드립니다
개발자
#springboot
#java
#spring-security
#msa
답변 1
댓글 0
추천해요 1
조회 325
6달 전 · aigoia 님의 답변 업데이트
Node.js 프레임워크 선택 고민
안녕하세요 열심히 웹 개발 관련 공부를 하고 있는 4년차 웹 개발자입니다. 회사에서는 주로 Spring boot / jsp를 기반으로 웹 애플리케이션을 다루는 일을 하고 있습니다. 회사 규모가 작아서 따로 프론트엔드, 백엔드 업무를 구분해서 하지는 않습니다. 회사 업무랑 별개로 주말에 혼자 사이드 프로젝트를 끄적끄적하면서 공부하고 있는데 아무래도 주말에도 같은걸 다루는건 너무 일하는 것 같아서 최근에 주말에는 react로 프론트엔드로 이것 저것 만들어 보고 있는데 데이터도 연결 해보고 싶어 백엔드 프로젝트를 구성 하려다가 백엔드도 업무로 하는것과 다른 걸 배워보고 싶어서 Node.js 기반의 백엔드 프로젝트를 만들어 보고 싶습니다. 처음부터 크게 설계하기 보단 간단하게 작은 서비스들 부터 연습삼아 만들어 보다가 나중에는 MSA 아키텍쳐로 설계 해보고 싶은데, 현업에서 많이 쓰이고 MAS 아키텍쳐로 설계한다고 할 때, 가장 적절한 프레임 워크가 어떤게 있는지 다른분들의 의견이 궁금합니다 !
개발자
#node.js
#rest-api
#msa
#backend
답변 1
댓글 0
조회 60
7달 전 · 익명 님의 새로운 댓글
신입개발자 경력 고민
현재 회사에서 백엔드 개발하고있습니다. 일한지 한두달되었습니다 경력쌓기 괜찮은지 궁금해서 글을 써봅니다. 회사에서 주 업무는 php, jquery로 된 레거시 유지보수 nest, react활용 프레임워크 변경 db 변경 및 마이그레이션 saas, 멀티태넌시 AI/ML 활용 회귀 모델링 성능 개선 및 ui/ux 개선 gitlab runner ci/cd MSA도 해보고 싶은데 현재 시스템에선 불필요한거 같아서 못해보고 있습니다. 등의 업무하고있습니다. nest로 경력쌓기 괜찮을까요. spring 하는곳으로 이직해야할까요? 감사합니다
개발자
#nest.js
#react
#개발자
#개발고민
#백엔드
답변 1
댓글 1
조회 100
9달 전 · MB😍 / JPA🤮 님의 새로운 답변
Spring Cloud를 활용한 MSA 개발을 학습하고싶은데 어떤서적이나 강의를 듣는게좋을까요?
Spring Cloud 를 활용하여 MSA기반의 서비스를 구축하는 방법에 대해서 학습하고싶은데 좋은 서적이나 강의가있다면 추천받고싶습니다.
개발자
#java
#msa
답변 1
댓글 0
조회 72
일 년 전 · 프레드윰 님의 답변 업데이트
이직고민 기술부채등 고민입니다
안녕하세요🥹 학원출신 비전공 전문대졸 곧 2년차 웹개발자 입니다~ 일도 별로 없고 사수도 없는 비개발회사 직장에서 개발팀에 재직중인데요 요즘 인격적으로도 , 커리어적으로도 걱정이 많습니다. 구글과 지피티를 사수삼아 일하다보니 어느정도 구조잡고 비즈니스 로직 작성하는등 간단하게만 할 줄 알지 학원수료한 이후로 달라진게 없습니다..ㅜ 또한 조용히 울고 사무실로 들어온적도 있을정도로 스트레스를 많이 받습니다. 일을 못해서 일때문에 혼난거면 괜찮은데..후... 그리하여 여러가지 사정으로 이직을 결심하게 됐습니다. 인격적으로 스트레스 덜 받는 곳 그리고 커리어 성장이 가능한곳으로 이직하고 싶어서 이직조건을 알아보고 있는데 제 기술부채가 너무 심하더라구요ㅜㅜㅜㅜㅜㅜ 제 물경력.. 실력으로는 신입으로 들어가야 할것 같은데 신입을 뽑는곳에 2년가까이 근무를 하고 입사하자니 회사입장에서는 사기란 생각이 들것 같고 경력직으로 지원하자니 회사에서 요구하는 2년차의 실력이 아니라..ㅜㅜㅜㅜㅜ 어떻게 하는게 좋을지 모르겠습니다. 포폴도 학원 수료이후 만든게 없어서 올해 상반기에 포폴을 준비해보려고 합니다. 지급 사용하는 기술은 springboot mybatis라면 이직을 위한 포폴에는 요즘 회사들이 요구하는바 jpa 기술을 익혀서 springboot msa 포폴을 만들어 보려고 합니다 우선 jpa는 김영한님 강의를 보려고 하는데 2년차 이상의 실력을 갖추려면 다른것은 어떤식으로 공부를 시작해야 할지도 잘 모르겠네요..!! 새벽이라 글이 횡설수설한 느낌인것 같네요ㅠㅠ 상반기엔 꼭 이직 성공하고 싶은데 조언과 강의를 추천해주신다면 감사하겠습니다.
개발자
#기술부채
#물경력
#이직
답변 1
댓글 0
조회 278
3달 전 · 박정환 님의 새로운 답변
msa 책이나 강의 추천받고싶어요..!
저는 햇병아리 신입인데 회사에서 msa 사업을 곧 한다고 해서 미리 좀 봐두어야할 것 같아 찾아보는데 생각보다 자료가 많이 없는 것 같아 도움 요청하러 왔습니다 저같은 초보자가 볼만한 책이나 강의가 있을까요??!
개발자
#개발자
#msa
#공부
#강의
#신입
답변 2
댓글 0
조회 137
react 그리드에서 수정된 부분이 있으면 조회버튼을 눌렀을 때 alert창 띄우기 기능 (useState 비동기 질문)
안녕하세요. react 초보 개발자입니다. 자바스크립트도 처음이라 비동기 관련해서 제 의도와는 다르게 작동할 때마다 당황하는 중입니다🤣 쌩초보임을 감안해 너그럽게 댓글 달아주시면 감사하겠습니다 :) 화면 설명 먼저 드리자면 조회 버튼을 누르면 그리드에 데이터가 뜨고, 데이터를 수정한 후에 저장할 수 있는 화면입니다! 제목과 같이 그리드에서 수정된 부분이 있을 경우에, 저장하지 않고 조회버튼을 누르면 '수정중입니다. 조회를 진행하시겠습니까?' 와 같은 alert창을 띄우는 기능을 구현중에 있습니다. 참고로 그리드는 aggrid 사용중입니다. 1. 우선 변경값 존재여부를 확인하는 변수 isChanged 를 useState로 선언해주었습니다. const [isChanged, setIsChanged] = useState<boolean>(false); 2. 그리드에서 수정된 부분이 있나 체크하는 건 onCellValueChanged 함수를 통해 값이 변경되면 isChanged가 true로 바뀌게 했습니다. const onCellValueChanged = (params: any) => { setIsChanged(true); }; 3. 저장로직에는 setIsChanged(false)가 있습니다. 또한 저장이 제대로 끝난 후에 조회로직을 탑니다. const onClickSave = async () => { // (생략) 저장 로직 // 저장 완료 후 setIsChanged(false); onClickSearch(); } 4. 조회로직에는 isChanged의 값을 확인하고, 변경값이 있다면 alert창이 뜨고, 확인을 누르면 조회를 진행합니다. const onClickSearch = async () => { if (isChanged) { // (생략) 메세지 띄우는 로직. alert창에서 확인을 누르면 조회 진행 setIsChanged(false); } // (생략) 조회 로직 } * 문제점 정상적으로 저장을 한 후에 조회로직을 타는데, isChanged가 false로 변경되기전에 조회로직을 타서 alert창이 뜹니다. 이 문제는 어떻게 해결하는 게 좋을까요..?
개발자
#react
답변 2
댓글 6
추천해요 1
조회 375
분야 전향(devops>fullstack) 및 풀스택 커리큘럼
안녕하세요 만23세 주니어입니다. 제가 하고싶은분야는 풀스택쪽인데 생계사유상 입사를 devops로 오게 되었습니다. 입사한지 2주, 파견근무로 atlassian 유지보수를 하는 업체입니다. 아직 판단하기엔 조금 이르지만 그래도 지냇던 2주만큼은 이회사가 회사 운영방식이나 분위기에있어서 좀 맘에 들었고 아무래도 그전에 다녓던 회사들이 물경력에 1년넘는기간이없엇어서 이번회사는 좀 오래 다니고 싶습니다. (vb 2개월, ubuntu(filecoin) idc 유지보수 10개월(주)+react 2개월(부), skt네트워크망 관제 사무직 6개월, 건설안전교육기관 5개월) 다만 우려돼는건 나중에 원래하고싶었던 풀스택으로 전향할때 연봉이나 경력을 초기화해서 다시 신입으로 들어가야 하는건지 아니면 소폭감소나 유지되는지 모르겟어서 이부분좀 알려주시면 좋겟습니다. 또 activex쪽 개발햇던 4년차 지인분이 웹개발 관련해서 해당 커리큘럼을 추천해주셧는데 여기서 보완, 가감할점은 없는지 피드백부탁드립니다. 2021년 기준 1. 모든 개발자를 위한 HTTP 웹 기본 지식 / 김영한 2. 스프링 핵심 원리 - 기본편 / 김영한 3. 스프링 MVC 1편 -백엔드 웹 개발 핵심 기술 / 김영한 4. 자바ORM 표즌 JPA 프로그래밍 - 기본편 / 김영한 5. 초보를 위한 도커 안내서 / subicura 6. 실전! 스프링 부트와 JPA 활용1 - 웹 애플리캐이션 개발 / 김영한 7. 실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화 / 김영한 8. 실전! 스프링 데이터 JPA / 김영한 9. 실전! Querydsl / 김영한 10. DDD-START / 최범균 - ISBN 9788993827446 11. AWS 강의실 / 유튜브 12. Route53 / 생활코딩 13. 스프링 핵심 원리 - 고급 / 김영한 14. ELK 스택으로 데이터 분석 / 허민석 15. 아파치 카프카 for beginners / 데브원영 16. Spring Boot JWT tutorial / 정은구 17. The Red : 비즈니스 성공을 위한 Java/Spring 기반 서비스 개발과 MSA 구축 / 이희창 18. 새차원의 코틀린 / 새차원 19. Kotiln으로 개발하는 Spring Boot Web MVC / 예상국 20. 새차원의 코루틴 / 새차원 21. 코틀린 마이크로서비스 개발 / 후안 안토니오 메디나 이글레시아스 - ISBN 9791161752556 그리고.. react를 하긴햇는데 정작 이번에 취업할때보니 신입기준으로 react보단 vue가 더 많이보이더라고요. 그냥 vue를 하는게 나을까요? 어차피 js기반이니 둘다 상관없을까요?
개발자
#devops
#fullstack
답변 1
댓글 0
추천해요 1
조회 433
일 년 전 · 준 님의 새로운 답변
대학교 4학년, 반복적인 CRUD 프로젝트에서 나아가지 못하고 있습니다.
저는 현재 대학교 4학년 컴퓨터공학과 학생입니다. 진로는 java 백엔드 개발자를 희망하고 있습니다. 현재 취업을 앞두고 많은 고민과 걱정이 앞서고 있습니다. 개발을 잘하는 것과 취직을 잘하는 것은 또 다른 문제인 것 같다는 생각이 들기 때문입니다. 취직을 하는 데에 필요하다는 것들, 예를 들면 블로그, 깃허브, 다양한 프로젝트, 알고리즘 공부, 기술 면접 등을 하나 둘 챙기다 보면 방향성을 잃고 집중이 분산되는 느낌이 듭니다. 또 공부를 하다가도 또래 다른 친구들이 저는 모르는 새로운 기술을 프로젝트에 적용하는 것을 보면 제가 하던 것을 멈추고 '저것부터 해야 하나..?' 하는 조급함도 들기도 합니다. 현재까지 웹 개발 프로젝트는 대략 4~5개 정도 진행을 했는데 처음 한 두개 했을 때는 뿌듯함도 느끼고 방향성도 잡히는 듯 했는데 뒤로 갈수록 반복적인 CRUD 코드를 작성하고만 있는 듯한 느낌이 들었습니다. 또 막상 프로젝트에 필요한 기술은 어렵고 복잡한 최신 기술 같은 것이 아니라 결국 기본적인 CRUD 코드 작성과 Open API 연동, 소셜 로그인 구현의 반복이었습니다. 대학생 프로젝트 레벨에서는 인프라 또한 간단한 CI/CD 파이프라인 구축과 기껏해야 Nginx나 AWS의 기본적인 설정 이상으로는 무엇이 더 필요한지 잘 모르겠습니다. 저는 원래도 보수적인 성격이라 이미 잘 돌아가는 코드나 프로젝트를 성공적으로 마치는 데 확실한 방법을 알고 있으면 그 방법을 고수하는 편입니다. 또한 기본기가 가장 중요하다고 생각하여 현재는 java, cs, 데이터베이스, spring 공부를 중점적으로 하는 편이고 제 스스로가 지금은 새로운 기술을 쫓기보다 기본기를 확실히 다져야 할 단계라고 생각을 합니다. 다만 요즘 들어 취업 시기가 다가오고 취업에 필요한 요건들을 하나 둘 챙겨야겠다는 생각이 들다 보니 제가 하고 있는 공부에 의심이 듭니다. 새로운 기술을 프로젝트에 적용하는 것도 능력인 것이 맞는 것 같고 회사에서 요구하는 지원 자격이나 요건을 보면 MSA, kubernetes 같은 기술을 자격으로 거는 회사도 많습니다. 그냥 갈피를 잃은 것 같습니다. 취직을 위해서 어디까지 공부해야 하고 부끄럽지 않은 프로젝트를 이력서에 쓰려면 어떤 기술을 적용해야 하는지도 모르겠습니다.보수는 적어도 좋으니 제가 성장할 수 있는 서비스 회사에 가고 싶습니다. 저는 이 상황에서 무엇을 하면 좋을까요?
개발자
#kubernetes
#spring-boot
#aws
#msa
#java
답변 2
댓글 1
추천해요 14
조회 2,042
일 년 전 · kevin 님의 새로운 답변
자바 백엔드 커리어 관련 질문
안녕하세요, 얼어 죽을 것만 같았던 채용 한파 속에서 운 좋게 한 솔루션 회사에 합격하게 되어 계약서 작성을 기다리고 있는 중입니다.(편의상 'A사'라고 하겠습니다) 제 고민은 최근 합격 통보를 받은 'B사'가 있습니다. 이 두 회사의 특징이 정반대라서 요즘 고민이 정말 많습니다. 오히려 비슷하다면 명확하게 비교가 가능할텐데 말이죠. 두 회사의 특징은 다음과 같습니다. A회사 - 중소기업 - 연봉 4,000 - 솔루션업체 - 자바 백앤드로 지원했지만, 프론트와 php를 사용해서 개발하는 부서로 갈 수 있다고 면접 때 얘기함. (자세한 건 회사를 들어가봐야 알 것 같습니다.) - 솔루션 업체지만, 업체에 상주하여 솔루션 프로그램을 유지보수함 - 신규 직원을 지속적으로 채용하는 중. (그렇다고 퇴사자가 그만큼 많은 건 아님) - 출퇴근 50분 B회사 - 중견기업(업계에서 이름 있는 회사) - 연봉 3,000 혹은 그 아래(아직 처우 협의를 하지는 않았지만, 잡플래닛과 블라인드에서 찾아본 결과) - 현재는 ASP를 쓰고 있지만, 내부적으로 자바+Spring으로 전환하겠다는 결정. 모놀리틱한 서버의 한계를 느껴 MSA 도입 결정. - '레거시를 개선하고 새로운 기술을 도입하려고 한다.'는 것을 강조 - 출퇴근 40분 사실 B회사의 연봉을 알기 전까지는 당연히 B회사로 생각하고 있었습니다. B사는 기술적으로 경험을 많이 하고 나중에 이런 경험들이 쌓여 제 성장에 큰 도움이 될 것이라고 생각했기 때문이죠. 그런데 1천만원 정도 차이가 나는 연봉 수준을 무시할 수 없다는 조언이 많습니다. 기술은 문제를 해결하기 위한 도구일 뿐이지 기술에 연연하지 말라는 조언도 듣긴 했습니다만, B사의 여러 기술을 적극적으로 도입하고 개선하려는 문화가 배울 것이 많다는 생각이 들었구요. ㅋㅋㅋㅋ어쩌다보니 도돌이표네요. 인생 선배로서 조언을 부탁드립니다.
개발자
#취업
#고민
답변 7
댓글 3
추천해요 2
조회 4,117
신입들은 MSA 쓰지 말라는 말에 대해 어떻게 생각하시나요?
안녕하세요 신입 3개월차 백엔드 엔지니어입니다. 현재 사이드 프로젝트를 하나 진행중입니다. 간단하게 ERC20 토큰 두 개와, 이더리움을 거래할 수 있는 DeFI 프로젝트이며, 구조는 NFT 유저 팔로워 및 팔로잉 정보를 담은 RDBMS, 코인의 가격과 마감가, 최고가, 최저가등의 정보를 담아두는 도큐먼트 Mongo, 그리고 EVM에서 가져오는 정보. 이렇게 3가지를 사용합니다. 아는 분의 여러 사람들의 조언을 들었는데, 구조가 여러 개의 I/O가 있으니 msa로 만들라는 분도 계셨고, 신입이 msa를 하다 보면 복잡하고 장점도 못 챙기는 경우가 많으니 몰아서 하라는 의견도 있었습니다. 어떻게 구현하는 게 좋을까요? 많은 트래픽을 실제로 다뤄보신 시니어 분들의 조언 달게 받겠습니다! 😘
개발자
#springboot
#backend
#blockchain
#msa
#arachitecture
답변 3
댓글 0
추천해요 1
조회 1,346
9달 전 · 익명 님의 새로운 댓글
웹 프론트엔드 디렉토리 구조 어떻게 가져가나요?
3년차 서버 개발자입니다 반 년 전 부터 리액트 넥스트 시작 해서 공부 중 입니다 몇 개의 프로젝트를 해도 이거 컴포넌트 분할이 되게 힘들고 정리가 안되네요 서버는 뭐 DDD 헥사고날 MSA 등등 있지만 저는 경험에서 모든 것을 의존성 기준으로 도메인을 분리하고 이에 대한 트레이드 오프나 규칙같은 것도 리드할 수 있을 정도인데,,,, 프론트는 재사용성을 강조하는데 뭘 재사용하는 지도 모르겠고 UI랑 기능이랑 분리하기 힘든 것도 있고 많은 설계방식도 있는데 저한테는 과도하다 생각하고 프론트도 도메인 기준으로 나누는 FSD도 있지만 프론트 특성상 UI랑 기능이랑 분할이 되게 힘들어보이고 아무리봐도 프론트는 사용자 중심으로 가야할 거 같은데 어떻게 해야될지 모르겠네요..
개발자
#프론트
#fsd
#리액트
답변 1
댓글 1
조회 152
9달 전 · 오주환 님의 댓글 업데이트
대기업 신입 노드 개발자가 가능한가
안녕하세요. 저는 현재 신입 백엔드 개발자로 취업 준비 중입니다. 사용할 줄 아는 언어는 하나라도 제대로 하자는 마음으로 js/ts만 다뤄왔습니다. 사실 프론트를 먼저 접하고 백엔드의 필요성을 느껴 빠르게 백을 구축하기 위해 nodejs로 백을 시작하게 되었어서 지금까지도 nodejs를 메인으로 expressjs, nestjs 등으로 계속 공부를 하고 있네요. 하지만 휴학 기간 동안 취업 준비를 하기 위해 채용 공고들을 보고 있는데 이름있는 기업들은 거의 대부분 자바 개발자만 뽑더라구요.. 물론 부서마다 언어가 다르다고 하긴 하지만 대부분 자바 아니면 파이썬이 메인이고, 노드는 뒷순위에 경력자들만을 뽑더군요.. 무슨 신입이 처음부터 이름있는 기업에 가려하냐, 눈이 너무 높은거 아니냐 하고 생각하실 수 있지만 제 성격상 목표가 뚜렷해야 집중이 잘 되고, 생각보다 취준 기간이 넉넉하고 네카라쿠배 급 정도에서 요구하는 기술 스택들, 예를 들면 docker, ci/cd, redis, msa, message broker, DDD, TDD, serverless 등을 완벽히 까지는 아니더라도 충분히 시간을 들여 공부하고 이를 사용한 본격적인 프로젝트를 진행하기 전에 언어를 확실히 정하고 가고 싶어서 질문 드립니다. 아직 expressjs, nestjs도 제대로 이해하고 있는 것은 아니며 당연히 배워야할 점들이 수도 없이 많기에, 남은 1년의 기간 동안 노드쪽의 부족한 점을 채워야할지, 자바를 새롭게 배우고 충분히 공부하며 제대로 된 프로젝트를 진행해야 할지 고민입니다. 더불어, 현재 저의 역량을 확인하기 위해 풀스택으로 제대로 된 쇼핑몰을 혼자 전부 구현 및 배포를 하는 프러젝트가 진행 중에 있습니다. 만약 제가 자바를 공부하는 것이 맞다면 현재 진행하고 있는 프로젝트는 잠깐 중단하고, 자바를 충분히 공부한 후 이 프로젝트를 자바로 진행하는 것이 좋을지, 아니면 일단 현재 프로젝트는 완성하고 나중에 자바를 공부한 후 똑같이 만들어보는 것이 나을지 고민입니다. 후자가 맞는거 같지만서도 이 경우에는 시간이 너무 오래 걸릴 것 같아 질문드립니다.. 정리하자면, 배경: 취준 기간 1년이 있고 목표는 대기업 혹은 중견기업 신입이다. expressjs, nestjs를 다룰 줄 알고 현재까지 진행한 토이 프로젝트들을 봤을때 개인적으로 기본적인 부분들은 할 줄 알고 있다고 생각한다. 질문 1. 하지만, 아직 부족한 점이 많은데 남은 1년을 노드쪽을 더 파서 취업을 노릴지, 아니면 이제라도 자바를 공부해서 조금 더 유리하게 가야할지? 질문 2. 내 역량을 확인할 겸 제대로 된 프로젝트를 하고 싶어서 쇼핑몰 구현 중에 있다. 만약 제가 자바를 공부하는 것이 맞다면, 현재 이 프로젝트를 노드로 완성하고, 자바로 옮길지. 아니면, 일단 멈추고 자바를 공부한 후 자바로 처음부터 만들지. (프로젝트는 이제 막 초기 단계라 기본적인 기능만 구현 후 배포 전 ci/cd를 위해 테스트 코드 작성 중에 있습니다.) 충분한 고민을 해보고 질문을 드리는게 맞겠지만 대기업 혹은 중견기업 채용 공고에 노드 백엔드 개발자가 거의 없는걸 보니 조급해져서 이렇게 질문드립니다. 긴 글 읽어주셔서 감사드리고 답변 꼭 부틱드립니다...!
개발자
#java
#javascript
#취업
#spring
#expressjs
답변 3
댓글 3
조회 2,087
일 년 전 · 김형준 님의 새로운 답변
nestjs msa구조설계
안녕하세요. 신입 node 개발자로 일을 하게 되었는데, nestjs msa 아키텍처를 구성해야하여 질문드립니다. 우선 nestjs는 모놀로그 전용 프레임워크로 설계되어 msa 구조를 채택하려면 개별의 프로젝트를 두고 @nestjs/microservices 라이브러리를 사용하여 메시지 큐를 연동하는 형식으로 공부했는데, 게이트웨이 엔드포인트 관리부분에서 어떤식으로 구성해야할까요? 1. gateway에 모든 서비스가 연결되어 모든 비즈니스로직이 gateway를 거쳐가는 방식 - (gateway 서비스 메모리 부담이 크다고 생각합니다.) 2. 개별의 서비스끼리 연결되는 방식 - (Transport 관리비용이 커진다고 생각합니다.) 그 외 방법이 있다면 알려주시면 감사하겠습니다.
개발자
#nestjs
#nodejs
#msa
#microservice
답변 1
댓글 0
조회 562
MSA 패턴에서 마이크로서비스의 인증
안녕하세요, 현재 학교 프로젝트에서 백엔드 개발을 맡고 있는 학부생입니다. 기존 한두달 정도는 monlithic하게 서비스를 개발하다가, 지금까지 이론으로만 알던 MSA 패턴을 실제로 써보면서 공부하고 싶어서 API Gateway부터 시작하면서 MSA로 전환을 준비중입니다. 제가 의문을 가진 것은 인증 및 인가입니다. 많은 레퍼런스와 자료들을 찾아보니 인증과 인가 로직은 게이트웨이에서 대신 처리하고 뒷단의 각 마이크로서비스들은 신경쓸 필요 없이 비즈니스 로직에만 집중할 수 있다고 하는데요. 만약 악의적인 의도로 게이트웨이를 우회하여 마이크로서비스에 직접 접근이 가능한 경우도 있지 않나요? 만약 마이크로서비스에 인가 로직이 없다면 위험한 방식이고, 인가 로직이 있다면 api gateway를 쓰는 장점이 줄어들 것 같은데 실제 구현 시 어떻게 아키텍처를 구성하는지 궁금합니다! (이론으로만 알던 패턴을 막상 적용하려니 생각할 것도 많고 워낙 케이스가 다양해 제 사례로 적용하기가 어렵네요 ㅠㅠ)
개발자
#msa
#마이크로서비스
#api-gateway
답변 3
댓글 0
추천해요 1
조회 699
일 년 전 · 익명 님의 새로운 댓글
안녕하세요 클라우드 엔지니어, Solution Architect로의 커리어를 꿈꾸고 있는 대학생입니다
안녕하세요 클라우드 엔지니어, Solution Architect로의 커리어를 꿈꾸고 있는 대학생입니다. 어릴적부터 컴퓨터에 관심을 가져 지금까지 넓고 얕게 여러 기술들을 배워왔습니다. 대학생이 되고 난 이후 기초 CS지식 이외에 대학교에서 실무에서 쓰이는 기술들을 기대하였지만 학과 수석까지의 과정에서 암기 위주, 시험을 위한 공부에 지쳐있는 상태입니다. 다행이도 여러 개인 프로젝트와 예창페를 위한 스타트업 프로젝트들을 많이 진행해왔고 현재도 진행하고 있습니다. 주요 기술 스택은 node.js, mongoDB로 백엔드를 담당하고 Flutter, React 등 풀스택 개발을 진행하던 찰나 군 전역 이후 이전부터 관심있었던 인프라, 클라우드 분야의 KDT(부트캠프)로 공부할 수 있는 기회가 생겨 도커, 쿠버네티스, Jenkins, AWS 등 DevOps, CI/CD 전반에 관하여 공부를 이어나가고 있습니다. 프론트엔드, 백엔드 분야보다는 클라우드 엔지니어로 살아가고 싶기에 여러 고민을 하다 저보다 더 많은 경험을 가지고 계시는 개발자분들께 조심스럽게 여쭈어보고자 이 글을 올리게 되었습니다. 1. 엔지니어로의 삶에서 학력이 얼마나 중요할까요? 현재 서울 중상위권 대학에 재학중입니다. 군 입대 이전에는 대학원이 필수라고 생각했지만 점점 더 많은 경험을 할수록 학교에서의 지식은 기초를 쌓아나가는 것일 뿐 실무와는 조금 거리가 있다고 생각했습니다. 저 또한 R&D 직군보다는 실무 직군이 적성, 흥미 모두 일치한다고 생각하고 있습니다. 따라서 길게 보았을 때 대학원이 엔지니어의 삶에서 얼마나 큰 영향을 미칠까요? (진급, 기초지식의 측면) 2. 해외 대학원이 얼마나 큰 메리트를 가질 수 있을까요? 1번과 같은 맥락으로 군 입대 이전 대학원이 필수라고 생각했을때 해외 대학원 또한 피할 수 없는 선택지라고 생각했습니다. 해외 대학원이라는 태그가 채용 시장, 그리고 앞으로의 커리어에서 얼마나 큰 영향을 미칠 수 있을지에 대해 궁금합니다. 3. 만약 1,2번 선택지 이외에 빠르게 현업으로 나갈 수 있다면 해당 선택지가 더 유리할까요? 많은 멘토분들, 그리고 일반적인 얘기로는 석사의 경력은 해당 기회비용만큼의 가치를 얻기 어렵다고 들어왔습니다. 실제 현업에서도 실무 경력이 더 많은 신입이 경쟁력을 가질 수 있을지에 대해, 그리고 실무 기술이 커리어를 롱런할 수 있게 만드는 키인지 궁금합니다. 4. 신입 클라우드 개발자, 엔지니어로서 가질 수 있는 역량에는 무엇이 있을까요? 클라우드 네이티브 개발자는 하나의 기술 스택에 대해 깊게 알고있는 사람보다 넓은 지식을 가진 사람을 선호한다고 알고 있습니다. 따라서 어떤 역량을 쌓는 것이 (어떠한 기술 스택을 쌓는 것이) 유리할 수 있을까요? 5. JAVA..필수일까요? node.js에 대해 여기 커뮤니티의 취업준비생 분들보다는 깊게 알고있지 않지만 그래도 일반 대학생들보다는 더 익숙하다고 생각합니다. 주요 기술 스택에 node.js 백엔드이기 때문에 현재 상태에서 앞으로의 백엔드 파트 개발을 할 때 더 깊게 들어가야 할지, JAVA로 모두 바꿔서 진행해야 할지 궁금합니다. 6. 이러한 프로젝트를 진행하려고 하는데 괜찮을까요? 현재 개발중인 두개의 스타트업 프로젝트에 참여중입니다. 두 프로젝트 모두 MSA를 지향하고 있으며 백엔드는 node로 작성되었습니다. 이번 KDT과정이 끝나면 두 개의 프로젝트에서 전체적으로 개발과정에 있던 난잡한 코드를 리팩토링하고 Test 로직을 추가하여 다듬은 이후 두 프로젝트 모두 내년 상반기 출시를 목표로 하고 있기 때문에 퍼블리싱을 위해 제가 풀스택에 대한 인프라를 도커라이즈하고, 쿠버네티스에 띄워보고 Jenkins로 자동화하는 등 전체적으로 클라우드 네이티브 SW의 구조에 맞게 출시할 계획입니다. 출시 이후에는 유지보수를 진행하며 모든 과정을 오픈소스와 velog에 남겨둘 계획입니다. 이런 프로젝트가 클라우드 개발자 취업준비생에게 있어서 좋은 프로젝트라고 볼 수 있을까요? 7. 신입 클라우드 개발자의 취업이 현실적으로 가능할까요? 넓고 다양한 역량이 필요한 클라우드 엔지니어의 직업적 특성상 다른 분야보다도 더 신입보다는 경력직 개발자를 선호할 것 같습니다. 지금이라도 진로를 다시 고민해봐야할지, 혹은 가능성이 있을지, 어떠한 다른 것들을 준비해야 하는지 추상적이지만 여쭤보고 싶습니다. 긴 글 읽어주셔서 정말 감사합니다! 오늘도 좋은 하루 되시기 바랍니다.
개발자
#aws
#kubernetes
#ci/cd
#cloud
#devops
답변 1
댓글 1
추천해요 2
조회 1,102
일 년 전 · 이영준 님의 새로운 답변
깃, 배포 담당자가 따로 있으신가요?
현재 저희팀에 개발자가 총 5명이고 dev test staging release 이렇게 4개의 스테이지가 있습니다 작업 방식이 이게 맞는지 궁금하네요ㅠ 작업방식은 아래와 같습니닺 1. dev에서 각자 작업 브랜치를 생성해서 개발완료되면 dev 브랜치에 각자 커밋 푸시를 합니다. 2. 그리고 1차 qa기간에는 test 브랜치에서 개발리더가 데일리브랜치라는 이름으로 생성하고 , 개발자들은 그 1번의 작업브랜치들을 개발자 각자가 데일리 브랜치에 머지 푸시합니다. 개발리더는 해당 데일리 브랜치를 test에 머지푸시하고 배포합니다 3. 2차 qa기간에는 개발리더가 staging 브랜치에 test 브랜치를 머지하고 배포합니다 4. 서비스 신규기능 릴리즈 때 개발리더가 relase 브랜치에 staging 브랜치를 머지하고 배포합니다. 위와같은 순서인데 질문 내용은 1. 위 작업순서가 일반적인가요 2. test 브랜치부턴 개발리더가 머지하고 배포하는데 개발리더의 역할이 맞나요? 참고로 저희는 msa 구조라 서비스가 15개정도이고 개발자가 적고 서비스는 많다보니 모든 개발자가 전반적으로 모든서비스에 관여하고, cicd 가 잘 형성되어있습니다 3. 개발자 각자가 각 스테이지별로 소스관리 및 배포까지하면 좀 그럴까요? 보통 개발리더처럼 그런 역할하시는분을 따로 두시나요? 사실 제가 요즘 좀 스트레스를 받는게ㅠ..초반에 저희가 룰을 하나 정했습니다. 개발리더가 test브랜치부터는 직접 머지하고 반영하는걸로..근데 개발리더가 바빠서 그런지 잘 신경을 못 써서 개발자 각자가 제멋대로? 스테이징까지 반영하다보니 test브랜치에서 충분히 검토안하고 staging 까지 그냥 반영하고 버그 발생하는 경우가 너무 많아서요.. 저런 룰이 이상한건가요ㅠ? 개발자들도 test와 staging을 각자 못하게 하는 거를 좀 불편해하는것 같아요 그래서 그냥 저런 룰을 지워버리는게 좋을지.. 긴 글 읽어주셔서 감사합니다
개발자
#배포
#git
#ci/cd
#개발
#개발문화
답변 6
댓글 6
추천해요 14
조회 3,889