개발자
현재 저는 컴퓨터공학과 3학년에 재학중인 학생잊니다. 3학년이 된 만큼 남은 학교생활은 공부 위주로 할려고 다양한 활동들을 알아보고 있습니다. 저는 백엔드나 db쪽으로 알아보고 취업을 원하는데 어떻게 공부해야되나 너무 막막하고 답이 안보이더라구요. 현재 저는 백준에서 파이썬을 이용하여 알고리즘 문제를 풀고있습니다. 최근에 백준을 시작한터라 제일 쉬운문제들 부터 풀어나가고 있는데 이렇게 백준과 같은 알고리즘 문제를 많이 계속 풀면되는걸까요? 프로젝트도 경험하고 싶어 학교에서 진행하는 프로젝트가 있으면 신청하고 있습니다. 그래서 혼자서 할 수 있는 공부법은 백준 말고는 딱히 안떠오르고 하니 많이 답답하더라구요. 그리고 다른사람이 풀어놓은 어려운 백준문제 코드를 봤는데 무슨말인지 아예 모르겠더라구요. 그러면서 아 나도 저렇게 할 수 있을까 걱정이 계속 되더라구요.. 어쨋든 서론이 길었는데 궁금한 점은 혼자 공부할때 백준같은 문제풀기 말고 다른 공부법이 있을까요? 말씀드렸다시피 백엔드와 db에 관심이 있는데 어떤 언어를 공부하면 좋을까요 현재는 파이썬을 공부하고 있고 자바도 공부 할 생각입니다. 많은 조언 피드백 부탁드리겠습니다
답변 1
인기 답변
안녕하세요! 개인적으로는 하나의 프로젝트를 하나의 언어로 최대한 완성시켜본 뒤 부차적인 언어를 늘려가보는 것이 흥미를 유지시키는 방법이 될 수도 있다고 생각합니다. (DB는 어쩔 수 없이 SQL 언어를 추가적으로 습득해야겠지만) 우선은 '만들어보고 싶은 가벼운 툴'을 만들어보는 건 어떨까요? 저는 주식에 관심이 많아서, 대학생 때 주식투자를 했었어요. (저도) 파이썬만 알던 시기에 '적정주가 구하는 법'과 관련된 도서를 읽고 난 뒤, 자동으로 현재 코스피, 코스닥시장에 상장되어 있는 종목들에 대한 적정주가를 한 번에 자동으로 계산해주는 프로그램을 만들어보는 건 어떨까 하는 생각을 했습니다. 그 과정 속에서 1. 네이버 파이낸스 (지금은 이름이 바뀌었던 것 같은데)에서 현재 주가를 긁어온다. 2. '종목 코드(회사 코드)'를 입력하면 FnGuide라는 사이트에서 해당 회사의 재무제표를 긁어온다. 3. 1과 2에서 얻어온 정보를 기반으로 연산모듈(함수)를 만들어 적정주가를 구한다. 우선 위의 태스크를 1순위로 잡고 해봤습니다. 그 뒤에는 '네이버에서 가져오면 키움증권 HTS(Home Trading System)에서 가져오는 것보다 시차가 발생하는데, 키움증권에서 받아오는 법은 없을까?' -> (키움증권 API 신청 후 API 사용법 가볍게 습득) -> '이 데이터들을 csv 형태로 매번 저장하다보면 내 폴더가 더러워지는 느낌인데, DB를 도입해볼까?' -> (mysql 문법 숙지 후 로컬에 mysql 서버 설치해보고 .sql 파일로 저장) -> (기존의 csv를 이용하던 함수들을 sql을 이용하는 함수로 변경) 토이라고 하기엔 부끄러운 것 같기도 하지만, 이정도 작업을 제 첫 토이프로젝트로 해봤습니다. 지금 생각해보면, '이제 이 결과를 나만 보긴 아까우니 내 친구한테 편하게 공유해보는 법은 없을까?' -> (Streamlit : 파이썬 프론트 프레임워크?로 프론트 화면 간단하게 만들어보기) -> '내 컴퓨터를 켜둬야만 저 화면을 친구들하고 공유할 수 있다면 이게 불편한데 항상 24시간 내 컴퓨터가 켜져있는 것처럼 하는 방법은 뭐지?' ->...... 요즘은 ChatGPT, Gemini 등의 LLM들이 존재하니, '이 데이터들을 csv 형태로 매번 저장하다보면 내 폴더가 더러워지는 느낌인데, DB를 도입해볼까?' 라는 불편함이 등장했을 때, GPT한테 물어보면 방향성을 잘 알려줍니다. 저 질문에 대해 Java로 프로젝트를 진행하라는 답변을 해줬다면, 파이썬으로 동일한 기능을 하는 법은 없냐고 물어보면, 해결 방법을 또 알려주니까요. 이런 식으로 이어나갈 수 있을 것 같습니다. 요지는 불편함을 느낄 때 귀찮아 하지 말고 하나씩 시도해보는 게 중요하다는 것입니다. 이렇게 한 사이클을 돌려봤다면, 그 뒤에 파이썬(언어) + Streamlit(프레임워크)으로 구현해본 것을 html,css,javascript(typescript) (언어) + React(프레임워크) 조합으로 해볼까? 하는 방식으로 가보면 된다고 생각해요. 언어는 부차적인 것이고, 본인의 사고과정을 통해 한 사이클을 돌려볼 줄만 안다면 그 다음엔 필요할 때마다 배우면 된다고 생각합니다. 조금이라도 도움 되는 답변이 되었으면 합니다! 좋은 하루 보내세요.
박성현
포스트매스 AI엔지니어 • 2024년 03월 07일
나중에는 '키움증권에서 API를 제공한 것처럼, 나도 내 프로그램끼리 통신을 하려면 어떻게 해야하지? 나도 API라는 것을 만들어볼까? -> 파이썬의 FastAPI (Django, Flask...) 프레임워크를 배워볼까? 이렇게 이어나가시면 될 것 같습니다. 백엔드 이야기를 빼먹어서..ㅎㅎ
익명
작성자
2024년 03월 07일
감사합니다....! 혼자서 뭘 공부할려고 하니 프로젝트나 그런걸 뭘 해야 될 지 감이 아예 안와서 막막한 상황이었는데 답변을 읽고 한번 찾아보고 해서 좋은 결과물 만들수 있게 노력하겠습니다...!
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
커리어리 AI 봇
GPT가 달아주는 답변입니다.
2024년 03월 06일
백엔드와 DB를 공부하려는 당신의 계획은 매우 좋습니다. 백엔드와 DB는 소프트웨어 개발의 중요한 요소이며, 이분야의 실력을 향상시키면 큰 도움이 될 것입니다. 1. 언어 선택: 파이썬은 초기 배우기 쉽고, 다양한 종류의 프로젝트에 사용할 수 있어 좋은 선택입니다. 자바 역시 백엔드 개발에서 널리 사용되므로 병행 학습을 추천 합니다. 추가적으로 Node.js나 Ruby on Rails 같은 다른 백엔드 프레임워크도 알아보세요. 2. DB 학습: SQL(Structured Query Language)을 먼저 공부하는 것이 좋습니다. 이는 대부분의 관계형 데이터베이스에서 사용되는 언어입니다. MySQL, Postgres 등의 각기 다른 데이터베이스 제품들을 시도해 보세요. 3. 실제 프로젝트 참여: 알고리즘 문제를 많이 풀면 로직 구성 능력과 문제 해결 능력을 키울 수 있지만, 실제 소프트웨어 개발 환경과는 차이가 있습니다. 저는 당신이 가능한 한 많은 프로젝트에 참여하고, 코드를 직접 작성하고 테스트해 보는 경험을 쌓는 것을 추천합니다. 이것이 실제로 어떻게 작동하는지 이해하는 데 큰 도움이 됩니다. 4. 스터디 그룹: 혼자 공부하는것도 중요하지만, 다른 사람들과 함께 공부하면 다양한 시각을 경험할 수 있습니다. 스터디 그룹을 만들거나, 온라인 학습 커뮤니티에 참여해보세요. 5. 인터넷 리소스 활용: www.udemy.com, www.coursera.org 등의 온라인 강좌 사이트에서 백엔드와 DB 관련 강좌를 듣는것도 많은 도움이 됩니다. 또한 Stack Overflow와 같은 개발자 커뮤니티에서 질문하고 답변하는 것도 배우는데 큰 도움이 될 거예요. 그리고 마지막으로, 모든 역량은 시간과 노력으로 쌓아올립니다. 처음에는 어려울 수 있지만, 점차 실력이 향상되는 것을 느낄 수 있을 겁니다. 지치지 않게 꾸준히 학습해 가시기를 바랍니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!