BackEnd 7

[node.js] NODEJS-FCM 알림

기존에 진행하고 있는 졸업작품에 앱에 알림을 띄워주기 위해서 따로 Firebase의 Notification을 구상하기로 했다. 알림이 쓰이는 곳은 크게 두 가지이다. 1. 공지사항 작성 후 push 버튼을 눌러 알림 보내기 2. AI 분석 서버에서 해당되는 Data 값에 맞게 알림 보내기 동작 방식 Firebase 설정 1. Firebase 회원 가입 2. 프로젝트 추가 3. 애널리틱스 설정 4. 애널리틱스 구성 5. Firebase 앱 내부 화면 6. [프로젝트 설정] - [서비스 계정] 여기까지 진행하면 서버에서 앱과 통신하기 위한 Firebase 설정이 끝난다. Node.js 1. [Config] - [pushConn.js] const adminAndroid = require('firebase-ad..

BackEnd/Nodejs 2022.08.04

Sokcet.io + 간단한 실시간 채팅 구현

Socket.io 란? 기존 웹 소켓은 HTML5 기술이라서 오래된 버전의 웹 브라우저는 웹 소켓을 지원하지 않는다. Socket.io는 node.js 기반으로 만들어진 기술로, 거의 모든 웹 브라우저와 모바일 장치를 지원하는 실시간 웹 애플리케이션 지원 라이브러리이다. 100% 자바스크립트로 구현되어 있으며, 현존하는 대부분의 실시간 웹 기술들을 추상화했다. 다시 말해, Socket.io는 자바스크립트를 이용하여 브라우저 종류에 상관없이 실시간 웹을 구현할 수 있도록 한 기술이다. Socket.io 시작하기 [ Server ] Socket.io 시작하기 [ Client ] 풀링 방식과 웹 소켓 방식 둘 다 찍히는 모습을 확인할 수 있다. 간단한 실시간 채팅 만들기 [ Server ] chat 메서드에 ..

BackEnd/Nodejs 2022.08.04

웹 통신 방식의 변화

HTTP란? HTTP 통신은 서버와 클라인트가 서로 데이터를 주고 받기 위해 사용되는 통신 규악이다. HTTP는 사용자가 URL을 요청할 때에만 서버에서 해당 페이지를 꺼내주는 형식이다. 위 그림과 같이 초기에는 HTTP 통신을 하여 페이지 전체를 보내주는 방식으로 진행했다. 위 처럼 연결을 하다보면 매번 새로운 연결을 시도/해제의 과정을 거쳐야하므로 연결/해제에 대한 오버헤드가 발생한다는 단점이 있다. 단점을 보완하기 위해 AJAX 통신 방식이 나왔다. AJAX란? AJAX는 HTTP를 효과적으로 이용하는 기술이다. AJAX는 이벤트로부터 DOM을 읽고 XMLHttpRequest 객체에 요청한 값을 전송한다. 웹 서버는 해당 요청을 처리하고 XML, TEXT, JSON을 XMLHttpRequest 객체..

BackEnd/Nodejs 2022.08.04

Node.js 시작하기

https://nodejs.org/ko/ Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org 먼저, Node.js 공식 홈페이지에 가서 현재 안정적, 신뢰도가 높은 16.15.0 LTS 버전을 다운로드 받는다. Window의 cmd에서 node 명령을 치면 REPL 환경으로 접속이 가능하다. REPL 이란? 1. Read : 유저의 입력 값을 받아서 메모리에 저장 2. Eval : 입력 값의 평가, 실행 3. Print : Eval로 인해 반환된 값을 출력 4. Loop : 1 ~ 3 반복 REPL 특징 - 변수 사용 (var x = 0) - Multi_line 표현식 사용 (do, while..

BackEnd/Nodejs 2022.05.16

Flask 시작하기

flask docs에서 Flask는 Werkzeug와 Jinja2 라이브러리에 의존적이다. Werkzeug는 웹 어플리케이션과 다양한 서버 사이의 개발과 배포를 위한 표준 파이썬 인터페이스인 WSGI를 구현한 툴 킷이다. Jinja2는 HTML 템플릿을 렌더링하는 템플릿엔진이다. Docs에서는 다양한 파이썬 환경에서 사용할 경우를 대비해 가상환경에서 Flask를 실행하는 것을 권장하지만 기본적인 구조를 알기 위해 Local에서 진행한다. 가상 현실 진행을 원한다면 https://flask-docs-kr.readthedocs.io/ko/latest/installation.html#virtualenv 에서 window와 linux, mac OS 에 맞는 진행을 하면 된다. from flask import F..

BackEnd/Flask 2022.04.26

Spring 프로젝트 생성 시 각 속성들 정리

Language - 개발 언어 : JAVA / Kotlin / Groovy JAVA : 객체 지향 언어로 개발된 프로그래밍 언어이다. 자바는 자바 가상 머신(JVM) 을 사용하여, 운영체제와는 독립적으로 동작 할 수 있다. Kotlin : Jetbrain에서 만든 프로그래밍 언어이다. 코틀린은 자바를 대체하는 언어이다. Intellij, Android Studio 에서 코틀인을 완벽하게 지원한다. 호환성 - Kotlin은 JDK6와 완벽하게 호환 가능하다. - 구형 안드로이드 기기 지원이 된다. - Android Studio에서 지원이 되는 언어이기 때문에 안드로이드의 빌드 시스템과도 완벽히 호환된다. 성능 - 코틀린은 자바만큼 빠르다 Groovy : 그루비 코드 중에 일부분은 자바와 똑같이 생겼다. 때..

BackEnd/Spring 2022.03.10

Intellij에서 Spring 시작하기 (Gradle)

먼저, Intellij를 시작하면 New Project 를 눌러 생성 화면을 만들고 Spring Initializr를 생성 Name : 프로젝트 명 Location : 프로젝트를 구성할 파일 경로 Type : 빌드 자동화 도구 ( Maven / Gradle ) Gradle로 선택해서 진행 Language : 개발 언어 Java로 진행 나머지 값들은 기본 값들로 진행 Jar와 War의 차이는 다음 포스트에서 다루겠습니다. Next 버튼을 눌러 Dependencies 설정하기 기본적으로 Web을 구성할 것이기 때문에 Spring Web만 받아온 후 Finish를 누르면 프로젝트가 생성됩니다. 프로젝트가 생성된 화면 모든 라이브러리 다운로드가 끝나면 좌측 Project 의 demo -> build.gradle..

BackEnd/Spring 2022.03.08