Category Archives: Guide

guide, column, lecture
과제 달성을 위해 여러 포스팅을 모아 설명합니다.

[Guide | Web Service] 웹사이트 수집 설정 – Google

운영중인 블로그나 사이트가 구글에 수집되어 노출될 수 있도록 설정하는 방법을 정리한다.


작성일 : 2022-01-27

1> 구글계정에 로그인

계정이 없다면 아래메뉴를 통해 생성하고 로그인한다.

https://google.co.kr

2> Google Search Console 에 접속 & URL 등록

https://search.google.com/search-console/about

시작하기 클릭

URL을 입력하고 계속 클릭

① html 파일을 클릭하여 다운로드 받는다.
② 서버의 서비스폴더에 저장한다.
(https://{입력한 URL}/{html파일} 경로로 접근이 가능해야함)
③ 확인을 눌러 등록을 완료한다.


3> robots.txt 등록 – 수집될 내용에 대한 제한설정

User-agent:*
Allow:/

① 위와같이 robots.txt 파일을 생성한다.
② 서버의 서비스폴더에 저장한다.
(https://{입력한 URL}/ {robots.txt파일} 경로로 접근이 가능해야함)


4> sitemap.xml 등록 – 사이트 메뉴를 정리해 알려줌 (게시일 등을 설정할수 있음)

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
        <url>
                <loc>https://blog.opendocs.co.kr/</loc>
        </url>
        <url>
                <loc>https://blog.opendocs.co.kr/?cat=1</loc>
        </url>
        <url>
                <loc>https://blog.opendocs.co.kr/?cat=14</loc>
        </url>
        <url>
                <loc>https://blog.opendocs.co.kr/?cat=15</loc>
        </url>
        <url>
                <loc>https://blog.opendocs.co.kr/?cat=2</loc>
        </url>
        <url>
                <loc>https://blog.opendocs.co.kr/?cat=13</loc>
        </url>
</urlset>

① 위와같이 sitemap.xml 파일을 생성한다.
② 서버의 서비스폴더에 저장한다.
(https://{입력한 URL}/ {sitemap.xml파일} 경로로 접근이 가능해야함)
③ Console Page > Sitemaps 메뉴에서 파일명을 입력하고 제출을 클릭한다.

[Guide | Git] 비밀번호 변경

Git 비밀번호 변경방법을 정리한다.


작성일 : 2022-01-10
OS : windows 10 Pro
Git : GitLab Community Edition 11.11.3

1> GitLab에 접속하여 비밀번호를 변경

Settings > Password 메뉴에서 현재 비밀번호 / 변경할 비밀번호를 입력한다.


2> 비밀번호 변경 후 클라이언트 접속시 에러발생

비밀번호 변경 후 아래와 같은 에러가 발생한다.

remote: HTTP Basic: Access denied
fatal: Authentication failed for 'https://-----------------'

3> 관리자 권한 콘솔을 실행하여 리셋

명령 프롬프트 우클릭 > 관리자 권한으로 실행

git config --system --unset credential.helper
# 프로젝트 별로는 아래 실행
git config --unset credential.helper

※ 일반 권한 프롬프트에서는 다음 에러가 발생한다.

C:\_Work\_Development\source\opendocs>git config --system --unset credential.helper
error: could not lock config file C:/Program Files/Git/mingw64/etc/gitconfig: Permission denied

[Setting | macOS] React Native Android Release 배포

mac에서 하이브리드앱을 빌드하고 배포하는 과정을 정리한다.


작성일 : 2021-08-22
OS : macOS Big Sur 버전 11.5
CPU : Intel

1> KeyStore 생성

cd {UserHome}/{AppPath}/android/app
keytool -genkey -v -keystore opendocs_music-release-key.keystore -alias opendocs_music_key -keyalg RSA -keysize 2048 -validity 10000

2> 빌드설정

android/gradle.properties 파일에 환경변수 설정

OPENDOCS_MUSIC_RELEASE_STORE_FILE=opendocs_music-release-key.keystore
OPENDOCS_MUSIC_RELEASE_KEY_ALIAS=opendocs_music_key
OPENDOCS_MUSIC_RELEASE_STORE_PASSWORD=*****
OPENDOCS_MUSIC_RELEASE_KEY_PASSWORD=*****

android/app/build.gradle 파일에 release 환경 설정

android {
...
   signingConfigs {
      debug {...}
      release {
            if (project.hasProperty('OPENDOCS_MUSIC_RELEASE_STORE_FILE')) {
                storeFile file(OPENDOCS_MUSIC_RELEASE_STORE_FILE)
                storePassword OPENDOCS_MUSIC_RELEASE_STORE_PASSWORD
                keyAlias OPENDOCS_MUSIC_RELEASE_KEY_ALIAS
                keyPassword OPENDOCS_MUSIC_RELEASE_KEY_PASSWORD
            }
      }
   }
   buildTypes {
      debug {...}
      release {
            ...
            signingConfig signingConfigs.release
      }
   }

3> Android 빌드

cd {UserHome}/{AppPath}/android
./gradlew clean
./gradlew cleanBuildCache
./gradlew assembleRelease
# permission denied 에러가 발생할 경우
chmod +x gradlew

4> APK 확인

아래폴더에 apk 파일을 핸드폰에 옮겨 실행한다.

{UserHome}/{AppPath}/android/app/build/outputs/apk/release

5> Fail Case

다음 유형으로 배포실패시 해결 방안을 정리한다.

5-1> > Task :app:mergeReleaseResource FAILED / Error: Duplicate resource

> Task :app:mergeReleaseResources FAILED
[drawable-xhdpi-v4/node_modules_reactnavigation_stack_src_views_assets_backicon] /Users/opendocs/_Work/_Development/source/opendocs/mobile/android/app/src/main/res/drawable-xhdpi/node_modules_reactnavigation_stack_src_views_assets_backicon.png [drawable-xhdpi-v4/node_modules_reactnavigation_stack_src_views_assets_backicon] /Users/opendocs/_Work/_Development/source/opendocs/mobile/android/app/build/generated/res/react/release/drawable-xhdpi/node_modules_reactnavigation_stack_src_views_assets_backicon.png: Resource and asset merger: Duplicate resources

아래 두 폴더에 리소스가 중복되어 나타나는 현상이다.

① /android/app/build/generated/res/react/release/

② /android/app/src/main/res/

① 폴더에 있는 파일들을 ② 폴더에서 삭제하도록 한다. 검색해보면 ② 폴더에 drawable* 를 삭제하라고 하지만 이와같이 할경우 생성된 Splash & Icon 이미지 등이 같이 삭제되어 버리니 불편하더라도 확인하여 삭제하도록 한다.

5-2> Task :app:mergeReleaseResource FAILED / Error: Found item Style/SplashScreenTheme more than one time

> Task :app:mergeReleaseResources FAILED
/Users/opendocs/_Work/_Development/source/opendocs/mobile/android/app/src/main/res/values/styles.xml: Resource and asset merger: Found item Style/SplashScreenTheme more than one time

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:mergeReleaseResources'.
> /Users/opendocs/_Work/_Development/source/opendocs/mobile/android/app/src/main/res/values/styles.xml: Error: Found item Style/SplashScreenTheme more than one time

react-native-splash-screen을 사용해 Splash Screen 자동 생성 하였을 경우 발생한 에러이다.
최초 생성시에는 발생하지 않으나 수정을 위해 자동 생성 명령을 재시도 하였다면 styles.xml 파일에 아래 와 같이 중복된 내용이 추가 된다. 삭제하고 다시 시도하자.