전체 글
[Apache] 아파치란 무엇인가? - 웹 서버 기본상식
웹 서버를 세팅하면서 제일 많이 들어보셨을 Nginx와 Apache에 대해 알아보는 시간을 가져보도록 하겠습니다. 먼저 이 두가지를 알기위해 웹 서버의 기본적인 상식부터 정리해봅시다. 웹 서버? 웹 서버라는 것은 우리가 가장 많이 이용하는 웹 브라우저와 같은 클라이언트들로 부터 HTTP요청을 받아들이고, HTML 문서와 같은 웹페이지를 반환하는 일종의 컴퓨터 프로그램입니다. 웹 서버에 주된 기능으로는 웹 페이지를 클라이언트로 부터 전달해주는 역할을 하는 것인데 주로 HTML, CSS , Javascript, Image(정적인 정보) 가 클라이언트로 전달됩니다. 주된 기능은 콘텐츠를 제공하는 것이지만 클라이언트로부터 콘텐츠를 전달 받는 것도 웹 서버의 기능중 하나이며 대표적인 웹서버는 llS, Apache..
[Ngnix] Nginx란 무엇인가?
Nginx란? Nginx란 일종의 경량 트래픽이 많은 웹사이트의 확정성을 위해 개발된 경량 웹 서버이다. 클라이언트로부터 요청을 받았을 때 요청에 맞는 정적 파일을 응답해주는 HTTP Web Sever로 활용되기도 하고, 또는 Reverse Proxy Server로 활용하야 WAS 서버의 부하를 줄일 수 있는 로드 밸런서로 활용되기도 한다. Nginx는 적은 자원의 사용으로 높은 성능과 높은 동시성을 목표로 만들어진 언어이다. Nginx가 등장하기 이전에는 Apach를 통해 웹서버로 많이 사용되었지만 점차 늘어나는 트랙픽들을 감당하기가 어려워진 상황이 되었고 C10K문제(하나의 웹 서버에 1만개 이상의 클라이언트 접속을 처리하지 못하는 문제) 가 발생하였고 이를 해결하기 위해서 러시아의 Igor Syso..
[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..
[Go] Go 언어 프로그래밍 입문 - Go는 어떤언어 인가?
1. Go 문법의 특징 Go문법의 주요 내용은 다음과 같습니다. Go 문법의 특징 변수와 상수 프로그램의 기본 흐름 제어(if, switch, for) 함수 패키지 시작 전에 기본적인 Go 선언 방법을 알아보자. // 1. 패키지 선언 pacakge main // 2.외부 패키지 임포트 import "fmt" // 3.main 함수 func main() { // 4. 외부 패키지 사용 fmt.Println("Hello World") } 1-1. Go 의 간결함과 유연함 Go는 문법 요소를 줄이고 유연함을 높였습니다. 그렇기에 적은 문법으로도 풍부한 기능을 구현할 수 있습니다. Go에서는 while문이 없기 때문에 for문만으로 반복을 표현할 수 있습니다. 또한 복잡한 if 문 대신에 switch문과 ca..
[Rust] Rust란?
러스트(Rust)라는 프로그래밍 언어는 "안전하고, 병렬적이며, 실용적인"언어로 디자인되었으며 동시에 Rust를 사용해서 효율적인 시스템 소프트웨어를 빌드할 수 있고 순수 함수형 프로그래밍,액터기반 프로그래밍, 명령형 프로그래밍, 객제지향 프로그래밍 스타일을 지원합니다. 개발자는 웹 서버, 메일 서버, 웹 브라우저와 같은 네트워킹 소프트웨어(Networking Software)에 Rust를 사용하고 있습니다. Rust는 컴파일러 및 인터프리터, 가상화 및 소프트웨어 컨테이너, 데이터 베이스 운영 체제, 암호화에도 사용됩니다. 임베디드 디바이스용 게임,명령줄 프로그램, 웹 어셈블리 프로그램, 어플리케이션을 빌드할 때에도 Rust를 사용할 수 있습니다. Rust는 C및 C++같은 기존 시스템 소프트웨어 언어..
[Flutter] 플러터 시작하기
간단하게 플러터 프로젝트를 생성해보고 실행하는 순서를 포스팅으로 작성해보겠다. 플러터 시작하기 1. 설치 Install Install Flutter and get started. Downloads available for Windows, macOS, Linux, and Chrome OS operating systems. docs.flutter.dev 먼저 플러터 홈페이지에서 프로그램을 설치해주자. 각각 OS별로 나뉘어져 있으니 현재 사용하고 있는 OS에 맞춰 설치해주면 된다. 플러터 외에 설치해줘야 되는 것들이 다양한데, flutter doctor 터미널에서 위 명령어를 입력해 무엇을 더 설치해야할지 알려주니 해당 사항에 맞게 설치해주면 된다. 다운로드 폴더에 앞축을 풀면 이렇게 풀리는데 flutter파..
[Flutter] Flutter란 무엇인가? Dart와의 연관성?
이번 시간에는 Flutter라는 것을 알아보는 시간을 가져보겠습니다. 1. Flutter란? Flutter는 그러니까 구글에서 개발한 오픈 소스 모바일 애플리케이션을 말하는데, Mobile World Congress 2018 에서 최초 베타 릴리스를 발표하면서 새롭게 소개된 Cross Flatform Mobile App(크로스 프랫폼 앱 개발 프레임워크)개발 프레임워크 입니다. 또한 개발자가 ios(아이폰)과 Android(안드로이드) 두 OS간의 고품질 기본 인터페이스를 제작하는데 도움을 주는 Cross Flatform FrameWork(크로스 플랫폼 프레임워크)라고 할 수 있습니다. 기존의 UI를 모두 버리고 자체적인 UI 렌더링을 하기 때문에 IOS 에서는 meterial 디자인과 ripple애니메..
[Vue] Vue & React의 차이와 장단점
들어가기전 그동안 React를 사용해서 프로젝트를 개발한 적이 많았다. 주로 React를 많이 사용한 것 같다. 하지만 요즘들어서는 Vue로 추세가 기울어지고 있고 필자도 조금더 트랜드한 코드방식을 선호하고 있다. React와 Vue를 설명하자면 이렇게 설명할 수 있다. React는 라이브러리고 Vue는 프레임워크다. 리액트는 UI라이브러리인데 라이브러리라는 참조가 쉽고, 라이브러리의 일부분만 가져와 사용하는 게 편리하다. 또한 리액트는 UI라이브러리이기 때문에 리액트 자체만으로 전역 상태 관리, 라우팅, 빌드, 시스템을 지원하지 않는다. 리액트에서 앞선 기능들을 사용하기 위해서는 Redux, Mobx같은 상태관리 라이브러리를 사용해야 한다. 반면 Vue는 프로그레시브 프레임워크인데, 이 부분을 설명하자..
[React] 간단한 결제시스템 만들어보기
프로젝트 개발시 간단하게 결제시스템을 이용해고 싶다면 결제를 대행해주는 담당사의 API를 가지고 만드실 수 있습니다. 이런 간단한 Pay를 추가하는 방법을 알아보겠습니다. React에서 App.js, Home/index.js 와 Payment/index.js를 다음과 같이 작성해보세요. App.js import React from 'react'; import { Switch } from 'react-router-dom'; import { Route } from 'react-router-dom'; import Home from './Home'; import Payment from './Payment'; function App() { return ( ); } export default App; Home/in..
[React Native] 리액트 네이티브 개발 시 참고할 만한 사이트
Home React Native Tutorial For Beginners - 2019 jeffgukang.github.io React Native의 기초를 알 수 있는 듀토리얼 페이지다. 이곳에서 간단한 TodoList를 만들어보고 기초 과정을 알아보자. Expo CLI를 이용한 React Native App 이 시리즈는 유데미의 React Native - The Practical Guide \[2020 Edition] 강의를 듣고 정리한 글입니다.Node 12 LTS 이상이 설치되어 있다고 가정하고 npm을 사용하여 Expo CLI 명령 줄 유틸리티를 설치할 수 있습 velog.io 안드로이드 에뮬레이터를 이용해서 연결하고 싶다면 이분의 블로거를 참고해서 만들어보는 것도 좋다. 안드로이드 에뮬레이터로 ..
[TIL] 2022년 02월 18일 - 쿠키와 로컬 세션 스토리지 , 장바구니 Basket
이번시간에서는 중고마켓에 적용될 장바구니를 구현하는 법과 쿠키 로컬 세션 스토리지의 상세한 강의를 들었다. 커리큘럼 아하! 이제 const {}, const [] 원리를 알겠어! 우와 무시무시한 타입이다! => generic 그냥 텍스트 말고, 웹 에디터로 꾸며줘 => Web-Editor 결제 API를 테스트할 신용 / 체크카드 준비됐지?! => lamport 지도를 연동해준다! 너무 쉰운걸?! => Map 목표 우와! 무시무시한 타입이 등장했다!! => Generic 변수 말고, 브라우저에 저장해봐 => Cookie / LocalStorage / SessionStorage 비회원 / 회원 전용 장방구니가 있다?! => Basket 브라우저 저장소 브라우저에는 3가지를 저장해주는 저장소가 존재하는데 Co..
[TIL] 2022년 02월 17일 - refecth 보다 더 좋은 것
React 25강 - Day5 이번 시간에는 지금까지 배워온 것 중에서 궁금한 것들을 알아보는 시간을 가졌다. 기존의 graphql에서 refetch를 사용했는데 사실 refetch는 좋은 방식이 아니다. refetch는 굉장히 쉬운 방식이었는데 성능적으로는 좋지 않기 때문에 이러한 문제점을 개선하는 방법을 알아보자. 목표 아하! 이제 const {} , const []의 원리와 차이를 알겠어!! => Destructing 객체에서 데이터를 삭제해보자!! => Rest-Parameter 뭐?! HOC는 원래 클래스 용이라구?! => custom-hooks refech는 사실 쉽지만 사용하기 불편해!!!~~ => writeQuery / readQuery 구조 분해 할당 이란? const child = { ..