[AOJ] 1179 Millennium

AOJの1179、Millenniumをc++で解きました。

日付の計算の問題が苦手で、
結構グダグダになりました。

うるう年と平年の月ごとの経過日数をハードコーディングして、
月をindexとしてそのまま取れるようオフセットして経過日数を撮りました。

後はうるう年(i%3==0)判定をすればOK。

問題文はこちら

[AOJ] 0179 Mysterious Worm

AOJの0179、Mysterious Wormをc++で解きました。

「典型的な横型探索」と言われていたのですが、
まぁ〜面白いほどにc++に馴染めなくて(mapが書き方が分からなくて)ハマりました。

一度見た虫の色を管理するclosedをどう書けばよいか悩みました。
わざわざmap使わなくても済む方法があったら教えて下さい…。

実装部分のみだと1時間弱くらいだと思います。 mapと戯れている間を含めると2時間弱でした。

問題文はこちら

[AOJ] 0179 Mysterious Worm

AOJの0179、Mysterious Wormをc++で解きました。

「典型的な横型探索」と言われていたのですが、
まぁ〜面白いほどにc++に馴染めなくて(mapが書き方が分からなくて)ハマりました。

一度見た虫の色を管理するclosedをどう書けばよいか悩みました。
わざわざmap使わなくても済む方法があったら教えて下さい…。

実装部分のみだと1時間弱くらいだと思います。 mapと戯れている間を含めると2時間弱でした。

問題文はこちら

Alfred2のWorflowsを自作して作業を効率化する

こんにちは。
最近は、Alfredというアプリに大変お世話になっております。
アプリを起動するのにいちいちトラックパッドを使わなくて済むので、すごく捗ります。

Alfredには、色々な便利機能があるのですが、

今回はもう少し突っ込んだことについて書きたいので、
参考になった記事を貼っておきます。

Mac仕事効率化!Spotlightを完全に超えた神ランチャーアプリ「Alfred 2」の使い方とおすすめWorkflows10選。[Mac] | MacWin Ver.1.0

[太]MacのランチャーアプリAlfred ver2の新機能「workflows」が結構凄そう。 | Fujitaiju Blog

ここからが本題です。
AlfredにはWorkflowsという機能があります。

このWorkflowsが非常に強力で、

  • Evernoteのクリップしてある記事から検索をかけたり
  • リマインダーにワンライナーでタスクを追加したり
  • Amazonの商品検索のサジェスト機能を使ったり
  • カラーコードを入力すると該当する色を表示してくれたり
  • URLを入力すると、短縮URLが生成されてクリップボードにコピーできたり

と、他にも色々ありますが、 Alfredというアプリ上で、一つのまとまった作業を一気に行うことができます

で、この中から
WebでAPIが公開されているサービスに何らかの問い合わせをし、
その結果を元に、何かアクションを起こす

といったタスクを行うWorkflowsを作ってみようと思います。

ググっても、チュートリアル系の記事が1件も見つからなかったので、 ソースを読んで作り方を学んでいきます。

今回は、日付を入力すると、
速水もこみちがMOCO'sキッチンで使ったオリーブオイルの量を検索出来るAPI
MOCO'SキッチンオリーブオイルAPIを利用したWorkflowsを作ります。

CoffeescriptとTypescriptから学ぶjsでのクラス・継承パターン

こんにちは。
最近、オライリー・ジャパンの
JavaScriptパターン――優れたアプリケーションのための作法」という本を読んでいます。

この本は、JavaScriptでのコーディングパターンや、 Javascriptに限らず広義の意味での「パターン」を取り扱っている書籍です。

この本の中に、クラシカルな継承パターンというものがあります。
クラシカルな継承パターンとは、ざっくり言うと

JavaScriptにクラスの概念は無いけれど、
長年クラスベースの言語を触ってきた人たちがjsを触るときに馴染みやすいように、
クラスや継承のような機能を提供するパターン

だと僕は解釈しました。

このクラシカルな継承パターンを読んで、
CoffeeScriptやTypeScriptでのclass記法や継承パターンは、jsに変換するとどう表現されるのか
が気になったため、調査してみました。

titanium-cliとGruntを使って、コマンドラインからiOS・Androidアプリのビルドを自動化する方法(前編)

こんにちは。れこです。
最近は、友人といちれこプロジェクトという活動をしていまして、
まだ詳細は非公開ですが、iOSとAndroid両方に対応したアプリを作っています。

双方のプラットフォーム用の言語や、独自仕様を覚えるのは面倒なので、

JavaやObjective-Cを書かなくても
AndroidもiOSでも動くアプリを作れないかなぁ。

と、探したらありました。

夢を叶えてくれたのが「Titanium-cli」です。
JavaScriptで記述して、AndroidやiOS向けにビルドが出来るツールです。