タグ

ブックマーク / taiju.hatenablog.com (164)

  • Reason(ML) で簡単な Android アプリを作ってみた - あと味

    Reason は JSX をサポートしているので、React 関連バインディングが充実している。 bs-react-native という React Native のバインディングもあって、これを使って簡単な Android アプリを作ってみた。 github.com 作ったアプリは入力した英語の文章に含まれる各単語が、Ogden's Basic English の制限語彙の単語であるかどうかをバリデーションして、制限語彙外の単語が赤くハイライトされるもの。 Basic English とは、850単語ですべての事象を英語で説明できることを目的としたシステムで、英語が主言語ではない外国の人(日人など)が、英語が主言語な人、またはそうでない人たちと、英語を介してコミュニケーションを取れるようにするために生まれたシステム。ただ、類似のシステムと比べて、Basic English は流行らずに

    Reason(ML) で簡単な Android アプリを作ってみた - あと味
    jdg
    jdg 2018/04/10
    ブログ書いた
  • ReasonML のドキュメントの翻訳を始めてみた - あと味

    昨年末ごろから面白そうだなと思ってドキュメントやコードなどを読んでいた ReasonML のドキュメントの翻訳を、自分の理解のために昨年末からボチボチはじめました。 I'd like to try Japanese 🇯🇵 translation. Should I do it here? https://github.com/reasonml/reasonml.github.io/issues/3#issuecomment-348730986 時間のある時にボチボチやっていこうかなと思ってたのですが、先日急に翻訳テキストが公式に流れ出てしまったので、今慌てふためいているところです。 翻訳元のソースが最新化されて、少し巻き戻ったところもあり、今現在日語での30%未満という進捗状況です。 翻訳は Docusaurus で作られたドキュメントの翻訳にも使われている Crowdin というサ

    ReasonML のドキュメントの翻訳を始めてみた - あと味
    jdg
    jdg 2018/01/08
    ブログ書いた
  • Movable Type と Web Components - あと味

    この記事は Movable Type Advent Calendar 2017 の17日目の記事です。 先日、会社にて、事業部の先輩で、Polymer Japan の運営者でもある @sizuhiko さんより、Polymer のハンズオンを受ける機会があり、遅ればせながら Web Components に入門しました。 Polymer は Google が開発を主導しているライブラリで、Web Components のためのポリフィルでもあり、Web Components を簡単に扱えるようにする機能なども提供するライブラリです。 Web Components は、すでに使える次世代の Web 標準テクノロジーで、下記の4柱からなるテクノロジーです。 カスタムエレメント シャドウ DOM HTML インポート HTML テンプレート 私が下手な説明をするより、ググったり、@sizuhi

    Movable Type と Web Components - あと味
    jdg
    jdg 2017/12/17
    ブログ書いた。
  • 永和システムマネジメントに入社しました - あと味

    近況をば。 今年3月の話で今さらではありますが、株式会社永和システムマネジメントに入社しました。と同時に福井に出戻りました。 前職 前職のアルファサード株式会社では、PowerCMSという CMS (Movable Type を拡張した CMS)の開発・保守・サポートを担当し、毎日 Perl のコードを読んだり書いたりする日々でした。 良くも悪くも Movable Type は枯れた技術の結晶という感じの製品だったので、この期間でつぶしが効く、エンジニアとしての基礎技能が身に付いたと思っています。逆に新しい技術のキャッチアップができてなかったのは反省点ではあります。 現在 現在、永和システムマネジメントのITサービス事業部という部署に所属しています。 ITサービス事業部(社内では略してITSと呼ぶ)は、Web やクラウドの技術を使った受託開発が中心の部署で、Web が好きで Web プログ

    永和システムマネジメントに入社しました - あと味
    jdg
    jdg 2017/10/09
    ブログ書いた。
  • 最近の Chromebook の運用、または、GCE のすゝめ - あと味

    過去の記事を振り返ると、Chromebook がメイン機となって、1年くらい経つらしい。 taiju.hatenablog.com 書いた当初はあれこれ頑張って、Chromebook で Ubuntu を使えるように悪戦苦闘していたけれど、しまいに面倒になってきたので、シンクライアントは、シンクライアントらしく振る舞うべきというところに落ち着いた。 ということで、最近の Chromebook の運用について書く。 GNU/Linux を使いたい!!! Chromebook 自体は、素の Chrome OS の端末として使うわけですが、ほとんどの生活をターミナルで行っていた私としては、GNU/Linux または、UNIX 環境がないと厳しい。 以前は、記事に書いていたとおり USB に Ubuntu を入れて頑張っていたのだけど、Chromebook をデベロッパーモードで利用しないと駄目だ

    最近の Chromebook の運用、または、GCE のすゝめ - あと味
    jdg
    jdg 2015/12/30
    ブログ書いた。
  • MT のドキュメントを Emacs から引けるようにした - あと味

    SLIME をインストールすると同時にインストールされる hyperspec-lookup コマンドのように、MT のドキュメントを検索できると良いなと思ったので、hyperspec-lookup を模倣して、パッケージにした。 mt-doc-lookup https://github.com/taiju/mt-doc-lookup-el インストールすると、M-x mt-doc-lookup-tags で、コマンドで指定した MT タグのドキュメントをブラウザで閲覧できるようになる。 同様に、M-x mt-doc-lookup-config-directives で環境変数、M-x mt-doc-lookup-modifiers でグローバル・モディファイア、M-x mt-doc-lookup で MT タグと環境変数とグローバル・モディファイアを横断的に検索し、閲覧できる。 リポジトリ

    MT のドキュメントを Emacs から引けるようにした - あと味
    jdg
    jdg 2015/05/18
    ブログ書いた
  • Emacs に衣替えした話 - あと味

    たぶん、Emacs に衣替えできたので、その話をします。 いつもですます調だけど、である調で書いた。 プロローグ 普段は Vim を使っているが、数年に一度くらい、Emacs を使いたい欲求がどうしても抑えきれなくなることがある。(Vimmer のあるあるネタだろうか?)(多分、コイツは最近 Lisp のを読んだ) 欲望のまま Emacs を立ち上げ、ひととおりチュートリアルをこなすと、不思議なことに抑えきれなかったはずの欲求が綺麗サッパリ消えているのだ。当に微塵もないのだ。 そして、あの気持ちはなんだったのだろうかと我に帰り、Vim を立ち上げ、安堵する。「俺にはやっぱりコイツじゃなきゃダメなんだ」と。 そんなやりとりが、これまで何度もあった。 ところが、最近の Emacs には、Evil という悪魔が存在する。 去年も Emacs を使いたい欲求が抑えきれなくなった。(ねぇ?Lan

    Emacs に衣替えした話 - あと味
    jdg
    jdg 2015/04/08
    ブログ書いた。
  • Mac で Oracle Database 11g Express Edition (XE) の開発環境をセットアップする - あと味

    Mac (OS X Mountain Lion)で Oracle 11g の環境を整えたいと思ってセットアップしたんですけど、そこそこ面倒だったので、同じこともう一回調べたくないし、記事にします。 古いけど OS は Mountain Lion で、Apache は Mac 標準のものを使っています。 DB サーバのセットアップ MacOracleDB サーバ構築するのはそもそも無理ってことを知ったので、VM セットアップしないといけないのか、やだなーと思って、念のため調べてみたら、用途ぴったりの Vagrantfile 提供している人がいて、それを使わせてもらうことにしました。 DB サーバのセットアップの手順が省略できるので楽できました。 上記の README の Installation のセクションの通りにセットアップすれば、vagrant up して VM 立ち上げて

    Mac で Oracle Database 11g Express Edition (XE) の開発環境をセットアップする - あと味
    jdg
    jdg 2015/01/08
    ブログ書いた
  • Chromebook (Acer C720) 買った - あと味

    年末に Chromebook (Acer C720) を買いました。 いろいろ弄る中で知見を得たので、記事にすることにします。 結果的に良い買い物だったという気がしています。 購入前 今使っている Macbook Pro も数年使っていて、ハード的にも環境的にもボロボロになってきたので、買い替えを検討していました。 当は Macbook Air が欲しかったんですけど、結婚してから自由に使えるお金が限られるようになったので、Macbook Air はヨイショと簡単に買えるような端末ではなくなってきていました。 振り返ると、家で使う個人端末では Chrome とシェルしか使ってないので、別に Macbook Air にこだわることはないのかなと思い、安い Linux ラップトップを買おうかなと思ってたんですけど、予てから興味のあった Chromebook を調べてみると、Chromeboo

    Chromebook (Acer C720) 買った - あと味
    jdg
    jdg 2015/01/03
    ブログ書いた
  • MT の管理画面を開くコマンドラインランチャー作った - あと味

    この記事は、Movable Type Advent Calendar 2014 の 21 日目の記事です。 最近になって、遅ればせながら peco を使い始めました。汎用的なインタラクティブフィルタリングツールなので、どんなコマンドとも組み合わせて使うことができるし、ないと困るツールになりそうな気配です。 題ですが、MT の特定の画面をサクッと開けるランチャーを作りたいなと以前から思っていたんですけど、一から考えて作るのは厳しいのでほぼボツ案だったのですが、peco または percol を使えばそれなりに満足するものが作れそうだなと思ったので、昨日作ってみました。 MT::Tool::Launcher $ cd $MT_HOME $ ./tools/launcher --protocol=https --host=cms.example.com --cmd=/path/to/peco

    MT の管理画面を開くコマンドラインランチャー作った - あと味
    jdg
    jdg 2014/12/21
    ブログ書いた
  • MTの管理画面でMT標準のJSテンプレートエンジンを使う - あと味

    管理画面のカスタマイズをしていて、JSでDOMを弄ってHTMLを出力しようと思った時に、コードの見通しを確保するためにJSテンプレートエンジンが欲しいなと思いました。 ただ、そのためにライブラリ読み込むのも微妙だし、正規表現で頑張るかと思ったところ、管理画面でJSテンプレートエンジンが使われてたことを思い出しました。 MTの管理画面で使われている、JSテンプレートエンジンのライブラリは、/path/to/mt-static/js/common/Template.js にあって、実装を確認したところ、シンプルで汎用的に使える小さなライブラリっぽいので、下記の通り機能をまとめました。 ちなみにこのライブラリは、数年前から更新が止まっていて、Github リポジトリの当該ファイルのコミット履歴も、「Common JavaScript ライブラリをリポジトリに入れました」的なログが一つあるだけのレ

    MTの管理画面でMT標準のJSテンプレートエンジンを使う - あと味
    jdg
    jdg 2014/06/05
    ブログ書いた。
  • PSGI + SeleniumでMTの管理画面のテストをする - あと味

    MTの管理画面は、JavaScriptに依存した部分が結構多く、PhantomJS等のヘッドレスブラウザを使ったテストが必要になるケースがあります。 CasperJSや、Seleniumなど、いろいろなツールがありますが、MTの管理画面のロジックは、Perlで書かれているので、Perlで書けるのがベストです。Perlでデータの初期化とかしたいですからね。 Perlで書ける方法でツールを絞り込むと、現状では、Selenium::Remote::Driverを使うのが良い気がしています。 ということで、下記のようなテストを書いてみました。 テストの実行には、MTのGitHubリポジトリに含まれる、tディレクトリが必要です。あと、試す場合は環境変数MT_CONFIGを書き換えずに、MT::TestでDBを初期化すると、既存データが吹っ飛ぶので、テスト用の環境は別途用意した方が良いです。 Test

    PSGI + SeleniumでMTの管理画面のテストをする - あと味
    jdg
    jdg 2014/05/01
    ブログ書いた。
  • MTオブジェクトの複製を作るツールスクリプトを作った - あと味

    Movable Type使ってる時に、たまに、ページングのテストや負荷テスト等をしたい時に、記事を大量にコピーしたい時があって、これまで下記のようなスクリプトを叩いたりしてコピーを作ってました。 これをMTオブジェクト全般に広げても良いかなと思ったので、ObjectCloneというプラグインを作りました。 ObjectClone プラグイン ObjectClone in Github usage のままですが、下記のように使います。 USAGE: perl tools/object-clone --model=NAME --orig_id=NUM [OPTION] Requires: -m, --model=NAME Model name (object datasource) of object to make clone. -o, --orig_id=NUM Original obje

    MTオブジェクトの複製を作るツールスクリプトを作った - あと味
    jdg
    jdg 2014/04/22
    ブログ書いた。
  • MT::Object をワンライナーしやすくする拡張書いた - あと味

    コマンドラインで、MT::Objectを取得して、加工して、出力してみたいなことすることが結構あるんですけど、MT::Objectは大変ワンライナーしにくい印象でした。 MTのシステム管理者のIDとパスワードがわからない時、コマンドで強制的に作ることがあるんですけど、MT::Objectがワンライナーしにくいので、下記のようなファイルを用意してから、実行するというまどろっこしさです。 試しにワンライナーしてみると下記のような感じでしょう。 $ perl -I{lib,extlib} -MMT -e 'my $taiju = MT->instance->model("author")->get_by_key({name=>"taiju"});$taiju->nickname("taiju");$taiju->email("higashi@taiju.info");$taiju->auth_t

    MT::Object をワンライナーしやすくする拡張書いた - あと味
    jdg
    jdg 2014/02/05
    ブログ書いた。
  • MT アプリケーションを Sinatra like に記述できる MT::App::Lite 作った - あと味

    Movable Type には、MT::App という Web アプリケーションを記述するための基底クラスがありますが、結構慣れが必要なのと癖があることもあって、もっと手軽に Sinatra like にアプリケーションを記述できる、フレームワーク的なものが欲しいなーと常々思っていました。 とりあえずいろいろやりたいことは残っていますが、動くところまでできたので、紹介します。 現状では、PSGI でのみ動作します。 名前 MT::App::Lite 概要 以下のような感じでMTアプリケーションを記述します。 package MyLiteApp; use strict; use MT::App::Lite; setup Renderer => 'Xslate'; get '/' => sub { my $app = shift; $app->render('index.tt', { blog

    MT アプリケーションを Sinatra like に記述できる MT::App::Lite 作った - あと味
    jdg
    jdg 2013/12/18
    ブログ書いた。
  • Perlでメソッドチェーンのメソッドを動的に決定する - あと味

    Perl でメソッドを呼び出す時、 $class->$method; みたいな呼び出し方できるのは知ってたけど、 $class->${ \'method' } みたいな感じで、文字列のスカラーリファレンスをデリファレンスすることでも同じことができることを知った。 これを用いることでメソッドチェーンのメソッドを動的に決定することができる。 上記のように pass とかいうメソッドを用意しておけば、不要なメソッドはスキップするということもできるので、そのチェインを実行するかどうかも動的に決定できる。 コードは結構キモい感じだけど、それなりに実用性はありそう。

    Perlでメソッドチェーンのメソッドを動的に決定する - あと味
    jdg
    jdg 2013/09/01
    ブログ書いた。
  • MTDDC 2013の感想文 - あと味

    感想文書くの遅くなりましたが、先日、MTDDC 2013に参加しました。 LTについて Data APIをさわるキッカケを作りたいなと思って、さわる前にLT応募したんですけど、実際にさわってみるのはギリギリになってしまって、焦ってたんですが、5分だったのでなんとかなりました。 とりあえず、できることを確認して、サンプルアプリ作ってみて、ファーストインプレッションをまとめた感じです。 下記にLTのスライドを置いておきました。 MTDDC 2013 LT | Hello, my little giant from taiju higashi LT用に作ったサンプルアプリケーション Movable Type Data APIは、結構ポテンシャルが高いなと思っていて、スライドにも書きましたが、MTの管理画面を作るだけじゃなくて、JSONを使ったフロントエンドアプリが普通に作りやすくなりますねってこ

    MTDDC 2013の感想文 - あと味
    jdg
    jdg 2013/08/10
    感想文書いた。
  • Perlのデータ構造を意識しつつ、常にmt:loopタグを使う話 - あと味

    案件で試したわけではなく、かと言って試せる機会もないので、あくまで一つの提案です。 mt:loopタグの良い文書がGithubのmovabletype/Documentation Wikiにあります。 特筆すべき箇所が、以下のように書かれた説明です。 Movable Typeの再構築の処理を行う場合、データベースへのアクセスが多くなります。 例えばブログ記事のタイトル一覧をページ内で複数個所で利用するケースの場合、 タグを何箇所にも書くと、その個数分データベースへアクセスしに行く事になり再構築時にオーバーヘッドが多くなります。 そこで、一旦データを配列やハッシュに格納し、ループを各所でまわす事でデータベースへのアクセスを減らす事が可能となります。 データを配列やハッシュに格納すれば、あらゆるコンテナタグと呼ばれる類のタグは、mt:loopの共通のインターフェイスによって利用でき、非常にわか

    Perlのデータ構造を意識しつつ、常にmt:loopタグを使う話 - あと味
    jdg
    jdg 2013/03/23
    ブログ書いた。
  • 春のJAWS-UG 三都物語 2013でMTに関するLTしました - あと味

    AWSを使ったこと、ほぼなかったんですけど、これをキッカケにして、今後は活用するようになりそうです。 発表内容をシェアするとともに、ちょっと考えることを書きます。5分という短い時間でしたが、伝えたいことは伝えられたんじゃないかと思います。 スライド やすい・はやい・うまいMTのホスティング環境を求めて - jaws-ug-3to-2013-sprint from taiju higashi 思ったこと Wordpress界隈に比べて、MT界隈のAWSのノウハウは、ウェブを見る限りではまだ少ないように思います。 特に、Movable Typeは静的ファイル出力が前提のソフトウェアなので、S3やCloudFrontがもっと活用されるようになるといいなと思いますし、自分は今後活用しようと思います。 また、スライドの中では、管理画面なくてもいいじゃんみたいな話をしていますが、これは極端な話だったか

    春のJAWS-UG 三都物語 2013でMTに関するLTしました - あと味
    jdg
    jdg 2013/03/12
    ブログ書いた。
  • 俺、今大阪におんねん - あと味

    ごめんなさい、当は関西弁まったく使えません。 昨年末から、アルファサード株式会社で働いています。今は主に製品サポートと製品開発を担当しています。 大阪勤務なので、大阪引越しまして、今や大阪府民です。 これまでも、福井から関西の勉強会に参加することがありましたが、より参加しやすくなりますし、関西圏の方、仲良くしてください。 先日、Movable TypeのextlibディレクトリのCPANモジュールカタログ - あと味という記事の最後の方に、「来年はMovable Typeに気で取り組みます。」と書いておりましたが、アルファサードはPowerCMSというMovable Typeを拡張したCMSを開発している会社なので、嘘偽りなく、今年からはMTに気で取り組むことになります。 Perl仕事をしたいと思いつつ、Web制作で関わり弄ってて楽しかったMTと戯れながら、いちひよっこPerl

    俺、今大阪におんねん - あと味
    jdg
    jdg 2013/03/02
    ブログ書いた。