C 프로젝트에 Firebase 추가  |  C 용 Firebase

마지막 업데이트: 2022년 7월 28일 | 0개 댓글
  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기
  • 카카오스토리 공유하기

얼마전부터 사이드 프로젝트를 시작하였다.
프로젝트 인원은 나포함 프론트엔드 개발자 2명, 백엔드 개발자 1명
3명 다 디자인과는 거리가 먼 사람들이었다.

C++ 프로젝트에 Firebase 추가

iOS 및 Android용 Firebase를 기반으로 C++ 인터페이스를 제공하는 Firebase C++ SDK를 사용하여 C++ 게임을 업그레이드하세요.

플랫폼 네이티브 코드를 작성할 필요 없이 C++ 코드만으로 Firebase에 액세스하세요. 또한 Firebase SDK는 Firebase에서 사용하는 여러 언어별 관용구를 C++ 개발자에게 보다 친숙한 인터페이스로 변환합니다.

Firebase 게임 페이지에서 Firebase로 게임을 업그레이드하는 방법을 자세히 알아보세요.

C++ 프로젝트에 Firebase를 이미 추가하셨나요? Firebase C++ SDK의 최신 버전을 사용 중인지 확인합니다.

이 가이드의 플랫폼별 안내를 보려면 아래에서 플랫폼 탭을 선택하세요.

iOS, Android 플랫폼 모두에서 게임을 출시하려는 경우: 우선 C++ 프로젝트의 빌드 타겟을 하나만 등록하고, 이후에 설정 워크플로로 돌아와서 다른 빌드 타겟을 등록할 수 있습니다.

기본 요건

  • Xcode 13.3.1 이상
  • CocoaPods 1.10.0 이상

프로젝트가 다음 버전 이상의 플랫폼을 타겟팅하는지 확인합니다.

실제 iOS 기기를 설정하거나 iOS 시뮬레이터를 사용하여 앱을 실행합니다.

클라우드 메시징을 사용하시겠어요?

  • 실제 Apple 기기를 설정합니다. 의 Apple 푸시 알림 인증 키를 가져옵니다.
  • Xcode의 App(앱) > Capabilities(기능)에서 푸시 알림을 사용 설정합니다.

Google 계정을 사용하여 Firebase에 로그인합니다.

2단계: Firebase 프로젝트 만들기

C++ 프로젝트에 Firebase를 추가하려면 우선 C++ 프로젝트에 연결할 Firebase 프로젝트를 만들어야 합니다. Firebase 프로젝트에 대한 자세한 내용은 Firebase 프로젝트 이해를 참조하세요.

Firebase 프로젝트 만들기

Firebase Console에서 프로젝트 추가를 클릭합니다.

기존 Google Cloud 프로젝트에 Firebase 리소스를 추가하려면 프로젝트 이름을 입력하거나 드롭다운 메뉴에서 선택합니다.

새 프로젝트를 만들려면 원하는 프로젝트 이름을 입력합니다. 필요한 경우 프로젝트 이름 아래에 표시되는 프로젝트 ID를 수정할 수도 있습니다.

메시지가 표시되면 Firebase 약관을 검토하고 이에 동의합니다.

계속을 클릭합니다.

(선택사항) 다음 Firebase 제품의 사용 환경을 최적화하려면 프로젝트에 Google 애널리틱스를 설정합니다.

기존 Google 애널리틱스 계정을 선택하거나 새 계정을 만듭니다.

새 계정을 만드는 경우 애널리틱스 보고 위치를 선택한 후 프로젝트에 대한 데이터 공유 설정 및 Google 애널리틱스 약관에 동의합니다.

프로젝트 만들기를 클릭합니다. 기존 Google Cloud 프로젝트를 사용할 경우에는 Firebase 추가를 클릭합니다.

Firebase에서 Firebase 프로젝트용 리소스를 자동으로 프로비저닝합니다. 프로세스가 완료되면 Firebase Console에서 Firebase 프로젝트의 개요 페이지로 이동하게 됩니다.

3단계: Firebase에 앱 등록

Apple 앱에서 Firebase를 사용하려면 Firebase 프로젝트에 앱을 등록해야 합니다. 앱 등록이란 보통 프로젝트에 앱을 '추가'하는 것을 의미합니다.

프로젝트 개요 페이지 중앙에 있는 iOS+ 아이콘을 클릭하여 설정 워크플로를 시작합니다.

Firebase 프로젝트에 앱을 이미 추가한 경우 앱 추가를 클릭하여 플랫폼 옵션을 표시합니다.

번들 ID 필드에 앱의 번들 ID를 입력합니다.

번들 ID는 무엇이며 어디에서 찾을 수 있나요?

  • 번들 ID는 Apple 생태계에서 애플리케이션을 고유하게 식별하는 역할을 합니다.

  • 번들 ID 찾기: Xcode에서 프로젝트를 열고 프로젝트 탐색기에서 최상위 앱을 선택한 다음 General(일반) 탭을 선택합니다.

    Bundle Identifier(번들 식별자) 필드의 값이 번들 ID입니다(예: com.yourcompany.yourproject ).

  • 번들 ID 값은 대소문자를 구분하며 Firebase 프로젝트에 등록한 후에는 해당 Firebase 앱의 번들 ID 값을 변경할 수 없습니다.

(선택사항) 다른 앱 정보(앱 닉네임App Store ID)를 입력합니다.

Firebase에서 앱 닉네임App Store ID는 어떻게 사용되나요?

  • 앱 닉네임: 닉네임은 편의상 지정하는 내부용 식별자로 Firebase Console에서 본인만 볼 수 있습니다.

  • App Store ID: Firebase 동적 링크에서 사용자를 App Store 페이지로 리디렉션하고 Google 애널리틱스에서 Google Ads로 전환 이벤트를 C 프로젝트에 Firebase 추가  |  C 용 Firebase 가져오는 데 사용됩니다. 앱에 아직 App Store ID가 없으면 나중에 프로젝트 설정에서 ID를 추가할 수 있습니다.

앱 등록을 클릭합니다.

4단계: Firebase 구성 파일 추가

GoogleService-Info.plist 다운로드를 클릭하여 Firebase Apple 플랫폼 구성 파일을 가져옵니다.

이 구성 파일에 대해 알아야 할 사항은 무엇인가요?

  • Firebase 구성 파일에는 고유하지만 보안 비밀은 아닌 프로젝트 식별자가 있습니다. 이 구성 파일에 대한 자세한 내용은 Firebase 프로젝트 이해를 참조하세요.

  • 언제든지 다시 Firebase 구성 파일을 다운로드할 수 있습니다.

  • 구성 파일 이름에 (2) 와 같은 문자가 추가되지 않았는지 확인합니다.

IDE에서 C++ 프로젝트를 열고 구성 파일을 C++ 프로젝트의 루트로 드래그합니다.

메시지가 표시되면 모든 대상에 구성 파일을 추가하도록 선택합니다.

Firebase Console에서 설정 작업을 마쳤습니다. 아래의 Firebase C++ SDK 추가로 진행하세요.

5단계: Firebase C++ SDK 추가

이 섹션의 단계는 지원되는 Firebase 제품을 Firebase C++ 프로젝트에 추가하는 방법의 예시입니다.

Firebase C++ SDK를 다운로드한 후 원하는 위치에 SDK의 압축을 풉니다.

Firebase C++ SDK는 플랫폼별로 제공되지 않지만 플랫폼별 라이브러리를 포함하고 있습니다.

압축을 푼 SDK에서 Firebase 포드를 추가합니다.

Podfile이 없으면 만듭니다.

앱에서 사용할 Firebase 포드를 Podfile에 추가합니다.

애널리틱스를 사용 설정한 경우

애널리틱스를 사용 설정하지 않은 경우

포드를 설치하고 Xcode에서 .xcworkspace 파일을 엽니다.

압축을 푼 SDK에서 Firebase 프레임워크를 추가합니다.

일반적으로 이러한 프레임워크를 가장 쉽게 추가하는 방법은 Finder 창에서 Xcode의 Project Navigator(프로젝트 탐색기) 창으로 드래그하는 것입니다. 이 창은 기본적으로 가장 왼쪽에 있으며 Xcode 왼쪽 상단의 파일 아이콘을 클릭해도 나타납니다.

Firebase 제품을 사용하는 데 필요한 Firebase C++ 프레임워크 firebase.framework 를 추가합니다.

사용할 각 Firebase 제품의 프레임워크를 추가합니다. 예를 들어 Firebase 인증을 사용하려면 firebase_auth.framework 를 추가합니다.

Firebase Console로 돌아가 설정 워크플로에서 다음을 클릭합니다.

애널리틱스를 추가한 경우 앱을 실행하여 Firebase를 성공적으로 통합했다는 확인을 Firebase에 보냅니다. 그렇지 않으면 이 확인 단계를 건너뛰어도 됩니다.

기기 로그에 초기화가 완료되었다는 Firebase 확인이 표시됩니다. 네트워크 액세스가 가능한 에뮬레이터에서 앱을 실행한 경우 Firebase Console에 앱이 연결되었다는 알림이 표시됩니다.

이제 준비가 끝났습니다. Firebase 제품을 사용하기 위한 C++ 앱 등록 및 구성 작업을 마쳤습니다.

사용 가능한 라이브러리

C++ Firebase 라이브러리에 대한 자세한 내용은 참조 문서와 GitHub의 오픈소스 SDK 출시 버전을 참조하세요.

iOS에 제공되는 라이브러리

Android용 C++ 라이브러리는 이 설정 페이지의 Android 버전을 참조하세요.

각 Firebase 제품의 종속 항목은 서로 다릅니다. 원하는 Firebase 제품에서 명시하는 종속 항목을 Podfile 및 C++ 프로젝트에 모두 추가해야 합니다.

모바일 설정 관련 추가 정보

메서드 재구성

iOS에서는 URL 열기, 알림 수신 등의 일부 애플리케이션 이벤트를 사용하려면 애플리케이션 대리자가 특정 메서드를 구현해야 합니다. 예를 들어 알림을 수신하려면 애플리케이션 대리자가 application:didReceiveRemoteNotification: 을 구현해야 합니다. 각 iOS 애플리케이션에는 자체 앱 대리자가 있으므로 Firebase는 메서드를 서로 대체하는 메서드 재구성을 통해 사용자가 구현한 핸들러 이외에 자체 핸들러를 추가로 연결합니다.

동적 링크 및 클라우드 메시징 라이브러리는 메서드 재구성을 통해 애플리케이션 대리자에 핸들러를 연결해야 합니다. 이러한 Firebase 제품을 사용하는 경우 Firebase는 로드 시점에 AppDelegate 클래스를 식별하고 필요한 메서드를 여기에 재구성하여 기존 메서드 구현에 콜백을 연결합니다.

데스크톱 워크플로(베타) 설정

게임을 만들 때는 우선 데스크톱 플랫폼에서 게임을 테스트하고 개발 과정 후반에 휴대기기에 배포하고 테스트하는 것이 한결 간편한 경우가 많습니다. Google은 이러한 워크플로를 지원하기 위해 Windows, macOS, Linux 및 C++ 편집기 내에서 실행할 수 있는 Firebase C++ SDK의 하위 집합을 제공합니다.

데스크톱 워크플로를 사용하려면 다음을 완료해야 합니다.

  1. CMake용으로 C++ 프로젝트 구성

Firebase 구성 파일의 데스크톱 버전을 만듭니다.

Android google-services.json 파일을 추가한 경우 — 앱을 실행하면 Firebase가 이 모바일 파일을 찾은 후 데스크톱 Firebase 구성 파일( google-services-desktop.json )을 자동으로 생성합니다.

iOS GoogleService-Info.plist 파일을 추가한 경우 — 앱을 실행하기 전에 이 모바일 파일을 데스크톱 Firebase 구성 파일로 변환해야 합니다. 파일을 변환하려면 GoogleService-Info.plist 파일이 있는 디렉터리에서 다음 명령어를 실행합니다.

이 데스크톱 구성 파일에는 Firebase Console 설정 워크플로에서 입력한 C++ 프로젝트 ID가 포함되어 있습니다. 구성 파일에 대한 자세한 내용은 Firebase 프로젝트 이해를 참조하세요.

C++ 프로젝트에 Firebase SDK를 추가합니다.

아래 단계는 지원되는 Firebase 제품을 C++ 프로젝트에 추가하는 방법의 예시입니다. 이 예시에서는 Firebase 인증 및 Firebase 실시간 데이터베이스를 추가하는 방법을 단계별로 설명합니다.

FIREBASE_CPP_SDK_DIR 환경 변수를 압축을 푼 Firebase C++ SDK의 위치로 설정합니다.

프로젝트의 CMakeLists.txt 파일에 사용할 Firebase 제품의 라이브러리가 포함된 다음 콘텐츠를 추가합니다. 예를 들어 Firebase 인증과 Firebase 실시간 데이터베이스를 사용하려면 다음을 실행하세요.

사용 가능한 라이브러리(데스크톱)

Firebase C++ SDK에는 Windows, macOS, Linux의 독립형 데스크톱 빌드에서 Firebase의 특정 부분을 사용할 수 있도록 일부 기능에 대한 데스크톱 워크플로 지원이 포함되어 있습니다.

주의: Firebase C++ SDK 데스크톱 지원은 베타 기능입니다. 이 기능은 정식 출시 코드가 아닌 게임 개발 단계의 워크플로에만 사용하기 위한 용도입니다.

Firebase 제품 라이브러리 참조(CMake 사용 시)
인증 firebase_auth
(필수) firebase_app
Cloud Firestore firebase_firestore
firebase_auth
firebase_app
Cloud Functions firebase_functions
(필수) firebase_app
Cloud Storage firebase_storage
(필수) firebase_app
실시간 데이터베이스 firebase_database
(필수) firebase_app
원격 구성 firebase_remote_config
(필수) firebase_app

Firebase는 Windows, macOS, Linux용으로 빌드할 때 편의상 비기능적 스텁 구현으로 나머지 데스크톱 라이브러리를 제공합니다. 따라서 데스크톱을 타겟팅하기 위해 코드를 조건부로 컴파일할 필요가 없습니다.

실시간 데이터베이스 데스크톱

실시간 데이터베이스 데스크톱 SDK는 REST를 사용하여 데이터베이스에 액세스하므로 데스크톱에서 Query::OrderByChild() 를 통해 직접 사용하는 색인을 선언해야 합니다. 그렇지 않으면 리스너가 실패합니다.

데스크톱 설정 관련 추가 정보

Windows 라이브러리

Windows용 라이브러리 버전은 다음을 기준으로 제공됩니다.

  • 빌드 플랫폼: 32비트(x86) 및 64비트(x64) 모드
  • Windows 런타임 환경: Multithreaded / MT 및 Multithreaded DLL / MD
  • 대상: 출시 및 디버그

다음 라이브러리는 Visual Studio 2015 및 2017로 테스트되었습니다.

Windows에서 C++ 데스크톱 앱을 빌드하는 경우 프로젝트에 다음과 같은 Windows SDK 라이브러리를 연결하세요. 자세한 내용은 컴파일러 문서를 참조하세요.

Firebase C++ 라이브러리 Windows SDK 라이브러리 종속 항목
인증 advapi32, ws2_32, crypt32
Cloud Firestore advapi32, ws2_32, crypt32, rpcrt4, ole32, shell32
Cloud Functions advapi32, ws2_32, crypt32, rpcrt4, ole32
Cloud Storage advapi32, ws2_32, crypt32
실시간 데이터베이스 advapi32, ws2_32, crypt32, iphlpapi, psapi, userenv
원격 구성 advapi32, ws2_32, crypt32, rpcrt4, ole32

macOS 라이브러리

macOS(Darwin)의 경우 64비트(x86_64) 플랫폼용 라이브러리 버전이 제공됩니다. 편의를 위해 프레임워크도 제공됩니다.

macOS 라이브러리는 13.3.1로 테스트되었습니다.

macOS에서 C++ 데스크톱 앱을 빌드하는 경우 프로젝트에 다음을 연결하세요.

  • pthread 시스템 라이브러리
  • CoreFoundation macOS 시스템 프레임워크
  • Foundation macOS 시스템 프레임워크
  • Security macOS 시스템 프레임워크
  • GSS macOS 시스템 프레임워크
  • Kerberos macOS 시스템 프레임워크
  • SystemConfiguration macOS 시스템 프레임워크

자세한 내용은 컴파일러 문서를 참조하세요.

Linux 라이브러리

Linux의 경우 32비트(i386) 및 64비트(x86_64) 플랫폼용 라이브러리 버전이 제공됩니다.

Linux 라이브러리는 Ubuntu에서 GCC 4.8.0, GCC 7.2.0, Clang 5.0으로 테스트되었습니다.

Linux에서 C++ 데스크톱 앱을 빌드하는 경우 프로젝트에 pthread 시스템 라이브러리를 연결하세요. 자세한 내용은 컴파일러 문서를 참조하세요. GCC 5 이상으로 빌드하는 경우 -D_GLIBCXX_USE_CXX11_ABI=0 을 정의합니다.

다음 단계

  • Google Cloud Console에서 프로젝트의 예산 알림을 설정합니다.
  • Firebase Console에서 사용량 및 결제 대시보드를 모니터링하여 여러 Firebase 서비스에서 프로젝트 사용량을 전체적으로 파악합니다. 를 검토합니다.

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

[react] Material ui 템플릿 (Mui) 으로 회원가입 페이지 만들기

img/mui1.jpg


얼마전부터 사이드 프로젝트를 시작하였다.
프로젝트 인원은 나포함 프론트엔드 개발자 2명, 백엔드 개발자 1명
3명 다 디자인과는 거리가 먼 사람들이었다.

사이드 프로젝트의 규모가 큰것도 아니라 디자이너를 구하기가 어려웠다.
디자인적으로 어떻게 할 지 고민을 하다 필자가 사용해본 material ui의 Template를 보고 라이브러리 적용을 권유했고 다른 프론트엔드 개발자분이 사용에 OK해 프로젝트에 적용해 보기로 했다.

PS. Material UI가 v5로 업데이트 되면서 MUI로 이름이 변경되었다. 처음에는 비슷한 사이트인지 알고 당황했으나 이름이 변경됐을 뿐! 😅

사용하기 전에 패키지를 설치해야 한다.
npm, yarn 을 이용하여 설치 가능하다. (기본설치)

프로젝트에서 styled-components를 사용해서 스타일링 하기로 했다면 styled-components as a styling engine으로 설치한다.

Material에서는 다양한 svg 아이콘도 제공한다.

사용할 컴포넌트를 import 한다. 원한다면 styled-components 등을 이용한 커스터 마이징이 가능하다.

img/mui3.jpg


필자는 회원가입쪽 개발을 맡았기 때문에 Sign Up 템플릿을 사용하기로 했다.
Sign Up 하단의 SOURCE CODE를 눌러 리액트 코드를 복사한다.

img/mui-4.jpg


기본 템플릿은 이름(First Name, Last Name), 이메일, 비밀번호로 구성되어 있다.
필자는 이름을 한칸으로 줄이고 비밀번호 재입력을 추가하고 유효성 검사를 통해 회원가입을 만들었다.

*기본틀

img/mui5.jpg

사실 유효성검사를 어떻게 작성할지 고민을 많이했다. react hook form을 사용할지 정규식을 활용해서 검사할지에 대해서 고민했다.
react hook form은 사용이 쉽고 코드가 깔끔해진다는 장점이 있고, 정규식은 코드양이 많아지고 복잡해지지만 스스로 회원가입 form을 만들었다는 기분을 느낄 수 있을 것 같았다.
계속 고민을 하다가 실무에서는 코드량이 많아져 이렇게 못할 것 같은 느낌에 한번쯤은 정규식을 사용해서 회원가입을 만들어보고 싶어 정규식을 사용해서 개발하기로 했다.

FormControl이 form으로 작동하는 것 같아 form을 활용하기로 했다.
new FormData를 사용해 TextField에서 지정해준 name으로 input값을 받아온다.
유효성을 검사에 통과하지 못한다면 에러 메시지를 출력해줘야 한다. useState로 메시지를 관리하기로 했다.

TextField 밑에 <FormHelperTexts></FormHelperTexts>같은 해당 TextField에 맡는 Error코드를 넣는다.
또한 <TextField error= /> 값을 설정한다.
error 속성은 회원가입 버튼을 눌렀을 때 오류가 발생하면 해당 input을 빨갛게 만들어 주는 값이다.
emailError의 상태가 ‘올바른 이메일 형식이 아닙니다.’ 일때 에러가 발생했고 공백이 아니기 때문에 에러를 발생시킨다는 뜻이다.

모든 값이 올바르게 채워졌는지 체크하기

유효성을 검사하기는 하지만 회원가입 버튼을 누르면 자꾸 서버에 post요청을 보냈다.
react 코드안에서 if <> else <> 구문에서 return 사용이 까다롭고 생각처럼 작동을 하지 않았다.
고민하다 useState로 유효성 통과 여부를 체크하기로 하였다. setCheckError가 하나라도 false가 된다면 서버 요청이 되지 않는다.
—> 위의 방법으로 했다가 마지막 검사에서 true가 되면 서버로 요청이 되버리는걸 발견했다. 결국 끝부분에 유효성에 관련된 조건문을 걸었다. (코드 효율성이 떨어지는것 같기 때문에 더 좋은 방법을 생각해 봐야겠다.)

모든 유효성 검사에 통과하면 onhandlePost에 입력값을 넘겨 axios로 서버에 post요청을 보내고 회원가입에 성공하면 로그인 페이지로 이동한다. 요청에 실패하면 registerError를 출력한다.

img/mui6.jpg

useState와 정규식을 이용해서 유효성 검사를 했기 때문에 코드가 꽤 복잡해진 느낌이 있다.
똑같은 코드를 react-hook-form으로 바꿔보면 어떻게 바뀔지 궁금하다.
여유로울때 한번 도전해 봐야겠다. :)
mui같은 라이브러리가 있어 디자인적으로 신경을 쓰지 않아도 되서 매우 편리하고 생각보다 깔끔한 디자인이 마음에 든다.

phrygia

Chaeyeon Lee (phrygia)

MetaTrader 4 설치하기

글 쓰기에 앞서서 Laravel Korea 에 한글 메뉴얼을 작성해주신 훌륭한 모던 PHP 개발자님들께 감사합니다.

이 글의 대부분은 Laravel Korea 를 참조하였으며, 라라벨에 대한 더 많은 정보를 알고 싶다면 하단 링크의 Laravel Korea 에서 찾아보실 수 있습니다.

라라벨 코리아 커뮤니티(Laravel Korea Community)

laravel korea community 라라벨 코리아 커뮤니티 - 한글 매뉴얼

Laravel Korea 에 따르면 Laravel은 의존성 관리를 위해서 Composer 를 사용해야 한다고 명시되어 있다.

따라서 Laravel 을 사용하기 위해 Composer 우선적으로 설치해주어야 한다.

Composer 설치

Download Composer Latest: v2.0.8 To quickly install Composer in the current directory, run the following script in your terminal. To automate the installation, use the guide on installing Composer programmatically. php -r "copy('https://getcomposer.org/ins

[그림 2-1] getcomposer

getcomposer의 Download 페이지를 보면 Windows 환경을 위한 설치방법이 자세히 기재되어 있다.

친절하게도 Installer를 사용하면 필요한 환경변수 설정을 모두 해주는 모양이다.

[그림 2-2] Composer Setup

[그림 2-3] PHP 경로 설정

Developer mode를 체크해주고 PHP 가 설치된 경로를 등록해주면 된다.

PHP 는 XAMPP를 설치할 때 설정한 디렉토리의 php 폴더에 있다.

[그림 2-4] CMD -> Composer

설치가 정상적으로 완료되었다면 명령 프롬프트 창을 키고 composer를 입력해 확인한다.

어떤 디렉토리에서든 composer 화면이 등장해야 한다.

확인 되었으면 composer를 이용해 laravel installer를 다운로드 한다.

laravel 설치가 완료되면 laravel new 명령어를 통해 새로운 project를 생성할 수 있다.

project_name 자리에 원하는 프로젝트 이름을 입력하면 된다. 필자는 RouteBuilder 로 입력하였다.

[그림 2-5] laravel new 로 프로젝트 생성이 완료된 모습 [그림 2-6] 프로젝트 이름과 같은 폴더가 생성된다.

프로젝트가 생성되면 입력한 프로젝트 이름을 갖는 폴더가 만들어지고 라라벨 구동에 필요한 모든 파일과 디렉토리가 자동으로 생성된다. 이로서 Laravel 을 설치하고 서버에서 구동시킬 준비가 완료되었다.

Apache 설정 (For Laravel)

Laravel 이 설치되었으므로 실제 웹 서버에서 구동할 수 있게 설정을 해주어야 한다.

Laravel Korea 의 설치하기에서 Directory 와 Apache 설정에 대한 내용을 확인할 수 있다.

라라벨을 설치한 후에 웹서버의 document / web 루트를 public 디렉토리로 설정해야 합니다. 이 디렉토리의 index.php는 애플리케이션의 모든 HTTP requests에 대해 프론트 컨트롤러로 작동합니다.

라라벨은 항상 웹 서버 설정의 "웹 디렉토리" 루트에 있어야 합니다. "웹 디렉토리"의 하위 디렉토리에서 라라벨 애플리케이션을 제공하려고 하면 안됩니다. 애플리케이션 내에 민감한 파일이 노출될 수 있습니다.

제공된 가이드에 따르면 document root 를 laravel 프로젝트의 public 디렉토리로 설정해야 한다고 한다.

설치된 아파치 설정 파일(httpd.conf) 을 열어 DocumentRoot 항목을 수정한다.

XAMPP를 통해 설치했다면 XAMPP/apache/conf 폴더에 존재한다

그리고 Laravel 을 아파치에서 구동하기 위해선 mod_rewrite 모듈을 활성화 해달라고 되어있다.

라라벨은 주어진 경로에 index.php 파일이 없어도 될 수 있도록 URL 프론트 컨트롤링을 제공하는 public/.htaccess 파일을 가지고 있습니다.

아파치를 통해서 라라벨 웹서비스를 실행하기 전에 .htaccess 파일이 동작할 수 있도록 mod_rewrite 모듈을 활성화해주세요.

따라서 httpd.conf 파일에서 mod_rewrite 모듈이 활성화 되어 있는지 확인해주자

[그림 2-7] httpd.conf -> mod_rewrite.so

Ctrl+F 로 mod_rewrite를 검색해서 해당 줄의 첫번째 문자에 #으로 주석처리가 되어있다면 풀어주자

필자의 경우는 이미 풀려있는 상태였기에 그대로 두었다.

SSL을 적용하기 위해 httpd-ssl.conf 파일의 virtual host 로 localhost 또한 추가해주었다.

해당 파일은 conf 폴더 내의 extra 폴더에 존재한다.

첫 줄의 주석 내용을 검색하면 나오는 설정을 변경해주면 된다.

여기까지 모두 완료 했다면 Apache 서버를 재시작 시켜주자

그 다음 http://localhost ( 혹은 127.0.0.1 )로 접속하면 Laravel 의 Welcome 페이지가 나타난다.

[그림 2-8] Laravel Welcome Page

라우팅 테스트

Laravel 에 대해서 상세히 공부하기 앞서서 개발 환경 구축을 거의 완료 했다.

전문적인 테스트 코드를 작성해서 테스트 하는 방법이 있지만, 현재 필자는 단계 별로 공부하는 중이므로 내용을 다 알지 못한다. 따라서 현재 Laravel 의 라우팅 기능이 정상적으로 작동하는지만 확인하고 개발 환경 구축을 마무리 하기로 했다.

앞서 생성한 Laravel Project 폴더내에 resourses/views 폴더에 블레이드 템플릿이 존재하는데, 처음 열어보면 welcome.blade.php 파일이 존재한다. 이 파일이 바로 우리가 봤던 [그림 2-8]의 Welcome Page 이다.

[그림 2-9] welcome.blade.php

우선 이를 복사해 똑같은 디렉토리 내에 hello.blade.php 파일을 만들었다.

원래 있던 내용 중 body 안의 내용을 전부 지우고 "hello world!"만 입력했다.

그 후 routes 폴더를 보면 web.php 라는 파일이 존재하는 데, 이곳에 다음과 같이 새로운 라우트를 등록해주면 된다.

내용은 웹_주소/hello 가 호출될 경우 hello view를 보여주는 것으로써 이제 http://localhost/hello 로 접속하게 되면 방금 전 작성한 hello.blade.php의 내용이 표시될 것이다.

[그림 2-10] hello world!

텅 빈 화면에 hello world! 만 출력되면 성공한 것이다.

Laravel을 위한 개발 환경 구축을 거의 끝냈다. 마지막 남은건 빼먹었던 MariaDB 설정과 그에 맞는 Laravel 설정이 남았다. 글이 너무 길어졌으니 오늘은 여기서 마치고 다음에 계속할 계획이다.

Aruba Instant On AP22 설치 안내서

Aruba Instant On AP22 액세스 포인트는 MIMO 무선 (2.4GHz에서 5x6, 802.11GHz에서 2x2)을 통해 고성능 동시 2.4GHz 및 2GHz Wi-Fi 2 (5ax) 기능을 제공하는 동시에 레거시 802.11a도 지원합니다. / b / g / n / ac 무선 서비스.

패키지 내용물

  • 1 x AP22 액세스 포인트
  • 1 x 마운트 브래킷
  • 1 x 이더넷 케이블

AP22 번들을 주문한 경우 패키지에는 전원 콘센트를 통해 AP에 전원을 공급하는 전원 공급 장치도 포함됩니다.

부정확하거나 누락되거나 손상된 부품이 있으면 공급 업체에 알리십시오. 가능하면 원래 포장재를 포함하여 상자를 보관하십시오. 이러한 재료를 사용하여 재 포장하고 필요한 경우 장치를 공급 업체에 반환하십시오.

하드웨어 오버view

그림 1 AP22 전면 View

LED가
AP22 액세스 포인트에는 장치의 시스템 및 무선 상태를 나타내는 두 개의 LED가 있습니다.

그림 2 AP22 후면 View

이더넷 포트

AP22에는 10 / 100 / 1000Base-T 자동 감지 MDI / MDX 이더넷 포트 (E0)가 장착되어 있습니다. 이 E0 포트는 유선 네트워크 연결과 PoE 미드 스팬 인젝터 또는 네트워크 스위치와 같은 IEEE 802.3af 및 802.3at 호환 PoE 전원의 PoE (Power over Ethernet)를 지원합니다.

켄싱턴 잠금 슬롯

AP22 액세스 포인트에는 추가적인 보안을 위해 Kensington 잠금 슬롯이 장착되어 있습니다.

리셋 버튼

장치 하단에있는 재설정 버튼을 사용하여 액세스 포인트를 공장 기본 설정으로 재설정 할 수 있습니다.
액세스 포인트를 공장 기본 설정으로 재설정하는 방법에는 두 가지가 있습니다.

정상 작동 중에 AP 재설정

정상 작동 중에 클립과 같은 작고 좁은 물체를 사용하여 재설정 버튼을 10 초 이상 누르고 있습니다.

전원을 켜는 동안 AP 재설정

  1. 액세스 포인트의 전원이 켜져 있지 않을 때 (DC 전원 또는 PoE를 통해) 종이 클립과 같은 작고 좁은 물체를 사용하여 재설정 버튼을 누르고 있습니다.
  2. 재설정 버튼을 누르고있는 동안 전원 공급 장치 (DC 또는 PoE)를 액세스 포인트에 연결합니다.
  3. 15 초 후에 액세스 포인트의 재설정 버튼을 놓습니다.

PoE를 사용할 수없는 경우 독점 Aruba 전원 어댑터를 사용하여 AP22 액세스 포인트에 전원을 공급할 수 있습니다. 이 전원 어댑터는 AP22 및 전원 어댑터 번들을 구입 한 경우 상자에서 사용할 수 있습니다. 자세한 내용은 https://www.ArubaInstantOn.com/resources에서 AP22 데이터 시트의 주문 정보를 참조하십시오. PoE 및 DC 전원을 모두 사용할 수있는 경우 DC 전원이 우선합니다. 액세스 포인트는 동시에 PoE 소스에서 최소 전류를 끌어옵니다. DC 소스에 장애가 발생하면 액세스 포인트가 PoE 소스로 전환됩니다.

케이블 클립

액세스 포인트 뒷면의 케이블 클립은 그림 3과 같이 이더넷 케이블을 구성하는 데 사용됩니다. 케이블 클립의 사용은 선택 사항이며 모든 유형의 케이블과 플러그를 지원하지는 않습니다.

Aruba Instant On AP22 설치 안내서

시작하기 전에

설치 프로세스를 시작하기 전에 아래 섹션을 참조하십시오.
AP22 액세스 포인트는 정부 요구 사항을 준수하여 설계되었으므로
네트워크 관리자는 설정을 변경할 수 있습니다.

특정 설치 위치 식별

각 위치는 의도 한 서비스 지역의 중심에 가능한 한 가까워 야하며 C 프로젝트에 Firebase 추가  |  C 용 Firebase 장애물이나 명백한 간섭 원이 없어야합니다. 이러한 RF 흡수기 / 반사기 / 간섭 소스는 RF 전파에 영향을 미치며 계획 단계에서 고려되고 조정되어야합니다.

이 장비를 다른 장비에 인접하여 사용하거나 다른 장비와 겹쳐서 사용하면 부적절한 작동을 초래할 수 있으므로 피해야합니다. 이러한 사용이 필요한 경우이 장비와 기타 장비를 관찰하여 정상적으로 작동하는지 확인해야합니다.

알려진 RF 흡수기 / 반사기 / 간섭 소스 식별

설치 중 현장에서 알려진 RF 흡수기, 반사기 및 간섭 원 식별
단계가 중요합니다. 고정 된 위치에 액세스 포인트를 연결할 때 이러한 소스를 고려해야합니다.
RF 흡수제에는 다음이 포함됩니다.

  • 시멘트 / 콘크리트 — 오래된 콘크리트는 높은 수준의 수분 손실을 가지고있어 콘크리트를 건조시켜 잠재적 인 RF 전파를 허용합니다. 새 콘크리트는 콘크리트에 수분 농도가 높아 RF 신호를 차단합니다.
  • 천연 품목-어항, 분수, 연못 및 나무
  • 벽돌
    RF 반사기는 다음과 같습니다.
  • 금속 물체 — 바닥, 철근, 방화문, 에어컨 / 난방 덕트, 메쉬 창 사이의 금속 팬,
    블라인드, 체인 링크 울타리 (조리개 크기에 따라 다름), 냉장고, 선반, 선반 및 파일 캐비닛.
  • 두 개의 에어컨 / 난방 덕트 사이에 액세스 포인트를 두지 마십시오. RF 방해를 피하기 위해 액세스 포인트가 덕트 아래에 있는지 확인하십시오.
    RF 간섭 소스는 다음과 같습니다.
  • 전자 레인지 및 기타 2.4 또는 5GHz 물체 (예 : 무선 전화기)
  • 콜센터 또는 식당에서 사용되는 것과 같은 무선 헤드셋

휴대용 RF 통신 장비 (안테나 케이블 및 외부 안테나와 같은 주변 장치 포함)는 액세스 포인트의 어느 부분에서든 7.87cm (20 인치) 이내에서 사용해야합니다. 그렇지 않으면이 장비의 성능이 저하 될 수 있습니다.

액세스 포인트 설치

설치자는 아래 단계에 따라 천장 타일 레일에 액세스 포인트를 고정 할 책임이 있습니다. 이 제품을 올바르게 설치하지 않으면 신체적 상해 및 / 또는 재산 피해가 발생할 수 있습니다.

이 장비의 제조업체에서 지정하거나 제공 한 것 이외의 액세서리, 변환기 및 케이블을 사용하면이 장비의 전자기 방출이 증가하거나 전자기 내성이 감소하여 부적절한 작동을 초래할 수 있습니다. AP22 액세스 포인트는 9/16 인치 또는 15/16 인치 천장 타일 레일 또는 벽이나 단단한 천장과 같은 단단한 표면에 액세스 포인트를 설치하기위한 마운트 브래킷과 함께 제공됩니다. 다음 섹션에서는이 마운트 브래킷을 사용하는 방법에 대한 지침을 제공합니다.

천장 타일 레일에 액세스 포인트 설치

단단한 표면에 액세스 포인트 설치

  1. 그림 7과 같이 벽이나 단단한 천장과 같은 단단한 표면에 마운트 브래킷을 부착합니다.
    ㅏ. 필요한 벽 앵커를 설치합니다. 벽 앵커는 패키지에 포함되어 있지 않습니다.
    비. 마운트 브래킷의 나사 구멍을 이전에 설치 한 앵커 또는 구분 된 나사 지점에 맞 춥니 다.
    씨. 나사 XNUMX 개를 삽입하여 마운트 브래킷을 고정합니다. 나사는 패키지에 포함되어 있지 않습니다.
  2. 그림 8과 같이 액세스 포인트를 고정 된 마운트 브래킷에 부착합니다.
    ㅏ. 장착 탭이 장착 브래킷에 대해 약 30도 각도가되도록 액세스 포인트를 장착 브래킷과 정렬합니다.
  3. 단단한 표면쪽으로 밀면서 액세스 포인트가 제자리에 고정 될 때까지 시계 방향으로 돌립니다 (그림 8 참조).

    그림 8 마운트 브래킷에 액세스 포인트 부착

설치 후 연결 확인

액세스 포인트의 통합 LED를 사용하여 액세스 포인트에 전원이 공급되고 성공적으로 초기화되고 있는지 확인할 수 있습니다 (표 1 참조).

모바일 애플리케이션 설치

아래의 Apple App Store 또는 Google Play 배지를 클릭하여 Aruba Instant On 모바일 앱을 휴대폰에 다운로드하고 설치하십시오. 앱을 실행하고 지침에 따라 설정을 완료합니다. 또는 Apple App Store 또는 Google Play에서 "Aruba Instant On"앱을 검색하면됩니다.

Instant On 포털에 로그인

또는 다음에서 Aruba Instant On 액세스 포인트를 설정할 수 있습니다. web 브라우저. 열기 web 브라우저를 열고 주소 표시줄에 https://portal.ArubaInstantOn.com을 입력하여 Aruba Instant On 포털 로그인 화면에 액세스합니다. 로그인 화면에서 Instant On 계정 자격 증명을 입력하여 사이트에 액세스합니다.

그래픽 사용자 인터페이스, 응용 프로그램

그림 9 Instant On 포털 로그인 화면

전기 및 환경 사양

모든 Aruba 액세스 포인트는 ACMP (Aruba Certified Mobility Professional)가 전문적으로 설치해야합니다. 설치자는 접지가 가능하고 해당 국가 및 전기 규정을 준수하는지 확인할 책임이 있습니다.

  • 이더넷 :
  • E0 포트 : 10 / 100 / 1000BaseT 자동 감지 MDI / MDX 유선 RJ45 네트워크 연결 포트
  • 전력 :
  • 12V DC 전원 인터페이스, AC-DC 전원 어댑터를 통한 전원 공급 지원
  • PoE (Power over Ethernet) : 802.3af 또는 802.3at 호환 소스

Aruba에서 승인 한 어댑터 이외의 전원 어댑터를 미국 또는 캐나다에서 사용하는 경우 출력 정격 12Vdc, 최소 2A, "LPS"및 "Class 2"로 표시된 NRTL 목록에 있어야합니다. 미국 및 캐나다의 표준 전원 콘센트.

  • 작동 온도 : 0 ° C ~ + 40 ° C (+ 32 ° F ~ + 104 ° F)
  • 작동 습도 : 5 % ~ 93 % 비 응축

규정 모델 번호

  • AP22 RMN : APIN0505

안전 및 규정 준수

RF 방사선 노출 성명서 :이 장비는 FCC RF 방사선 노출 제한을 준수합니다. 이 장비는 7.87GHz 및 20GHz 작동을 위해 라디에이터와 신체 사이에 최소 2.4cm (5 인치)의 거리를두고 설치 및 작동해야합니다. 이 송신기는 같은 위치에 있거나 작동하지 않아야합니다.
다른 안테나 또는 송신기와 함께.

연방 통신위원회

장치는 유해한 간섭을 일으키지 않을 수 있으며 (2)이 장치는 수신 된 모든 간섭을 수용해야합니다.
원치 않는 작동을 유발할 수있는 간섭.
이 장비는 테스트를 거쳐 Part에 따라 Class B 디지털 장치에 대한 제한을 준수하는 것으로 확인되었습니다.
FCC 규정 15 조. 이러한 제한은 지역에서 유해한 간섭으로부터 합리적인 보호를 제공하도록 설계되었습니다.
주거용 설치. 이 장비는 무선 주파수 에너지를 생성, 사용 및 방출 할 수 있습니다.
제조업체의 지침에 따라 설치 및 사용하면 라디오에 유해한 간섭을 일으킬 수 있습니다.
연락. 그러나 특정 설치에서 간섭이 발생하지 않는다는 보장은 없습니다. 만약
이 장비는 라디오 또는 텔레비전 수신에 유해한 간섭을 유발합니다.
장비를 껐다가 켜면 사용자는 다음 중 하나 이상을 사용하여 간섭을 수정하는 것이 좋습니다.
다음 조치 :

  • 수신 안테나의 방향을 바꾸거나 재배치하십시오.
  • 장비와 수신기 사이의 거리를 넓 힙니다.
  • 수신기가 연결된 회로와 다른 회로의 콘센트에 장비를 연결합니다.
  • 대리점이나 숙련 된 라디오 또는 TV 기술자에게 도움을 요청하십시오.
캐나다 산업

이 클래스 B 디지털 장치는 캐나다 간섭 유발 장비 규정의 모든 요구 사항을 충족합니다.

캐나다 산업부 규정에 따라이 무선 송신기 및 수신기는 최대 유형 및 게인이 캐나다 산업부의 승인을 받아야하는 안테나와 함께 만 사용할 수 있습니다. 잠재적 인 무선 간섭을 줄이려면 등가 등방성 복사 전력 (EIRP)이 효과적인 통신에 필요한 값을 초과하지 않도록 안테나 유형과 이득을 선택해야합니다. 이 장치는 캐나다 산업부의 라이센스 면제 RSS 규정을 준수합니다. 이 장치의 작동에는 다음 두 가지 조건이 적용됩니다. (1)이 장치는 간섭을 일으키지 않을 수 있으며 (2)이 장치는 원치 않는 작동을 유발할 수있는 간섭을 포함하여 모든 간섭을 수용해야합니다.
5.15 ~ 5.25GHz 주파수 범위에서 작동하는 경우이 장치는 공동 채널 모바일 위성 시스템과의 유해한 간섭 가능성을 줄이기 위해 실내 사용으로 제한됩니다.

유럽 ​​연합 규정 준수

무선 장비 지침 2014/53/EU에 따른 적합성 선언은 다음에 대해 사용할 수 있습니다. viewwww.hpe.com/eu/certificates에서 확인하십시오. 제품 라벨에 표시된 대로 장치의 모델 번호에 해당하는 문서를 선택하십시오.

무선 채널 제한

5150-5350MHz 대역은 다음 국가에서만 실내로 제한됩니다. 오스트리아 (AT), 벨기에 (BE), 불가리아 (BG), 크로아티아 (HR), 키프로스 (CY), 체코 (CZ), 덴마크 (DK), 에스토니아 (EE), 핀란드 (FI), 프랑스 (FR) , 독일 (DE), 그리스 (GR), 헝가리 (HU), 아이슬란드 (IS), 아일랜드 (IE), 이탈리아 (IT), 라트비아 (LV), 리히텐슈타인 (LI), 리투아니아 (LT), 룩셈부르크 (LU) , 몰타 (MT), 네덜란드 (NL), 노르웨이 (NO), 폴란드 (PL), 포르투갈 (PT), 루마니아 (RO), 슬로바키아 (SK), 슬로베니아 (SL), 스페인 (ES), 스웨덴 (SE) , 스위스 (CH), 터키 (TR), 영국 (UK).

주파수 범위 MHz
최대 EIRP
  1. 가연성 혼합물이있는 곳에서 사용하기에 적합하지 않은 장비.
  2. IEC 60950-1 또는 IEC 60601-1 인증 제품 및 전원에만 연결하십시오. 최종 사용자는 결과 의료 시스템이 IEC 60601-1의 요구 사항을 준수 할 책임이 있습니다.
  3. 추가 유지 관리가 필요하지 않은 마른 천으로 닦으십시오.
  4. 수리 할 수있는 부품이 없으므로 수리를 위해 장치를 제조업체로 반송해야합니다.
  5. Aruba 승인 없이는 수정할 수 없습니다.

이 장치는 전문 의료 시설의 실내 사용을위한 것입니다.
이 장치에는 IEC / EN60601-1-2 필수 성능이 없습니다.

이 장비를 다른 장비에 인접하여 사용하거나 다른 장비와 겹쳐서 사용하면 부적절한 작동을 초래할 수 있으므로 피해야합니다. 이러한 사용이 필요한 경우이 장비와 기타 장비를 관찰하여 정상적으로 작동하는지 확인해야합니다.

규정 준수는 Aruba 승인 액세서리 사용을 기반으로합니다.

이 C 프로젝트에 Firebase 추가  |  C 용 Firebase 장비의 제조업체에서 지정하거나 제공 한 것 이외의 액세서리, 변환기 및 케이블을 사용하면이 장비의 전자기 방출이 증가하거나 전자기 내성이 감소하여 부적절한 작동을 초래할 수 있습니다.

Aruba에 문의

메인 사이트 https : //www.ArubaInstantOn.com
지원 사이트 https : //www.ArubaInstantOn.com/contact-support/
Aruba Instant On 커뮤니티 https : //community.ArubaInstantOn.com
북미 전화 1-800-943-4526
1-408-754-1200
국제 전화 https : //www.ArubaInstantOn.com/contact-support/

오픈 소스 코드

이 제품에는 GNU General Public License, GNU Lesser General Public License 및 / 또는 기타 특정 오픈 소스 라이선스에 따라 사용이 허가 된 코드가 포함되어 있습니다. 이러한 코드에 해당하는 소스 코드의 완전한 기계 판독 가능 사본은 요청시 제공됩니다. 이 제안은이 정보를받은 모든 사람에게 유효합니다.
그리고 Hewlett Packard Enterprise Company가이 제품 버전을 최종 배포 한 날로부터 10.00 년 후에 만료됩니다. 이러한 소스 코드를 얻으려면 미화 XNUMX 달러의 수표 또는 우편환을 Hewlett Packard Enterprise Company로 보내십시오.
Attn : 법률 고문
6280 아메리카 센터 드라이브
San Jose, CA 95002
미국


0 개 댓글

답장을 남겨주세요