프로그래밍 공부

  • 출처: https://www.youtube.com/watch?v=qe2FJR7KCeE

한국 기준 추천 웹사이트

  • 백준 온라인 져지 (https://www.acmicpc.net)
  • 프로그래머스 (https://programmers.co.kr)
  • 백준이 더 오래됐고 자료가 더 많은 반면에 프로그래머스는 더 사용자 편의성이 높고 정보가 좀 더 최신 정보가 있는것 같아요

영어 기준 추천 웹사이트

  • Leetcode (http://leetcode.com)
  • Careercup (https://www.careercup.com)
  • Geeks for Geeks (https://www.geeksforgeeks.org)
  • Glassdoor Interview section for specific companies (https://www.glassdoor.com)

공부법-취직

  • 언어1개, 알고리즘, 자료구조

자료구조

  • 코딩을 할때 자료를 담을 수 있는 객체를 자료구조라함
  • list, array, hash table, linked list, stack, queue
  • 자료구조를 잘 못 쓰면 코드가 너무 느리거나 안돌아갈 수 있음 (구현이 불가능 할 수 있다)

알고리즘

  • 어떠한 인풋을 넣었을때 일정한 아웃풋이 동일한 방식으로 나오는 프로세스
  • binary search

코딩테스트

  • 자료구조 알고리즘을 테스트
  • 추천도서: Cracking the coding interview
  • 추천언어: 파이썬

하지 말아야할 일

  • 특정 언어 마스터
  • 특정 프레임워크 마스터
  • 포트폴리오 시간 대부분 할애

공부법-사업

  • 언어1개, 백엔드, 프론트엔드, 문제 해결능력
  • MVP: Minimum viable Product. 최소한의 돌아가는 서비스

백엔드

서버

  • 프레임워크 : 반복되는 작업을 도와주는 간편한 툴
  • 파이썬 (Flask, Django)
  • Javascript (NodeJS)

DB

  • PostgreSQL
  • MySQL
  • MongoDB
  • ORM (SQL 언어를 올라도 DB와 서버 연결을 쉽게 할수 있게 해줌)

프론트엔드

  • 레이아웃 : HTML
  • 스타일 : CSS
  • 인터랙션 : JavaScript
  • 프레임워크 : 리액트, 앵귤러, NextJS

모바일

네이티브

  • IOS: Shift, Objective-c
  • Android: Java, Kotlin

    프레임워크

  • JavaScript + 리액트 네이티브
  • Dart + 플러터
  • OS별 언어가 갈리지 않는다는 장점


백준 온라인 저지 (Baekjoon Online Judge)

  • https://www.acmicpc.net/
  • 백준 온라인 저지는 대한민국 최초의 알고리즘 문제 풀이 사이트입니다. 다양한 난이도와 주제의 문제들을 제공하며, C++, Java, Python 등 다양한 언어를 지원합니다.

프로그래머스(Programmers)

  • https://programmers.co.kr/
  • 프로그래머스는 코딩테스트를 준비하는 개발자들을 위한 온라인 교육 사이트입니다. 프로그래머스에서는 다양한 주제의 문제들을 제공하며, 알고리즘 뿐만 아니라 SQL, 데이터 분석, 인공지능 등 다양한 분야의 문제를 풀어볼 수 있습니다.

리트코드(LeetCode)

  • https://leetcode.com/
  • 리트코드는 알고리즘 문제를 제공하는 미국의 온라인 교육 플랫폼입니다. 대부분의 문제가 영어로 제공되지만, 다양한 주제와 난이도의 문제들을 제공하며, 다양한 언어를 지원합니다.

해커랭크(HackerRank)

  • https://www.hackerrank.com/
  • 해커랭크는 알고리즘과 데이터 구조, 수학 등 다양한 분야의 문제를 제공하는 온라인 교육 사이트입니다. 문제의 난이도와 유형이 다양하며, 다양한 언어를 지원합니다.

코드포스(Codeforces)

  • https://codeforces.com/
  • 코드포스는 알고리즘 대회를 주최하며, 대회 이외에도 다양한 주제와 난이도의 문제를 제공하는 온라인 교육 사이트입니다. 대회에서는 랭킹이 제공되며, 문제의 난이도와 유형이 다양합니다.

알고리즘

  • A set of rules for solving a problem in a finite number of steps
  • 알고리즘 - 유한한 단계 안에 문제를 해결할 수 있는 규칙의 집합

  • https://www.youtube.com/watch?v=XU9E8A_j05g
  • 학교 교육에서는
  • 풀수있는 문제나 풀수 없는 문제가 있고
  • 그것에 대한 대답에 정답이나 오답이 있다.
  • 그런데 실제는 한가지 문제에 대해서도 다양한 답이 있다.