Somurie Engineer's Blog

4月の振り返り

振り返り総括 IPA試験があったためそれに費やす時間が多かった。 AtCorderが面白い。Rubyで遊びつつデータ構造やアルゴリズムの勉強ができるので楽しい。当分遊ぼうと思う。併せてRubyメタプログラミングの書籍で勉強中 通勤中は英語勉強がベスト。オーディオブックは他に注意を向けると文脈がわからなくなるため単発の英語が良い。DUO3.0は優秀。 Achived 開発 DB調査用のストアドプロシージャを作成した インフラ AWSサーバレスでRails環境を構築した(特別作りたいものがなくなったため、HelloWorldのみで一旦辞めた) ブログHTTPS対応 IT基礎 DBスペシャリスト試験勉強 Keep 勉強時間は多めに確保し続けることができている。継続する Problem 書籍は全部読まずに要点のみ読む (長期課題)デザインセンスが乏しい。色合いやWebサイト全体構成など Try for next month Rubyの基礎本の要点を読み終える Rubyメタプログラミング書籍を読み終える システム設計の原則本が読み途中。もくもく会を企画する AtCorderABCを90問解く(平均1日3問) AtCorder大会に参加してみる(5/25)

Let’s EnclyptでEC2上のWordPressをHTTPS化する

こちらを参考に AWS Bitnami+WordpressのHTTPS化をしてみました。 Contents 1 certbotのインストール 2 証明書の発行 2.1 ACME v2とは? 2.2 バックアップを取得 2.3 シンボリックリンクを作成 2.4 権限をrootのみにする(ln先の権限をなくさないとダメっぽい(3〜4行目) 2.5 Apache再起動 2.6 httpへのアクセス時にhttpsへリダイレクト 3 証明書の自動更新設定 certbotのインストール $ sudo -i $ curl https://dl.eff.org/certbot-auto -o /usr/bin/certbot-auto $ chmod 700 /usr/bin/certbot-auto 証明書の発行 以下コマンドで証明書発行ました。このコマンドを見つけるまでに時間がかかった。 $ cd /tmp/certbot $ ./certbot-auto certonly --agree-tos --manual-public-ip-logging-ok --manual -d "

AWS Lambda&Rails5.2.3で格安サーバレス運用をする

背景 RailsでWebシステムを公開したい時、どこのレンタルサーバを使用していますか? Railsが動作する前提で探すと(PHPと比較して)どうしても高くなってしまい、遊び程度のシステムを作成するにはどうも気が引けます。 簡単なWebサービスであればAWSのサーバレスアーキテクチャがかなり安く運用できそうなので、簡単な運用費計算と簡単な動作確認までを記事にまとめました。 環境 MacOS Mojave 10.14.4 Homebrew 2.1.0-27 Ruby 2.5.3p105 Rails 5.2.3 作業日 2019/4/14 運用費計算 王道ですが以下3つの構成から成る簡単なWebアプリを作成するとします。大まかな料金表は以下の通り。 Route53 ホストゾーンの登録 0.5USD/Month 標準クエリ100万件毎 0.4USD/Month (日割りされるみたい。少なければ0USD?) S3 ストレージ料金 最初の 50 TB/月 0.023USD/GB リクエスト料金 S3 Select によって返されたデータ 0.0007USD/GB lambdac 1,000,000 件のリクエストか400 GB-秒まで 超ざっくりですが、皮算用は0.5USD/月程度です。内訳は以下の通り。 Route53 1万アクセス/月の場合、登録料0.5USD+0.004USD S3 0.5GBのコンテンツの場合、0.00000023USD -20GBのリクエストの場合 (1アクセス2MB×1万アクセス)、0.014USD/GB lambda 無料 安すぎるけど計算間違えてないかな・・・。 既に計算している人を見ると、やや違うけど、とんでもない金額にはならなそうなのでとりあえず進みます。 AWS SAM CLIのインストール $ brew tap aws/tap $ brew install aws-sam-cli $ sam --version SAM CLI, version 0.

MySQLで全てのテーブルからキーワード検索する

はじめに 最近仕事させて頂いている現場でER図が存在せず、foreign key設定もされておらず、DB構成の理解に時間がかかりました。 画面上で入力した値がどこに設定されているかすぐ検索するためにDB内の全検索プログラムが見当たらなかったので作りました。(MySQL8.0動作確認済) カーソルの使用経験があまりなかったのでちょうど良い題材でした。 データベースから全検索 drop procedure if exists searchValueInAllTables; delimiter // create procedure searchValueInAllTables(IN table_schima_name varchar(255), IN keyword varchar(255)) begin declare v_table varchar(255); declare v_column varchar(255); declare done int default 0; declare cur cursor for select table_name, column_name from information_schema.columns where TABLE_SCHEMA=table_schima_name; declare continue handler for sqlstate '02000' set done=1; -- SQLSTATE 値 '02000' で「データなし」状況時にhandleし、done=1を設定する。その後のアクション「継続」をcontinueで指定 set @keyword = keyword; drop table if exists WORK_DATA; create temporary table WORK_DATA( -- temporaryを付けると一時テーブルとして作成できる。セッションを抜けると自動でDropされる table_name varchar(255), column_name varchar(255), hit_count int ); open cur; repeat fetch cur into v_table, v_column; if not done then set @sql_search=CONCAT('SELECT COUNT(*) INTO @cnt FROM ' , v_table, ' WHERE ', v_column, ' LIKE ?

2019年3月の振り返り

振り返り総括 3月はシステム開発は少しだけ、調査や読書の時間が多かった。 4月・5月はWebサイトに拘らず、自分が作りたいシステムを作ろうと思う。(次商談に向けて何か成果物は欲しい) 今の所一番興味があるのは株など投資売買に関連するサポートシステムなど。 体調管理にはかなり力を入れていたが、2回程体調が悪くなってしまった(長めに睡眠を取ったら治った)。寒い中の自転車通勤&久々の運動だったからかも・・・。 週1日は頭を休める日を引き続き取っておいた方が良いなと思う。 Achived 開発 クリニック向けレスポンシブデザインWebサイトの作成(既に契約済みだったため運用なし) ・ミック本(DB書籍で有名な本)読み途中(DBスペシャリスト試験向け)  ・システム設計の原則読み途中 IT基礎 証明書の仕組みやプロセス・スレッドの違いといった細かい部分を学んだ(全然記事にしていない・・・) 安いサーバ運用の調査。Railsを使うのであれば結局AWSのサーバレスが一番安そう(最近Rails対応したみたいですね) ミック本(DB書籍で有名な本)読み途中(DBスペシャリスト試験向け) システム設計の原則読み途中 Keep 自転車通勤 通勤中の英語、オーディオブック Problem (長期課題)デザインセンスがない。色合いやWebサイト全体構成など Try for next month (休日)DBスペシャリスト試験があるため3年分過去問を解く (平日)AWSでサーバレスシステムを構築 GWが始まるため、作るものを検討・着手 執筆は週に1記事程度で継続

フリーランスになって1ヶ月、腱鞘炎になりました

はじめに 掲題の通りですが、腱鞘炎になりました。 1ヶ月ほど起きている時間はずっとMackBookを触り続ける日々だったのですが、腱が限界を迎えたようです。 パソコンのキーを叩くだけで手首から肘にかけて鈍痛が生じる状況でした。 腱鞘炎になりつつも仕事はしないといけないので極力手首に負担をかけさせないようにするアイテムを紹介します(コスパ良く手首に効くアイテムを厳選しました!)。 実際にこれらのアイテムを使って1週間程度で痛みを感じない程度に回復、2週間程度で普通にキーボードを使える&自転車に乗れる程度まで回復しました。(ここまでくれば完治したはず) リストレスト 1つ目はリストレスト(手首用のクッション)です。 こちらを使用すると以下の通り手首の腱に優しくなります。 手首の一定の箇所に圧がかかることを避けることができる キーボードより手首の位置を高くすることができる(手首にとって自然な状態でキーボードを叩ける) MackBookProにはキーボードの手前にトラックパッドがあるため、大きめのリストレストではなく小さめのものを2つ置くのがベストです。 キーボードの角度調整 キーボードに少し角度を付けるだけで手首の負担が大きく減ります。 試しにキーボードを少し傾けてタイピングしてみてください。特に奥のキーを叩く時に指のストロークが小さくて済むことがわかるかと思います。キーボードを1日叩き続けるうえでこの小さな差の積み重ねが重要です。 まとめ 腱鞘炎は悪化すると回復に時間がかかります。 少しでも痛みがあるようであれば早めに処置することをオススメします。 上記を合わせても2千円ちょっと・・・。著者は腱鞘炎になったせいで数日を無駄にしたので早めに2千円を出しておくことをオススメします。

通勤は折りたたみ自転車がオススメ

はじめに フリーランスで活動し初めて1ヶ月ですが、早速通勤の電車が苦痛になっています。 フリーランスで働く方々にとって通勤時間や交通費は気にするポイントかと思いますので、DAHON Curve D7での通勤に辿り着いた経緯をまとめました。 ちなみに購入した折りたたみ自転車はこちらです。 折りたたむとこんなに小さくなります! 購入背景 背景は人により異なりますが、私がフラストレーションを感じていた点は以下の通りです。 8kmの通勤に40分かかる(乗り換え) 定期代が高い(JR+私鉄だったため月1万。私鉄だけの場合でも月5千円以上かかる) 電車の混雑・遅延から開放されたい なぜ折りたたみ自転車が良いか? 8kmの通勤になると電車、自転車、徒歩、車、バイクくらいしか選択肢がないかと思います。 自分の場合、消去法として自転車しか選択肢がなく、且つフリーランスの場合職場が転々とするため駐輪場を探して契約することは避けたいです。 肌身離さず持っておける折りたたみ自転車がベストかと思います。 ※加えて、運動不足の解消も購入目的の1つです。 折りたたみ自転車購入時の観点 折りたたみ自転車購入時のポイントは以下の通りです デスクの下に入るか 安定走行可能か (万が一急な雨の時に)電車に乗せることができるか 高すぎないか(10万円以下希望) 180cmの身長に適用しているか デスクの下に入るか 机の高さは70cmが通常のため、机の暑さを考慮して65cm以下の高さが望ましい。 職場が転々とするため余裕を持ってなるべく小さいサイズに折り畳めることが良いです。 安定走行可能か 折りたたみ自転車の場合20インチのものが一番多いです。 安定走行を求める場合、16〜20インチを選ぶのが無難です。14インチと16インチで比較試乗してみましたがスピードをある程度出すなら16インチの方が良さそうです。 購入候補 折りたたみ自転車のメーカーは多数ありますが、販売台数・値段・スペックで絞ると初回購入にはDAHONが一番良いかなと思います。 他にも色々メーカーはありますが、新宿近辺で実物を自転車店で見ることができたのはDAHON、Brompton、Ternくらいでした。(数店舗しか回っていませんが) DAHONの中でも条件に合致しそうな型は以下の3点でした。 型 折りたたみ時サイズ 推奨身長 金額(税別) DAHON k3 W65 × H59 × D28 150~180cm ¥82,000 DHON Curve D7 W73 × H61 × D34 137~188cm ¥71,000 DAHON Speed D8 Street W82 × H67 × D32 145 〜190cm ¥79,000

SSLサーバ証明書の動きを整理してみた

はじめに SSLサーバ証明書の動きがいまいち理解できていなかったため整理した。 認識誤りがあればコメント頂けると助かります。 証明書の用途 主にウェブサイト運営団体の電子的な身分証明書として使用する。SSL通信を実現する。 主要キーワードと役割 ルート証明書 ルート認証局(ルートCA)が発行する証明書。Webサーバが公開している公開鍵が本当に該当のWebサーバのものか証明する。 Webサーバ クライアントとHTTPSで通信したい。秘密鍵と公開鍵を持つ クライアント Webサーバにアクセスする側。WebサーバとHTTPSで通信したい。ルート証明書を事前にインストールしている SSL通信までの動き 事前手続き クライアントにルート証明書を設定 mkcertを使い、ルート証明書の生成、インストール、ルート証明書を使ったWebサーバ証明書への署名をまとめて行う (通常はルート証明書が既にクライアントに設定されている) (通常はWebサーバ管理者が依頼し、ルート認証局がWebサーバのデジタル証明書に署名を行う) Webサーバへの公開鍵・秘密鍵の登録 mkcertで作成された秘密鍵、公開鍵をWebサーバに登録する Webサーバのサーバ証明書を取得 クライアント->Webサーバ HTTPSリクエストを発行 クライアント<-Webサーバ Webサーバのサーバ証明書を送付 サーバ証明書の認証 クライアント ルート証明書の公開鍵からWebサーバのサーバ証明書についた署名(ハッシュ値)を復号する クライアント 受信データをハッシュ関数を用いてハッシュ値を求める クライアント 上記2点のハッシュ値が一致すればWebサーバの公開鍵(デジタル証明書)が正しいと判断する 共通鍵の交換 クライアント Webサーバの公開鍵を使ってプレマスターシークレットを暗号化 Webサーバ Webサーバの秘密鍵を使ってプレマスタシークレットを復号化 クライアント・Webサーバ お互いにプレマスタシークレットから共通鍵を生成 補足 CRL 認証局から一定周期で発行され、クライアント側からLDAP、HTTP、FTPなどで取得する CRLには次回CRL発行タイミング(クライアントからの次アクセス時間)が記載されている  (mkcertではこれがかなり先の日付?) 証明書に含まれる情報 公開鍵の情報 コモンネーム 公開鍵の所有者情報 所有者を証明した認証局の情報 証明書の有効期限 証明書のシリアル番号 証明書の失効リスト参照先 詳細は こちら参照

2019年2月の振り返り

振り返り総括 フリーランスを初めて最初の月であったため、できるようになったことは多い。(4年ほどプロマネだったため、できなかったことが多すぎる・・・) 月初の時点では1日も休みなく勉強すべきと思っていたが、週1日は休んだ方が良さそう。体力が持たないというか頭の回転がどうしても鈍くなってしまう。1日でも半日でも休んだ方が良い。同程度の勉強であれば苦もなく続けることができそうであるため、翌月も同程度勉強し続ける。 初月にしてはそれなりに理解できたことは多かったが、前提知識が不足していることに起因して理解が追いついていない箇所があるのではと感じる(例えばDockerが正常に動作しない時にpsだけでなくimageが悪さをしてしまうのか未だに理解できないのはDockerの動作原理を理解していないためと思われる)。 Achived 開発言語 Railsの仕組みをある程度理解した(早くも3か月程度ちまちま触っている) 待ち行列システムを構築中 BootStrapをある程度理解した(よく使うものは調べなくても使えるようになってきた) Rubyの書籍(はじめてのRuby)を半分読んだ IPアドレス変換プログラムを公開した インフラ系 Vagrant・Dockerの仕組みを理解した そもそも違いもいまいちわかっていなかった 職場でVagrant、自宅でDockerをいじっていた Dockerfileを読めるようになった 正常に稼働しなくなった時にpsを削除だけでなくimageを削除するなど 稼働していないimageが悪さをしていることもある docker-composeを使って複数コンテナから構成されるシステム Vagrantfileを読めるようになった private_networkとpublic_networkの違いなど ディレクトリ共有・マウント Gemfileが読めるようになった Gemfile、Gemfile.lock Git・GitHubが使えるようになった commit、rebase、1人ではなくチーム開発の経験 VagrantやDockerを使う場合のリモートデバッグ設定 RubyMine Eclipse VSCode 業務知識 ※狭い業界の仕事であるため割愛 その他 英語は結構読んだ(平均すると1日の1/3はReading) AppleConfiguratorの使い方 iOSベータ版のインストール、戻し方 Keep 生活 勉強時間を確保できた 朝2時間、夜1時間確保できた 移動時間、昼休みも勉強に費やすことができた 睡眠時間を十分確保した 1日7時間〜7時間半は寝ている。昼寝もせずスッキリした気持ちで働ける ストレッチを習慣付けした お風呂上がり、下旬からは朝ヨガも 週1日休息日を取った Problem 生活 二度寝をし過ぎた 何かやることがないと目覚まし通り起きることは厳しい SmartNewsなどくだらない記事を見過ぎた とはいえ多少の息抜きは必要 仕事 ブログ記事をあまり書いていない(2記事/月) Try for next month 生活 二度寝をしない。朝6時にヨガ 仕事 ブログを週1記事書く Railsのシステムリリース(3月中にスモールリリース) 通勤用の自転車を買う

Docker+Railsコンテナ構築時のUnknown MySQL server host ‘mysql’エラー

Docker+Railsコンテナ構築時にUnknown MySQL server host ‘mysql’エラーが発生してなかなか解決しなかったので備忘として解決までの流れを記載する。 Contents 1 環境 2 解決までに試したこと 3 解決方法 4 まとめ 環境 今回は以下環境にて開発を行った。 MacOS Mojave 10.14.3 Docker 18.09.1 Ruby 2.5.3 Rails 5.2.2 MySQL 5.7.10 解決までに試したこと docker-composeでappとdb(両方サービス名)のリンク・リンク名の見直し。(以下URL参照) https://qiita.com/merochiyo/items/14dde59e960c0b35d8a0 dbのコンテナが立ってからappが起動及びdb:createすること。 http://otiai10.hatenablog.com/entry/2016/02/04/160515 解決方法 明確な原因はわからなかったのですが、以下コマンドを使うことで解決しました。恐らくですが、Dockerの古いイメージが残ってしまい、そちらを参照し続けてしまったことなどが原因かと思います。(直前にMySQLのバージョンを8に変更し、認証プラグインがcaching_sha2_passwordになってエラーになり、バージョンを5.7.10に戻したりしていたので、その際のキャッシュなどを使っていたのかなと推測) 以下コマンドでは、可動していないものも含め全てのDockerイメージを削除します。 $ docker stop $(docker ps -q) $ docker rm $(docker ps -aq) $ docker rmi $(docker images -q) まとめ Dockerがどうやってもうまく動かない時は可動しているイメージを削除するだけでなく古いイメージを削

Git使い方まとめ(随時更新)

はじめに Gitの使い方で検索することが多いため、大まかな流れを記録する。 GitHubを一人で使用する前提として記載するため注意。 GitHubへの接続設定(GitHub初回接続時のみ) GitHubへのアップロード時のユーザー設定を以下の通り修正する。 git config --global user.name "somuriengineer" git config --global user.email "somuriengineer@gmail.com" ローカル資源をGitHubにアップロードする手順 GitHub上で空リポジトリを作成 GitHub上のリポジトリがない場合は こちらを参考に作成します。 ローカルリポジトリの作成(初期化) 以下コマンドにより「.git」ディレクトリが作成される。同ディレクトリはリポジトリ構成を表す。 以下コマンドで作成したディレクトリをリポジトリ管理するための準備ができた状態になります。 cd {プロジェクトのリポジトリ} git init コミット対象資源の整理(ステージングエリアへの配備) 以下コマンドによりローカルリポジトリに資源をコミットします。 git addコマンドにより対象資源が作業ディレクトリからステージングエリアに置かれます。 vi .gitignore # *.logなど、リポジトリ管理対象外の資源を記載する echo ".DS_Store" .gitignore git add . # 対象資源を制限する場合は 「.」以外で設定 ローカルリポジトリへの配備(コミット) ステージングエリアに置かれた資源は後述のcommitコマンドによりローカルリポジトリに格納されます。 git commit -m "Initial Commit" # 2回目以降は -a オプションも付けることで、既知のファイル変更を全てコミットする。(-aは--all、-mは--message=の略) コミットコメントが沢山ある場合は -mオプションを付けないでgit commitのみコマンドを入力します。エディタが開くため、1行目に要約、2行目空行、3行目以降に詳細な内容を記載します。 ## リモートリポジトリへプッシュ 以下コマンドによりoriginという名前でリモートリポジトリ(今回はGitHubのリポジトリ)を追加します。 2行目によりリモートリポジトリが何か確認できます。なお、削除は「git remote rm origin」です。 $ git remote add origin https://github.

IntelliJ+SpringBoot環境構築手順まとめ

はじめに Mac上にIntelliJ+SpringBoot環境を整えたため、手順をまとめました。 環境 MacOS Mojave 10.14.1 Homebrew 1.9.3-14-g2cc5086 IntelliJ IDEA 2018.3.3 java se 11.0.2 gradle 5.1.1 作業日 2019/1/29 Gradleのインストール SpringBootの環境セットアップにはGradleが必要になるため、事前にGradleをインストールします。 GradleのインストールはHomebrewを使用するため、以下コマンドのみ実行でOKです $ brew install gradle SpringBootのインストール 以下の公式サイトを参考にインストールしました。 https://spring.io/guides/gs/intellij-idea/ SpringBoot雛形の取得 以下コマンドにてSpringBootの雛形ソースを取得します。取り込む雛形はrestサンプルなど色々あるので好みに応じて変更してください。 $ git clone https://github.com/spring-guides/gs-spring-boot.git 取得したソースを解答し、complete/gradle/wrapper/gradle-wrapper.propertiesのgradleバージョンを以下の通り5.1.1に変更します。(修正前のバージョンが4.*でありはjava11.0.2に対応していなかったため) distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-bin.zip IntelliJの起動 IntelliJにてプロジェクトをインポートします。公式サイト通りcomplete/build.gradleを起動します。 IntelliJ起動後はRunを実行し、localhost:8080にアクセスすると、「Greetings from Spring Boot!」の文字が表示されます。

Vagrant+VirtualBox設定

はじめに Mac上にVagrant+VirtualBox環境を構築する手順をまとめた。 環境 MacOS Mojave 10.14.1 Homebrew 1.9.3 Vagrant 2.2.3 VirtualBox 6.0.2 前提 事前に以下をインストールしてください。 Homebrew Homebrew Cask Vagrantのインストール Vagrant(ベイグラント)とは VagrantはVirtualBoxなどの仮想マシンを管理するCUIツールです。 ChefやAnsibleといった構成管理ツールと組み合わせることでどこでも同じ仮想マシンを開発に参画する方々の端末に再現することができます。 設定ファイルであるvagrantfileにCentOSといったOS、nginxなどのサーバ、phpやphpMyAdminといったアプリケーションなどを記載すると環境構築及び環境の再現ができます。 インストール Homebrew-Caskを使ってインストールします。以下コマンドを入力してください。 $ brew cask install vagrant Boxの追加 Boxは仮想マシン作成に必要なOSのディスクイメージ等が入ったものです。 以下URLからインストールしたいOSを選択します。今回はCentOS 7.2 x64をインストールします。 http://www.vagrantbox.es/ $ vagrant box add centos72 https://github.com/CommanderK5/packer-centos-template/releases/download/0.7.2/vagrant-centos-7.2.box $ mkdir centos72 $ cd centos72 $ vagrant init centos72 すると、Vagrantfileというものが作成されるので以下1行を追加します。public_networkにするとホスト端末だけでなく他の端末からもアクセスできます。 Vagrant.configure("2") do |config| config.vm.box = "centos72" config.vm.network "public_network", ip: "192.168.0.20", bridge: "en0: Wi-Fi (Wireless)"

Mac Mojave上へのJava11開発環境構築方法

はじめに Mac上にJava環境を整えたため、手順を残しておく。 環境 MacOS Mojave 10.14.1 Homebrew 1.9.3-14-g2cc5086 IntelliJ 2018.3.3 java se 11.0.2 作業日 2019/1/26 手順 homebrew-caskのインストール Homebrewはターミナルで使用するrbenvやnodebrewなどをインストールするパッケージマネージャですが、CaskではGUIアプリもインストールできます。 Caskをインストールするために以下コマンドを打ちます。 $ brew tap caskroom/cask IntelliJのインストール Caskを使用して、以下コマンドを実行します。(ceはコミュニケーションエディションです) $ brew cask install intellij-idea-ce Javaのインストール Caskを使用して、以下コマンドを実行します。自動的に最新版(2019/1/26時点ではjava11がインストールされます。 $ brew cask install java 参考までに、以下バージョンがインストールされました。 $ java -version openjdk version "11.0.2" 2019-01-15 OpenJDK Runtime Environment 18.9 (build 11.0.2+9) OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode) その他 以下コマンドでhomebrew-caskでインストールしたアプリケーションが一覧で確認できます。今回はIntelliJとjavaの2つをインストールしました。 $ brew cask list intellij-idea-ce java

ノマドワーカー@セブ島

セブ島で仕事ができる環境にあるのかを視察してきたので記事にしました。今後フィリピン等アジアでの仕事を考えている方は参考にして頂ければと思います。 Contents 1 目的 2 滞在プラン 3 事前予約 4 滞在したホテル 4.1 モーベンピック 4.1.1 総評 4.2 プランテーションベイ 4.2.1 総評 5 その他気づき 6 まとめ 目的 各地でシステム開発などフリーランスエンジニアとしての仕事ができる環境か確認する。 滞在プラン 今回はあまり移動せず、ホテル内で完結するプランです。 事前予約 今回事前予約は以下2点です。空港とホテルの間の移動は現地のタクシーを使いました(行きは黄色タクシー(300ペソ程度)、帰りはホテルタクシー(600ペソ)) 飛行機(Cebu Pacific)成田⇔マクタン空港 ※往復で4万弱(手荷物は合計7kgまで2つまで。預け荷物は追加オプション必須、20kgで2000円程度) 宿(場所は後述。予約はBooking.com) 滞在したホテル 今回は2箇所のホテルを確認してきました。選択の基準は以下の通り。 ホテルから観光に町に出ず、仕事に集中できる環境か 仕事の合間にリフレッシュしやすい環境か ガイドブックに載っている程度の知名度か(信頼性があるか) モーベンピック