2024/09 61

Spring Boot)웹페이지 만들기 (Controller)

서버가 뭐냐면   서버가 뭐냐면 그냥 유저가 데이터 요청하면 그 데이터 보내주는 따까리 같은 프로그램일 뿐입니다. 이거 해줘 그러면 진짜 그거 해주는 프로그램이 서버일 뿐임  Q. 유튜브 서버가 뭐임?- 누가 동영상달라고 요청하면 동영상 보내주는 프로그램일 뿐입니다. Q. 네이버 웹툰 서버가 뭐임?- 누가 웹툰달라고 요청하면 웹툰보내주는 프로그램일 뿐입니다. Q. 웹서버는 뭐임?- 그냥 누가 웹페이지 달라고 하면 웹페이지 보내주는 서버일 뿐입니다. 그래서 서버개발이 어려운게 아니고누가 메인페이지달라고 하면 메인페이지 보내주고로그인페이지 달라고 하면 로그인페이지 보내주고그런 식으로 코드짜면 웹서버개발 끝입니다.실은 글 저장 수정 삭제 이런것도 처리해주는 기능도 있을 수 있는데 이런 것들은 나중에 해보고 이..

spring Boot 2024.09.10

spring boot) 자바 기본 문법 2 (class, constructor)

class가 뭐냐면 자바로 코드짤 때 class를 많이 보게 될텐데 class에 대해 알아봅시다.이거 설명할 때 붕어빵 틀이니 상속이니 뭐니 하면서 어렵게 설명하는 사람들이 있는데그딴거 필요없고 class가 뭐냐면 그냥 변수와 함수 보관하는 통입니다.   class Test {  String name = "kim";  void hello(){ System.out.println("안녕");  }}class 만들려면 class 작명 { } 하면 됩니다.- 중괄호 안에 변수나 함수를 맘대로 여러개 보관해둘 수 있습니다.- 참고로 System.out.println 쓰기 귀찮으면 sout라고 쓰고 엔터누르면 자동완성됩니다. - 보관했던 변수와 함수를 자유롭게 가져다쓸 수도 있습니다.     class에 있던 변수..

spring Boot 2024.09.09

Spring Boot) 자바 기본 문법 1 (변수, 함수, if, for)

변수, 함수, if, for 이런 기초 개념은 알고있다고 가정하고 진행할 것입니다.꼭 자바로 변수, 함수 이런걸 배울 필요없고 자바스크립트 같은 다른 언어로 배워와도 전혀 상관없습니다. 어짜피 다 똑같음그래서 자바에서 변수, 함수, if, for 어떻게 쓰는지 빠르게 정리하고 가봅시다.     코드 어디에 적냐면 public static void main(String[] args) { SpringApplication.run(ShopApplication.class, args); 코드~~ }코드를 어디다가 적어야하냐면 어쩌구Application.java 파일이 있을텐데거기에 있는 main 함수안에 적으면 실행됩니다.자바프로젝트 실행하면 main 함수안의 코드가 자동으로 실행이 되어서 그렇습니다.   ..

spring Boot 2024.09.09

Spring Boot) 개발환경 셋팅 / Spring Boot 3 프로젝트 생성

1. IntelliJ community edition 에디터 설치  구글에 검색해서 IntelliJ community edition을 설치합시다.개발환경 셋팅을 덜해도 되고 디자인 깔끔한 에디터라 이걸 쓸 것인데무료버전이라 HTML, CSS, JavaScript 하이라이트가 안되고 코드변경시 자동 재실행도 잘 안되는 단점이 있는데 못 쓸 정도는 아닙니다.꼬우면 한달에 20달러 내고 ultimate edition 이라고 유료버전 씁시다.아마 대학생이면 Jetbrains 사이트에서 무료로 키 발급이 가능합니다.아무튼 설치 끝났으면 기념으로 에디터 열어봅시다.     2. Spring initializr 에서 프로젝트 만들기 에디터 유료버전이면 에디터에서 Spring boot 프로젝트를 만들 수 있긴 한데 우..

spring Boot 2024.09.09

Spring Boot) Spring Boot 왜 쓰는데

서버만들 수 있는 언어와 프레임워크는 수백개 있습니다. 빠른 비동기처리 서버를 만들고 싶으면 Node.js가 편하고AI 서비스에 붙일 서버가 필요하면 Python이 편하고그냥 리액트가 좋으면 Next.js 쓰면 되고성능과 동시성 좋아하면 Erlang류, Rust, Go 이런걸 쓰면 되는데근데 밥벌어먹으려면 어쩌겠습니까 한국에서 가장 많이 쓰는 Spring Boot 해야 취업길이 조금이라도 더 넓습니다.     안어려움 Java라는 언어는 코드 정리와 재사용을 강요하는 역사깊은 언어입니다.class가 많이 등장해서 class 관련 문법들을 어려워하는 분들이 있는데강의에서 다루는 문법들의 원리랑 목적만 이해하면 딱히 어려울게 없습니다. Spring Boot는 서버 만드는 프레임워크입니다.코드를 짠다기보다 배..

spring Boot 2024.09.09

DBeaver(디비버) Public Key Retrieval is not allowed 에러

DBeaver(디비버) Public Key Retrieval is not allowed 에러디비버에서 MySQL 데이터베이스 접속을 잘하다가 갑자기 Public Key Retrieval is not allowed 에러를 만났다. MySQL의 8.x 버전 이후부터 발생하는 문제라고 한다.  해결방법지우고 다시 연결할 것 없이 접속하고자 하는 connection을 클릭하고 우클릭한 뒤, Edit Connection을 클릭한다. 클릭 후 나오는 창에서 Driver properties 탭에 들어가서 allowPublicKeyRetrieval의 값을 TRUE로 변경해준뒤 확인 버튼을 누르면 해결된다!

오류해결 2024.09.09

DBeaver)서버에서 DB 사용하려면 (nodejs 환경)

실제로 데이터베이스 하나만 가지고 단독으로 뭔가 하는 경우는 거의 없습니다.데이터베이스는 대부분 웹/앱서비스, 게임같은 다양한 프로그램들의 데이터 저장소로 사용되므로 항상 프로그래밍언어로 DB를 조작하는 경우가 많습니다.  그래서 프로그래밍 언어로 DB를 어떻게 조작할 수 있는지 알아봅시다. 가장 쉬운 자바스크립트라는 언어를 사용해볼텐데 나는 자바스크립트나 프로그래밍 그런거 모르면 몰라도 됩니다.         그래서 웹서비스를 운영하는데 DB 입출력 어떻게 합니까 님들이 웹서비스를 운영하는데 갑자기 회원가입용 데이터베이스가 필요해진겁니다. 거기에 회원 아이디, 이름, 비번을 저장해두고 싶은겁니다. 그럼 고객들이 직접 데이터베이스에 아이디, 비번을 INSERT문으로 집어넣을 수 있게 만들면 되겠군요?  ..

Mysql&DBeaver 2024.09.08

DBeaver) 엔티티 관계도 쉽게 잘그리는 법 (ERD)

DB를 설계할 때 정규화로 테이블을 쪼개놓으면 좋다고 했습니다. 하지만 테이블을 그런 식으로 100개 만들어놓으면나중에 테이블 하나를 보고있을 때 이게 어떤 용도의 테이블인지 판단하기 어렵습니다. 그래서 테이블들의 관계를 도식화해서 그려놓기도 하는데 이걸 엔티티 관계도 (ERD) 라고 부릅니다.     ▲ 대충 이렇게 생겼습니다. 새로운 기능 만들 때 DB설계를 위해 ERD부터 그리라고 요구하는 사람이 있기도 하고 JOIN연산같은거 할 때 관계를 한 눈에 파악할 때도 ERD를 찾기도 합니다. 아무튼 ERD 그리는 법을 알아봅시다. 직접 종이에 그려도 되고 아니면 무료 온라인 ERD 그리기 프로그램들도 많습니다. ERD그리면 DDL 문법으로 바꿔주는 곳들도 있음       DBeaver에서는 자동으로 그려..

Mysql&DBeaver 2024.09.08

DBeaver)Trigger 사용하기

DBMS 보면 Trigger 메뉴가 있습니다.어디다 쓰는 것이냐면 데이터베이스에 INSERT UPDATE DELETE 하기 전에자동으로 실행하고 싶은 코드가 있으면 Trigger 메뉴 들어가서 설정해놓으면 됩니다. 그럼 정말 자동으로 실행되는데  - 데이터를 다른 테이블에 반영하고 싶을 때- 데이터 넣기 전에 데이터를 깔끔하게 정제하고 싶을 때 - 테이블 변경기록 (로그)를 다른 테이블에 저장해두고 싶을 때- 테이블의 통계를 다른 테이블에 저장해두고 싶을 때 대충 이런 경우에 사용하면 편리합니다.      테이블 2개 준비해봅시다  예를 들어 product 테이블과 counter 테이블이 있다고 칩시다.  ▲ product 테이블은 그냥 상품저장용임 상품도 하나 저장해봅시다.   ▲ 이건 counter ..

Mysql&DBeaver 2024.09.08

DBeaver)데이터베이스 필요하면 빌려쓰는 것도 (AWS)

(변경사항)올해부터 RDS를 '퍼블릭 액세스 허용'으로 사용시 Public IPv4 사용요금 명목으로 월 3달러정도 추가요금이 발생해서한 번 만들어보고 안쓰면 삭제합시다.이외엔 Azure가면 MySQL 유동서버 이런 것들도 만들기 쉬운데 IPv4 이용요금은 없고아니면 Supabase 가면 무료로 PostgreSQL 500MB 호스팅받을 수 있습니다.    강의 맨 처음에 했던 것 처럼 MySQL을 컴퓨터에 설치하면여러분 컴퓨터에서 데이터베이스를 이용할 수 있습니다.근데 개발자 마케터 등 회사 내 많은 사람들이 이용하게 하고 싶으면데이터베이스를 직접 컴퓨터에 설치하는 것 보다 AWS, GCP 같은 클라우드서비스에서 하나 호스팅받는게 훨씬 안전합니다. - 자동 백업- 자동 스케일업- 모니터링 - 로그작성 -..

Mysql&DBeaver 2024.09.08