웹(Web)/백엔드(Backend) 42

서블릿 매핑(Servlet Mapping)이란

위의 full path는 서블릿의 경로를 통해서 포트번호, 서블릿이름, 해당서블릿의 위치가 보인다. 그래서 보안 취약함. 따라서 mapping을 사용하는데, context-path는 그대로 똑같이 사용하지만, 간략하게 "닉네임을 준다"라고 생각하면 편하다. 그 "닉네임을 주는 것"을 servlet Mapping이라고 한다. 방법1: XML파일을 이용하는방법(아직 사용하긴함) 동적 웹 프로젝트에서 web.xml에서 서블릿을 등록함 패키지명을 포함한 경로에서 마지막 부분인 서블릿이름을 에 넣고 에 "닉네임"으로 사용할 것을 입력해주면 매핑 성공! 방법2: Java Annotation을 이용한 매핑(현대적) servletEx.java와 같은 파일에서 어노테이션을 하면 바로 출력된다. 위의 두가지 방법으로 각각..

스프링(Spring) 프로젝트의 폴더 구조

- Develop OS : Windows10 Ent, 64bit - WEB/WAS Server : Tomcat v9.0 - Language : JAVA 1.8 (JDK 1.8) - Framwork : Spring 3.1.1 Release - Build Tool : Maven 3.6.3 먼저 Spring MVC 템플릿으로 스프링 프로젝트를 하나 생성해보겠습니다. 빌드툴은 메이븐을 사용합니다. 폴더 구조가 꽤 복잡한데, 하나하나 살펴보도록 하겠습니다. 1. src/main/java 자바(.java) 파일이 모여있는 곳입니다. 패키지로 잘 분리해서 자바 클래스를 생성해 사용하면 됩니다. 스프링에서 이미 MVC 패턴의 서블릿 구조를 잡아주기 때문에 따로 서블릿을 만들 필요 없이 스프링 구조에 맞춰 클래스 파일들..

<우아한 스프링 부트> 정리

www.youtube.com/watch?v=z0EaPjF3pCQ 1. 어플리케이션을 만들어서 어떻게 배포하냐에 따라 2가지선택. JAR(Java Archive) : 기본 이것부터 사용해보길 권장. WAR(Web Application Archive) : 톰캣같은곳에 배포할때 사용. 2. 의존성추가 : 스프링부트가 제공해주는 주요 기능 중 하나 pom.xml에는 버전정보가 없지만 dependency management에 버전이 정의가 되어있다. springboot에 버전을 명시하지않아도 되는것은 장점 + 현재 버전에 최적화되어있는것을 알아서 찾아놨기때문에 springboot가 좋은것이다. springboot가 관리해주지 않는 dependency는 버전 명시해야됨. 3. 프로젝트 생성 1. 메이븐에서 실행 :..

2. 기본적인 프론트엔드 지식

퍼블리싱이란 ? 웹/앱의 분야 중에 최종 단말기(예: 브라우저)에서 표현되는 내용을 작성하는 행위를 말합니다. publish(출판하다) + ing(~을 하는 중)의 합성어로서, 주로 html, css, javascript 와 같은 언어를 이용하여 브라우저에 보여지는 최종적인 형태를 만들어내는 것을 의미합니다. 1. HTML Hyper Text Markup Language 약어로 HyperText(웹 페이지에서 다른 페이지로 이동할 수 있도록 하는 것) 기능을 가진 문서를 만드는 언어다. 아래는 기본 HTML5 문서타입이다. DOCTYPE 종료하는 태그가 없는 것이 특징이며 은 HTML 문서의 구성 요소는 아니다. html은 크게 두가지로 나눈다. 콘텐츠를 표현하기위한 내용 태그는 (문서자체를 설명하는정보..

JDBC, JPA/Hibernate, Mybatis의 차이

백엔드 로드맵을 보다가 Mybatis, Hibernate의 차이점에 대해 검색을 하다가 공부하게 되었다. Persistence FrameworkJDBC : 프로그래밍의 복잡함이나 번거로움 없이 간단한 작업만으로 데이터베이스와 연동되는 시스템을 빠르게 개발할 수 있으며 안정적인 구동을 보장한다. Persistence Framework는 SQL Mapper와 ORM으로 나눌 수 있다.아래 참고Ex) JPA, Hibernate, Mybatis 등 # SQL Mapper SQL Object 필드 SQL Mapper는 SQL 문장으로 직접 데이터베이스 데이터를 다룬다. 즉, SQL Mapper는 SQL을 명시해줘야 한다. Ex) Mybatis, JdbcTempletes 등 # ORM(Object-Relationa..

1. 인터넷(작동원리,HTTP, 브라우저, DNS, 호스팅)

인터넷은 어떻게 작동될까요? HTTP는 무엇일까요? 브라우저와 동작 원리 도메인 네임은 무엇일까요? DNS와 작동원리 호스팅은 무엇일까요? 1. 인터넷은 어떻게 작동될까요? 인터넷 변화 양상 ① 컴퓨터 ↔ 컴퓨터 ② 컴퓨터 ↔ 라우터 ↔ 컴퓨터 ③ 컴퓨터 ↔ 라우터 ↔ 라우터 ↔ 컴퓨터 ④ 컴퓨터 ↔ 라우터 ↔ 모뎀 ↔ 전화 시설 ~ ⑤ 컴퓨터 ↔ 라우터 ↔ 모뎀 ↔ 전화 시설 ↔ ISP (↔ ISP) ↔ 전화 시설 ↔ 모뎀 ↔ 라우터 ↔ 컴퓨터 인터넷은 1:1 연결 => 多:多 연결 => 라우터 연결 과 같은 방식으로 발전했고, 아래는 라우터 연결의 예이다. 이후 라우터와 라우터를 연결하면서 점점 망의 크기를 키운것이 인터넷이다. 최종적으로는, 인터넷 서비스 제공 업체(ISP, Internet Serv..

파이썬 구글 이미지 크롤링(uh oh! keywords is a required argument, unfortunately all 20 could not be downloaded because some images were not downloadable. 0 is all we got for this search filter!)

pypi.org/project/google_images_download/ google_images_download Python Script to download hundreds of images from 'Google Images'. It is a ready-to-run code! pypi.org 예시) from google_images_download import google_images_download #importing the library response = google_images_download.googleimagesdownload() #class instantiation arguments = {"keywords":"김남길, 고현정, 위너 진우, 방탄소년단 진","limit":20,"print..

Intellij Spring JDBC시작하기

pom.xml 입력 후 Project 우클릭 - Maven - Reimport 클릭(일정 시간 소요) => dependencies 빨간줄 사라짐. 4.0.0 kr.or.connect daoexam01 1.0-SNAPSHOT daoexam http://maven.apache.org UTF-8 4.3.5.RELEASE org.springframework spring-context ${spring.version} org.springframework spring-jdbc ${spring.version} org.springframework spring-tx ${spring.version} org.apache.commons commons-dbcp2 2.1.1 mysql mysql-connector-java 5.1...

Maven이란? CoC이란?

Maven :애플리케이션을 개발하기 위해 반복적으로 진행해왔던 작업들을 지원하기 위해 등장한 도구(자바 프로젝트의 빌드를 자동화해주는 빌드 툴) 빌드(Build), 패키징, 문서화, 테스트, 테스트리포팅, git, 의존성 관리, svn 등과 같은 형상관리서버연동(SCMs), 배포 등의 작업을 쉽게 할 수 있다!! Maven 참조하는 주요 설정파일 2개 => sttings.xml(Maven tool 자체 관련 설정) & pom.xml(프로젝트 내 빌드옵션 설정) jeong-pro.tistory.com/168#recentComments 메이븐(Maven)은 알고 스프링(Spring)을 쓰는가? (pom.xml 분석하며 가볍게 정리하는 빌드 툴, Maven) 메이븐(Maven)은 알고 스프링(Spring)을 ..