Java_002 (20250501)
숙고의 시간만큼 실력이 발전한다.
다만, 인공지능이 숙고의 시간을 대체해주고 있기에, 어느 분야에서 인간이 유용할지를 고민해봐라.
신입은 베이스가 부족한데, 왜 사용하는지를 모르기에 그러하다. ‘왜’를 알아야 응용이 가능하다.
영어는 명확하여 프로그래밍 언어로서 적합하기에, 영어에 익숙해짐이 바람직하다.
한글은 ‘붉다’를 무수한 형태로 표현하지만, 영어는 ‘red’이다.
또한 신입은 로직 능력이 부족하기에, 코딩 테스트, COS PRO (YBM) 등으로 로직을 짜는 경험을 쌓아감이 바람직하다.
SQL은 범용되는 도구라서, 집중도 있게 학습해라. (SQL 자격증 어렵지 않으니 공부할 겸 취득)
로직이란 문제 해결을 위해 필요한 단계별 과정을 설계하고, 이를 논리적으로 배열하여 효율적으로 문제를 해결하는 방법을 도출하는 능력이다.
이는 프로그래밍 언어에 대한 이해도와 문제 해결 접근 방식에 대한 사고 능력을 요구한다.
SQL이란 관계형 데이터베이스(RDBMS)에서 데이터를 조회, 삽입, 수정, 삭제하기 위한 표준 언어이다.
항목 | RDB (관계형 DB) | NoSQL (비관계형 DB) |
---|---|---|
데이터 구조 | 테이블(행과 열) | 문서, 키-값, 그래프, 컬럼 등 다양한 구조 |
스키마 | 엄격한 고정 스키마 | 유연하거나 없음 |
확장성 | 수직 확장(서버 성능 업) 위주 | 수평 확장(서버 여러 대) 용이 |
쿼리 언어 | SQL | DB마다 다름 (MongoDB는 JSON 스타일 등) |
데이터 무결성 | 강력한 제약 조건 (PK, FK, 등) | 보장하지 않거나 애플리케이션에서 관리 |
성능 | 관계 연산에 최적화 | 읽기/쓰기 성능 우수 (단, 일관성은 떨어질 수 있음) |
예시 | MySQL, PostgreSQL, Oracle | MongoDB, Redis, Cassandra, Neo4j 등 |
적합한 용도 | 전통적 기업 시스템, 금융, 회계 등 | SNS, 실시간 분석, 로그 저장, IoT 등 |
파이썬이 자바나 C 언어보다 느린데, 왜 빠른 배열 연산이 필요한 인공지능에 파이썬이 이용될까?
파이썬 자체는 인터프리터 언어이기 때문에 컴파일 언어인 자바나 C보다 실행 속도가 느린 것이 사실이다.
그러나 NumPy, TensorFlow, PyTorch 같은 라이브러리는 내부적으로 C/C++로 구현되어, 배열 연산이나 행렬 계산 시 빠른 성능을 낼 수 있다.