얍얍얍
122
2020-10-14 11:08:28
9
1651

si 신입으로 들어간지 한달 퇴사하려합니다.


일단 입사 첫날 저보다 5개월 일찍 들어온 선임분이 옥상 올라가서 저랑 동기 앞에서


담배를 피우며 "나갈수 있을때 나가라" 라는 말을 해주셨습니다.


처음에는 선임분이 너무 오바하시는거 아닌가 생각이 들었는데 다니면 다닐수록 도저히 여기서 배울것도 없고 2년도 못버틸거 같더라구요.


또 8개월 일찍 들어오신 선임분한테 여쭤보니까 자기는 여태까지 문서 작업하다가 코딩을 저 들어오기 한달전부터 시작했다고 하더라구요 ㅋㅋㅋㅋ..... 보니까 사장, 8개월 선임, 5개월 선임 이렇게 같이 회사 홈페이지 만드셨던데 사장이 대부분 다 작업했더라구요.  


코딩도....하...

1. model? dto? 쓰지 않고 HttpServletRequest 에 파라메터 가져와서 HashMap 에 일일이 담아서 쿼리문에 날려줍니다.

----1번에 대한 답변 : model 을 안써야 실력이는다..... 는 명쾌하지 않은 답변이 돌아왔습니다.


2. 덕분에 모든 파라메터가 hashMap 으로 짜여져있습니다.

-----2번에 대한 답변 : 안물어봤습니다.


3. 컨트롤러에서 모든걸 처리합니다. (쿼리 namesapce 와 id 값도 컨트롤러에서 날려줍니다.)

-----3번에 대한 답변 : 이렇게 해도 상관없다....


----------------------- 제가 생각한 결론 : 일단 dao ,service, controller 다 만든 후 수정 사항 생기면 컨트롤러만 열어서 수정할 수 있게 저렇게 만든거 같고 빨리 만들려고 해서 라는 생각입니다.--------------------


개발은 이렇다 치고


우선 가족 회사입니다. 회사에 20명 정도 있고 본사는 7명 정도 있는데 사장님 성격도 .....


저희 앞에서 친구들하고 대화하듯이 욕을 섞어 쓰시며


회사 분위기가 정말 좋은것도 아니며 직원들은 앞에서 웃고있지만 뒤에서는 다 욕합니다.


마지막으로 직원들 얘기 들어보니 주말에 술 마시자고 부른다고 하더라구요ㅡㅡ....


또 첫날에 옥상에서 얘기했던게 회사 내에서 입조심하라고 하더라구요.. 홈 cctv 있느니까 소리까지 들린다고 ㅋㅋㅋㅋㅋ


회사 다니면서 아무리 성격 더러워도 배울게 있으면 바짓가랑이라도 물고 늘어질텐데


이거는 배울것도 없고 성격만 버리는거 같고


나가야하는게 맞는거겠죠?

0
  • 댓글 9

  • 무명소졸
    6k
    2020-10-14 11:17:37
    개발 문화,환경 빈부 격차가 극심한 시절인 것 같습니다.
  • 라이라
    2k
    2020-10-14 11:19:16

    얼른 탈출

  • 뱀픔
    66
    2020-10-14 11:21:21 작성 2020-10-14 11:24:17 수정됨

    Controller에 다 떼려박는거 ㅋㅋㅋㅋㅋㅋㅋ 회사가 전부다 그런듯요.

    저희회사도 나름 큰 곳인데 Controller에 다때려박아놨습니다ㅋㅋㅋㅋ..........

    service는 텅텅빔

  • 74794C6565
    6k
    2020-10-14 11:48:16

    굳이 모델링을 안해도 될정도면 그렇게 할것 같기도한데 

    규모나 성격에 따라 다를듯?

    근데 모델을 안써야 실력이 는다는 말은 왜 한건지 모르겠네요 ㅋㅋㅋㅋ


    저는 오히려 모델을 안쓴걸 보면 머가 먼지 모르겠더라구요. 

    해쉬맵 데이터 다 까봐야  데이터 타입도 알게 되고...


    저런 경우라면 저는 나갑니다. 

  • 돈까스
    4k
    2020-10-14 12:59:29

    음. 저는 그런 코드는 열어보면서 바로 속으로 욕을 할 것 같구요.


    model 을 안써야 실력이는다..... 는 명쾌하지 않은 답변이 돌아왔습니다.

    ....

    3. 컨트롤러에서 모든걸 처리합니다. (쿼리 namesapce 와 id 값도 컨트롤러에서 날려줍니다.)

    -----3번에 대한 답변 : 이렇게 해도 상관없다....


    이딴 개소리 들으면 쌍욕할거 같네요.

    급하게 만들다보니까 이렇게 됐어... 다른 방법을 잘 몰라서 그랬어... 라면 이해하고 공감할 수 있습니다만... 저건 아니죠.


    그리고 뱀픔 님 연봉 자랑하시는 것은 부럽습니다만, 잘못된 말씀을 하고 계십니다.

    HashMap 만 쓰는게 가독성이 좋다고 하셨는데요,

    오히려 그 안에 뭐가 들어있는지 확인하기 위해서 추가적인 노력이 들어가기 때문에 가독성이 나쁩니다.

  • HJOW
    1k
    2020-10-14 13:13:12 작성 2020-10-14 13:24:43 수정됨

    원래 컨트롤러에서는 응답 받고 서비스로 넘겨주는 역할을 하고

    실제 업무단은 서비스에서 처리해야 하는데



    실제로 어떤 프로젝트에서는 컨트롤러와 Dao는 딱 하나 만들고 (전체 프로젝트 소스에서 딱 하나)

    서비스를 각 업무별로 여러개 만들어서 처리했던 기억이 있네요. 쿼리ID도 서비스에서 Dao로 넘겨주고...

    근데 그게 나쁘지는 않았습니다. 사실 컨트롤러, 서비스, Dao 다 따로 만들긴 해도 그 구조의 원래 목적에 맞게 개발하시는 분 거의 없죠?


    HashMap 으로 매개변수를 퉁쳐서 사용하는 것도 무조건 나쁜 건 아닙니다.

    다만 업무 흐름 자체를 약속해놔야 합니다. HashMap 에는 어떤 식으로 넣을 것이며 어떤 이름규칙을 사용하고 등등.

    오히려 일일히 VO를 만들어 활용하면 작업 속도가 느려집니다. 가독성 문제가 아니에요. 생각해보면 VO를 만들고 그걸 여러 소스에서 쓸 일 별로 없습니다. 진짜로 여러 화면에서 공통으로 자주쓰이는게 아닌이상 궂이 VO를 고집할 필요도 없습니다.



    물론 그 회사에서 "다른 방법은 나쁘다" 라고 하는 건 문제가 있지만 (좀 많이 심각하지만)

    적어도 그 회사가 "무조건 나쁘다" 라고 하기는 좀 그렇습니다.

    회사마다 스프링 버전도 다르고 자체 고유 Util 클래스도 다르고 자주쓰는 명명규칙도 다르고, 결국은 적응이 필요한거거든요.


    이 프로젝트에서 모델 기능 쓰지 않기 !! 라고 약속, 할 수 있는 일입니다.

    그걸 안써야 실력이 는다 라고 하는 건 좀... 많이 심각하지만

  • 초보개발자입니당
    824
    2020-10-14 13:52:02

    코드 재사용은 절대 못할듯요 한곳 수정하면 비슷한곳 찾아가면서 수정하느라 머리털 빠질거고 map으로 인자값 넘겨주니 백빵 <String, Object> 이딴식일텐데 이것저것 다 처넣어서 컨트롤러에서 타입변환도 할거니 코드량도 많아지고 디버깅 할때 개헬이겠네요 사실 저도 비슷한 프로젝트 유지보수 중인데 이렇게 만드는 이유를 모르겠습니다 진짜로

  • 돈까스
    4k
    2020-10-14 14:07:02 작성 2020-10-14 14:21:16 수정됨

    쿼리ID하고 HashMap을 UI에서 SQL까지 던지는 구조는

    한번 만들어 쓰고 버리거나 앞으로 전혀 기능변경이라든가 확장을 하겠다든가 유지보수를 안하겠다고 결정한 프로젝트가 아닌 이상에는 하지 말아야 합니다.

    단지 vo 작성하기 귀찮다, MVC 역할 나누기 귀찮다는 이유로 그렇게 하기로 합의하는 것은 개발자로서 굉장히 무책임한 행동이에요.

    지금까지 다 그렇게 해도 괜찮았다고 하시면... 자신의 개발자로서의 커리어에 대해서 고민해보셔야 됩니다. :(

    여러가지 이유들을 들어봤지만 잘 모른다는 이유나 시간이 없어서라는 이유 말고, 다른 이유 중에 납득할 만한 이유는 아직까지 못들어봤네요.


    아마 여기서 검색해보시면 예전에 논쟁글들 많이 찾아보실 것 같은데.

    그거 가져다 사장님에게 보여드리셔도 될 거 같습니다.

  • HJOW
    1k
    2020-10-14 16:46:52 작성 2020-10-14 16:56:46 수정됨

    다들, 프로젝트에서 VO를 여러 화면에서 공유해 사용하는 경우가 많은가봅니다.

    사실 그런 경우가 많은 게 좋습니다. 공통부분을 철저히 설계했다는 의미거든요.

    이러면 하나 바꿀 때 연관 소스를 다 찾아다닐 수고가 줄어듭니다.

    반대의 경우인, HashMap 방식의 단점은 코드 수정 시 연관된 다른코드도 다 찾아서 하나하나 수정해야 한다는겁니다.



    그리고 MVC 역할...

    물론 본문의 경우는 귀찮아서 안나눈게 맞습니다. 애초에 컨트롤러에 들어갈 내용도 아니고...

    근데, 프로젝트 구조에 따라 스프링 기본 (컨트롤러 서비스 Dao 모두 각 업무별로) 구조보다 더 간결하고 효율적인 구조는 얼마든지 만들 수 있습니다. (그러면서도 MVC의 목적을 달성)

    감이 안오는게 보통인데 있었습니다. 지금까지 한 어떤 프로젝트보다 개발하기 편하고 유지보수도 용이했죠. 대신 URL 규칙이 엄격했구요. (컨트롤러에서 URL보고 서비스 찾아서 리플렉션으로 호출하는 구조) 물론 시간이 어마어마하게 촉박했던 이유가 더 컸지만...

  • 로그인을 하시면 댓글 을 등록할 수 있습니다.