backending
58
2021-08-17 09:21:45
7
1493

기본기가 탄탄한 개발자가 되고 싶습니다.


선배님들의 조언을 얻고자 글을 작성합니다.


전 컴퓨터공학과 3학년이고 현재 교내 공모전 제출용으로

spring을 활용한 웹 어플리케이션을 만들고 있습니다.

(mysql, jquery, mybatis 등등 사용)

페이징, 검색, 카테고리 기능들이 들어간 간단한 어플리케이션입니다. 제 질문은


1. 추가적으로 어떤 기능들을 넣어보고 활용해볼지 추천 부탁드립니다.

 ex) 사용자들에게 전체 email 보내기


2. 공모전을 떠나서 제 웹백엔드 진로에 있어서 공부해야할 것들이 뭐가 있을까요. 분명 현업에 가면 제가 생각지도 못했던 부분들과 부딪힐거라 생각합니다. 그때 어느정도 알고 부딪히면 충격이 덜하기 때문에 이렇게 질문드립니다. 

ex) 네트워크, OS


3
  • 댓글 7

  • qualified750
    185
    2021-08-17 09:49:04 작성 2021-08-17 09:50:18 수정됨

    저도 이제 취업한 병아리입니디만...

    웹 서버의 보안, 로그인시 패스워드 암호화, DB테이블 설계시 원칙같은 기본기를 고민해보세요.

    저는 졸업작품할때 기능에만 초점을 두느라 보안은 스프링에서 해주는 걸로 때워버리고 비밀번호도 그냥 저장하고 DB테이블도 다른 API에서 가져온 것을 엑셀로 받아서 대충 임포트하고 신기능 구현에만 온 에너지를 다 썼는데

    막상 현업 개발자분들이 돌면서 질문할때는 그런쪽을 많이 물으시더라구요 ㅋㅋ 제가 만든 기능에 대해서는 칭찬받았고 수상도해서 결과도 좋았으나 개인적인 아쉬움이 많이 남았습니다.

    1. 새 기능도 좋지만 다른 기술을 접목시켜보세요

    예를들면 클라우드 웹 서버와 젠킨스를 활용한 무중단 배포라던가 하는 것들이죠

    당장의 프로그램의 완성도보다 내 프로그램 v1은 아직 미약하지만 나한테 시간과 돈만있으면 내가 구축한 시스템으로 v2, v3는 더 강력해질수있다! 같은느낌?

    2번 질문은 저도 병아리 개발자라 대답해드리기 힘드네용 더 구력있는 분들이 대답해주실겁니다 ㅋㅋ

  • backending
    58
    2021-08-17 09:52:14

    qualified750 정말 친절한 답변 감사합니다!

    제가 정말정말 원하던 선배님들의 조언입니다 ㅠㅠ

    도움주신 부분 꼭 찾아보면서 공부하겠습니다 정말 감사합니다

  • 크라슈
    836
    2021-08-17 10:19:59 작성 2021-08-17 17:00:16 수정됨

    지나가는 개발자입니다.


    개인적으로 기본기가 튼튼한 개발자라는 것을 다 잘하는 개발자로 오해하는 사람들이 많은 것 같습니다.

    과연 그럴까요? 저는 웹을 하려면 웹의 기능을 먼저 잘해야 한다고 봅니다. 웹에서 필요한 기술,기능들이 뭘까요? 

    기술은  자바스크립트, CSS, ajax, jsp, php.asp, react, vue, html 등의 프론트기술과 백엔드는 java, java beans, servlet, spring, c#, xml, db, sql 등을 알아야 하겠죠.

    이것을 다 잘한다?가 기본기가 튼튼한 기술자일까요.


    저는 웹의 목적,기능을 잘아는 개발자-기능을 알고, 의미를 파악한 후 어떤기술을 적재적소에 쓸지 아는 개발자가 되어야 한다고 봅니다. 


    그러려면, 왜 게시판을 짜는지, 왜 자바를 이용해서 웹을 구현하는지, 자바가 웹기반 기술인지?, 자바를 기반으로 웹을 어떻게 구현을 해야 하는지 등등 끊임없이 질문하고,고민해야 한다고 봅니다.


    그리고 기본기가 뛰어나려면, 끊임없이 연습을 해서 언제든지, 책이나 인터넷 없이도 기본적인 웹의 기능을 구현할 수 있어야 한다고 봅니다.


    예를 들어 웹은 게시판이 필수이고, 게시판을 안보고도 , 몇달 간 게시판을 안하고 다른일만 하고 왔는데, 게시판 구현해봐 했을때 바로바로 페이징,답변형을 구현 낼 수 있는 연습이 되어 있는 정도가 기본기가 튼튼하다고 생각합니다.


    각설하고, 

    일차적으로 웹 개발자라면, 웹사이트를 구현해 봐야 하겠죠.

    INDEX - 메뉴구조 - 권한 구조- 해당 컨텐츠페이지 - 게시판 이 기본 구현기능이라고 생각해보면,

    INDEX는 어떻게 구현할까요? 대체적으로 공지나 FAQ등 게시판이 여러개 보여지고, 로그인 기능이 있을겁니다. 기본적으로 세션, Ajax, 여러기술들이 녹아들어야 할겁니다.

    로그인을 타고 들어가면, 2뎁스,3뎁스, 여러 형태의 메뉴구조가 있을 것이고, 해당 메뉴들을 트리로,드롭다운이든 여러가지 기능들을 자바스크립트와 프론트 기술들을 섞어서 구현할 겁니다. 

    또한 이런 메뉴에는 당연히 권한에 따라 다양한 사용자의 구분과 메뉴의 접근을 고민해 볼 수 있을 겁니다.

    이런 메뉴들을 어떤 컨텐츠,어떤 내용이-동영상,음악파일,이미지  갤러리 구성 등등 다양한 웹페이지구성들을 생각해볼 수 있습니다.

    켄텐츠 페이지에서 쿼리기반은 통계를 구현해보고, 해당 통계들을 테이블, 구글차트등을 활용해서 구현해 볼 수도 있습니다.

    대체적으로 이런 기본적인 기능들이 발전해서  우편번호 연동같은걸 해보면, 외부 API연동을 연습해 볼 수 있고, 카카오톡 로그인을 접목해보는 것도 외부연동처리가 될 겁니다.

    내부적으로 백엔드를 해보려면, 인사-결재시스템 등을 생각해보면, 파일 업로드, 이미지 관리, 사용자의 결재, 반려, 상신등의 업무 라인등을 고민해보고 SQL 비지니스 쿼리도 생각해 볼 수 있습니다.


    간단하게 몇가지를 생각해 보고, 말씀드려봤습니다. 중요한 것은 고민하고,생각하는 개발자라고 봅니다. 답을 구체적인 선까지 생각해보고, 그것을 연습하거나 구현해보는 것이 중요하겠죠.


    고민 많이하시고, 열심히 공부하시길 바랍니다.

    뭐 그렇다는 겁니다. ㅎㅎ


    10
  • 호돌이
    213
    2021-08-17 10:30:48

    크라슈 멋지네요 저도 많이 배우고 갑니다...

  • 파이썬초보일대일
    560
    2021-08-17 10:53:45

    신입일수록 오히려 기능구현보다는 언어의 작동방식,  내부구조,cs를 잘 알아야합니다.

    단순구현은 센스있는 중학생시켜도 구글링으로 할 수 있습니다.


  • backending
    58
    2021-08-17 11:46:45

    다들 좋은 말씀 감사합니다 메모해놓고 공부하는데에 참고하겠습니답

  • #SSONGJI
    7
    2021-08-17 14:36:08 작성 2021-08-17 14:36:41 수정됨
  • 로그인을 하시면 댓글을 등록할 수 있습니다.