여니의 프로그래밍 study 225

[Java] 객체 지향 프로그램, 객체 지향 특징 (+오버라이딩 및 오버로딩)

목차 1. 클래스 : 객체를 정의해놓은 것으로 객체를 생성할 때 사용한다. 즉 객체의 설계도를 의미한다. 2. 객체 : 객체의 사전적인 정의는 "실제로 존재하는 것"이다. 프로그래밍에서의 객체는 클래스에 정의된 내용처럼 클래스를 데이터 타입으로 메모리에 생성된 것을 의미한다. - 객체의 구성요소 객체는 속성과 기능, 두 종류의 구성 요소로 이루어져있다. 객체는 다수의 속성, 기능으로 이루어져있어서 속성과 기능의 집합이라고 할 수 있다. 속성 == 멤버변수 기능 == 메서드 인스턴스와 객체는 같은 의미이지만 문맥에 따라 사용된다. 책상은 객체다. 책상 클래스의 인스턴스는 책상이다. 인스턴스화 : 클래스로부터 객체를 만드는 과정을 의미한다. 어떤 클래스로부터 만들..

[스프링부트] Spring의 역사, 생태계, Spring의 개념

Spring : EJB라는 겨울을 넘어 새로운 시작이라는 뜻! EJB의 단점 1. 테스트가 어렵다. : EJB 외부에서 실행하는 것이 어려웠기에 컨테이너에 배포를 해야만 했다. 그러나 스프링 프레임워크는 의존성 주입이라는 개념을 도입하여 테스트 과정을 간소화할 수 있게 되었다. 테스트 과정을 간소화하게 되면 얻게 되는 이점은? > 생산성이 향상된다. > 빠른 결함을 발견하게 되고 이로 인해 수정 비용이 적게 들어간다. > 지속적인 통합 시 자동화된 단위 테스트로 향후 결함을 예방한다. 의존성 주입 (DI : Dependency Injection) >> 의존 객체를 생성하지 않고 주입 받아 사용한다. new 연산자를 이용해 객체를 생성하는 것 - 배포과정이 불편하다. - 불필요한 메서드를 구현해야 한다. ..

[ERROR 22924] o.h.engine.jdbc.spi.SqlExceptionHelper : Field 'id' doesn't have a default value

id 필드가 기본값을 가지고 있지 않다는 오류 메세지가 떴다. 그래서 살펴보니 JPA에서만 자동 생성하도록 옵션을 넣어주고, 정작 DB에서는 자동 생성하는 기능을 안 붙여줬기 때문이라고 한다. id의 AI 체크박스가 체크되어 있지 않아 발생한 문제.. AI가 auto_increment의 약자이다. 이 속성을 사용하면 insert문을 내보낼때마다 자동으로 id값이 증가한다. (레코드의 값이 중복되지 않고 1씩 증가한다) 이 속성이 많이 사용되는 경우는 위 경우와 같이 테이블 제일 첫 번째 칼럼이다. 왜냐하면, 테이블 첫 칼럼은 테이블 레코드에 대한 고유값을 지정해서 대부분 사용하기 때문이다. 이 에러 떄문에 5시간 넘게 헤매고.... CRUD 기능 중에 C에서 막히니까 RUD 강의로도 못 넘어가는 상황이 ..

[Spring Boot] HTTP Method - Get,Post,Put/Patch

HTTP? HTTP = HyperText Transfer Protocol 클라이언트(웹 브라우저)와 서버간에 의사소통을 가능하게 해주는 request-response 프로토콜 HTTP Method CRUD OK ERROR Get Read 200 404 (Not Found) 409 (Conflict) Post Create 200 404 (Not Found) Put Update / Replace 200 404 (Not Found) 405 (Method Not Allowed) Patch Update / Modify 200 404 (Not Found) 204 (No content) 405 (Method Not Allowed) Delete Delete 200 404 (Not Found) 405 (Method No..

[Python] ImportError: DLL load failed: 지정된 모듈을 찾을 수 없습니다.

ImportError: DLL load failed: 지정된 모듈을 찾을 수 없습니다. > 터미널에서 python manage.py runserver를 치니까, 서버가 시작되지 않고, 저렇게 에러 메세지가 떠버렸다.. 윈도우키 + R 누르면 아래와 같은 창이 뜨는데, sysdm.cpl을 입력한다! 시스템 속성 -> 고급 -> 환경변수 환경 변수에서 Path 클릭 후 편집버튼 클릭하기 새로 만들기 -> C:\ProgramData\Anaconda3\Library\bin 추가! 그리고 파이참 껐다가 다시 켜서 터미널창에 python manage.py runserver 입력하면, 로컬 서버가 잘 돌아감!

[Django] 프로젝트 생성하기

- 가상환경 만들고, django 패키지 설치 후 진행 - 1. mysite 프로젝트 생성하기 (장고 프로젝트를 담을 디렉터리 생성) 터미널에서 작업 > django-admin startproject mysite 2. pybo 앱 생성하기 > cd mysite (mysite 디렉터리 안에서 생성할 것) > django-admin startapp pybo 3. 서버 구동하기 python manage.py runserver 4. localhost:8000/pybo에 접속하기 404 에러 발생! 파이참 터미널 창에서도 Not Found 에러 발생한 걸 확인할 수 있다. 404 에러가 왜 나는 것일까..? > 내가 요청한 페이지를 찾지 못했기 때문에 오류가 발생하는 것이다. > 서버에서 내가 요청한 페이지를 찾..

[Python] lambda 함수 정리

lambda 함수란? 이름 없는 함수이다! (=익명함수) 일회용 함수라서, 보통 한 번 쓰고 버릴 함수 생성시 사용된다. 함수 객체는 메모리에 올라가서 변수를 통해 자신이 호출되기를 기다린다. 따라서, 한 번 쓰고 말것이라면, 메모리 낭비가 된다. 따라서 이때 lambda함수를 사용한다. 만약 lambda함수를 호출하고 싶다면? 변수에 함수 저장후, 변수 호출해주면 된다! lambda 함수는 어떻게 작성해서 쓰이는가!? lambda 매개변수들 : 식 def 함수 함수 (매개변수) : return 결과 lambda 함수 lambda 매개변수 : 결과 ex1) (lambda x:x+1)(3) >> 4 ex2) 람다 표현식 안에서는 변수 생성이 불가하다. 아래처럼 밖에서 변수 생성해줘야 함 y=10 (lamb..

[Python] sort, sorted, key 매개변수 이용한 정렬

PYTHON 정렬 함수 정리 1. sort() > 리스트를 정렬된 상태로 변경한다. (리스트만을 위한 메소드) 오름차순 : sort() 내림차순 : sort(reverse=True) 2. sorted() > 기존의 리스트를 변경하는 게 아니라, 정렬된 새로운 리스트를 반환해준다. 딕셔너리 객체도 받을 수 있다. 오름차순 : sorted() 내림차순 : sorted(reverse=True) >> print(sorted(array,reverse=True)) 3. key 매개변수 사용 (sorted + lambda) > 특정한 데이터를 기준으로 정렬 가능해진다. data=[['가',1],['다',3],['나',2]] print(sorted(data,key=lambda x:x[0])) #[['가', 1], ['..