テスターの人にバグ報告やフィードバックを貰う時にはどうしたら良いでしょうか。クラッシュしたらその際のログを見ることで不具合を解決できるかも知れませんが、ボタンの配置や文言などを指摘するのは困難です。 そこで使ってみたいのがBugshotKitです。不具合やフィードバック報告フォームを表示してくれるライブラリです。 BugshotKitのデモ BugshotKitに同梱されているデモアプリです。 デモアプリ 右からスワイプ操作をします。 フィードバックフォーム ログとその時のスクリーンショットが表示されます。ログはNSLogのものが使えます。 ログ スクリーンショットはちょっとした編集ができます。 スクリーンショット 一部を塗りつぶしたり、矢印を追加できます。 画像編集 後はログとスクリーンショットをつけてメール送信するだけです。 メール作成 ログには利用者の情報もJSONファイルとして追加
前回はアプリストアにリリースされているねこ穴の開発版を自分のプロジェクトとして実機テストできるところまで試しました。今回はその中で使われているソースコードを読み、どういった処理が行われているのかを解説したいと思います。 構造 前回も書きましたが、まずは全体構造を見てみましょう。 $ tree . ├── libs // サードパーティのライブラリやよく使う関数があります │ ├── common.js │ └── require.min.js ├── main.js // 一番最初に読み込まれるスクリプトです └── nekoana ├── config.js // 設定、定数などが指定されています ├── images // ゲーム中で使われる画像リソースです │ ├── game_black.png │ │ : │ └── game_top_bg.png ├── lib
iOSでユーザに入力してもらうフォームを作るのにいちいちストーリーボードを使って部品を配置するのは面倒、と思う人はFXFormsを使ってみましょう。驚くほど簡単にフォームが作成できますよ。 FXFormsのスクリーンショット ログイン画面 メールアドレスにパスワード、リメンバーミーもあって実にそれっぽいですよね。 Submitボタンを押した場合 ちゃんとアクションのハンドリングもできます。 扱える部品一覧 これだけの部品が扱えれば問題はないはず。 FXFormsの使い方 ということで実際の使い方です。まずは*.hファイル。 // // LoginForm.h // BasicExample // // Created by Nick Lockwood on 05/02/2014. // Copyright (c) 2014 Charcoal Design. All rights reser
MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました Webアプリケーションはブラウザさえあればどの環境でも動かせる便利な仕組みですが、大きな欠点としてはネットワークがないといけないというのがあります。オフラインでも対応しようと思うとダウンロードと設定がとても面倒です。 その点、バイナリの実行ファイルはダウンロードしてすぐに実行できます。同じような仕組みをWebアプリケーションでも可能にするのがHTML5-Packerです。 HTML5-Packerのインストール まずはインストールします。npmでインストールできます。 $ npm install html5-packer --save-dev これで準備は完了です。 HTML5-Packerの使い方 ローカルにあるWebアプリケーションをパッキングします。この時、gruntと組み合
フリーランスだった時代に最も面倒な業務だと思っていたのが請求書の作成です。月に10枚も出さない程度なのでシステム化するほどでもなく、かといって手間がかかる業務でした。現在はMakeLeapsにしたので大幅に楽になっています。 そんな請求書作成業務をWebベースで行えるようにしてくれるのがInvoice Ninjaです。ネーミングからしてあれな感じですが、機能は確かなのでぜひチェックしてみてください。 Invoice Ninjaの使い方 ほぼほぼ請求管理で必要と思われる項目は満たしているのではないでしょうか。日本語の文字化けについてはフォントを入れたり設定をすれば解決すると思われます。 Invoice NinjaはPHP製のオープンソース・ソフトウェア(BSD License)です。 Invoice Ninja hillelcoren/invoice-ninja
これならばれない! 2048で遊びたいなと思っても職場ではさすがに無理…とお考えのあなた。諦めたらそこでゲームオーバーです。なんとしてもやりたい、そう考えるあなたに贈るのがbash2048です。 名前の通り、Bashスクリプトで作られています。つまりターミナル上でプレイすれば簡単にはばれない訳です(MOONGIFTはサボリを勧める訳ではありません。あくまでも自由時間中に行ってください)。 bash2048の遊び方 まずはZipファイルをダウンロードして、解凍します。これで準備は完了です。 ./bash2048.sh なんとなくBashスクリプトなら自動操作もできるんじゃないかと思ったり…。アルゴリズムベースで高得点を狙うなら、プログラミングの勉強にもなるかも知れませんね。 あくまでも休憩など自由な時間に遊んでみてもらえれば幸いです。さらに言えば自己責任でお願いします。念のため、もう一度Zi
MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました 最近のWebサービスではSSLを常用するようになっています。しかしそんな中、意外と厄介なのが画像などの外部リソースです。HTTPSに入っていない外部リソースを参照しようとすると全てがSSLでないといった注意が出てしまいます。 そこで使ってみたいのがCamoです。GitHubでも使われている小さな画像プロキシになります。 Camoのデモ これはCamoがSSLになっており、プロキシとしてFlickrの画像を取得している形になります。Camoは5MBまでの画像を取得可能で、Googleチャートをサポート、リダイレクトした画像も取得できます。 URLのフォーマットは次のようになります。 http://example.org/<digest>?url=<image -url> http:/
あーこれはヤバい。中毒性高いです。 2048は元々Androidアプリとしてリリースされている1024というゲームのクローンになります。ルールは簡単で(ここが危険ですね)、同じ数のタイルはくっついて数が2倍になります。2と2がくっつくと4、4と4がくっつくと8と言った具合です。異なる数のタイルはくっつきません。 で、矢印キーを押してパネルを移動させつつ2048というタイルを作成するのを目指すのです。レッツトライ! 2048の遊び方 2048を作る段階になると、恐らく3万ポイントくらいはいっているのではないでしょうか。気が遠くなりますが、ルールが単純でのめり込みやすい、時間をあっという間に浪費してしまう危険なゲームとなっています。 2048はHTML5/JavaScript製のオープンソース・ソフトウェア(MIT License)です。 2048 gabrielecirulli/2048
これはおっさんほいほい過ぎる! After Darkという名称を聞いて懐かしい!と思う方はどれくらいいるでしょうか。After Darkは元々はMac OSXの、その後Windows版も販売されたスクリーンセーバソフトウェアです。最初は89年から販売されているとのことで、長い歴史があります。 今でこそスクリーンセーバのために有料ソフトウェアを購入する人は少なくなったと思いますが、ディスプレイの焼き付け(液晶では帯電はあっても焼き付きは起こらないようですが)を防ぐためには必要なものです。そんな懐かしのAfter Darkを現代に、しかもスタイルシートで再現したのがAfter Dark in CSSです。 After Dark in CSSのデモ こちらに様々なスクリーンセーバのデモがあります。 この画面すら懐かしいですね。 フライングトースター!もちろんちゃんとアニメーションしますよ。 フィ
Webシステムというとデータベースが必須なように思えますが、実際にはそんなことはありません。むしろデータベースを必須にすることで導入までの障壁が高くなったり、システム負荷が高まったりします。 もちろん大型のWebシステムであればデータベースが必須ですが、そこはケースバイケースではないでしょうか。ということでブログくらいであればデータベースレスなHTMLyでも十分なのです。 HTMLyの使い方 トップページです。設定から運用開始まではとても簡単です。 設置はconfig以下にあるconfig.ini.exampleのリネームと修正、config/users以下にあるファイルをコピーして自分の好きなユーザ名.iniというファイル名にして中にあるパスワードを記述するだけです。 パスワードが平文管理なのがちょっと怖いですが…そこは要修正かも。ということでログインします。 投稿を書きます。Markd
MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました GUIやWebでアップロードするのが面倒と思っていた方(私)に朗報! MOONGIFTでソフトウェアの動作デモを録画した場合、QuickTimeを使ってアップロードを行っています。しかしこれが意外と面倒です。もっと手軽にできないものかと思っていました。 その答えはyoutube-uploadにありそうです。youtube-uploadはコマンドラインを使ってYouTubeに動画アップロードできるソフトウェアです。 youtube-uploadのインストール youtube-uploadはPythonスクリプトなので、ダウンロードしたディレクトリで python setup.py install でインストールできます。それとは別途、gdataをインストールする必要があります。 yo
MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました 階層的な構造を表すのに便利なのが組織図です。しかし形が独特なものになりがちで、他のグラフに比べると描画ライブラリが少ないように思います。その結果、画像で作られて更新メンテナンスが大変な状態になります。 そこで組織図を描くのに便利なライブラリを一つ知っておくと色々な場面で使い回しができるようになるでしょう。今回はjQueryベースの組織図ライブラリ、jOrgChartを紹介します。 jOrgChartの使い方 HTMLの構造は次のようになります。リストを使うので描くのは簡単です。 - Food - Beer - Vegetables - Pumpkin - [Aubergine](http://tquila.com) - Bread - Chocolate - Topdeck - R
Live markdown editingLaverna has a simple and robust markdown editor, which can help you write faster than ever before with our live markdown preview. Distraction free modeThe editor can be switched to distraction free mode where you can focus solely on writing notes. Available anytime and anywhereMake your notes available on any device with your Dropbox & RemoteStorage account. Keep your notes pr
Git で管理してるレポジトリーで、いくつかのブランチを別々の場所にチェックアウトしたいことがある。 たとえば GUI なツールでブランチ間の比較したい 同時に実行して比較しつつテストしたい ブランチ間でファイルをコピーしたい ドキュメントの生成結果を別ブランチで管理したい といったときに、必要になる。 ブランチの個数だけ clone しちゃえば用は足りそうなんだけど、でかいレポジトリーだったら時間もディスク容量ももったいない。 git-new-workdir を使うべきでしょう! 先日、「git-new-workdir を使えばワーキング ディレクトリーを複数を作れて便利」と書いてあるブログを読んだ。 git-new-workdir が便利 - #生存戦略 、それは - subtech git-new-workdir の usage を見てたら、別ブランチのワーキング ディレクトリー作成
You know what's better than adding features to a website or app, from a code perspective? Removing stuff you don't need. Whether it be code, images, or dependencies, getting rid of the crap stale code is like the first sip of a big glass of wine after a long day of stressful work. Running a directory of images through ImageOptim is a euphoric experience, am I right? What if there was a tool, h
Single Page Application ではない場合 JavaScript コードのエントリポイントはどこにあるべきか? - @kyanny's blog Backbone.Routerは基本的にhistory APIやhashchangeを使ったSPAのためのルーティングをしてくれるものなので、SPAじゃない場合に使うのはあんまりオススメできない。 方法は色々だと思うけど、自分の場合はそういうケースでは次のような簡易的なURL Dispatcherを書いて対応することが多い。 dispatcher.js これをこんな感じで使う。 // main.js new Dispatcher() .route('.*', 'Common') .route('/', 'Top') .route('/user/([^/]+)', 'User') .dispatch({ path: locatio
Disable the Chrome Notification Bell Menu Bar Icon in Mac OS X Longtime users of the Google Chrome web browser may be puzzled to discover the appearance of a mysterious Chrome Notifications menu bar icon, appearing as a little bell icon along with the other Mac menu bar items. Unlike removing some of the other OS X menu bar icons though, you can’t simply drag it out of the menu bar to remove the i
どうも、中本(特に冷やし五目味噌タンメン+バター)にハマっている高橋です! 最近のアプリケーション開発といえば、フロントエンドはサーバサイドが準備したAPI経由でデータを取得したり保存したりという構成が人気のようです。そこで「API、ちゃんと動いてるんかなぁ?」というテストを書いて、実際にリクエスト&レスポンスで検証してみようと思います。 今回テスティングフレームワークとして使用する Frisby(フリスビー) は簡単に書けて高速に動作するというのが持ち味の REST API のテスティングフレームワークです。投げて返ってくるFrisbeeと掛けているのでしょうか?これドヤ顔で言われるとちょっと腹立ちますが、こういうネーミングセンスには関心させられます。笑 ◯インストール 今回は「frisbytest」というディレクトリ内で作業をしていきたいと思います。 コンソールを起動したら以下のコマン
<?php function getFileList($dir) { $files = scandir($dir); $files = array_filter($files, function ($file) { // 注(1) return !in_array($file, array('.', '..')); }); $list = array(); foreach ($files as $file) { $fullpath = rtrim($dir, '/') . '/' . $file; // 注(2) if (is_file($fullpath)) { $list[] = $fullpath; } if (is_dir($fullpath)) { $list = array_merge($list, getFileList($fullpath)); } } return $li
伊勢丹の新しいタータンのような矩形模様の繰り返しに過ぎないものは、多数の背景画像を気軽に扱える時代になったので、CSSグラデーションで簡単に作ることができる時代になった。最近あまりCSSグラデーションを書いてなかったので、今時のグラデーション文法の復習も兼ねて作った。 Demo: New Isetan Tartan チェックを構成する線をそれぞれ背景画像として定義し、特定の順番で重ねるという方法で行う。新タータンの場合は上から順にのような重なりになっている。 赤の縦線 赤の横線 黄の縦線 黄の横線 ベースの緑 background-imageプロパティーで複数の背景画像を重ねた場合は先に書いた画像が手前に来るので1から4に順にグラデーションとして書いていく。それぞれのグラデーションはtransparentキーワードを使って綺麗に切り替わるように調節してやれば良い。 .test { back
Our PHP agent monitors your application to help you identify and solve performance issues. You can also extend the agent's performance monitoring to collect and analyze business data to help you improve the customer experience and make data-driven business decisions. Use the New Relic PHP agent to solve your app's performance issues with our My app is slow tutorial. Monitor app performance one.new
If you’re programming in PHP, there’s a good chance you’re using the Laravel web framework. Laravel is the most starred PHP framework on GitHub, and that’s one of the reasons why we’re pleased to announce that the New Relic PHP agent version 4.6 now contains built-in support for Laravel 4. How does it work? The latest New Relic PHP agent provides descriptive transaction names by pulling this infor
コンテンツは現場にあふれている。会議室で話し合うより職人を呼べ。営業マンと話をさせろ。Web 2.0だ、CGMだ、Ajaxだと騒いでいるのは「インターネット業界」だけ。中小企業の「商売用」ホームページにはそれ以前にもっともっと大切なものがある。企業ホームページの最初の一歩がわからずにボタンを掛け違えているWeb担当者に心得を授ける実践現場主義コラム。 宮脇 睦(有限会社アズモード) 先日、ある企業に見積もりを提出すると「安すぎる」として、取引を見送りされました。別のホームページ制作会社が提出していた見積もりは、250万円だったといいますが、諸条件が異なるとはいえ、こちらが提示した金額が「桁違い」に安かったのです。 価格というのはおもしろいもので、高くても文句をいわれますが、その高さを「信用」と錯覚するお客もいます。長い付き合いのクライアントからの紹介を理由に、「出血特価」にしたことが裏目に
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く