분류 전체보기 (34) 썸네일형 리스트형 API란? API란?프로그램들이 서로 상호작용하는 것을 도와주는 매개체 쉬운 예시를 들자면, 점원이 가져다준 메뉴판을 보면서 맛있는 메뉴를 고르면 점원이 주문을 받아 요리사에게 요청을 합니다. 그럼 요리사는 정성스럽게 메뉴를 만들어 점원에게 주고 점원은 다시 손님에게 음식을 내어드려 맛있게 음식을 먹을 수 있죠. 여기서 점원은1. 손님에게 메뉴를 알려준다.2. 주방에 주문받은 요리 요청3. 주방에서 완성한 요리를 손님에게 전달 API는 이런 점원과 같은 역할을 합니다. 손님(프로그램)이 주문할 수 있게 메뉴(명령 목록)을 정리하고, 주문(명령)을 받으면 요리사(응용프로그램)와 상호작용 후 요청한 (명령에 대한 값)을 전달합니다. API 역할 1. 허용된 사용자만 접근성 부여데이터베이스에 개인정보들이 저장.. 맥북 톰켓 설치 톰켓 사이트 Apache Tomcat® - Apache Tomcat 10 Software DownloadsWelcome to the Apache Tomcat® 10.x software download page. This page provides download links for obtaining the latest version of Tomcat 10.1.x software, as well as links to the archives of older releases. Unsure which version you need? Specification versitomcat.apache.org 톰켓 사이트 들어가서 원하는 버전 선택 mac 사용자는 Core에 zip 이나 tar.gz 아무거나 설치 그럼 Dow.. 외장방식과 내장방식 외장 방식 = "전통방식"- 톰켓 같은 WAS(웹 애플리케이션 서버) 설치했다. - WAS 에서 동작하도록 서블릿 스펙에 맞추어 코드 작성- WAR 형식으로 빌드해서 war 파일 만듬- 만들어진 war 파일을 WAS에 전달→ WAS 기반 위에서 개발하고 실행 해야함, IDE 같은 개발 환경에서도 WAS와 연동해서 실행하는 복잡한 추가 설정 필요 내장서버 = "최근방식"- 스프링 부트가 내장 톰캣을 포함- 애플리케이션에 톰켓 같은 WAS 라이브러리가 내장 되어 있음- (JAVA를 빌드하면 JAR 파일이 된다.) JAR 실행하만 하면 WAS도 함께 실행= main() 메서드만 실행하면 된다. 스프링 부트란? (역사, 탄생) 스프링은 너무 많아서 무거운데 자꾸 새로운게 개발되니까 더 무거워지기 시작했다. 그래서 많은 개발자들이 스프링은 무겁고 불편하다고 생각하고 있었는데, 이 문제를 해결하기 위해 등장한 것이 바로 스프링 부트 1. 톰캣 구동하지 않아도 되는 내장서버로 손쉽게 배포 가능2. 수많은 라이브러리 자동 관리3. 복잡한 구성 쉽게 4. 서로 다른 환경에서 개발할 때는 외부에 설정 값을 조정하는게 필요한데 이걸 편리하게 해줌5. 수많은 지표를 관리해 준다. EJB - > Spring스프링 처음 프로젝트 설정하는데 시간이 많이 걸림(스프링을 이해해야 제대로 설치 가능 ㅠㅠ)스프링 프레임워크는 개발자들에게 많은 선택지를 줘서 초보자들은 설정 배워야 하는게 많았다.-> 무거운 스프링 라이브러리가 많으니 스프링 빈도 많아.. 코딩테스트 준비 팁 코딩테스트 문제를 해결하다 보면, 프로젝트 경험에서는 알 수 없었던 해당 언어이 활용법을 더욱 잘 알게 된다. 코딩테스트는 단순하게 여러 알고리즘과 자료 구조를 외우고, 문제에 대한 답을 외우는 과정이 아니다. 그렇게 생각한다면 지루할 수 밖에 없다. 학습하는 자료 구조와 알고리즘은 여러 유명한 소프트웨어들이 어떻게 동작하는지를 파악할 수 있는 인사이트의 기반이 되는 것이다. 자바로 문제를 푼다면 어떻게 하면 문제를 더욱 자바답게 풀어낼 수 있을까? 단순히 자료 구조와 알고리즘을 다루는 것을 넘어서 Stream 활용, 클래스와 이터페이스 활용 등 자바를 자바 답게 다루는 것 코딩테스트를 개발자로서 성장할 수 있는 기회로 여기며, 앞으로 많이 활용하게 될 언어의 역량을 발전시키는 과정이라 생각해야 한다. .. HTTP(HyperText Transfer Protocol)이란? HTTP(HyperText Transfer Protocol)웹 상에서 클라이언트(주로 웹 브라우저)와 서버 간에 정보를 주고받기 위한 프로토콜이다. 웹 페이지, 이미지, 동영상, 텍스트 등 다양한 형태의 데이터를 전송하는 데 사용된다. HTTP는 비연결형(stateless) 프로토콜이며, 요청(Request)과 응답(Response)의 형태로 동작한다. 특징1. Stateless : 말 그대로 서버가 클라이언트 상태를 저장하지 X Stateful과 비교하자면Stateful손님: 노트북 모델 Z의 가격은 얼마인가요?직원: 100만원입니다.손님: 이 모델 2개 구매하겠습니다.직원: 총 200만원입니다. 현금으로 결제하실까요, 카드로 결제하실까요?손님: 카드로 결제하겠습니다.직원: 200만원 결제 완료되었습.. RESTful API 이란? REST(Representational State Transfer)란?자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것- 클라이언트와 서버 간의 상호작용을 규정- 여러가지 원칙과 제약 조건을 가진다.ex ) REST 상태를 가지지 않는 (stateless)통신, 캐시 가능한 응답 등 지향 1. HTTP URI를 통해 자원(Resource)을 명시2. HTTP Method(POST, GET, PUT, DELETE, PATCH 등)를 통해3. 해당 자원(URI) 에 대한 CRUD opration을 적용하는 것 REST 특징1. 자원 (Resource) : HTTP URI2. 자원에 대한 행위(Verb) : HTTP Method3. 자원에 대한 행위의 내용 (Representations) : H.. [ JAVA ] 추상화와 인터페이스란? 추상화란?복잡한 시스템의 세부 사항을 숨기고사용자에게 중요한 기능만을 노출 추상 클래스 (Abstract Class):추상 클래스는 일반 클래스와 유사하지만, 인스턴스화할 수 없다.하나 이상의 추상 메소드를 포함할 수 있다. 추상 메소드는 메소드 선언만 있고, 구현은 없다. 이를 상속받는 클래스에서 구체적으로 구현해야함추상 클래스는 공통의 기능을 여러 클래스에 공유하도록 하면서도, 일부 메소드만 각 클래스에서 구체적으로 정의할 수 있도록 한다. abstract class Animal { // 일반 메소드 void eat() { System.out.println("This animal is eating"); } // 추상 메소드 abstract void sound(.. 이전 1 2 3 4 5 다음