용흐이
37
2021-11-27 00:44:10 작성 2021-11-27 20:37:00 수정됨
11
1103

~~~


~~~
0
  • 댓글 11

  • 거글
    213
    2021-11-27 01:14:00 작성 2021-11-27 01:16:24 수정됨

    그냥 이클립스 설치하셔서 콘솔창에 게시판 모양처럼 보이게 출력문 작성하고 그 사이에

    파일 핸들링해서 파일에 저장되어 있는 데이터 읽어서 뿌려주고

    콘솔로 값 입력받아서 읽기, 쓰기 등 기능 구현해보라는거 같네요

    근데.. 개인적으로는 DB는 쓰는게 좋아보입니다.

  • zepinos
    21k
    2021-11-27 01:57:34

    https://programmingsummaries.tistory.com/87


    파일입출력을 통해 게시판 만들라는건 이런걸 말하는 겁니다. 여기에 socket 을 통한 조회도 해보란 얘기인데...사실 요즘은 더더욱 File 핸들링이나 Socket 구현 같은건 잘 안하게 되는건 사실입니다.

    뭐...전 파일입출력으로 게시판 만들던 세대이긴 한데, 저걸 권하는 사람은 저보다 더 오래된 개발자인지는 모르겠지만, 그 시대를 겪어봤던 저도 왜 그런 짓을 이 시대에 하라고 하는지 이해는 안갑니다.

  • fender
    26k
    2021-11-27 03:57:55 작성 2021-11-27 05:39:26 수정됨

    아마 이런 의도로 권한 것은 아니겠지만, 굳이 따지자면 데이터베이스 없이 만들어 보는 것은 객체지향이나 JPA를 이해하는데 조금쯤은 도움이 될 수 있긴 합니다.

    SI에서 자바 언어가 주류가 되었지만 객체지향 설계는 하는 사람도 거의 없고 보통 철저하게 데이터베이스 중심으로 사고를 하는데 익숙하기 때문에, 데이터베이스를 안 쓴 다는 건 관점을 바꾸어 본다는 정도의 의미는 있습니다.

    다만, 개인적으로 웹 개발을 주력으로 하신다면 크게 권장하진 않습니다. 웹 개발자라고 소켓이나 파일을 아예 못 다루면 그 것도 문제겠지만, 그렇다고 그런 쪽을 심도있게 공부한다고 좋은 웹 개발자가 되는 것도 아닙니다.

    기본적으로 그런 방면의 지식과 고급 웹 개발자가 되는데 도움이 되는 지식은 방향이 다릅니다. 게시판으로 웹 개발 관련 고급 지식을 쌓고 싶으시다면 차라리 그걸 웹 플럭스 같은 걸 이용해서 반응형으로 만들어 보시던지, DDD나 CQRS 구조로 설계를 해본다던지, 서버리스로 구현을 해본다던지, GraphQL을 사용해본다던지, RDBMS 대신 NoSQL 기반으로 구축을 해본다던지, SPA 기술과 연동해서 서버측 렌더링을 시도해본다던지, SI에서 아직 흔히 접하기 힘들지만 보다 직접적으로 도움이 될 수 있는 주제가 많이 있습니다.

  • 꿈의연봉1800
    452
    2021-11-27 07:24:13 작성 2021-11-27 07:33:11 수정됨
    배울게 없다는건 아닌데 별로 좋아보이진 않네요
    시스템 프로그래밍을 해보라는 의미로 하신 것 같은데
    직접 쓰는 일을 하는게 아닌 이상 당장 해볼 필요는 없음
  • pooq
    10k
    2021-11-27 07:51:03

    파일에다 입출력 해보는것도 파일I/O나 문자열, 알고리즘 측면에서 도움은 될 수 있어서 시간날때 한번쯤 해보면 좋죠. 근데, DB에다 하는게 실무에 훠~~~얼~~~씬 더 많은 도움이 됩니다. 

  • 장독깨기
    5k
    2021-11-27 08:35:47 작성 2021-11-27 08:45:41 수정됨

    글쓴님. 이전 게시글에 댓글로 하시지 제가 좀 민망해지는데요. ㅎㅎㅎ

    뭐 암튼 좋습니다. 조금 더 언급해보겠습니다.

    이전 글에서 프레임웍, 데이터베이스, 서버 등에 대해 좀 더 본질적인 것을 공부하고 싶으시다고 했었는데요.

    이 관점에서 좀 낮은 레벨로 프로그래밍을 해보면 본질을 깨닫는데 도움이 되지 않을까 생각을 하는 편 입니다.

    파일입출력, 소켓 등 현업에서 쓸 일이 잘 없죠. 설마 이런 부분 공부해서 써 먹자고 얘기 했겠습니까. ㅎ

    그리고, 객체지향이나 특히 JPA 를 이해하는데 도움이 되라고 드린 말씀도 아닙니다.

    어쨌든, ...

    이클립스든 뭔든 자바 언어로 하는걸 추천하구요.

    (php, perl 이런 거 말구요. 파이썬도 괜찮긴 한데 아무래도 자바로 하는게 유리할 겁니다.)

    콘솔 환경에서 1. 게시글조회, 2. 검색, 3. 게시글등록, ... 이런식으로 메뉴 만들고,

    게시글을 파일 입출력으로 해보시면 됩니다. 게시글 백만건 이상 등록하는 것도 잊지 마시구요.

    아, 그리고 댓글 달기 기능도 넣어셔야 하고 웬만한 기능은 넣어 보는게 좋습니다. :)


    이런 과정에서 본질이나 동작원리를 이해하는데 도움이 좀 될거라 봅니다.

    열심히 하세요. :)



    -1
  • fender
    26k
    2021-11-27 09:29:01 작성 2021-11-27 09:32:59 수정됨

    굳이 분란 만들고 싶지 않아서 위에서도 그냥 제 생각만 적었습니다만, 아직 경험이 부족한 개발자 분이 산으로 갈 것 같아서 좀 그렇군요.

    파일 조작이나 소켓 통신이 웹 개발의 '본질'이고 '근본'이라고 주장할 거면 아예 C 언어나 시스템 프로그래밍 부터 마스터 하라고 해야겠죠.

    이 정도는 생각의 차이 정도로 넘어갈 수 있는 수준이니 길게 이야기하지 않겠습니다. 하지만 웹 개발을 목표로 하신다면 저수준 지식이 어떤 '근본'이나 '본질'에 해당한다는 주장은 무비판적으로 수용하지 않는 것이 좋습니다.

    파일 다루는 법이나 소켓 통신 등은 알아두면 좋은 내용은 맞습니다만, 자칫 정작 웹 개발자로서 실제로 중요한 지식들을 배울 시간을 허비하거나 그런 건 어떤 '근본'을 공부하면 쉽게 배울 수 있는 '응용' 같은 것이라고 착각하게 되면 위험합니다.

  • moonti
    5k
    2021-11-27 10:20:00
    엄청난 크기의 파일로 디비를 대체한다는건 뭔가 큰 문제로 온 몸으로 뛰어든 느낌이내요 많은 이슈가 이ㅛ을것같아요.
    근데 그게 본질일까 싶어요.
     약간 몸이 허약해서 운동하고 싶다는 사람애게 산으로 무작정 들어가서 삼일을 버텨보라는 느낌입니다.
  • 성실이
    513
    2021-11-27 10:31:16

    저도 펜더님 의견에 한표입니다.

    저도 뭔가를 만들려고 설계할 때, 탑다운으로 접근하면서 코드로 틀을 잡습니다.

    긴가민가할 때는 구현하고, 별 어려움없겠다 싶으면 인터페이스나 TODO로 대체하면서 처음부터 끝까지 흐름을 짭니다.

    저도 이런 방식으로 머리속에 있는거를 구체화하는거 매우 좋은 방법이라고 생각합니다. 해보면 어떤 서비스나 솔루션도 100라인 미만으로 표현됩니다. 추상화됐다고 가정하면요.

  • 장독깨기
    5k
    2021-11-27 11:41:26

    음.. 글쓴님 위치가 어떨지 모르겠군요.

    뒤 늦게 입문해서 취업 목표로 공부 시작했다면 저러고 있을 시간도 마음의 여유도 없을 겁니다.

    학생이면 공부 해 볼만 하고, 도움도 될거라 봅니다. 저 과정에서 뭘 배우고 깨달을 지는 본인 역량이겠죠. :)

    단순히 파일 다루는 법이나 소켓통신 이 정도 배우겠다면 저렇게 까지 해 볼 필요 없습니다.

    저도 뭐 크게 주장하고 싶은 생각 별로 없고,  저렇게 만들어보는 것도 만만치 않습니다.

    저 과정에 뭘 배울 수 있을지 미리 말하는것도 별로란 생각도 들구요.

    그리고, 프로그래밍도 어느 정도는 할 수 있어야겠죠. 막 입문해서 저렇게 하기 힘듭니다. 

    뭐 암튼 어떤 식이든 열심히 해서 좋은 회사 취업하세요. :)

  • 용흐이
    37
    2021-11-27 20:44:23

    답변주신 모든분들 정말 감사드립니다. 좋은 의견과 조언 잘 보았습니다. 제가 원했던 답변을 장독깨기님이 너무 친절히 잘해주셨고 다른분들도 그것에 대해 걱정되는 부분을 잘 말해주신 덕분에 앞으로의 공부 방향을 정하는데 큰 도움이 되었습니다!! 

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