전체 글 162

[Node.js] Node.js CJS로 간단한 HTTP 서버 만들기

Node.js를 이용해 웹 서버를 만드는 것은 생각보다 간단하다.Node.js의 CommonJS(CJS) 모듈 시스템을 활용해 코드 한두 줄로 웹 서버를 구현할 수 있다.CJS 방식을 사용해 간단한 HTTP 서버를 만드는 방법을 알아보자! 1. CommonJS(CJS)란?Node.js는 자바스크립트를 서버에서 실행할 수 있게 해주는 환경이고, 기본적으로 CommonJS(CJS)라는 모듈 시스템을 사용한다. CJS 방식에서는 require로 모듈을 가져오고 module.exports로 내보낸다. 이는 Node.js 초기부터 사용되어온 방식이라 많은 프로젝트에서 사용된다. 2. HTTP 모듈로 서버 만들기Node.js에는 HTTP 서버를 쉽게 만들 수 있는 http 모듈이 있다.이 모듈을 사용해 요청(req..

Node.js 2024.11.05

[Node.js] Node.js 의 특징 : 확장성

Node.js 는 개발 환경에서 프로젝트 자체의 확장을 쉽게 할 수 있는 특징이 있다. 이것이 가능한 이유는 Node.js 에서 제공하는 NPM (Node Package Manager) 라는 툴이 있기 때문npm은 Python 의 pip, Ruby 의 gem 과 같이 설치, 삭제, 관리를 통합적으로 도와줄 수 있는 도구이다. npm 을 사용하게 되면 다양한 내부, 외부 모듈을 사용할 수 있다.이 말은 필요한 기능들이 미리 구현되어 있는 경우가 많고 이 기능을 내가 가져다 쓰기가 편리하다는 것을 의미한다. Node.js 는 npm 외에도nvm, npx, yarn 등 다양한 툴이 사용 가능하다.  npm vs. nvm vs. npx vs. yarn 1. npm(Node Package Manager)Node...

Node.js 2024.11.05

[Node.js] Node.js 의 특징 : 구조

Node.js에 구조에 따라서 생기는 특징에 대해서 알아보자 구조의 종류에는 1. Single Thread2. Non-blocking I/O 첫번째 Single Thread 의 의미는어떠한 작업을 처리하는 곳이 하나라는 것을 의미한다.자바스크립트에 대한 속성을 그대로 가져왔다고 이해해도 무리가 없다. 두번째는 Non-blocking I/O 이다.쉽게 얘기하면 어떤 작업들이 연달아 있을 때 작업이 실행되는 순서가 요청이 들어온 순서가 아닌먼저 끝나는, 짧은 작업들이 리턴이 되는 것을 의미한다.  이 두가지 특징을 보면작업하는 공간이 하나인데 먼저 끝나는 작업을 먼저 돌려줄 수 있는 것인가에 대한 의문이 생길 수 있다.의문을 해결하기 위해 Node.js의 구조를 조금 더 자세히 살펴보자 위 그림에 나와있듯 ..

Node.js 2024.11.05

[Node.js] Node.js 란?

Node.js 란 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임 Chrome V8 엔진과 JavaScript 런타임 이라는 용어를 이해하지 못하면Node.js 에 대해 제대로 이해하기가 어렵기 때문에 먼저 이 2가지를 알아보자! 그 전에 웹 브라우저의 동작 과정에 대해 이해하는 것이 좋다 우리가 일반적으로 보게 되는 웹 화면은 HTML, CSS, JavaScript 이 세가지로 이루어져 있다이 세가지는 브라우저를 통해서 해석된 후 화면으로 출력되게 되는데 이 과정을 "렌더링" 이라고 표현한다. 그런데 HTML,CSS 와 JavaScript 는 브라우저에서 해석되는 방법의 차이가 있다. 먼저 HTML, CSS 는 브라우저 내에 있는 렌더링 엔진을 통해서 해석자바스크립트의 ..

Node.js 2024.11.05

Firebase 채팅 기능 구현

파이어베이스 스토리지, 리얼타임 데이터베이스채팅에서 쓸 서클이미지뷰, 이미지 전송을 위한 글라이드를 사용하기 위해 build.gradle app 에 추가 상단 build.gradle 프로젝트에 추가 manifest인터넷 연결과스토리지 사용  파이어베이스 사용 위해서 받은 json 파일 앱 수준으로 추가  채팅을 저장할 리스트 이미지 저장을 위한 파이어베이스 스토리지와채팅을 위한 파이어베이스 리얼타임 데이터베이스를 참조하는 참조 변수 선언 DatabaseReference myRef;는 Firebase Realtime Database의 특정 경로를 참조하기 위한 변수 DatabaseReference는 Firebase Realtime Database에서 데이터 읽기, 쓰기, 업데이트, 삭제 등의 작업을 수행하..

- 2024.06.21

[Android Studio] AlertDialog array로 사용

strings.xml 파일에 array를 만들어 사용 카메라로 사진찍기 앨범에서 가져오기  알러트 다이얼로그를 사용할 액티비티에 함수로 만들어 사용private void showDialog(){ AlertDialog.Builder builder = new AlertDialog.Builder(AddActivity.this); builder.setTitle(R.string.alert_title); builder.setItems(R.array.alert_photo, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInter..

Android Studio 2024.06.18

[Android Studio] 안드로이드 Retrofit 라이브러리 사용하기

Retrofit은 Android 및 Java에서 REST API 호출을 쉽게 할 수 있도록 도와주는 HTTP 클라이언트 라이브러리 라이브러리를 사용하기위해 임포트 공식 홈페이지에 있는 버전 확인, build.gradle파일의 dependencies에 아래 코드 입력 implementation("com.squareup.retrofit2:retrofit:2.11.0")implementation("com.squareup.retrofit2:converter-gson:2.11.0")implementation("com.squareup.okhttp3:logging-interceptor:4.12.0")   Body에 Json으로 데이터를 보낼 클래스public class User { private String e..

Android Studio 2024.06.13

[Android Studio] YouTube API 사용하기 위한 API 키 생성

https://developers.google.com/youtube/v3/getting-started?hl=ko) YouTube Data API 개요  |  Google for Developers이 페이지는 Cloud Translation API를 통해 번역되었습니다. YouTube Data API 개요 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 소개 이 문서는 YouTube와 상호작용하developers.google.com위 링크에 들어가 참고해서 하자 구글 계정 필요  구글 클라우드의 API 및 서비스로 가서 프로젝트 선택(없다면 생성)하고API 및 서비스 사용 설정 클릭  API 검색 관리 자리에 있을 사용을 클릭!! (이미 만들었기 때문에 관리라고 나옴) 그 후..

카테고리 없음 2024.06.12

[Android Studio] 이미지 로딩 라이브러리 Glide

Glide 는 안드로이드 애플리케이션에서 이미지 로딩과 디스플레이를 쉽게 해주는 라이브러리 사용하기 위해 임포트 => build.gradle.kts 에 아래 코드 추가 => Sync nowimplementation ("com.github.bumptech.glide:glide:4.16.0")  사용방법은 간단public class ThumbnailActivity extends AppCompatActivity { ImageView imgPhoto; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.a..

Android Studio 2024.06.12