본문 바로가기

전체 글36

변수/상수, 자료형, 자료형 변환 상수(constant): 고정된 값 변수(variable): 값을 저장하기 위한 영역(공간적 개념) 자료형(type): 값을 저장하기 위해 변수를 선언할 때 입력해야 하는 자료의 유형 자료형(Type) 기본형(primitive) 숫자형 정수형(integer) 실수형(double, float) 문자형(character) 논리형 논리형(boolean) 참조형(reference) 클래스(Class) 인터페이스(Interface) 나열형(Enum) 배열형(Array) *기본형과 참조형의 차이점: 기본형은 변수에 값을 저장하는 반면, 참조형 변수는 어떤 값이 저장 되어 있는 주소를 값으로 갖는다. *변수에 값을 넣기 위해서는 항상 값을 넣을 공간인 변수를 먼저 선언해야 한다 ex) int a=10; → int 타.. 2020. 7. 10.
클래스, 자바소스코드, 컴파일, cmd명령어 1. Java -완전한 객체지향 프로그램으로 클래스(객체, 인스턴스) 안에 구성된 메소드를 호출하여 원하는 프로그램을 만든다 >> 추상화 -단위: Class *Class -필드와 메소드(Statement)로 구성되며 명령은 메소드 안에 있어야 실행 가능하다 *컴파일(Compile) -자바 소스코드로부터 기계어를 생성하는 작업. 좀 더 쉽게 말하자면 개발자가 입력한 소스코드를 바이너리 코드로 변환하는 과정을 말한다(목적파일이 생성됨) Java Source Code(*.java) "컴파일" → 파일변환이 아닌 파일생성! 기계어(*.class) public class FirstJava{ public static void main(String[] args){ System.out.println("Welcom to.. 2020. 7. 10.
Spring Framework 1. Framework -뼈대나 구조를 제공 → 개성보다는 정형화된 구조로 기존 프로그램을 쉽게 작성할 수 있다. -최적화 되어 있는 상태이기 때문에 생산성 및 성능이 우수하다 → 유지보수가 용이함. -필요한 정보는 *메타 데이터(주로 XML[properties 가능])를 통해 제공 -컴포넌트의 모임으로 쉽고 빠르게 구현 가능 2. Spring Framework(Container) : 계층구조 - 엔터프라이즈 / 확장밥법 - 화이트 박스 / 처리영역 - 통합(비즈니스, 퍼시스턴스, MVC까지 모두 지원가능) 특징 1) 프로그램이 가볍다 2) IoC(Inversion of control): 제어의 역행(객체 생성 및 관리), 어플리케이션의 느슨한 결합을 도모 → 유지보수 효율성 증가 3) AoP(관점지향 .. 2020. 7. 10.
Java의 개요 1. 프로그래밍 언어 C 기계 제어 IoT의 발전과 함께 원격 제어를 위해 각광받는 언어 COBOL 은행 / 증권사 / 금융 관련 보안이 우수 → 메인 프레임 서버(단독 서버)를 사용하는 언어 Java 웹, 인터넷 브라우저에 가장 특화 R 분석, 빅데이터 Python 웹, 어플, 빅데이터 등 효율성을 위해 각각의 사용처에 특화되었으며, 언어마다 특화된 부분과 문법은 다르다. 이외에도 다양한 언어가 있다 2. Java Application JAVA Desktop Application CUI(콘솔) GUI(아이콘): Graphic UI라는 뜻으로 Windows 화면에서 클릭하는 사용자 중심의 UI Web Application Servlet: JSP / 대형 시스템에 적합 Adroid Application 실.. 2020. 7. 9.
IFTTT(If This Then That) IFTTT란? "이 조건이라면, 그 동작을 해!" IFTTT의 이름은 프로그래밍 조건문 “if this, then that”에서 파생됐다. 정확히는 자동화 서비스로 2개의 서비스를 연결해서, 한 서비스에 무언가 발생하면 그 이벤트에 따라 다른 서비스에 지정한 동작이 자동으로 실행 되도록 해주는 서비스다. 작동 방식 IFTTT의 자동화(automations)는 여러 개의 앱을 연결하는 일종의 매크로(Macro)인 애플릿을 통해 달성한다. IFTTT의 웹 또는 모바일 앱(그리고/또는 모바일 앱의 IFTTT 위젯(Widget))을 이용해 애플릿을 켜거나 끌 수 있다. 또한 자신만의 애플릿을 생성 하거나 IFTTT의 간단한 인터페이스를 이용해 기존의 것을 변형할 수 있다. 채널(Channel: 서비스를 제공하는.. 2020. 6. 26.
Java Applet 개념 자바 애플릿은 응용을 뜻하는 application과 작다는 의미의 접미사 let을 조합한 합성어로 자바 언어로 작성된 소프트웨어를 뜻하는데 컴퓨터 사용자가 별도로 서버에 요청을 하지 않아도 수행할 수 있도록 단순한 애니메이션, 시계나 달력 같은 간단한 작업 등을 웹 상에서 실현하게 해 주는 응용 프로그램들이 자바 애플릿이다. 특징 자바 애플릿은 사전에 컴파일 후 웹 서버에 등록해 두게 되는데 웹의 표준 데이터 형식인 하이퍼텍스트 생성언어(HTML)로 작성한 문서에 애플릿이라는 태그를 사용하여 자바 애플릿을 지정한다.자바 애플릿을 구동하기 위해서는 자바 가상 머신(JVM)을 내장한 웹 브라우저가 필요한데 브라우저는 문서 속에 애플릿이라는 태그가 있는 경우 지정된 자바 애플릿을 웹 서버에서 다운로드해 .. 2020. 6. 26.
로드밸런서(Load Balancer) 개념 서버에 가해지는 부하(Load)를 분산(Balancing)해주는 장치 또는 기술. 클라이언트와 Server Pool(분산 네트워크를 구성하는 서버들의 그룹) 사이에 위치하며, 한 대의 서버로 부하가 집중되지 않도록 트래픽을 관리해 각각의 서버가 최적의 퍼포먼스를 보일 수 있도록 보일 수 있도록 한다. "그렇다면 로드 밸런싱은 항상 사용하는 것이 좋을까?" 서비스 제공 초기 단계라면 적은 수의 클라이언트로 인해 서버 한대로도 요청에 응답하는 것이 가능하다. 하지만 사업 규모가 확장되고, 클라이언트의 수가 늘어나면 기존 서버만으로는 원활한 서비스가 이루어질 수 없게 된다. 이때 대처할 수 있는 방법은 크게 두 가지다. Scale-up: 서버 자체의 성능을 확장하는 것. Scale-out: 기존 서버와 .. 2020. 6. 26.
FCM(Firebase Cloud Messaging) FCM이란? FCM (Firebase Cloud Messaging)은 서버 응용 프로그램과 모바일 클라이언트 앱 간에 메시지의 전송, 라우팅 및 큐를 처리 하는 플랫폼 간 서비스다. FCM는 GCM (Google Cloud Messaging의 후속작)이며 Google Play 서비스를 기반으로 제공되고 있다(iOS에서도 제공중) FCM의 유래는 FCM 이전에 제공되었던 서비스인 GCM의 새버전을 의미하는데 Google이 아니라 Firebase에 속하기 때문에 GCM이 아닌 FCM이 됐다. GCM의 주요 구조를 그대로 가지고 있으며 안드로이드, iOS, Mobile Web 등의 다양한 플랫폼을 커버한다. 이처럼 Google에서는 Google Cloud를 이용한 Push 서비스 기반을 GCM으로 닦아왔고, .. 2020. 6. 26.
OAuth2.0 개념 웹, 모바일 어플레케이션에서 API를 사용하고 싶을 때 권한 획득을 위한 프로토콜(Protocol) 역할 로그인에서부터 각종 API를 보다 안전하고 편하게 사용하게 해줌 ex) "facebook으로 로그인", "Naver로 로그인", "Google로 로그인" 이러한 기능으로 특정 서비스에 대한 회원가입 과정을 거치지 않고 기존에 사용하던 서비스들의 계정으로 로그인을 진행할 수 있다. 이것이 OAuth2.0의 장점 중 하나. 간단하게 과정을 살펴본다면 위의 버튼들을 클릭하여 로그인을 진행하다보면 타사 서비스(Google, facebook)에 로그인이 되어있지 않다면 먼저 로그인을 요구하는 입력창이 나올 것이고, 로그인을 한 후에는 권환 획득에 관한 수락을 요구하는 창이 뜬다. 이러한 과정들을 거쳐 로.. 2020. 6. 22.