백엔드
[Supabase] What is Supabase
기능이 풍부한 백엔드 제품군인 Supabase Supabase란 백엔드 서비스로 관리할 수 있는 백엔드 기능 세트라고 할 수 있다. 기능 세트란 "Google Cloud Platform"을 기반 으로 하는 Goggle제품인 Firebase와 매우 유사한 서비스로써 백엔드 환경에서도 실행할 수 있다. Firebase의 대안책이 될 수 있는 Supabase Supabase와 Firebase 둘 모두 핵심 기능이 많이 교차되는 부분이 있으며 Supabase는 Firebase의 대안으로 간주될 수도 있다. Supabase에서 제공되는 기능은 다음과 같은데 인증 관리 영구 저장용 데이터베이스 이미지, 비디오 또는 문서와 같은 파일을 위한 자산 저장소 서버리스 기능 등등이 있는데 보시다시피 가장 중요한 기능은 Su..
[NestJs] NestJs란?
NestJS 란? Nest JS는 자바스크립트 모듈인 Node(노드)의 Express와 같은 서버 프레임워크중 하나입니다. 그러나 express는 쉽게 서버를 만들 수 있는 반면에, 시스템 디자인 측면에서는 지원되는 항목이 거의 없습니다. 따라서 Nest JS는 nodejs의 서버 측 어플리케이션을 구축하기 위해서 제작된 프레임 워크로 Typescript기반의 OOP(Object Oriented Programming), FP(Functional Programming) FPR(Functional Reactive Programming)을 지원합니다. 다양한 디자인 패턴들이 적용되어 있고, 그 패턴에 맞도록 서버를 구성해줘야 합니다. typescript를 네이티브로 지원하고 데코레이터 클래스를 통해 다양한 기..
[BackEnd] 백엔드란? 백엔드의 공부 순서 정리
RoadMap 인터넷 인터넷이 작동하는 원리 인터넷은 어떻게 동작하는가? - Web 개발 학습하기 | MDN 이 글에서는 인터넷의 개념과 작동 원리에 대해 설명합니다. developer.mozilla.org [IT 기술] 인터넷의 작동원리 인터넷의 작동원리 안녕하세요. 개발자 개발 까마귀입니다. 오늘 알려드릴거는 인터넷의 작동원리에 대해서 알려드리겠습니다. 1. 인터넷이란? 여러분들이 편하게 쓰는 인터넷은 사실 오랜 역 development-crow.tistory.com HTTP란 무엇인가? 웹개념_HTTP통신 0. 웹 통신 1) 웹 통신 & Protocol 인터넷 상에서의 통신을 말함 많은 정보들이 주고 받기에 인터넷에 엄격한 규약이 존재함. 이것을 Protocol 이라 말함 2) 웹 Protocol ..
[PHP] PHP 설치
PHP를 세팅하려면 먼저 Apache 서버가 세팅되어야 합니다. 아래 글을 참고해서 Apache 세팅후 설치하시길 바랍니다. [Apache] Windows 10 64bit 환경 Apach 설치 및 설정법 이전 시간에는 아파치의 정의를 알아보았습니다. 그럼 이번에는 아파치를 세팅하는 방법을 알아보는 시간을 가져보겠습니다. 1. 아파치(Apache) 2.4 설치파일 다운로드 Apache VS16 binaries and modules down koras02.tistory.com 자 그럼 이제 PHP를 세팅하는 방법을 알아보도록 하겠습니다. PHP For Windows: Binaries and sources Releases PHP 7.4 (7.4.28) Download source code [23.58MB] D..
[PHP] PHP 정의
들어가기전 코딩교육 티씨피스쿨 4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등 tcpschool.com ※ 이 문서는 위 사이트의 최종 문서를 기준으로 설명하고 있는 글입니다. 각 버전마다 차이점이 존재할 수 있습니다. PHP란 무엇인가? PHP(PHP: Hypertext Proccesser PHP: 하이퍼텍스트 프리프로세서)라는 프로그래밍의 일종입니다. 본래의 기능으로는 동적인 웹 페이지를 만들기 위해 설계되었으며 이를 구현하기 위해서 PHP로 작성된 코드를 HTML 소스 문서안에만 넣으면 PHP 기능이 있는 웹 서버에서 해당 코드를 인식하여 작성자가 원하는 웹 페이지를 생성할 수 있습니다. 웹 시스템(web System) 우리가 매일 사용하고 있는 인터넷에는..
[Spring Boot] 스프링 부트란? 개념정리
Java를 이용한 웹 서비스를 개발하기 위해서는 Spring 이라는 용어와 Spring Boot라는 용어를 많이 듣게 됩니다. Spring과 Spring Boot이 각각의 개념과 차이점은 무엇일까요? 1. 스프링(Spring) 이란? Spring아란 자바를 기반으로한 웹 어플리케이션을 만들수 있는 프레임워크입니다. spring.io 사이트에서 확인하면 스프링 프레임워크는 현대 자바 기반의 엔터프라이즈 어플리케이션을 위한 프로그래밍 및 Configuration Modal을 제공한다 라고 언급하고 있습니다. Python(파이썬)을 이용해 Django(장고), Ruby(루비)를 이용한 Ruby on Rails, Javascript를 이용한 Node.js 기반의 웹 서버 개발과 같이 Java 개발자들은 Spri..
[Rust] Rust란?
러스트(Rust)라는 프로그래밍 언어는 "안전하고, 병렬적이며, 실용적인"언어로 디자인되었으며 동시에 Rust를 사용해서 효율적인 시스템 소프트웨어를 빌드할 수 있고 순수 함수형 프로그래밍,액터기반 프로그래밍, 명령형 프로그래밍, 객제지향 프로그래밍 스타일을 지원합니다. 개발자는 웹 서버, 메일 서버, 웹 브라우저와 같은 네트워킹 소프트웨어(Networking Software)에 Rust를 사용하고 있습니다. Rust는 컴파일러 및 인터프리터, 가상화 및 소프트웨어 컨테이너, 데이터 베이스 운영 체제, 암호화에도 사용됩니다. 임베디드 디바이스용 게임,명령줄 프로그램, 웹 어셈블리 프로그램, 어플리케이션을 빌드할 때에도 Rust를 사용할 수 있습니다. Rust는 C및 C++같은 기존 시스템 소프트웨어 언어..
[MySQL] SQL과 NoSQL의 차이
웹 개발을 할때 가장 고민할만한 것은 바로 데이터베이스를 선택할때라고 볼 수 있다. MySQL과 같은 SQL을 쓸까? MongoDB와 같은 NoSQL을 쓸까? 보통 Spring에서는 MySQL을, Node.js에서는 MongoDB를 주로 사용할 것이다. 하지만, 그냥 단순히 프레임워크에 따라서 결정하는 것은 아니다. 프로젝트를 진행하기 앞서서 적합한 데이터 베이스를 택해야 한다. 둘의 차이점을 알아보기전 MySQL은 뭐고 SQL은 무엇인지 알아보자. SQL(Structured Query Langauge 관계형 DB) SQL은 RDBMS(관계형 데이터 베이스 관리 시스템)의 데이터를 관리하기 위해서 설계된 프로그래밍 언어로 NoSQL보다는 좀 더 오래되고 많이 사용되어 왔다. SQL의 예시로 MySQL 과..
[JAVA] JAVA란 무엇인가?
Java란? Java는 프로그래밍 언어 중 하나로 컴퓨터 프로그램(애플리케이션)을 만드는 데 사용된다. 쉽고 빠르게 애플리케이션 개발을 할 수 있게 해주는 프로그램이다. 어디에 사용되고 있나? 자바의 용도와 실행 환경에 따라 자바로 다양한 프로그램을 만들 수 있다. 애플리케이션: 우리가 흔히 사용하는 데스크톱 응용 프로그램을 작성한다. 성능상의 약점이 있지만 간단한 프로그램은 자바로도 충분히 만들 수 있다. 애플릿: 웹 브라우저에서 역동적으로 실행되는 작은 자바 프로그램이다. 현재는 다른 대안이 많이 사장되었지만 초기에 자바를 대중화하는데 큰 역할을 했다. 웹 응용 프로그램: 기업용 웹 애플리케이션 제작에 사용한다. 생산성이 높아 시시각각 변하는 기업의 요구에 신속하게 대응할 수 있다. JSP & 서블릿..
[MongoDB] mongoDB란?
이번시간에는 데이터를 저장하는 데이터베이스 역할을 해주는 mongoDB에 대해 알아보겠습니다. 웹서비스의 역할을 제대로 수행하기 위한 데이터를 저장하고 필요할때 열람해주는 것이 있어야하는데 이번 시간에 배울 mongoDB를 node.js에서 사용하게 해주는 mongoose라는 노드의 확장모듈을 배워보겠습니다. mongoose란, mongoDB라는 NoSQL, 데이터 베이스를 지원하는 노드의 확장 모듈입니다. mongoose는 mongoDB의 ODM입니다. ODM은 Object Document Mapping의 약자로, 문서를 DB에서 조회할 때 자바스크립트 객체로 바꿔주는 역할을 해줍니다. mongoDB의 ODM에서는 mongodb-native등 여러가지가 있지만 그중 mongoose가 가장 많이 사용됩니..
[MySQL] MySQL 이란?
MySQL MySQL은 가장 널리 사용되고 있는 관계형 데이터베이스 관리 시스템이다. (RDBMS) MySQL은 오픈소스로, 다중 사용자와 다중 스레드를 지원한다. C,CPP,JAVA,PHP 등 여러 프로그래밍언어를 위한 다양한 API를 제공한다. MySQL은 윈도우, 리눅스 등 다양한 운영체제에서 사용가능하고 Apache, PHP와 함께 웹개발에 자주 사용된다. APM의 M MyQL or (MariaDB) 등 Apache, PHP와 호환성이 좋기에 사용된다. MySQL은 오픈 소스 라이선스를 따르지만, 상업저긍로 이용시에는 반드시 상업라이센스를 필수로 구매해야 한다. DataBase 데이터 베이스란? 데이터의 저장소 또는 통합해 관리되는 데이터의 집합체를 의미 중복 데이터 제거, 자료 구조화, 효율적 ..