윈도우에서 React Native 환경을 구축하던 중에

아주 제대로 삽질을 했다.

웹 개발 관련해서는 대부분 docker에서 작업 중인데,

hyper-v 환경을 이용 중이었다.

문제는 hyper-v 환경에서는 AVD를 사용할 수가 없다.......

hyper-v를 끄고 설정을 했었긴 하지만,

기존 개발환경을 버리기는 여러모로 어렵다보니 결국 hyper-v에서 할 수 있도록 환경을 꾸민다고 제대로 삽질을 하게 된 것이다.

삽질한 내용중 핵심은 나중에 적겠지만, PATH에 platform-tools와 tools를 추가하는 것었다.


참고로 구축하는 방법은 아래 동영상을 참조하거나(안드로이드 스튜디오에서 VS Android Emulator 사용하는 방법이다.)

https://www.youtube.com/watch?v=PbeyGCtdtl8&t=17s

문서를 참조해도 좋다.(물론 영문으로 나온다.)

http://blog.tpcware.com/2017/03/visual-studio-2017-android-emulation/

참고로 문서에서는 최종 인터넷 접속 관련 부분도 있지만, 최근에는 대부분 자동으로 설정된 체 만들어질 때가 많아 생략해도 된다.


react native 설치가 끝나고 안드로이드 스튜디오 설치도 끝나 가상에뮬레이터 부분만 하면 되는 것을 전제로 설명한다.

그 외 설치 방법은 공식 문서에 자세히 나와 있다.

https://facebook.github.io/react-native/docs/getting-started.html )


첫 째로 할 일은 안드로이드 스튜디오에서 Visual Studio Android Emulator를 사용할 수 있게 하는 것이다.


일단 Visual Studio Android Emulator를 설치한다.

다행히도 Android Emulator 설치만 할 수 있는 파일을 제공한다.(VS를 다 설치하지 않아도 된다.)

https://www.visualstudio.com/ko/vs/msft-android-emulator/

에서 설치파일을 다운 받아 설치한다.



안드로이드 에뮬레이터를 실행시킨다.



그리고 마쉬멜로 기기를 선택해 추가한다.


(추가 후에는 권한이 필요하다며 로그아웃 후 로그인 하는 것을 요구한다.)



안드로이드 스튜디오를 실행한다.

File > Settings로 이동한다.



Tools의 External Tools로 이동한다.

+버튼을 클릭하여 추가한다.



Name : VS Emulator 5.7 Mashmallow(원하는 데로)

Description : Quick Launch(원하는데로)

Program : C:\Program Files (x86)\Microsoft Emulator Manager\1.0\emulatorcmd.exe

Arguments : /sku:Android launch /id:4B675905-D130-4929-91C8-FC62E9C03A24


프로그램 등록



Arguments에 넣을 값은 Command 창에서 확인을 해야한다.

cmd.exe를 실행하여 아래의 명령을 실행하면,

기기 리스트가 나오며 ID 가 필요하다.

emulatorcmd.exe /sku:Android list /type:device


아래의 ID가 필요하다.



이제 테스트를 해보면 잘 시작되는 것을 확인할 수 있다.

성능은 확실히 AVD보다 나은 것 같다.



이제 안드로이드 스튜디오에서 에뮬레이터로서 인식하도록 작업을 해줘야 한다.


이제 에뮬레이터를 VS Emulator를 사용하기 위해 추가 설정을 해준다.

Run > Edit Configurations를 실행하고


아래와 같이 Use same device for future launches를 체크해준다.



이제 Run을 실행해 정상적으로 Emulator를 사용할 수 있는지 본다.

그런데 원래대로면 Run을 할 경우 기기가 보여야 하는데 보이지 않는다.

그 이유는 SDK 경로가 정상인식을 못하게 되어 그렇게 된다.

참조 : https://stackoverflow.com/questions/31763470/android-studio-cannot-find-the-visual-studio-emulator

실행창에서 (윈도우키 + Q) regedit.exe를 실행시킨다.


HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node

이 위치로 이동한다.


Android SDK Tools 라는 키를 만들어 준다.

그리고 Path 라는 Value를 추가하고

값은 C:\Users\유저명\AppData\Local\Android\Sdk

으로 입력한다.(사용자에 따라 중간 유저명이 다를 수 있다.)


입력을 모두 했으면 에뮬레이터를 재시작 한다.


다시 Run을 하면 에뮬레이터를 선택하영 사용할 수 있는 것을 확인할 수 있다.

물론 화면은 정상적으로 나오지 않는다.



마지막으로 SDK에 있는 툴들의 패스를 어디서든 쓸 수 있도록 해줘야 한다.


이제 react native 프로젝트를 한 번 동작 시켜 본다.

에뮬레이터를 실행 시키고 react-native run-android를 하게 되면

뭔가 진행은 되지만 이상한 화면이 나오게 되거나,

인스톨을 실패하게 된다.


이 부분은 아래 문서를 통해 최종 해결을 할 수 있었다.

https://stackoverflow.com/questions/46516595/how-to-setup-an-react-native-environment-in-windows-10-with-hyper-v-enabled


문서 중간에 보면 PATH에 추가할 것들을 알려준다.


PATH 추가는 제어판 > 시스템 및 보안 > 시스템 에서 시스템 고급 설정을 클릭한다.

그리고 환경 변수를 클릭한다.

Path를 선택 후 편집을 클릭한다.

새로 만들기를 클릭하여 폴더 경로를 추가한다.

C:\Users\유저명\AppData\Local\Android\Sdk\tools

C:\Users\유저명\AppData\Local\Android\Sdk\platform-tools


이제 에뮬레이터를 다시 실행 시키고 react-native run-android를 하게 되면 정상적으로 동작하는 것을 확인할 수 있다.



꽤 험난한 삽질이긴 했는데

이래나 저래나 가능한 방법이 있어 천만 다행이었다.




아래는 혹시라도 동일한 고생을 한 사람이 있으면 보고 찾아올 수 있게 하려고 추가한 글씨다.

(무시해도 좋다.)

React Native Visual Studio Android Emulator

VS Android Emulator

Hyper-V React Native

Hyper-V Android Emulator React Native

구글 애드센스 신청하는 방법을 정리한다.


이 블로그의 애드센스를 신청해보려고 한다.


애드센스 사이트(https://www.google.co.kr/adsense/start/)로 이동한다.

사이트에서 보게 되면 지금 가입하기 버튼이 있는데

클릭하고 자신의 구글 계정을 입력하면 된다.



구글 계정을 입력하면 애드센스 가입을 위한 절차가 진행 된다.



사이트 주소를 입력하고,

애드센스 활용에 대한 안내를 이메일로 받을 수 있도록 하는 것이다.

그리고 국가를 입력한 후 약관에 동의한 후 계정 만들기를 클릭하면 된다.




수익금을 받기위한 정보를 입력한다.

정보 입력 후 제출을 누르면 된다.


제출 후 추적코드 삽입 방법이 나오게 된다.



해당 추적코드를 사이트에 추가하면 된다.


참고로 필자의 경우 애드센스 적용 되었다고 답변 오는데 약 4주가 걸렸다.

AWS의 Lightsail에서 서버를 생성할 경우

Wordpress 를 선택하게 되면 간단하게 Wordpress를 설치하게 된다.

하지만, 서버 설치 후 순수하게 Wordpress만 사용하기에는 조금 아쉬운 감이 있다보니,

Nginx(bitnami)를 설치 후 Wordpress도 사용 가능하게 하는 방법을 사용해 서버를 구성한 적이 있다.

이 때 이래저래 삽질한 것이 있어서 정리해서 올려본다.

참고로 이 내용은 bitnami 문서로 가이드하고 있다.(물론 영어이다.)

https://docs.bitnami.com/virtual-machine/how-to/install-wordpress-nginx/


Nginx를 이용해 서버를 생성 후 접속한 후 진행한다.

참고로 bitnami에서 새 페이지 관리는 대부분 /opt/bitnami/apps에서 하며,

서버 관리에 대한 부분은 /opt/bitnami/ 폴더에 있다.


bitnami의 demo를 apps 폴더에 복사한다.

sudo cp -r /opt/bitnami/docs/demo /opt/bitnami/apps/wordpress


복사한 폴더에서 예제 사이트 내용을 삭제한다.

sudo rm -rf /opt/bitnami/apps/wordpress/htdocs/


그리고 wordpress를 다운받아 서버에 저장한다.(wget을 이용할 경우 한글로 변경해야하는 번거로움이 있기 때문에 다운받아 설치함)

~/temp에 워드프레스를 저장하여 진행한다.


파일 압축을 푼다.

sudo tar zxvf ~/temp/wordpress-4.9.4-ko_KR.tar.gz -C /opt/bitnami/apps/wordpress/


압축푼 파일을 기존 htdocs 폴더명으로 변경한다.

sudo mv /opt/bitnami/apps/wordpress/wordpress/ /opt/bitnami/apps/wordpress/htdocs/


그리고 권한을 변경해 준다. (추후 테마 업로드 등을 위해서)


sudo chown -R bitnami:daemon /opt/bitnami/apps/wordpress/htdocs/


sudo find /opt/bitnami/apps/wordpress/htdocs/ -type d -exec chmod 775 {} \;

sudo find /opt/bitnami/apps/wordpress/htdocs/ -type f -exec chmod 664 {} \;


wordpress의 config 파일에 직접 업로드 방식이 가능하도록 코드를 추가한다.

sudo echo "define ( 'FS_METHOD', 'direct' );" >> /opt/bitnami/apps/wordpress/htdocs/wp-config.php


최초 접속으로 설정을 변경할 수 있도록 하기 위해 아래 명령을 실행한다.

sudo chmod 640 wp-config.php /opt/bitnami/apps/wordpress/htdocs/wp-config.php

sudo chown bitnami:daemon /opt/bitnami/apps/wordpress/htdocs/wp-config.php


demo에 사용된 코드에서 demo 명칭을 wordpress로 변경한다.

sudo sed -i 's/demo/wordpress/g' /opt/bitnami/apps/wordpress/conf/nginx-prefix.conf

sudo sed -i 's/demo/wordpress/g' /opt/bitnami/apps/wordpress/conf/nginx-vhosts.conf


마지막으로 설정된 값을 적용한다.

적용할 파일명은 /opt/bitnami/nginx/conf/bitnami/bitnami-apps-prefix.conf 이며,

이 파일에 추가할 코드는 아래와 같다.

include "/opt/bitnami/apps/wordpress/conf/nginx-prefix.conf";


그리고, wordpress의 경우 rewirte가 적용이 되어야 하므로,

/opt/bitnami/apps/wordpress/conf/nginx-app.conf 파일에

아래 코드를 추가한다.

  if (!-e $request_filename)

  {

   rewrite ^/wordpress/(.+)$ /wordpress/index.php?q=$1 last;

  }


코드를 넣을 위치를 모를 경우도 있어 전체코드를 아래 적는다.


    index index.php index.html index.htm;


    if (!-e $request_filename)

    {

        rewrite ^/wordpress/(.+)$ /wordpress/index.php?q=$1 last;

    }


    location ~ \.php$ {

    fastcgi_split_path_info ^(.+\.php)(/.+)$;

    fastcgi_read_timeout 300;

    fastcgi_pass unix:/opt/bitnami/php/var/run/www.sock;

    fastcgi_index index.php;

    fastcgi_param  SCRIPT_FILENAME $request_filename;

    include fastcgi_params;


워드프레스 운영이 시작된 후 고유주로를 글 이름으로 했을 때 문제가 생길 경우에는

rewrite ^/wordpress/(.+)$ /wordpress/index.php?q=$1 last;


아래에 아래 코드를 추가하면 된다.

rewrite ^(.+)$ /index.php?q=$1 last;



이제 DB를 생성한다.

DB 생성은 mysql 명령어로 mysql 서버에 접속해 진행한다.


mysql -u root -p

를 입력하고 서버 생성시 확인한 비밀번호를 입력한다.

(비밀번호는 ~/bitnami_application_password 에서 확인 가능하다.)


wordpress DB 생성

create database bitnami_wordpress;


권한을 준다

grant all privileges on bitnami_wordpress.* to '계정명'@'localhost' identified by '비밀번호';

여기서 계정명은 추후 워드프레스만들 때 DB 계정명으로 사용된다.


DB 설정이 끝났으므로 DB 접속을 끝낸다.

exit;



마지막으로 nginx 설정을 한다.

nginx의 업로드 용량을 올려준다.

/opt/bitnami/nginx/conf/nginx.conf 파일에서

아래 코드를 추가한다.

client_max_body_size 20m;

더 큰 용량을 원할 경우 더 큰 값을 입력한다. m은 MB(메가바이트)를 의미한다.


추가할 위치를 포함해 적는다.


http {

    include       mime.types;

    default_type  application/octet-stream;


    client_max_body_size 20m;


    client_body_temp_path  "/opt/bitnami/nginx/tmp/client_body" 1 2;



이제 nginx를 재시작 하면 된다.

sudo /opt/bitnami/ctlscript.sh restart nginx



이제 http://서버IP/wordpress 에 접속한다.

나머지 세팅 값을 입력한다.


Database Name: bitnami_wordpress

User Name: 계정명

Password:  비밀번호

Database Host: localhost

Table Prefix: wp_


나머지 워드프레스 설정을 하고 마치게 된다.

AWS를 이용해서 VPS를 사용할 수 있다.

사실 AWS가 Amazon Lightsail을 시작한 의도가 궁금하긴 하다.


AWS를 이용해서 VPS를 할 경우에 대한 장점은

결론적으로는 1가지이다.

크게 뒤통수 칠 일 없는 서비스 보장 정도?

암튼 AWS에서 Lightsail을 이용하는 방법을 정리한다.


일단 AWS를 가입했다는 것을 가정하고 시작한다.


AWS 로그인 후 서비스 버튼을 누르게 되면

가장 첫번째로 나타난다.



컴퓨팅 -> Lightsail 을 클릭하면 된다.

Lightsail은 대시보드를 따로 제공한다.



현재 이것저것 코딩 겸 테스트용으로 올라가 있는 mysql 서비스를 볼 수 있다.

가려진 부분은 서버 주소이다.


서버를 만들 때는 우측의 인스턴스 생성 버튼을 클릭한다.


인스턴스 생성 버튼을 클릭하면

서버를 생성할 수 있게 되는데,

우선 첫번째로 지역을 선택한다.


물론 일본이 한국에서 가장 가깝고 속도가 가장 잘 나오기 때문에 일본으로 선택된(한 번 선택하면 다음에는 동일한 곳이 우선 선택되어 있다.) 것이다.

다른 위치도 설정이 가능하다.



그리고 어떤 OS, 어떤 App을 이용하게 될 것인지 선택을 한다.

기본적으로 리눅스를 제공하며,

이에 맞춰 사용 가능한 App들을 볼 수 있다.

이 App들은 binami를 이용해 자동 설치가 된다.


사족을 달자면, 일단 Nginx를 사용하는 중인데 실사해도 될 수준이긴 하다.

실제 상업용 서비스로 사용하기는 애매하긴 하지만,

간단한 커뮤니티, 홈페이지 등을 만들어 사용하기엔 충분해 보인다.

물론 상업용으로 쓰려면 AWS 자체를 사용하는 것이 훨씬 낫긴 하다.


또한 OS만 설치도 가능하다.


그리고 윈도우 서버도 사용이 가능하다.


단, 이 경우 뒤에 적을 것인데, 비용이 약 2배 가량 들게 된다.


마지막으로 성능을 선택한다.

물론 성능에 따라 가격은 바뀌게 된다.

윈도우의 경우 가격이 다르게 표시가 된다.




마지막으로 생성 버튼을 클릭하면 인스턴스가 만들어진다.


생성이 시작되면

아래와 같이 대시보드 초기 화면으로 이동하며 만들어지는 과정을 볼 수 있다.


접속하는 방법은 ssh 툴을 이용해 서버 주소로 접속하면 된다.


AWS는 특이하게도 인증서를 통한 접속만 허용하기 때문에,

ssh 인증서가 있어야 한다.


만일 서버 생성 중 대략적인 것을 알아서 key를 등록한 경우에는 그 key를 사용하면 되고,

따로 key를 등록하지 않은 경우

기본적으로 ssh 키를 하나 제공한다.


우상단의 계정을 클릭하고 계정으로 이동하면,


개인 계정 정보로 이동이 되는데,

SSH키 탭으로 가게 되면 key를 확인할 수 있다.


이제 ssh를 해당 키를 이용해 접속하면 된다.





Google DataStudio 360에서 만든 보고서 삽입




페이지 스크롤 이벤트를 테스트 하기 위한 페이지 입니다.


Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam erat volutpat. Morbi scelerisque luctus velit. Integer in sapien. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Duis risus. Ut tempus purus at lorem. Nullam faucibus mi quis velit. Nullam sapien sem, ornare ac, nonummy non, lobortis a enim. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae. Aenean placerat. Vivamus ac leo pretium faucibus. Nulla pulvinar eleifend sem. Quisque tincidunt scelerisque libero.


Donec vitae arcu. Vivamus luctus egestas leo. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Etiam dui sem, fermentum vitae, sagittis id, malesuada in, quam. Nulla accumsan, elit sit amet varius semper, nulla mauris mollis quam, tempor suscipit diam nulla vel leo. Maecenas aliquet accumsan leo. Nullam dapibus fermentum ipsum. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nullam feugiat, turpis at pulvinar vulputate, erat libero tristique tellus, nec bibendum odio risus sit amet ante. Etiam neque. Nulla turpis magna, cursus sit amet, suscipit a, interdum id, felis. Etiam quis quam. Cras elementum. Fusce nibh. Mauris suscipit, ligula sit amet pharetra semper, nibh ante cursus purus, vel sagittis velit mauris vel metus. Maecenas sollicitudin. Vivamus luctus egestas leo. Nullam rhoncus aliquam metus. Phasellus faucibus molestie nisl.


Nunc dapibus tortor vel mi dapibus sollicitudin. Nullam lectus justo, vulputate eget mollis sed, tempor sed magna. Phasellus et lorem id felis nonummy placerat. Aliquam erat volutpat. Maecenas fermentum, sem in pharetra pellentesque, velit turpis volutpat ante, in pharetra metus odio a lectus. Etiam commodo dui eget wisi. Pellentesque ipsum. In sem justo, commodo ut, suscipit at, pharetra vitae, orci. Mauris metus. Integer in sapien. Etiam neque. Nulla est.


Duis pulvinar. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Cras elementum. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Nullam faucibus mi quis velit. Nunc auctor. Vivamus porttitor turpis ac leo. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Sed elit dui, pellentesque a, faucibus vel, interdum nec, diam. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos.


Nullam rhoncus aliquam metus. Fusce dui leo, imperdiet in, aliquam sit amet, feugiat eu, orci. Fusce suscipit libero eget elit. Etiam dui sem, fermentum vitae, sagittis id, malesuada in, quam. Maecenas ipsum velit, consectetuer eu lobortis ut, dictum at dui. Aenean fermentum risus id tortor. Nulla quis diam. Nulla non arcu lacinia neque faucibus fringilla. Sed elit dui, pellentesque a, faucibus vel, interdum nec, diam. In dapibus augue non sapien. Praesent dapibus.


Nulla accumsan, elit sit amet varius semper, nulla mauris mollis quam, tempor suscipit diam nulla vel leo. Nulla turpis magna, cursus sit amet, suscipit a, interdum id, felis. Sed elit dui, pellentesque a, faucibus vel, interdum nec, diam. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam dui sem, fermentum vitae, sagittis id, malesuada in, quam. Mauris suscipit, ligula sit amet pharetra semper, nibh ante cursus purus, vel sagittis velit mauris vel metus. Integer vulputate sem a nibh rutrum consequat. Nunc tincidunt ante vitae massa. Etiam commodo dui eget wisi. Suspendisse sagittis ultrices augue. Fusce suscipit libero eget elit. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Etiam quis quam. Vestibulum fermentum tortor id mi.


Fusce consectetuer risus a nunc. Pellentesque sapien. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Nulla accumsan, elit sit amet varius semper, nulla mauris mollis quam, tempor suscipit diam nulla vel leo. Curabitur vitae diam non enim vestibulum interdum. Etiam ligula pede, sagittis quis, interdum ultricies, scelerisque eu. Nunc dapibus tortor vel mi dapibus sollicitudin. Fusce suscipit libero eget elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Donec ipsum massa, ullamcorper in, auctor et, scelerisque sed, est. Donec quis nibh at felis congue commodo. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Quisque porta. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Etiam bibendum elit eget erat. Donec iaculis gravida nulla. Aliquam id dolor.


Duis viverra diam non justo. Nullam rhoncus aliquam metus. Phasellus enim erat, vestibulum vel, aliquam a, posuere eu, velit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Integer pellentesque quam vel velit. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Mauris dictum facilisis augue. Fusce nibh. Vivamus luctus egestas leo. Nunc tincidunt ante vitae massa.

티스토리에 반응형 스킨이 기본으로 포함이 된 이후에 블로그를 만든 후

크게 신경 안 쓰고 지내고 있었는데,

최근 태그매니저로 애널리틱스 추적코드를 통합하고 확인하는데 문제가 있는 것을 확인하였다.

추적코드가 동작 함에도 불구하고 모바일로 접속했을 때 아무런 사용자가 표시가 되지 않았다.



그래서 여러 글들을 찾아본 결과 모바일 페이지는 모바일 페이지 사용하지 않는 것을 해줘야 하는데,

기존 방법은 스킨에서 모바일 사용 안함을 적용하는 것이었다.

그런데 그 위치에 사용 안함 버튼이 없어졌다.


현재의 위치는


꾸미기 > 모바일 로 바뀌었다.


해당 위치로 가서


모바일웹 '자동연결을 사용하지 않습니다.' 로 변경하면 된다.


반응형에서 이 것이 문제가 되는 이유는 내가 수정한 내역이 모바일웹에서는 반영이 되지 않는 부분들이 있다.

게다가 스킨 편집에서조차 작업이 불가능하다.

그러니 반응형을 쓰는 경우 모바일 페이지로 직접 접근하는 것은 막아줄 필요가 있다.


현재는 제대로 나오는 것을 확인하였다.

docker에서 ubuntu를 사용해서 개발을 하는데,

수시로 겪는 문제가 있었다.

그 문제는

Temporary failure resolving 'archive.ubuntu.com'

이런 에러가 발생하며 업데이트가 되지 않는 문제였다.


17버전을 사용할 때는 다음 버전을 쓰면서 해결했는데,

다시 16.04로 사용하자 문제가 발생하였다.


여러가지 방법을 찾아봤으나 해결되는 경우를 한 번도 보지 못하였는데,

한 stackoverflow에서 매우 명쾌한 방법을 찾게 되었다.


링크 : https://stackoverflow.com/questions/37706635/in-docker-apt-get-install-fails-with-failed-to-fetch-http-archive-ubuntu-com


결론을 적자면

build할 때 우분투가 기존 캐싱된 것을 참조하면서 문제가 된 것이다.

그래서 docker를 잘 못쓰는 나의 경우 기존 우분투 이미지를 모조리 삭제했다.

그랬더니 바로 업데이트가 문제없이 되었다.


혹시라도 이런 문제를 겪는 사람은

과감하게 ubuntu 기존 이미지를 삭제하거나

캐싱 없이 빌드를 한 번 하는 방법을 추천한다.

얼마 전 별도의 수익이 생긴 덕분에 사람들하고 나눠마실 겸

매주 스페셜티를 배송 받는 것을 주문하였다.

5달쯤 전에도 4주 동안 받아 마셨는데

만족도가 너무 좋아서

이번에는 8주 동안 받아 마실 수 있도록 주문하였다.



매주 수요일에 배송해서 목요일에 받아 마실 수 있다.


매주 받은 커피를 적어볼까 한다.


지난 주에 받은 커피는

과테말라 핀카 메디나 안티구아 이다.



더치 분쇄도로 분쇄하여 받았고,

더치로 내려서 마셔 보았다.


이런 저런 맛의 평가는 내 평가 보다는

다른 사람들이 했던 것들을 적어보자면

과테말라의 특유의 흙냄새 같은 향(흙맛 난다는 말이 아님;;)같은 것이 난다고 평을 하였다.

결론적으로는 적당한 바디감과 향이 느껴졌다는 이야기로 해석이 된다.


아무튼 스페셜티는 그 값을 하는 것 같아 마실 때면 항상 만족 스럽다.


혹시라도 마셔보고 싶은 사람은

카페딕 홈페이지 http://cafedic.co.kr

에서 구입 가능하고

이 스페셜티 커피는

http://cafedic.co.kr/shop/item.php?it_id=1501148701&ca_id=60

이 제품이다.


ps. 카페딕 커피는 내가 직접 내 돈으로 구입해서 마시는 제품이며

정보 제공용으로 적었을 뿐이고,

저는 카페딕 사이트와는 카페 and 손님의 관계일 뿐을 적습니다.

+ Recent posts