カテゴリーアーカイブ TECH

takahashi 著者:takahashi

ApacheのRewriteでメソッドの種類を条件にした時の書き方

久々にApacheのmod_rewriteをこねこねしたので、その備忘録。

Apacheのmod_rewriteはかなり柔軟な指定をすることができ、それ故に”黒魔術”と呼ばれることもあります。
そんなmod_rewriteですが、プログラムを介することなくGET/POSTなどのメソッドに応じてリダイレクトさせることが可能です。

書き方としては

RewriteCond %{REQUEST_METHOD} ^(メソッド名)$

こんな感じです。
例えば、POSTの時だけリダイレクトしたいのであれば

RewriteEngine On 

RewriteCond %{REQUEST_METHOD} ^(POST)$
RewriteRule ^(.*)$ /post/only/path%{REQUEST_URI} [R=301,L]

のように書けます。

Rewriteは非常にたくさんのオプションを指定でき、柔軟に振り先を分けることができます。

Apacheのmod_rewriteモジュールの使い方を徹底的に解説 – OXY NOTES

ただし、誤った設定をしてしまうと、リダイレクトループに陥ってしまい、ページが表示できなくなってしまうこともよくあります。
すでに動いているサイトなどでは十分に注意して使用してくださいね。

  • この記事いいね! (0)
takahashi 著者:takahashi

TwitterがUserStreamsAPIの廃止を延期

以前から波紋を呼んでいたTwitter Streams APIの廃止問題ですが、どうやら廃止が延期されたようです。

Twitter、“流れるタイムライン”の「User Streams API」廃止を延期 – ITMedia

User Streams APIとは、一度TwitterサーバーのこのAPIに接続してしまえば、リアルタイムにツイートの取得が可能となり、さらに現在サードパーティアプリに敷かれている15回/15分という厳しい取得制限の影響を最小限に抑えられる、唯一の回避策でもありました。
ところがTwitterはこのUser Streams APIも廃止を行い、TLの取得ができず、ほぼ有料であるAccount Activity APIの適用を強制することで、実質的にサードパーティークライアントの締め出しを行おうとしていました。

上記記事ではなぜTwitterがUserStreamsAPIの廃止が延期されたのかは不明と書かれていますが、こちらの記事ではTwitter社に対して抗議が多数寄せられたことが原因としています。

Twitter、サードパーティアプリを破壊する「User Streams API」の廃止を延期 – 携帯総合研究所

情報が錯綜気味なので、実際のところはわかりませんが、”謝罪専用係“や大量アカウント凍結などの事件もありましたし、UserStreamsAPIの廃止によって多数のデベロッパーやユーザーにとってさらに使いづらくなります。ユーザーやデベロッパーから猛烈な抗議が出るのも無理はないと思います。

経営難でいろいろな施策が必要なのは理解できるのですが、利用者数も少ないサービスではないですし、原因はユーザーではなくTwitter側にあるはずなので、ユーザーにばかりしわ寄せするような施策が多いのはどうかと思ってしまいますよね。

制限ではなく、Twitter、ユーザー双方にメリットのあるシステムを考えていって欲しいところです。

  • この記事いいね! (0)
takahashi 著者:takahashi

企業のエイプリルフール合戦 in 2018

どうも、最近彼女ができましたtakahashiです。

…というのはウソです。

先日は4/1、そうエイプリルフールでしたね!
ここ数年、4/1になると毎年いろんな企業がジョークをネット上などで飛ばしあうという、謎の風習が出来上がっています。
しかも、企業がつくウソなだけに、なかなかのクオリティがあり、面白すぎて笑ってしまうものや、「おおおおすげー」ってなるものまで、さまざまです。

エイプリルフールはもう過ぎてしまっていますので、現在は一部のネタしか見ることができなくなっているかと思いますが、どんな雰囲気だったか知りたい…!という方はこちらのサイトを見てみると雰囲気を味わうことができるかもしれません。

エイプリルフールに便乗しているサイトまとめ2018年版 -Gigazine

さて、このエイプリルフール期間にここ最近毎年必ずボケをかましている常連企業があります。
Googleです。

Googleはもともとイースターエッグが大好きな企業のようで、Androidのバージョンをタップしまくるとミニゲームが起動したりとか、Google Mapで特定の経路を検索するとドラゴンに乗った場合の所要時間が出てきたりとか、かなり遊び心あるジョークをいろんなサービスに仕込んでいます。

そんなGoogleで毎年エイプリルフールでネタを出しているのが

・Google Map
・Google日本語入力

の2部門。
まずはGoogleMap

・ウォーリーをさがせ!
今年は”ウォーリーをさがせ!”との夢のコラボ!!
Googleマップ上でウォーリーを見つけるゲームができます。


Lv.1はアンデス山 チリ


なんだか、一人だけ服装の違う方がいますが気のせいですかn
「ぶぁっかも~ん!そいつがウォーリーだ!追ええええ!!」
ということで真ん中あたりにいました。
皆さんは見つけられましたか?


ウォーリーを見つけると、この画面が出てきて、次のレベルに進むことができます。


この勢いで2問目もクリア。


何やら通知が。

実績が解放されたようです。


PC版でもプレイできるようですよ。

エイプリルフールは過ぎていますが、数日間は遊ぶことができるようです。
やってみたい方はお早めにチャレンジしてみてください。

・Gboard 物理手書きバージョン

Google日本語入力チームはキーボードを使った、今までとは違う全く新しい文字入力の方法を生み出しました。
その名も、

Gboard 物理手書きバージョン

キーに書かれている文字を反映するのではなく、キーの上で文字を書くように入力すると、GoogleのAIが解析して、文字として出力してくれるというもの。
なかなか斜め上な発想ですが、これを形にしてしまうのがGoogleの凄いところで、

なんと本当にWeb上で”物理手書き入力”を試すことができます。
おまけに、

Githubにソフトウェアとハードの設計図まで載せているという、力の入れ具合が謎すぎる内容となっています。

これはウソといっていいのかもはやわからなくなってきました…

ただし、

Q:濁点や半濁点は入力できないのですか?
A:ぐぬぬ

とあるので、残念ながら現時点では濁点・半濁点は入力できない模様。
今後のアップデートに期待(?)ですね。

4/1に多くの企業がネタ合戦をしていることに、中には微妙な表情をする方もいるようですが、個人的には今までにない一面が見れたり、企業にしかできない規模の大きいネタ、めちゃくちゃユーモラスなネタが沢山出たりするので、個人的には結構好きで、毎年楽しみにしています。

また来年、どんなネタが飛び交うのか、楽しみにしたいですね。

  • この記事いいね! (0)
takahashi 著者:takahashi

ブロックチェーン=フィンテック ではない。 ブロックチェーンの本当の可能性

昨今話題になっているブロックチェーン。
皆さんも、少なくとも名前だけは一度は聞いたことがあるかと思います。

このブロックチェーンですが、ただ額面を記憶しておくためのみの仕組みではありません。
ブロックチェーン技術とは飽くまでデータの分散記録システムであり、仮想通貨の額面以外にも、使い方によっては様々なデータを記録することができるようです。

巨大銀行はなぜブロックチェーンを研究しているのか? – NEC

こちらの記事の紹介例では、”本人確認と医療、保健を含む履歴、情報の所有権”をブロックチェーンを使って記録しておくことで、従来のように一定の場所にデータを保持しておく必要がなくなります。
例えば、万が一政府のもつデータセンターが攻撃や災害で機能停止したとしても、ブロックチェーン上にデータが保存されていれば、戸籍や住民票などのデータを保持することができ、利用者がそのデータを取り出すことも可能になってきます。

また、現在ウェブ上には、あるサービスで取得したIDを他のサービスでも利用することができる仕組みがすでにありますが、元のアカウントデータはある一点(例えばGoogleでアカウントを取得すればGoogle)が管理する形になりますが、(当分はあり得ないとは思うが)例えば万が一、GoogleがGoogleアカウントの仕組みを廃止してしまえば、自分のGoogleアカウントの情報は抹消され、利用できなくなってしまいます。

もっと身近な例であれば、最近、Twitterアカウントの大量凍結が問題になりましたが、もしそのTwitterアカウントを別のサービスのログインに使っていたら惨事になってしまうことは容易に想像できます。

もし、これらのアカウント情報を何処かの1サービスに保存しておくのではなく、ブロックチェーン上に保持しておけば、たとえTwitterが凍結されようが、Googleが無くなろうが自分のアカウント情報は半永久的に保持されます。また、ブロックチェーンを使えばアカウントの管理権限を完全に利用者が持つことができるため、特定の業者への不用意な情報の提供もなくなり、しばしば取り沙汰されるアカウントのプライバシー問題も解消できる可能性があります。

データの分散化といえば、少し前にMastodonの出現が大きな話題になりました。


運営者を分散化させることで、利用者は自分が信用のできるサーバーを自由に選ぶことができ、サービス全体としてみれば、一団体のみに管理されることなくサービスを利用できる点で非常に画期的な仕組みです。

しかし、トゥートの分散化はできても、ユーザーアカウントについては各インスタンスでの管理となっていて、分散化がされていません。現状では、インスタンスをまたいで利用したい場合はそれぞれのインスタンスでアカウントを取得しなおす必要があります。
逆に言うと、あるインスタンスで取得したアカウントは、そのインスタンスがサービス終了してしまえば利用ができなくなってしまうという問題が発生してしまうことになります。
例えば、もしここでブロックチェーンの仕組みにユーザーアカウントの情報を保持をしておくような仕組みを作れば、ユーザーアカウントの分散化も可能になり、一つのアカウントで複数のインスタンスへログインする仕組みも(実際やろうとするのは簡単ではないかもしれないが)実現可能になるかもしれませんね。

色々と考えてみると、1運営者によってデータの扱いが左右されない、という観点からみればいままでのインターネットの常識を覆してしまうような非常に大きな可能性を秘めているのではないのかな、と感じました。

今後、ブロックチェーンを使ったどんなサービスが出てくるのか、注目していきたいですね。

  • この記事いいね! (0)
takahashi 著者:takahashi

Mastodon rake タスクが実行できないときの対処法

以前、Mastodonのインスタンスをさくらのクラウドで構築した際の話です。
この時の構築はさくらのクラウドの自動セットアップスクリプトを用いての作業でした。
さくらのクラウドでは、仮想マシン作成時にセットアップスクリプトを設定しておくと、各セットアップ作業を全自動で行ってくれる非常に便利な機能があります。
この機能を使って作成すると、作業を本来必要な作業を大幅に省いて構築ができるため、数時間でサービスの立ち上げまで行うことができます。

このインストール作業自体はさほど問題はなかったのですが、問題が起きたのはセットアップ後の作業。
Mastodonのデイリー処理 mastodon:daily タスクをcronに登録する前に動作テストを行ったのですが、

こんな形でエラーになってしまいます。
Mastodonの情報は大体検索すると出てくるのですが、このエラーは探せど探せど解決方法が見つからない…

結局、本家のIssuesを確認したらあっけなく対策方法が見つかりました。

各rakeコマンドを実行する前に

export RAILS_ENV=production

コマンドを実行するだけです。
実際に試してみたところ、

これだけであっけなく実行できてしまいました…

環境変数を指定しているだけなので、毎回入れるのは忘れそう、めんどくさい、という方は、
rakeコマンドを実行するユーザーの

~/.bashrc

に同じexportコマンドを書き加えてしまえば、指定する必要がなくなります。

調べてみると、初めて触った時にそこそこハマるポイントのようですね(汗


この記事は以前自分自身で公開した記事を修正したものです。

  • この記事いいね! (0)
takahashi 著者:takahashi

WordPressの公式プラグイン”Jetpack”に画像遅延読み込み機能が追加!

本日、自分のメールアドレス宛に、jetpack.comからメールが来ました。

Jetpack 5.8ではスピードが改善された
Jetpack に大幅な改良を加えました。

素晴らしいお知らせ: 画像の遅延読み込み機能を実装しました。この機能は、すべての方が使用できるもので、エンドユーザーがページを読み込む際の時間を短縮し、バウンスレートを減少させるのに役立ちます。

Jetpackとは、WordPressが公式で出しているインストール型WordPressの最適化プラグインです。
SaaS型のWordPressである”WordPress.com”で提供されている機能の一部を、手軽に自分のインストール型WordPressに導入することができます。

このJetpack、従来のバージョンでも、画像のキャッシュ機能を利用することはできていたのですが、今回新たに画像の遅延読み込み機能が追加されたとのこと。
早速自分のブログサイトのJetpackを更新してみました。

Jetpackの設定画面に、”Lazy load images” という項目が追加されているのでこれを有効化します。
その後、自分のブログ記事ページを開くと、ページの読み込みが終わった後にスクロールに合わせて非同期で画像が読み込まれていることがわかるかと思います。

ブログが重くなる原因の一つとして、画像などのメディアの表示が影響していることが多い、というのはよく言われる話ですが、この画像読み込みを遅延させることでブログサイトそのものの読み込み負荷を減らす、という手法を、プラグイン一つで簡単に試せるというのは非常にありがたいです。

Jetpackは便利な機能が豊富で、使いやすいので、入れておいて損はないかと思います。
是非お試しあれ!

  • この記事いいね! (0)
takahashi 著者:takahashi

”Chrome アプリ”がついにChromeウェブストアから姿を消す。

つい先日、Chromeウェブストアからネイティブアプリが入手できなくなりました。


“Chrome Appsが有効だった時のChromeウェブストアの画面”Qiitaから引用


現在のChromeウェブストアの画面。 再度バーからアプリの文字が消えている。

Chromeウェブストアから”アプリ”の文字が消え、拡張機能とテーマしか入手できなくなっており、検索しても、”Chrome Apps”がヒットしなくなりました。

これは以前からアナウンスされているChrome Appsの段階的な廃止によるもの。
Chrome Appsとは、Webと同じプログラミング言語で作ることができ、Chromeを通してOSネイティブのアプリとして利用できる仕組みです。
基本的にはChrome/Chromiumが動くOSであれば、どのOSでも手軽にインストールすることができました。
例としては、
Chromeリモートデスクトップ
TeamViewer Chrome版
Line Chrome版
グランブルファンタジー Chrome版
などがあります。

特にLinuxユーザーにとっては、LineなどのLinux対応の公式アプリが提供されていない中で、唯一公式のネイティブアプリが使える手段でした。

Googleは終了する理由として、実際にChrome Appsを利用しているユーザーは1%程であり、Chromeブラウザーをシンプルにするために終了させるとしています。

Google、Win/Mac/Linux向けChromeアプリを廃止へ。配布は来年後半まで、2018年前半で起動も不能に – engadget 日本語版

参照記事にもありますが、ウェブストアからはこの記事を書いている時点ですでに廃止。インストール済みのアプリについてはまだ利用が可能ですが、このChromeのChrome Apps実行機能そのものも、もう間もなくChromeから削除される予定となっています。
なお、Chrome OSでは引き続き実行可能とのことです。

簡単にクロスプラットフォームなアプリが構築・配信出来たChrome Apps、個人的にはかなり革新的だと感じていたのですが、なくなってしまうのは残念ですね。

  • この記事いいね! (0)
村上 著者:村上

【Webサイト】ローディングのGIFアイコンが手軽に作れる「Loader Generator」

読み込み中であることを表すローディング画像を使う場面は多々あるかと思いますが、今回はそのローディング画像を手軽に作ることのできるWebサイトのご紹介です。

Loader Generator
http://loadergenerator.com/

「Loader Generator」というWebサイトで、7種類のローディング画像を自由な大きさと色で作成することができます。
それ以外にも、背景の色や回転の速度なども任意で変更できるため、サイトの色合いや雰囲気にあったローディング画像を作成することができます。
また、回転式のものだけでなく、Windowsでよく見るような、横棒のプログレスバーも生成できます。

ちょっと変わり種な、Wi-FiのGIFもあります。

 


こちらは「通信中」とか「接続中」の時に使えそうですね。

 

画像の作り方はとても簡単で、「Line」や「Circle」、「Arrow」など、お好みのデザインを選び、サイズや色などを調節するだけ。
サイズや回転のスピードはスライダーでの調節ですし、色もカラーピッカーが表示されるので、直感的に操作ができます。
左側にプレビューも表示されるので、こちらを見ながら、サイズや色の調整をしてください。
調整が終わったら、プレビュー下の「DOWNLOAD GIF」で画像をダウンロードします。
本当に簡単ですね!

 

ローディング画像って意外と青色が多いイメージで、時には「この色じゃない!」というときもあるので、色の指定が色コードでできると助かりますね。
また作成した画像は、ファイルサイズ2KBほどで小さめなので、扱いやすいです。
ローディング画像が必要な際は、こちらで作成してみてはいかがでしょうか。

  • この記事いいね! (0)
村上 著者:村上

【Webサイト】PDFファイルの回転・圧縮・分割・結合が簡単にできるサイト「Smallpdf」

最近、よくPDFファイルを扱うことがあるのですが、その際に便利なサイトが、こちらの「Smallpdf」。

smallpdf.com – 無料Pの変換はこちらでどうぞ!DF
https://smallpdf.com/jp

タイトルにあるように、PDFを回転させたり、圧縮したり、複数枚のデータのPDFを1枚ずつに分割できたり、逆に複数のPDFを結合できるサイトです。
それ以外にも、PDFを画像ファイルに変換したり、PDFをエクセルやワードに変換したりもできます。

 

「Smallpdf」のサイトはこちらのようなレイアウト。

トップページにボタンがずらりと並んでおり、ここからやりたいことを選びます。
アイコンもシンプルだし、下に何ができる丘も簡潔に書いてあって分かりやすいですね。

そのうちの一つを選択してみるとこんな感じ。
画像は「PDFを回転」を選択した画面です。

中央に大きく、ファイルを選択するエリアがあります。
ローカルファイルだけではなく、DropboxGoogle Drive から選ぶこともできます。
ファイルを選択した後は、右回転・左回転のボタンが表示されるので、任意の回転をかけた後「変更を保存する」ボタンを押します。
すると下の画像のようなファイルダウンロードページに移動するので、ここから PDFのダウンロードをします。

また、ダウンロード以外にも、Dropbox や Google Drive へ保存したり、もしくはさらにここからワードに変換したり、作成したPDFをパスワードで保護することもできます。
さらに変換したい場合、一度トップページに戻らなくて済むのは楽ですね!

 

ということで、ブックマークしておくと何かと便利な「Smallpdf」でした。
これよりさらに上のサービスをご希望の方は、「Smallpdf Pro」という有料サービスもあるようなので、こちらも検討してみてはいかがでしょう?
でも、数ファイルをちょこっと使う分には、無料版で十分ですね。

  • この記事いいね! (0)
村上 著者:村上

【サイト】マストドンのclient_idとclient_secretを取得できる「Access Token Generator for Mastodon API」

マストドンのAPIを使う機会があり、既に他の方が作成してくださってあったコードを改変中していたのですが、その時にclient_idclient_secret が必要だったので、その取得方法について。

といっても取得は簡単で、こちらのサイトを利用しました。

Access Token Generator for Mastodon API
https://takahashim.github.io/mastodon-access-token/

 

使い方は、まずサイト左のFrom欄に、マストドンのURL、クライアント名を入力します。

クライアント名は、承認画面で表示させるアプリケーション名を入力します。
サイト名とか、アプリ名でOKです。

あとは、「Scopes」から、読み込みのみなのか、読み込み書き込みも許可するのか、と言った、マストドンAPIで行いたいことの範囲を設定します。
私は書き込みと、念のため読み込みもできるように、「read write」を選択しました。

必要事項を入力したら、あとは「Publish Access Token」のボタンをクリックするだけ!
マストドンサービスのログイン画面に切り替わるので、自分のアカウントでログイン後、連携を許可するかを訊ねられるので、連携を承認します。
その後、ページ右の Result に、access_tokenclient_idclient_secretが表示されます。
あとは、この取得できた client_id と client_secret を使って、利用したいマストドンAPIを実行します。

 

こういうID取得って案外面倒くさかったり、または大体のサービスで最初に一度くらいしか使わないので、すぐ忘れてしまうんですよね。
きっと私もすぐ忘れるだろうという事で、まとめました。
是非、ご参考にしていただければと思います。

  • この記事いいね! (0)