--전체 보기-- 117

Servlet과 JSP 차이

■ 개념 ㅇ Servlet : 서블릿(servlet)은 서버에서 웹페이지 등을 동적으로 생성하거나 데이터 처리를 수행하기 위해 자바로 작성된 프로그램이다. Java코드 안에 HTML태그가 삽입되며 자바언어로 되어있다는 특징이 있다('.java'가 확장자이다). 자바언어를 웹어플리케이션에 조금 더 개발하기 쉽게 하기 위해 만든 API(라이브러리, 클래스 들)이며 이 규약에 맞는 라이브러리나 클래스들을 상속 및 구현하여 만든 클래스를 '서블릿'이라고 한다. Java 코드 안에 HTML 코드 (하나의 클래스) data processing(Controller)에 좋다. 즉 DB와의 통신, Business Logic 호출, 데이터를 읽고 확인하는 작업 등에 유용하다. Servlet이 수정된 경우 Java 코드를 ..

소셜 로그인의 특징 (부제: 기업 관점의 개인정보 리스크를 감수하는 이유)

■ 소셜 로그인(social login)이란? : 포털, 사회관계망서비스(SNS) 가입자가 해당 ID로 다른 웹사이트나 애플리케이션에 접속하는 기능으로 새로운 사이트를 기존 보유하던 SNS 계정으로 손쉽게 가입할 수 있다는 점에서 빠르게 확산되고 있다. 한국에서 사용되는 대표적인 소셜 로그인의 뿌리 계정으로는 구글, 페이스북, 트위터, 애플, 네이버, 카카오, 삼성 등이 있다. (= Social Sign-in, Social Sign-on) ■ 사용자 관점 ㅇ 장점 1) 회원가입 간소화 : 기존 가입했던 정보를 연동하여 쉽고 빠르게 계정을 생성한다. 2) 일관된 로그인 방식 : 업체마다 상이한 계정/pw기준에 따라 매번 변경하여 생성/관리해야하는 대신 하나의 SNS 계정으로 여러 서비스를 이용한다. ㅇ 단..

etc 2022.02.01

[항해 5기] 3주차 Week I Learned (DI/IoC/Bean)

[이번 주차의 테마는 '숙련'] 이번 일주일(1/21~1/27)은 2주차에 비해 더 힘들다고 느끼지 못했음에도 불구하고, 지금까지의 항해 기간 중 체감상 가장 짧았다. 아마 주특기 입문으로 해야 할 일이 많아서 그렇지 않았나 추측한다. 아직 만족할 만한 성장을 이루진 못했지만, 조급해하지 않고 내 페이스대로 항해에 참여하고자 한다. ■ DI(Dependency Injection)란? : 의존성 주입(or 의존관계 주입)은 필요한 객체를 직접 생성하는 것이 아닌 외부로부터 필요한 객체를 받아서 사용하는 것이다. 아래의 경우, 'A2객체인 부품(Dependency)에 B객체인 부품을 조립(Injection)한다'라고 해석 하면 좀 더 이해가 쉬울 수 있다. ㅇ 예제 A1은 객체가 생성될 때 B객체도 같이 직..

5장. 컴퓨터 아키텍처와 운영체제

■ 가상 메모리 운영체제(OS)는 하드웨어 자원을 사용하는 프로그램의 자원 분배를 관리한다. 메모리 역시 OS가 관리하는 자원이다. OS는 *MMU를 사용해서 사용자 프로그램에게 가상 메모리(Virtual Memory)를 제공한다. * MMU (Memory Management Unit)란? : CPU코어 안에 탑재되어 가상 주소를 실제 메모리 주소로 변환해주는 장치 요청받은 메모리가 사용 가능한 메모리보다 클 경우, OS는 현재 필요하지 않은 메모리 페이지를 디스크로 옮기며 이를 스왑 아웃(Swap-Out)이라 한다. 이후 스왑 아웃한 페이지에 프로그램이 접근할 경우, OS는 필요한 메모리 공간을 확보하고 요청받은 페이지를 다시 메모리로 불러들이는데 이것을 스왑 인(Swap-In)이라 부른다. 이러한 처..

Rest API의 put과 patch의 차이

■ Rest의 정의 put과 patch의 차이를 정확하게 알아보기 앞서 Rest의 의미를 알아보자. Rest는 “Representational State Transfer”의 약자로 자원(resource)의 표현(representation) 에 의한 상태 전달이라고 볼 수 있다. 즉, HTTP 통신에서 특정 자원에 대한 요청을 Resource와 Method로 표현하여 특정한 형태로 응답하는 것을 의미한다. 여기에서 표현되는 Method에 우리가 궁금해하는 'put'과 'patch'가 있다. ■ put과 patch의 차이 구분 기능 개념 *멱등성 POST Create 데이터 등록 X GET Read 데이터 조회 O PUT Update 데이터를 대체 (또는 새로운 데이터를 생성) O PATCH Update 데..

2장. 전자 회로의 조합 논리_ 디지털 컴퓨터의 사례

■ 디지털 컴퓨터의 사례 ㅇ 안티키테라(Antikythera Mechanism) : 1901년, Αντικυθηρα섬 앞바다에서 발견된 장치로 처음에는 시계의 일종이라고 여겨졌다. 그러나 학자들의 오랜 연구로 이것은 단순한 시계가 아니라 태양과 달을 비롯한 태양계 행성(수성, 금성, 화성, 목성, 토성)들의 움직임, 일식과 월식의 예측까지 가능했던 것으로 밝혀졌으며, 이는 고대 그리스 천문학이 총망라된 계산기라고 볼 수 있다. ㅇ ABC(Atanasoff-Berry Computer) : 1937년~1942년, 이진연산능력과 논리회로를 갖춘 진공관 컴퓨터가 만들어졌다. ABC는 약 280개의 진공관으로 이루어진 논리회로와 입력장치인 천공카드 판독기, 이진 bit 를 저장하기 위한 자기드럼 메모리로 구성되어..

JPA란?

ㅇ JPA(Java Persistence API)란? : 자바 ORM 기술에 대한 표준 명세로, JAVA에서 제공하는 API이다. (스프링에서 제공하는 것이 아님) *ORM이기 때문에 자바 클래스와 DB테이블을 매핑한다. (SQL을 매핑하지 않는다) * ORM이란? : 객체와 DB의 테이블이 매핑을 이루는 것을 말한다. 즉, '객체'가 '테이블'이 되도록 매핑 시켜주는 것이다. ORM을 이용하면 SQL Query가 아닌 직관적인 코드(메서드)로서 데이터를 조작할 수 있습니다. ㅇ JPA장점 (사용하는 이유) 1) 생산성 : 개발자가 일일히 CRUD용 쿼리를 작성해 줘야하던 Mybatis와 같은 Mapper방식은 컬럼이 추가되면 수정해 주어야 하는 부분이 상당히 많았다. 이로 인해서 자바를 사용하지만 객체..

알고리즘 테스트2

public class Main { public String solution(String phone) { ////////////////////////////////////////////////////////////////////////////////// if(phone == null || phone == "") return "핸드폰번호 확인요망"; // 공란이나 null값일 경우 리턴메시지 송출 String answer = ""; String num1 = "0"; // 문자열 "0" 선언 String num2 = phone.substring(0,2); // 1~2번째 번호 추출 String num3 = phone.substring(2,6); // 2~5번째 번호 추출 String num4 = phone...