GitHub APIでIssueを操作する with PHP

GitHubへ一度に大量のIssueの登録をしなければならない、プロジェクト開始時などよくあるシチュエーションかと思います。10件や20件程度なら手作業でも良いのですが、数十個を超えてくるとさすがに人間でやるのは大変すぎるので機械にお願いしたいところ。

今回はGitHub APIをPHPから利用し、Issueの登録と更新、一覧の取得を行いたいと思います。

GitHub API

GitHubには開発者用に各種APIが整備されており、RESTful APIGraphQLを用いて様々な操作を行うことができます。

おとこらしくcurlなどで実装してもよいのですが、すでに公開されているライブラリの中から好みの物を用いてIssueの操作を行います。本来の目的は楽をするはずなのに、ここで苦労してはよくわからないことになりますしねw


続きを読む

Gitを使い始めたら一番最初にやりたい `git config`設定メモ

Gitで一番最初にやる設定をよく忘れるのでちょっとメモしておきます。

git config

Gitの設定を行うにはgit configコマンドを利用するか、設定ファイルを直接作成&編集します。

git configコマンドを実行すると自動的に設定ファイルが作成されます。すでに設定ファイルが存在している場合には、指定した項目が上書き保存されます。設定ファイル自体も以下のようにini形式のファイルとなっており、編集自体もそれほど難しくありません。

$ cat ~/.gitconfig 
[user]
    name  = Makito Katsube
    email = katsubemakito@gmail.com
[color]
    ui = true

また設定ファイルを設置する場所、またコマンドのオプションで影響範囲が変わりますので、複数人でチーム開発する際にはGitの設定をどうやって管理するかは事前に話し合っておく必要もあります。

影響範囲ファイルコマンド
システム全体/etc/gitconfiggit config --system (設定内容)
各ユーザー~/.gitconfig または ~/.config/git/configgit config --global (設定内容)
リポジトリリポジトリの .git/configgit config --local (設定内容)
※カレントディレクトリが各リポジトリのワーキングディレクトリである必要があります

同じ設定項目があった場合、リポジトリ内にある設定が最優先されます。

このページでは git config --global を前提としてご紹介します。
続きを読む

Apacheで日本からのアクセスのみ受け付ける

アクセスログを眺めていると海外からのアタックが非常に多いですよね。アジア圏は元より欧米からも日常的にやってきます。一般的なWebサービスなどはある意味仕方がないのですが、身内だけのツールや自分しか使わない物など間違いなく日本以外からアクセスがない物についてはサーバの設定で弾くことでリスクを多少なりとも減らすことができます。

そこで今回はApacheで海外からのアクセスを防ぐ設定、言い換えると日本からのリクエストのみ受け付ける設定について取り上げます。
続きを読む

CentOS7.5にLibreOfficeをyumでインストールする

CentOS上でオフィススイートが必要になったため、今回はLibreOfficeを入れてみます。

10年ほど前に同じく無料のオフィススイートであるOpenOfficeを使っていたのを思い出しましたが、軽くググると2011年に開発プロジェクトは解散しApacheに譲渡されたみたいですね。当時はUIが残念で日々ストレスでハゲそうでしたw それに反してLibreOfficeは最初に触ったときから非常に使いやすいかったのをよく覚えています。
続きを読む

GoogleAppsScript(GAS)のIPアドレス範囲を調べる

GASからUrlFetchApp.fetch()した場合にどのIPアドレスからリクエストが来るか事前に知りたい場合がありますよね。社内や身内だけで使っているクローズドなサーバなどでです。今回はこの調査方法についてまとめます。
続きを読む

MySQLのテーブルにPartitionを追加/削除/確認する

2013年に作成した個人的なWebサービスがいつの間にか動かくなってる…?と思って調べて見るとPHP経由で動かしているMySQLが以下のようなエラーを吐いていました。

PHP Fatal error:  Uncaught Exception: [_runsql] HY000 1526 Table has no partition for value 20180827

どうやら開発当初に設定したMySQLのpartitionをすべて使い切ってしまったようです。アクセスログ用のテーブルで5年分くらいのpartitionをまとめて切っていたのですが、まさか5年後も動かしているとは夢にも思わずw (もしくは将来の自分が何とかするだろうと思っていたらしいw)

今回はこいつを動くようにします。
続きを読む

はじめてのGatsbyJS – 導入編

最終的にWordpressをデータソースに、静的なページを吐き出したくなりまして、PWA的なナウいコードが吐き出せるGatsbyを試してみました。

そもそもGatsbyって何やねんという方にはこちらのスライドがわかりやすいです。

今回はGetting Startedページに沿ってまずは基本的な扱い方を学んでみます。macOS上で試していますが他のOSでも同様に試せると思います。
続きを読む

Office365のメールをGMailで送受信する

諸般の事情でOutlook(Office365)を使うことになりました。

普段GMailをメインで使ってる身としては、1日1回Outlookを起動してメールをチェックするのはダルいですし、そもそも最近のMacはSSDになってからディスク容量が驚きの少なさになったこともありローカルでメールの管理するのはちょっと辛い。Web版のOfficeをそのためだけに開いておくのもちょっと…というわけでOutlookさんを日常的に使わずに済む方法を模索します。

ちなみに会社員やってるときは逆にOutlookが便利で仕方なかったですけどねw
(ノーツは地獄でしたがw)

続きを読む