Google Apps Script開発をGithubとCIで楽にする

Google Apps Script(GAS)とは?

Google Apps Scriptは、Googleスプレッドシートで使うことができる、スクリプト言語です。Excelで言うところのVBAマクロと同じような位置付けとなります。

外部のサイトをスクレイピングしてシートに自動入力したり、複雑な計算処理を自動で行ったりすることができます。

何がすごいのか?

このGoogle Apps Scriptのすごい所は、書いたスクリプトをウェブ上から実行できる所にあります。例えば、Githubのリポジトリが更新されたら特定の処理を実行する、といったことが実現できます。しかも無料です!

ただし、スクリプトが確実に実行される保証がなく、大量のリクエストが発生するようなシチュエーションでは使うことができません。ちょっとしたツールを作る時に力を発揮します。

GithubでGASのソース管理がしたい!

さて、本題に入ります。この便利なGASですが、バージョン管理の機能は備わっているものの、ソースコードを管理する仕組みがありません。

幸いにもGoogleが公式に開発用パッケージを用意してくれているのでこれを利用します。

この記事の目標

  • ソースコードはGithubで管理する
  • ローカルから直接Google Apps Scriptにデプロイ禁止
  • Wercker(CI)を使ってリポジトリにPushされたら自動デプロイする

Read More

ベトナム人留学生を雇用する際に注意すること

最近の労働人口不足の解決案

日本で、労働人口の減少が叫ばれる中、新たな選択肢として外国人留学生をアルバイトで採用し、労働力を賄っている企業が多くなってきました。私自身も留学生を使用する会社に勤めているため、注意点などを現場視点でまとめてみました。

今回は外国人留学生の中でも、ベトナム人留学生を中心に書いていきたいと思います。

労働時間について

留学生が日本で仕事をする場合、労働時間の限度が法律により定められています。

  • 労働時間の合計が週28時間以内
    • 夏季、冬季の長期休暇の間は、週40時間以内
  • 労働時間の合計が1日8時間以内

つまり、1日8時間労働の場合は週3回(8時間*3回=24時間)が限度となります。また、学校が夏休みや冬休みなどの長期休暇中は週40時間の労働を行うことができます。この限度を超えてしまうと在留カードの更新ができなくなってしまったり、ビザの更新ができなくなってしまうので、注意してあげましょう。

Read More

【フォートナイト】アウトランダーを使う場合のベストなスクワット編成

アウトランダーといえば熊(テディ)

アウトランダーを使う醍醐味といえばスキルで呼び出せる熊(テディ)です。タレットと同様に周囲の敵をフルオートでどんどん倒してくれます。

中でもエンフォーサーのPARKが適応された熊は更に強力で、ハスクがどんどん溶けていく様を見るのは気分爽快です。

また、自分が動く必要が減るため、ミッション攻略に余裕が生まれます。熊を自陣近くに設置して自分は邪魔なロバーを狩りに行くなども簡単になります。

Read More

Alpine Linux上でsharpをビルドする

sharpとは?

C++で記述された画像加工モジュールで、非常に高速に画像を処理することができるモジュールです。

https://github.com/lovell/sharp

当然ですが、C++で書かれているため、使用するにはコンパイルする必要があります。

Alpine Linuxとは?

Linuxディストリビューションの一つで、セキュア・軽量という特徴があります。イメージサイズが5MB程度なのでDockerのベースイメージとして最適です。

しかし、本当に最小限のモジュールしかインストールされていないためされていないため、何かをコンパイルしたりする場合、難易度が高くなります。

Alpine Linux上でsharpをビルドする

タイトルの通り、軽量ディストリビューションのAlpine Linux上でsharpをビルドしてみます。

今回はDockerイメージとしてnode:alpineを使用します。この先はこのDockerイメージの中での作業となります。

Read More

【フォートナイト】PvEでマッチングしない時の対処法

Fortnite~世界を救え~のマッチングしない問題

日頃からPvEをプレイしていると、複数人でないとクリア困難なミッションの時に人数が集まらず、苦戦することが結構あります。

これは、日本人のプレイヤー人口がまだ少なく、同じミッションをプレイしようとしている人が少ないのが原因です。

今回は、マッチメイキングする地域を変更してスムーズにスクワッドが組めるように設定を変更してみたいと思います。

Read More

Fortnite~世界を救え~のストーリー攻略(プランカートン編)

はじめに

FortniteのPvEモード~世界を救え~のメインストーリーの攻略手順をメモしておきます。

本記事はプランカートン(Plankerton)編となります。

ページ数、クエスト名、クエスト内容(英語)、クエスト内容(日本語)の順に箇条書きでまとめています。不明な点があればコメント欄にてお願いします。

Read More

Fortnite~世界を救え~のストーリー攻略(ストーンウッド編)

はじめに

FortniteのPvEモード~世界を救え~のメインストーリーの攻略手順をメモしておきます。

本記事はストーンウッド(Stonewood)編となります。

ページ数、クエスト名、クエスト内容(英語)、クエスト内容(日本語)の順に箇条書きでまとめています。不明な点があればコメント欄にてお願いします。

Read More

UpBoardにUbuntuをインストールする方法

目標

UpBoardにはオンボードフラッシュメモリ(eMMC)が実装されており、そこにOSをインストールすることが可能です。しかし、このメモリが壊れた場合、修復することが非常に困難なので今回は、USB3.0で接続したSSDにUbuntuをインストールしてみたいと思います。

目標は以下のとおりです。

  • OSはUbuntuを利用する
  • オンボードフラッシュメモリ(eMMC)は使用しない
  • USB3.0に接続したSSDにOSをインストールする

Read More

東横インのWi-Fiを利用する方法

東横インのWi-Fiの利用方法

東横インのWi-Fiは部屋ごとにアクセスポイントが設置されており、宿泊する部屋によって名前(SSID)が異なります。

各部屋に備え付けられているテレビ端末に、アクセスポイント名とパスワードが表示されているので、それを入力すればWi-Fiを利用することができます。

Read More