객체지향 프로그래밍
·
개발 하나둘셋/CS
개념정리 객체지향 프로그래밍이란? 자바에 대해 공부한 내용으로 자바의 정석 도서를 참고하였다. 1. 객체지향 언어의 역사 탄생 배경 : 모의실험을 위해 실제 세계와 비슷한 가상 세계를 컴퓨터 속에 구현 하고자 객체지향이론이 필요 개념 : 실제 세계는 사물(객체)로 이루어져 있으며, 발생하는 모든 사건들은 사물간의 상호작용이다 발전 : 상속, 캡슐화, 추상화 개념을 중심으로 점차 구체적으로 발전, 1960년대 중반 객체지향이론을 프로그래밍언어에 적용한 시뮬라(Simula)라는 최초의 객체지향언어 탄생 프로그램의 규모가 점점 커지고 사용자들의 요구가 빠르게 변화해가는 상황에 대한 대안으로 객체지향언어를 이용, 입지가 넓혀짐 2. 객체지향 프로그래밍 프로그램을 다수의 객체로 만들고, 이들끼리 서로 상호작용하도..
자바(Java) 이해하기 (자바의 특징, JAM)
·
개발 하나둘셋/Java & Spring
개념정리 자바(Java Programming Language) 이해하기 자바란? / 자바의 역사 / 자바언어의 특징 / JVM(Java Virtual Machine) 자바에 대해 공부한 내용으로 자바의 정석 도서를 참고하였다. 1. 자바란? 썬 마이크로시스템즈에서 1996년 1월 공식적으로 발표한 객체지향 프로그래밍 언어 꾸준히 새로운 버전을 발표하고 있으며, 모바일(J2ME)이나 대규모 기업환경(J2EE), XML 등 다양한 최신기술을 지원함으로써 활동영역을 넓혀가고 있음. 2. 자바의 역사 1991년 썬의 오크(Oak)라는 언어에서 시작됨 가전제품에 탑재될 소프트웨어를 목적으로 C++의 장점을 도입하고 단점을 보완한 새로운 언어로 오크를 개발 그 시대 인터넷의 등장으로 운영체제에 독립적인 오크를 인터..
Java 컬렉션 - list, set, map, stack, queue
·
개발 하나둘셋/Java & Spring
개념정리 컬렉션 - list, set, map, stack, queue 1. 컬렉션 인터페이스 List : 순서가 있는 데이터의 집합이며 데이터의 중복을 허용. → ArrayList, LinkedList, Stack 등 Set : 순서를 유지하지 않는 데이터의 집합이며 데이터의 중복을 허용. → HashSet, TreeSet 등 Map : 키(key)와 값(value)의 쌍으로 이루어진 데이터의 집합. 순서는 유지되지 않으며 키는 중복을 허용되지 않고 값은 중복을 허용 → HashMap, TreeMap 등 Stack : 마지막에 넣은 데이터를 먼저 꺼내는 자료구조. LIFO(Last In First Out) → Stack, ArrayDeque 등 Queue : 먼저 넣은 데이터를 먼저 꺼내는 자료구조. ..
[JAVA] 날짜 표시하기
·
개발 하나둘셋/Java & Spring
개발꿀팁 JAVA 날짜 표시하기 1. 현재 날짜/시간, 특정 날짜/시간 출력하기 LocalDate.now() / LocalTime.now()을 이용하여 오늘 날짜 현재 시간을 출력할 수 있다. LocalDate.of() / LocalTime.of()을 이용하여 특정 날짜 시간 출력 public class Main { public static void main(String[] args) { System.out.println("now()를 활용하여 생성"); LocalDate date = LocalDate.now(); //오늘 날짜 LocalTime time = LocalTime.now(); //지금 시간 LocalDateTime dateTime = LocalDateTime.now(); System.out...
[네트워크] 회원가입, 로그인기능 (해시함수 / JWT)
·
개발 하나둘셋/CS
개념정리 회원가입, 로그인기능 (해시함수 / JWT) 1. 해시함수(암호화 알고리즘) 알고리즘의 한 종류로서 임의의 데이터를 입력 받아 항상 고정된 길이의 임의의 값으로 변환해주는 함수 해시함수 SHA256은 어떤 길이의 입력값을 넣어도 항상 256바이트의 결과값이 나옴 동일한 입력값은 항상 같은 결과값이 나오고, 입력값은 조금이라도 달라지면 완전히 다른 값이 나오게되며, 결과값을 통해 입력값을 알아내는 것이 불가능 [ 회원가입 API ] post로 id, pw, nickname을 받아서, mongoDB에 저장 저장하기 전에, pw를 sha256 방법(=단방향 암호화. 풀어볼 수 없음)으로 암호화해서 저장 @app.route('/api/register', methods=['POST']) def api_r..
[네트워크] jinja2, API
·
개발 하나둘셋/CS
개념정리 jinja2 / API / 해시함수 / JWT 1. jinja2 Jinja2는 python flask 패키지에 내장된 템플릿 엔진이다. 개발자가 동적으로 변하는 웹 페이지를 쉽게 구현할 수 있도록 도와준다. 고정적으로 출력되어야 할 서식 html코드가 존재하고 동적으로 변해야할 자리는 jinja2문법으로 비워둔다. 이후 클라이언트가 웹 브라우저를 통해 엔드포인트에 접근하면 아까 비워둔 자리에 값을 설정하여 클라이언트에게 출력한다. 이처럼 고정적인 행위와 변해야할 행위를 쉽게 처리 할 수 있다는 장점이 있다. flask에 포함되어 있는 jinja를 사용 jinja의 template을 만드는 문법으로 flask의 render_template을 이용해서 data를 넘겨주고 html에서 해당 문법으로 ..
유리코딩