자바 1일차

moon.kick·2025년 2월 12일

사용안해본 라이브러리를 프로젝트때 GPT로 해보기
딥시크가 알고리즘을 잘짠다
깃허브+클로드/챗지피티 로 트러블슈팅 해결하기

스프링부트는 자동설정하는것, 스프링프레임워크(내부구조알기) Di AOP Pojo web MVC

JDBC API는 반복코드가 많은대신 ORM/JPA 데이터베이스 배우고
리액트란 라이브러리사용

AWS는 배포용
도커는 리눅스(우분트)대체 데브환경을 위한 클라우드 세팅이라고 생각하면된다
도커는 컨테이너환경이고 독립적환경이다.

쿠버네티스는 오케스트레이션으로 자동운영환경 세틍인데

자바스크립트 에크마6버전 디자인이고
스프링프레임워크가 모놀리식인데 MSA방식과 정반대개념이라고 생각하기
데브옵스는 SW개발방법론 이라고 생각하면되고
클라우드기반인 AWS는 용량따라 비용이 자동산정되는 오토스케일이다..
GCP직군이 채용많고

MVG패턴은 servlet에서 배운다 = 구조를 스프링처럼 만들어볼거예요
스프링은 웹MVC

레거시 프로젝트= 유지보수쪽, 금융권쪽
J-query 자바스크립트 경량 라이브러리라 짧은데, 유저들은 느리다고 한다

에러=버그인데 캡쳐해서 이슈를 트러블슈팅하는 에러노트만들어보기

노트북사려면 i7 램 32GB SSD 1TB로 살것

자바웹개발과정이고 최종 릴리즈(배포)를 목표로 테스팅/빌드 자동운영

오라클은 배포가 무겁다. 마이SQL은 무료고 배포가볍고
마리아 DB?찾아보기 > 데이터모델링, 쿼리중심의 데이터저장소로 얘는 지속성에 한계가 있다..

자바 배우고, 디비배우고, JDBC API로 연결하기

ORM JPA(부트)가 오면서 많이 쓰이기 시작했다

SQLD 자격증, 정보처리기사자격증

JDK가 플랫폼에 독립적이다

이클립스 설치하기

선생님따라하기
-클래스이름=파일이름
자바스크립트 오류가 15개나오는데 순서대로 코치다보면 실제 에러는 2개인경우들이 많다

객체(class)는 속성(필드)+기능(메서드:함수)


주제별 정리 by gpt


1. AI/협업 도구 활용

  • 새로운 라이브러리/프레임워크를 다룰 때 GPT(챗GPT, Claude 등)를 활용해 빠른 학습 및 문제 해결(트러블슈팅) 가능
  • 깃허브(GitHub)와 연동하여 코드를 관리하고, AI 도구를 통해 알고리즘 설계나 에러 해결 방법을 찾을 수 있음

2. 자바 & 주요 개발 환경

1) JDK

  • 자바 개발 키트, 플랫폼 독립적이라 다양한 OS에서 개발 가능
    2) 이클립스(Eclipse)
  • 대표적인 자바 IDE(통합 개발 환경)
    3) JDBC API
  • 데이터베이스 연동을 위한 저수준 API
  • 반복 코드가 많아 불편할 수 있지만, 기초를 다질 때 필수적으로 익힘
    4) ORM/JPA
  • 반복되는 SQL 작업을 줄여주는 고수준 추상화 기술
  • 스프링 부트와 함께 많이 사용됨
    5) 객체(Object)
  • 속성(필드) + 기능(메서드)로 구성되는 클래스 기반 구조

3. 스프링 프레임워크 & 스프링 부트

  • 스프링 프레임워크
    • DI(의존성 주입), AOP(관점 지향 프로그래밍), POJO 방식, Web MVC 구조 등 내부 개념 숙지
    • 모놀리식 구조의 전형적인 예시로, 반대로 MSA(Microservices)와 비교되는 개념
  • 스프링 부트
    • 각종 설정(설정 파일, 라이브러리 버전 관리 등)을 자동화해주는 스프링의 확장판
    • 빠른 서버/프로젝트 세팅을 가능케 함

4. 프론트엔드와 기타 라이브러리

  • React(리액트)
    • 자바스크립트를 활용한 프론트엔드 라이브러리
    • ECMAScript 6(ES6) 문법 지원
  • jQuery
    • 경량 자바스크립트 라이브러리지만, 속도가 느리다고 인식될 때가 있고, 최근에는 React/Vue/Angular 등으로 대체되는 추세

5. 웹 아키텍처 & MVC

  • MVC(Model-View-Controller)
    • 스프링은 Web MVC 구조를 사용
    • 서블릿을 학습하면서 MV* 패턴 전반적인 구조를 이해할 수 있음
  • 레거시 프로젝트
    • 주로 금융권, 유지보수가 많은 시스템이 해당됨

6. 데이터베이스

: 데이터 모델링, 쿼리 중심의 저장소 역할

1) Oracle : 강력하지만 배포가 무거운
2) MySQL : 무료, 가볍고 배포 편의성이 좋음, 특정상황에서 지속성에 대한 고려가 필요
3) MariaDB : MySQL과 호환되는 오픈소스 DB

"자격증?"
SQLD, 정보처리기사** : 데이터베이스 및 SW 전반 지식을 인증하는 자격증


7. 클라우드 & DevOps

1) AWS : 클라우드 기반 서비스로 자동 확장(오토스케일)에 따라 비용 산정, 배포(Deploy) 용도
2) Docker : 컨테이너 기반 가상화 환경, 독립적인 환경 세팅 가능(개발 및 배포 환경 일관성 유지), 리눅스(우분투) 대체 개념이라기보다는, 우분투 위에 도커를 올려 컨테이너 단위로 격리된 환경을 만드는 방식
3) Kubernetes : 컨테이너를 자동으로 배포/확장/운영(오케스트레이션)하는 도구
4) GCP: 최근 많이 채용하는 클라우드 분야, AWS와 마찬가지로 자동 스케일링 제공

DevOps* : SW 개발 방법론의 하나로, 개발(Development)과 운영(Operations)의 융합 추구


8. 개발 프로세스

1) 테스팅/빌드 : 최종 배포(릴리즈) 목표
2) 에러 노트 작성 : 에러(버그)가 발생하면 스크린샷을 첨부, 원인과 해결 과정을 정리해두면 트러블슈팅에 유용
3) 버전 관리(깃/GitHub) : 코드 히스토리 추적과 협업에 필수
4) 코드 디버깅 : 예) 자바스크립트 오류가 여러 개여도 실제 근본적인 에러는 소수일 수 있음, 단계별로 로그/오류 메시지를 확인해 해결


9. 하드웨어(노트북사려면?)

  • 노트북 사양 추천: i7, RAM 32GB, SSD 1TB 이상

10. 추가 학습 키워드

  • 클래스 이름 = 파일 이름(자바 문법)
  • 자바, DB, JDBC 연결
  • ORM JPA, 스프링 부트와 결합하여 많이 사용
  • Monolith vs MSA 아키텍처 개념 비교
  • Data Modeling: 프로젝트 설계 시 RDB 구조를 어떻게 짤지 고민

정리

  • 백엔드: 스프링 프레임워크(부트), JDBC, ORM(JPA), 데이터베이스(Oracle, MySQL, MariaDB)
  • 프론트엔드: 자바스크립트(ES6), React, jQuery
  • 인프라: AWS, Docker, Kubernetes, GitHub
  • DevOps & 자동화: CI/CD, 트러블슈팅 기록(에러노트), 테스트/빌드 자동화
  • 공부 방법:
    • 처음 해보는 기술은 GPT(챗봇)를 통해 기초 문법, 예제, 문제 해결 방법을 빠르게 습득
    • 선생님/가이드를 따라가면서 단계별 실습
    • 오류 해결 시 캡처와 노트 작성 습관

이렇게 각 영역을 이해하고 종합적으로 연결 지어 학습하면,
자바 웹 개발 전 과정(설계 → 구현 → 테스트 → 배포)을 체계적으로 익힐 수 있습니다.

profile
@mgkick

0개의 댓글