전체 글 91

[DataBase]CRUD가 도대체 뭐야?

수업 및 공부 중 CRUD라는 용어를 은연듯이 자주 들었지만 데이터베이스로 뭔가를 만드는 것을 뜻하는 것인가보다 하고 대충 넘어갔는데, 자주 나오는 단어이기도하고, 오늘 설명을 듣는 중 알던 것과 뭔가 조금 차이가 있는 것 같아 찾아서 정리해 본다. CRUD는 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 일컫는 말이다. 사용자 인터페이스가 갖추어야 할 기능(정보의 참조/검색/갱신)을 가리키는 용어로서도 사용된다. 내가 지금 수준에서 가장 목표로 게시판을 만듬에 꼭 숙지하고 능숙해져야하는 용어이자 기술들이니만큼 열심히해서 자유자재로 할수 있도록 하자. 데이터베이스 SQL문과 대응 이름 조작 SQL ..

공부노트/DB 2021.12.29

[CSS] 액자형식(반응형) 비디오(Youtube) 삽입하기

포트폴리오를 만드는 중 유튜브 동영상을 삽입하려하니 자꾸 반정도만 보이게 잘려나온다던지 조절이 안되게 삽입되는 경우가 자꾸 발생하여 검색 및 복습을 통해 깔끔하게 삽입하는 방법을 정리해 놓는다. 이는 position의 absoulute속성이 가지고 있는 바로 위의 reletive속성을 가진 부모를 찾아가는 점을 이용한 것으로 먼저 비디오(iframe)에게 position: absolute; top: 0; left: 0; width: 100%; height: 100%;를 준다. 그리고 비디오의 바로 위 부모에게 position: relative; width: 100%; heigth: auto; padding-top: 50%를 주고, 적당히 액자형식의 디자인을 조금 해주면 간단히 완성된다. HTML 샘플코드..

[Mybatis] Mybatis 란?

Mybatis Mybatis는 자바 오브젝트와 SQL사이의 자동 매핑 기능을 지원하는 ORM(Object relational Mapping)프레임워크이다. SQL을 별도의 파일로 분리해서 관리하게 해준다. Hibernate나 JAP(Java Persistence Api)처럼 새로운 DB프로그래밍 패러다임을 익혀야하는 부담 없이 SQL을 그대로 이용하면서 JDBC코드 작성의 불편함도 제거해주고 도메인 객체나 VO객체를 중심으로 개발이 가능하다는 장점이 있다. Mybatis의 특징 쉬운 접근성과 코드의 간결함 JDBC의 모든 기능을 Mybatis가 대부분 제공한다. 복잡한 JDBC코드를 걷어내며 깔끔한 소스코드를 유지할 수 있다. 수동적인 파라미터 설정과 쿼리 결과에 대한 맵핑 구문을 제거할 수 있다. SQ..

[Spring]@Autowired과 @Qualifier 어노테이션

스프링에서는 @Autowired를 사용해 의존성을 주입한다. bean을 설정할 때 를 사용함으로써 굳이 bean 태그 안에 나 태그를 추가하지 않아도 스프링의 @Autowired 어노테이션이 적용된 생성자, 필드, 메소드에 대해 의존 자동 주입을 처리한다. 하지만, 만약 동일한 타입을 가진 bean 객체가 두개가 있다면 어떻게 될까? 스프링이 어떤 빈을 주입해야 할 지 알 수 없어서 스프링 컨테이너를 초기화하는 과정에서 Exception을 발생시킨다. @Autowired의 주입 대상이 한 개여야 하는데 실제로는 두 개 이상의 빈이 존재해 주입할 때 사용할 객체를 선택할 수 없기 때문이다. 단, @Autowired가 적용된 필드나 설정 메서드의 property 이름과 같은 이름을 가진 빈 객체가 존재할 경..

공부노트/Spring 2021.12.22

Spring MVC 프로젝트의 기본 구조

Spring의 전체적인 실행 순서 Request -> DispatcherServlet -> HandlerMapping -> (Controller -> Service -> DAO -> DB -> DAO -> Service -> Controller) -> DispatcherServlet -> ViewResolver -> View -> DispatcherServlet -> Response 예시 1. 일반적인 기본 동작 순서 예시 2. 위 예시에서 Controller 뒷부분의 과정을 생략함 자세한 스프링 실행 순서 1. 클라이언트가 Request 요청을 하면, DispatcherServlet이 요청을 가로챈다. 이 때 DispatcherServlet이 모든 요청을 가로채는 건 아니고 web.xml에 등록된 내용..

공부노트/Spring 2021.12.21

Can't connect to any URI:~~ not authorized 잘되던 git push가 안될 때(이클립스 상에서 깃로그인이 안될때)

분명 eclipse를 통한 git push를 잘 사용하고 있었는데 오늘 사용하려 했더니 계속 인증 실패가 되기 시작, 아이디 비번을 잘못쳤나하고 몇번을 확인해도 안되고, 혹시나하고 내가 브라우저 자동 로그인을 해놔서 아이디랑 비밀번호를 까먹었나? 그래서 브라우저로 로그인해봤는데 잘만된다. 이클립스에서만 로그인이 안된다. 계속 connect 할 수 없다고만 한다. Can't connect to any URI: ~~ not authorized 연결할 수 없습니다. 인증되지 않았습니다. 이런 에러창만 보여주고 정확히 뭐가 문제인지도 모르겠고 해결책도 안 알려주니 미치고 팔짝 뛸 노릇 2. 원인 https://github.blog/changelog/2021-08-12-git-password-authenticat..

[Spring] 스프링(Spring)의 개념과 Spring MVC

스프링 프레임워크(영어: Spring Framework)는 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크로서 간단히 스프링(Spring)이라고도 한다. 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공하고 있다. 대한민국 공공기관의 웹 서비스 개발 시 사용을 권장하고 있는 전자정부 표준프레임워크의 기반 기술로서 쓰이고 있다. 스프링은 다른 프레임워크에 비해 다음과 같은 특징을 가진다. 경량 컨테이너로서 자바 객체를 직접 관리한다. 각각의 객체 생성, 소멸과 같은 라이프 사이클을 관리하며 스프링으로부터 필요한 객체를 얻어올 수 있다. 스프링은 Plain Old Java Object 방식의 프레임워크이다. 일반적인 J2EE 프레임워크에 비해 구현을 위해 특정한 인터페이스를 구현하거나 상속을 ..

공부노트/Spring 2021.12.18

[JS] swiper.js 슬라이드 라이브러리 사용법

웹에서 슬라이드, 스와이프 UI는 준 필수라고 할정도로 쉽게 찾아볼 수 있고 많이 사용된다. 공부를하며 여태까진 직접구현 예제로서 구현했지만 실제로는 이미 구현된 플러그인, 라이브러리를 주로 사용한다하여 활용하는 법을 익히고, 사용해보려 한다. 슬라이드, 스와이프 라이브러리도 하나만 있는 것이 아닌 다양한 라이브러리가 존재하지만, 그중 스와이퍼와 슬릭을 고민하다가 스와이퍼가 완전한 무료 오픈 소스라 하여 스와이퍼로 결정. 샘플 코드 및 확인 swiper.js란? swipe.js는 편리하고 강력한 슬라이더를 구현하는 라이브러리이다. 모바일도 지원하며, jquey와 같은 별도의 프레임워크가 필요 없다. 그리고 오픈 소스라서 무료로 사용할 수 있다. 더 자세한 정보는 swiper.js 공식 홈페이지를 참고해주..

Could-not-resolve-type-alias-패키지명 클래스명

TypeException: Could not resolve type alias 'kr.co.spring.vo.bbsVo'. Cause: java.lang.ClassNotFoundException: Cannot find class: kr.co.spring.vo.bbsVo 원인 - XML파일에서 select로 작업할 때 발생할 수 있는 에러 - resultType으로 불러오고자하는 Vo 파일형식을 설정했는데 해당 Vo를 찾지 못해서 발생 해결방안 여러가지의 경우가 있는데 겪어본 상황만 추가해보겠다. component-scan 사용시 해당 범위가 잘못됬을 경우 @Alias를 이용해 간편하게 resultType에 넣어줄 명명 지정해주고 활용