728x90 반응형 전체 글 보기164 GraphQLServer with C# - Settings - Program.cs using GraphQLTestServer; var builder = WebApplication.CreateBuilder(args); builder.Services.AddSingleton() .AddHostedService(p => p.GetRequiredService()); builder.Services .AddGraphQLServer() .AddQueryType() .AddMutationType() .AddSubscriptionType() .AddInMemorySubscriptions(); var app = builder.Build(); app.UseRouting(); app.UseEndpoints(endpoints => { endpoints.MapGraphQL("/"); }).. 2022. 9. 26. 13. Redux 전역 상태를 관리할 때 ContextAPI도 사용할 수 있지만, 리덕스를 사용하면 상태를 체계적으로 관리할 수 있다. 코드 유지 보수성, 작업 효율, 미들웨어 기능 제공을 통한 비동기 작업 관리 측면에서 좋다. 1. Action : 상태에 어떤 변화가 필요하면 발생한다. - action 객체는 type 필드를 반드시 갖고 있어야 한다. (action의 이름과 같은 역할) 2. Action 생성 함수 : action 객체를 만들어 주는 함수이다. 어떤 변화를 일으켜야 할 때마다 액션 객체를 만들어야 한다. function addTodo(data){ return { type:'ADD_TODO', data }; } 3. Reducer : 변화를 일으키는 함수, 액션을 만들어서 발생시키면 reducer가 현재 .. 2022. 9. 17. 12. ContextApi 기존 컴포넌트간에 상태를 교류해야할 때 무조건 부모 -> 자식 흐름으로 props를 통해 전달하였는데, 이제는 ContextAPI를 통해 더 쉽게 상태를 교류할 수 있다. 프로젝트 컴포넌트 구조가 간단하고 다루는 상태 종류가 많지 않다면 Context를 사용할 필요는 없지만 전역적으로 사용되는 상태가 있고 컴포넌트 개수가 많은 상황에서 유용하게 사용할 수 있다. 아래에서 App-H-J , App-A-B-F, App-A-B-E-G 로 접근하던 것을 바로 접근할 수 있다. Consumer 우선 프로젝트를 새로 생성한다. yarn create react-app context-tutorial 다음 파일들을 생성한다. - src/contexts/color.js import {createContext} from '.. 2022. 9. 14. Factory / Factory Abstract Method Pattern Factory Method 팩토리 메소드 패턴은 객체를 생성할 때 필요한 인터페이스를 만든다. 어떤 클래스의 인스턴스를 만들지는 서브클래스에서 결정한다. - 예시로 살펴보자. type에 따라 다른 pizza를 주문한다고 할 때 아래와 같이 작성할 수 있다. 하지만 type이 추가 될때마다 orderPizza에 대하여 수정이 필요할 것이다. 따라서, Pizza의 type에 따라 pizza를 만드는 부분을 객체 생성부분으로 캡슐화 한다. createPizza를 PizzaFactory에서 만들도록 한다. 이 때, 지점마다 pizza style이 다르다면? 지점마다 factory를 생성하여 해당 객체를 PizzaStore로 넘겨준다. 이 때, PizzaFactory와 PizzaStore을 하나로 묶을 수 있는데.. 2022. 9. 13. 콜백함수, Promise, async/await 예제 1) function printMe(){ console.log('Hello world!') } setTimeout(printme, 3000); console.log('대기중~'); ------------------------------ 대기중~ Hello world! setTimeout이 사용되는 시점에서 코드가 3초동안 멈추는 것이 아니라, 위에서 아래로 코드가 다 호출되고 3초 뒤에 printMe가 호출된다. js에서 비동기 작업을 사용할 때 가장 흔히 사용하는 방법으로 setTimeout 함수의 인자로 전달하고 있는 printMe 함수 자체를 콜백함수라고 한다. 예제 2 ) number 값이 주어지면 1초 뒤에 10을 더한 값을 반환하는 함수가 있다. function increase(numbe.. 2022. 9. 12. 동기 / 비동기 동기적 처리 : 요청이 끝날 때까지 기다리는동안 중지 상태가 되기 때문에 다른 작업을 할 수 없다. 비동기 처리 : 웹app을 멈추지 않기 때문에 동시에 여러 가지 요청을 처리할 수도 있고, 기다리는 과정에서 다른 함수도 호출할 수 있다. - 서버 API 호출 - setTimeout 함수를 사용한 특정 작업 예약 function printMe(){ console.log('Hello world!') } setTimeout(printme, 3000); console.log('대기중~'); ------------------------------ 대기중~ Hello world! setTimeout이 사용되는 시점에서 코드가 3초동안 멈추는 것이 아니라, 위에서 아래로 코드가 다 호출되고 3초 뒤에 printMe.. 2022. 9. 11. [AWS] FreeTrier, client에서 EC2(서버) 접속하기 다운로드가 되어있는 key를 한 폴더로 옮긴 뒤, 해당 폴더에서 아래 작업을 진행해준다.(윈도우에서는 chmod를 지원하지 않기때문에 다음 작업을 했을 때 아래와 같은 warning이 발생한다.) 윈도우가 아니라면 ? terminal에서 key를 저장한 folder로 이동 후 "chmod 400 firstkey.pem"입력 윈도우라면? cmd에서 아래코드를 순차적으로 실행 icacls.exe firstkey.pem /reset icacls.exe firstkey.pem /grant:r %username%:(R) icacls.exe firstkey.pem /inheritance:r @뒤에 입력할 IPv4주소를 사용하여 이전에 받은 key가 저장된 directory로 terminal에서 아래와 같이 주소를 .. 2022. 9. 11. [AWS] FreeTrier, 탄력적IP 생성하기 왼쪽 bar에서 네트워크 및 보안 > 탄력적 IP 탄력적 IP 주소 할당 버튼을 클릭하면 할당과 함께 주소를 알려준다. 이전에 만든 Instance에 이 주소를 붙여주자. 인스턴스 연결해준 뒤, 연결! 2022. 9. 11. [AWS] FreeTrier로 인스턴스 생성하기 AWS Free Trier로 진행한다. 계정을 생성하면서 이메일 확인, 카드정보 입력, 문자/전화로 확인을 하면 가입이 완료된다. 아래 작업을 수행해보자 [ 클라우드 컴퓨팅 설정 ] - EC2 또는 인스턴스(서버) 생성 - Elastic IP(탄력적 IP) 생성 - IP주소, 동적IP, 고정IP - 자기 PC(Client)에서 EC2(서버) 접속 1. 서버 위치 설정 2. EC2 클릭 3. 인스턴스(주황 버튼) 시작 클릭 4. 아래와 같이 설정 후 나머지는 default로 사용 완료하면 다음과 같이 나온다! 2022. 9. 11. Linux/Unix 운영체제 overview LINUX는 서버에 많이 사용되는 운영체제이다. 클라우드 컴퓨팅에도 많이 사용된다.(AWS) LINUX는 프로그래밍을 할 때에도 많이 사용된다. GNU 프로젝트와 GNU Hurd - 운영체제 커널 개발 시도 ( GNU Hurd ) - 운영체제에 필요한 라이브러리, 컴파일러, 에디터, 쉘 개발 But! GNU Hurd의 개발 지연과 리누스 토발즈가 리눅스 커널 소스를 오픈하면서 두 가지가 통합되어 개발되기 시작함. 2022. 9. 11. 이전 1 2 3 4 5 6 7 8 ··· 17 다음 728x90 반응형