Jenkins Leroy
40
2018-06-19 20:59:02
15
3373

딱 학부 2학년 수준인데 방학때 무슨공부하는게 좋을까요?


문과에서 컴공으로 3학년 편입했는데 기초가없어서 1학년, 2학년 전공위주로 공부했습니다 청강도하고 

현재 C랑 JAVA랑 자료구조 지식을 어느정도 가지고있는데 

콘솔창말고 실제 프로그램만들어 보고싶습니다 

JAVA로 해볼려는데 2학년 수준에서 방학때 할만한 프로젝트가 뭐있을까요? 

2
  • 댓글 15

  • 독거소년
    3k
    2018-06-19 21:02:45

    각종 대회나갈 멤버 모집하는게 있으면 참가해보세요

  • okkyqkreltms
    82
    2018-06-19 21:13:45
    전공 공부는 아닌데, 현 4학년으로써 추천해드리는건 이력서 한번 써보시고 취업시장에서 뭘 필요로 하는지 찾아보세요. 어디입사하려는 목적이아니라 무엇이 부족한지 찾는 과정입니다. 
  • mirheeoj
    12k
    2018-06-19 21:49:24
    다른 분들 의견 참고하시고 그래도 잘 모르시겠으면 영어 공부를 하시면 손해는 안 볼겁니다. 
  • 아스키
    10k
    2018-06-19 23:10:53

    어학 공부부터 하세요..통일 대비해서..러시아, 중국어도 하시구요...

  • 김룰룰룰
    608
    2018-06-20 00:40:17

    이제 3학년 1학기 끝나가시는건가요? '-' 저는 웹 추천드려요ㅎㅎ

    풀스택이면 좋지만 프론트엔드부터 차근차근하시는 게 좋을 것 같아요. 다른 분야에 비해 추상화가 굉장히 되어있기 때문에 따라하기, Ctrl + CV로 흥미로운 결과물을 만드실 수 있고, 실제로 쓸 수 있는 서비스를 만드는 것도 가장 진입장벽이 낮다고 생각합니다. (이게 웹 분야 자체가 쉽다는 이야기가 절대 아니에요. 보이는 만큼 할 수 있는 만큼 무궁무진하기 때문에..)

    질문자님께서 방학때 열심히 하신다면 쓸만한 웹사이트 하나 만드실 수 있을거에요. 블로그나 포트폴리오가 될 수도 있고, 날짜 계산기/타노스한테 죽었을까?/월드컵 대진 시뮬레이터 등과 같이 인터랙션 위주의 웹앱 형태도 될 수 있고, API를 활용한 사이트(유튜브, 구글맵, 날씨, 미세먼지 등) 혹은 커뮤니티 등을 만들 수도 있고..

    완성도 있게 만드는 건 처음부터 할 순 없지만 돌아가는 정도는 충분히 가능해요 :) 그리고 실제로 이루어보면 큰 성취감과 더 깊은 흥미가 생기고, 부족한 부분도 돌아볼 수 있게 된다고 생각합니다.

    저는 웹에 관심을 가지게 되면서 관련 전공 공부를 많이 하게됐고 덕분에 학기에 공부를 하지 않고도(?) 학점에서 굉장히 이득을 많이 봤습니다.

  • Jenkins Leroy
    40
    2018-06-20 00:55:37

    김룰룰룰 

    답변 감사드립니다 
    구체적으로 어떤책을 사서 공부를 해야되나요? 
    아는게 별로없어서..ㅜㅜ
    웹공부란 이중에서 (Jsp, Spring, Javascript) 어느것을 공부하는건가요 ?

  • 김룰룰룰
    608
    2018-06-20 01:32:06 작성 2018-06-20 01:34:49 수정됨

    저는 웹은 처음부터 끝까지 독학으로만 했어요. (주변에 배울 사람을 눈씻고 찾아봐도 없었어요ㅠ)

    정말 의지만 있으시면 할 수 있어요. 다만 수준은 글쓴님 노력 여하에 달렸습니다. (저도 노력 중....)

    <제가 공부했던 순서>

    1. HTML + CSS
    2. JS
    3. 노드JS
    4. 자바 서블릿
    5. 스프링 부트
    6. JPA, DDD
    7. 리액트+리덕스

    이렇게 했어요. (노드JS는 게시판 따라하는 수준만 했어요. 자바 서블릿을 곧바로 배워야 해서.. 노드JS로 쭉하실거라면 java 계열을 아예 안하셔도 상관 없어요. 다만 취업은...ㅎㅎ)

    <예전에 작성했던 풀스택 입문 로드맵(??)입니다 - 2018년 웹개발자 로드맵도 참고하세요!>

    1. HTML, CSS로 웹 환경의 인터페이스를 구축할 수 있습니다. 생활코딩에서 공부해보세요.
    2. Javascript로 HTML, CSS로 이루어진 정적인 화면에서 동적인 행위를 구현할 수 있습니다.
    3. 정적 웹사이트에서 사용자들의 요청에 따라 데이터가 변경되어야 하므로, 데이터를 중앙집중형으로 제공/생성/수정/삭제를 할 수 있는 서버 프로그램을 만들어야 합니다. Javascript를 공부하셨다면 가장 쉬운 방법은 NodeJS 프로그래밍을 배우는 것입니다.
    4. NodeJS를 배우셨다면 제대로 된 데이터베이스가 필요합니다. 데이터베이스는 정보를 제공/생성/수정/삭제 및 보관을 전문적으로 하는 소프트웨어입니다. 사용법을 배우면 됩니다. SQL이라는 새로운 언어를 배우게 됩니다.

    -- 이제 기본은 되었음 --

    <웹사이트 좀 더 가꾸기>
    5. 이제 웹사이트를 좀 더 제대로 가꿀 필요가 있습니다. 반응형 웹을 구현하는 가장 쉬운 방법은 프론트엔드 UI 프레임워크인 Bootstrap을 사용하는 것입니다. 대안으로는 Material UI, Semantic UI 등이 있습니다.

    6. 좀 더 나은 UX를 위해 (예: 같은 페이지에서 실시간으로[사실 실시간도 아니지만요] 목록 갱신) ajax를 공부해보세요. (이 부분은 JS에 큰 관심이 없으셨던 분들은 ajax를 잘 모르는 분들이 있으셔서)

    7. 더 나은 글 작성 환경을 위해 WYSWYG을 도입해보세요. CKEditor 5, (5인게 중요합니다) Quill(Quill이 더 나은것 같아요) Summernote 등이 있습니다.

    8. 앱같은 웹을 원한다면 프론트엔드 자바스크립트 프레임워크인 Vue.js React.js Angular.js를 공부해보세요. 추후 완전한 앱 개발을 원하는 경우 네이티브 위젯을 사용할 수 있는 React Native가 있습니다.

    <서버 프로그램 좀 더 가꾸기>
    9. 인증(Authentication)과 허가(Authorization)에 대해서 공부하고 서버에 보안을 적용해보세요. 

    10. 본인이 절차지향적인 코드를 작성하고 있지 않나 되돌아보고, 객체지향을 위해서, 유지보수를 위해서 디자인 패턴, 객체지향, 도메인 주도 개발, 테스트 주도 개발 등을 공부해보세요. 이 부분은 선택입니다.

    <더 나은 코딩하기>
    11. 버전 관리를 하세요. Git이 대표적입니다.

    12. 라이브러리의 의존성 관리를 하세요. NodeJS를 쓰고 있다면 운이 좋네요. 

    -- 아, 백엔드 구성을 처음부터 하지 말고, Google Firebase를 이용하는 방법도 있습니다. --

    공부 하는 데에 시간이 많이 걸릴 것으로 보이니 프론트엔드 부분만 하고 Firebase로 먼저 때운 후 동기 부여를 다시하고 백엔드를 공부하는 것도 좋을 것 같아요.

    웹 개발 시 직접 구현하기 전에 잘 짜여진 라이브러리를 먼저 찾아보세요. 대부분 이미 구현되어 있습니다. 한 번 더 찾아보는 게 고생해서 구현하고 나중에 라이브러리를 발견해서 대체하는거보다 나아요.. :)
  • 뿌아앙
    20
    2018-06-20 07:18:27

    @김롤롤롤
    님 혹시 라이브러리를 어떤식으로 찾을 수있나요 ? 검색 키워드라던가 노하우 ? 방식등이 궁금합니다 .


  • 조용히살자
    3k
    2018-06-20 09:05:11

    군대는요???


  • 코딩모태요
    465
    2018-06-20 09:24:24

    2학년수준이면 네이버나 카카오의 API를 사용해보는 것도 괜춘합니다.

    웹도 좋구 앱도 좋구여

    하다보면 REST, Javascript 식의 차이점도 느낄 수 있고 좋습니다.

    일단 비벼보세요. 저도 작년 학부 3학년일때 그런식으로 비벼보니 효과가 있었습니다.


  • 전재형
    2018-06-20 10:01:06

    위도 좋은데 내공을 더 닦으시길. 라이브러리 사용법등은 나중에 금방

    언어는 영어를 하시면 연봉이 오를테지만 제2외국어는 해도 연봉에 크게 영향이 없을걸로 알고 있어요.

    만들고 싶은게 이ㅛ다면 그거먼저

    그게 아니면, 전공기본을 먼저하심이 좋을듯

  • catsfriend
    2018-06-20 10:05:15

    리눅스 한번 설치해보시고, 서버 구축해 보세요..

    그리고 c 자료구조 책을 사서 쭉 따라해보시고; 타이핑 하셔서, 개념을 머릿속에 익히세요

    자바도 자료구조 책을 사서 쭉 따라 해보세요..


    학부 2학년 시절엔 기초를 다듬는게 우선입니다..

    최신기술은 시간이 지남에 따라 바뀝니다..

    기초를 다듬게 되면, 다른 문제들도 머릿속에서 설계가 어느정도 되고, 코드가 그려집니다


    재미없다고 생각될지도 모르지만, 탐구하시길 좋아하시는 성격이라면, 재미가 있습니다..

    개발은 간단한 UI나 웹 게시판 개발 해보시면 됩니다.. 

    지금부터 밖에서 쓰이는 기술 배워봤자, 졸업하실때 스킬인벤토리 바뀌니..

    학부때 할수 있는 수준내나, 혹은 윈도우 어플리케이션 정도 개발해보시면 됩니다


    3학년부터  MFC계열로 가시면 영상처리나, Direct X 등의 라이브러리를 이용한 프로그램

    간단하게 만들어보세요.. 자바 계열로 가시면 웹 서비스와  앱쪽을 같이 해보시면 좋을듯 합니다

  • moonti
    3k
    2018-06-20 10:11:06

    기초도 중요한데. 이게 부족하다 깨닫기가 쉽지 않습니다.

    저는 웹 공부하시면서 네트워크 또는 디비등을 사용하시면

    경험도 되고 흥미도 생기고 부족한 기초도 발견하실거라 생각됩니다.

    기초가 부족하다 느끼면 그때 다시 공부 해도 됩니다.


  • 김룰룰룰
    608
    2018-06-20 11:04:46 작성 2018-06-20 11:05:14 수정됨

    뿌아앙

    음 저는 특정 기술의 이름을 모를 때는 영문으로 구글링 하고요,
    (ex) How to validate java objects (문장 예시)
    (ex) Java Validation (명사형태 예시)
    검색 ---> Hibernate Validator와 Spring Validator 라는 기술 두가지 발견 ---> 이후 기술명+a로 검색

    키워드를 알고 올바른 문서를 찾았는데 문서가 이해가 안되는 경우 위와 동일하게 영문으로 구글링하는데 결과를 한국어 웹으로 설정해놓으면 정리해놓은 블로그가 많이 표시됩니다. (스프링이나 함수형 등 생소한 내용의 문서볼 때 자주 써요)
    (ex) Hibernate Validator 중 ConstraintValidatorContext가 뭐하는 아이인지 이해가 안 됨 -->
    구글 검색결과에서 [한국어 웹]으로 한정 ---> 한국분들 블로그 나타남 :)

    도움이 되셨길!

  • 맛있는물회
    126
    2018-06-27 10:10:35 작성 2018-06-27 10:11:00 수정됨

    catsfriend


    이 분 답변이 답이었으면 좋겠네요...ㅠㅠ 저두 학부 2학년인데 자구랑 리눅스 공부중이에요. 다른 분들 답변이랑 남들 뭐 개발하고 하는거 보면 흔들리긴 하는데 기초공부 계속하고 있긴하네요

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