タグ

ブックマーク / ift.tt (103)

  • gitのワークスペースがcleanであることをassertする方法 - 西尾泰和のはてなダイアリー

    流れ去るともったいないのでTwitterから転載: ‏@nishio: Makefileで実行する前に「gitのワークスペースがcleanであること」ってassertしたいんだけど、どうすればいいかなぁ。 @n0kada: test -z "`git status --porcelain`" バッチリ動きました!ありがとうございます! $ make deploy # TODO assert workspace is clean test -z "`git status --porcelain`" make: *** [deploy] Error 1

    gitのワークスペースがcleanであることをassertする方法 - 西尾泰和のはてなダイアリー
    hamaco
    hamaco 2014/01/24
  • Vimmerのあなたの為に。最高のカレンダーcalendar.vimを作りました - Vimはアプリケーションプラットフォームの時代に - プログラムモグモグ

    Vimでカレンダーといえば, mattnさんのcalendar.vimが有名でした. mattn - calendar-vim しかし, 私には以下の不満点がありました. 現在のVim Scriptから見ると, Vim Scriptの基的な要素(文字列と数字)しか使っていない. ぶっちゃけ, コードが読みにくいし拡張しにくい. 日付の計算, 表示部の構成など, 様々な要素が一つのファイルに書かれていて, ごちゃごちゃになっている. キーボード入力に対して, インタラクティブでない. 例えば, hを押した時に隣の日に移動しない. 自分でカレンダーを一から書いてみたくなったんです. というわけで... calendar.vim作りました itchyny - calendar.vim どうぞ使って下さい. :Calendarコマンドでカレンダーが開きます. スクリーンショットはこんな感じ. G

    Vimmerのあなたの為に。最高のカレンダーcalendar.vimを作りました - Vimはアプリケーションプラットフォームの時代に - プログラムモグモグ
    hamaco
    hamaco 2014/01/24
  • GiltのエンジニアチームのTrustカルチャーと自主的に動くスタイル - ワザノバ | wazanova

    hamaco
    hamaco 2014/01/24
  • バックグラウンドで動くアプリが終了されたタイミングでアラートを出す - koogawa blog

    「僕の来た道」や「Moves」のように、バックグラウンドから意図的にアプリを終了されると行動記録が取れなくなり、非常に困るアプリがありますね(iOS 7以上での話)。 そんな中、「AutoDiary」というアプリが面白いことをやっていました。 バックグラウンドからアプリを終了すると、上のように通知で知らせてくれるのです。これは上手いやり方だな、と思いました。 AutoDiary -PreVersion for iOS6- Tamaライフスタイル無料 というわけで、さっそく実装方法を調査してみることに。 やり方 とりあえず思いついたのが、Local Notificationを使う方法です。 アプリが終了されたタイミングでLocal Notificationを発動させる - (void)applicationWillTerminate:(UIApplication *)application

    バックグラウンドで動くアプリが終了されたタイミングでアラートを出す - koogawa blog
    hamaco
    hamaco 2014/01/24
  • 君がOpsでもRubyで書いたライブラリはGemで配ろう - Qiita

    Infrastracture as code流行の副産物として、もうOpsはある程度Rubyでライブラリを書けるようになりました。 折角Rubyでライブラリを書いたなら、安全&ラクに配布するためGemパッケージにしましょう、出来る人には今更でしょうが知らない人は真似してみてね。 ちなみに意外と誤解されてる点、gemにする=Rubygems.orgで公開する、ではありません、してもOKというだけで。 目標 gemファイルを置いて、gemコマンドで自分のライブラリをサーバに導入する。 こんなかんじで。 gem install -l my_libs-0.0.1.gem じゃあやってみましょう。 Gemの雛形をつくろう Gemの作り方は色々あるようですが、私はもっぱらbundlerです。 bundle gemで必要なファイル群を作成します、便利ですね。 $ bundle gem my_libs c

    君がOpsでもRubyで書いたライブラリはGemで配ろう - Qiita
    hamaco
    hamaco 2014/01/23
  • Bitcoinについて 2014年1月

    hamaco
    hamaco 2014/01/23
  • テストのめどい話

    最初にめどい言い訳をせねばならぬ俺は江島氏ともきょん氏とも面識はないですが、お二人ともが俺のことを知ってることを俺も知ってる程度には狭い業界であり。どちらかに肩入れしたいわけではないです。喧嘩したいわけでもないです。普段あまりここでは言及しないですが俺は今の仕事としてはテストを書いたりテストを実施したりする係をしてノリクチをしのいでおり、いわばテストは業ですので、テストに言及することは今現在の同僚に対して意図しない受け取られ方をする可能性があるので困るので、それもあって普段はここではあまりテストの話はしないわけだが、だからと言って沈黙を破ってテストの話をするのが同僚に対して含みがあるというわけでもないです。とはいえ俺は大学等で真面目にソフトウエア工学の講義を受講したことがなく、経験と勘と昔取った杵柄だけでってるので、そういう意味では若干の後ろめたい気持ちもある。で、テストって何なん俺が

    hamaco
    hamaco 2014/01/23
  • 事故らないために普段守っているターミナルの運用ポリシ(Mac + iTerm2)|TechRacho by BPS株式会社

    morimorihogeです.新年一発目の投稿です.最近木曾が改二になりました. Web開発に限らず,UNIX系で動作するシステムの開発・運用に携わっていると常にターミナルクライアントを開いているということが多いかと思います.Web開発やサーバインフラの構築・運用をやっていると,自分のローカルPCだけではなく,リモート上の別マシンに接続し,テストサーバや番サーバでコマンドを打って作業する機会が多くなります. そんな中「ローカルマシンのコンソールだと思ってrmしたら実は番系サーバだった」「なんか色々実行してて処理が怪しいなと思ったら別のサーバだった」という思いをしたことがあるのは僕一人だけじゃないと思います. 今回はこういった問題を防止するために僕が普段から守っているターミナルの運用ポリシを紹介してみようと思います.あまり技術的な話はないですが,普段開発・運用を仕事としてしていく上でのノ

    事故らないために普段守っているターミナルの運用ポリシ(Mac + iTerm2)|TechRacho by BPS株式会社
    hamaco
    hamaco 2014/01/23
  • ウェブデザインにおけるセマンティック・バージョニング

    アプリケーションの世界ではセマンティック・バージョニングが広く受け入れられた……かどうかはわからないが、採用例はすごく増えている印象だ。ウェブデザインではどうかというと、ウェブ・アプリケーションのバージョニングに追随しているだけであったり、そもそもバージョニングされていなかったりするような気がする。ウェブデザイン、主にCSS(とCSSプリプロセッサー)においてセマンティック・バージョニングを導入するとすると、どのようなタイミングでメジャー、マイナーそしてパッチ番号を増やせば良いのだろうか。 セマンティック・バージョニングの中心となる概念は後方互換性だ。後方互換性が: 失われる: メジャー 失われない新機能の追加: マイナー 失われない修正: パッチ 数語でまとめるとこのようになるだろう。ウェブデザインにもこれを当てはめるとすると、ウェブデザインにおける後方互換性とは何なのかということをまず

    hamaco
    hamaco 2014/01/23
  • Serf Source Code Reading

    このところ、Serfのコードを読んでいました。一旦、読んで理解した内容をまとめてみたいと思います。 Packages Serfは大きく次の2つのパッケージに分かれており、各々の役割は以下のようになっています。 memberlist クラスタのノードの状態管理 イベントの発行 serf コマンドの提供 イベントをフックして任意のスクリプトを実行する仕組み クラスタの状態のスナップショットの作成とリストア そして、serfはパッケージはmemberlistパッケージに依存しています。 今回はmemberlistについて分かったことを書いていきます。 Memberlist Summary memberlistはSerfクラスタの各ノード内に1つずつ存在しており、Serfクラスタ内の全ノード情報を保持しています。この保持しているノード情報が、Serfクラスタのノード間でやり取り(full stat

    hamaco
    hamaco 2014/01/23
  • そのクソコード、Intellij IDEAでチェックできるよ

    愛知県でシステムエンジニアとして働く友人のMは、プロジェクトメンバの書くJavaのクソコードに苦しめられているそうです。Mはリードプログラマとして、プロジェクトメンバがあげてくる成果物(ドキュメントとコード)のレビューをする立場にあるらしく、提出されてくる数々のクソコードをTwitterでつぶやいていました。 Mを救うことはできるのでしょうか? もし、クソコードをすばやく見つけることができたら救えるのであれば、救える見込みはあるかもしれません。 コードの問題を見つける静的解析ツールクソコードとは、おおむね次のような問題のあるコードをさすようです。 潜在的バグバグの可能性があるコード。重複機能追加やバグ修正を困難にしがちなコードの重複。設計上の問題クラスやパッケージ間の依存関係、多すぎるメソッド引数など。慣習違反プログラミング言語やライブラリの慣習、コーディング規約などに違反したコード。多か

    hamaco
    hamaco 2014/01/23
  • neocomplete-php.vimを作っています - yuhei.kagaya

    PHPの関数を補完するneocomplete用source neocomplete-php.vimはneocomplete.vimPHP用sourceです。 補完時に、関数と一緒に短い説明が欲しかったので作り始めました。 今のところはPHPの組み込み関数の補完しかできないのですが、 これから次のような機能を実装しようかなぁと思っています。 インサートモード時に、statsulineにリファレンスを表示する機能 組み込みクラスの補完 メンバ変数やメソッド名や定数の補完 CakePHPへの対応 セットアップ プラグインをneobundleでインストールします。 NeoBundle 'Shougo/neocomplete.vim' NeoBundle 'violetyk/neocomplete-php.vim' 日語の説明にする場合には、.vimrcなどにロケールを設定します。 デフォルトは

    neocomplete-php.vimを作っています - yuhei.kagaya
    hamaco
    hamaco 2014/01/23
  • ユビレジを支える技術

    年末にユビレジさんのところでちょっと仕事のお手伝いをさせていただいたので、その時の内容をご紹介させていただきます。 ■ユビレジって何? iPadをキャッシュレジスタに変えてしまうサービスです。会計からレシートの印刷までやってくれます。最近飲店などでレジがなくiPadだけが置いてあるお店などを散見するかと思いますが、アレがそうです。一般的なキャッシュレジスタ+店舗システムよりもはるかに安価で導入でき、しかも使いやすいというのがウリです。 開発者的に言うと、Scalaモヒカンの@kmizuさんやiOSモヒカンの@k_katsumiさんなどが在籍されていまして、エンジニアのレベルが高いです。 ■開発スタイル 少人数のため、厳密なウォーターフォール管理やアジャイル/スクラムなどは無く、チケット/Issueベースの開発になっています。githubをフル活用します。すべてPull Request(以

    ユビレジを支える技術
    hamaco
    hamaco 2014/01/23
  • 新規事業に失敗したくないなら絶対見て欲しい、誰でも3分で分かるLean UXと4つの基本ステップ|グロースハックジャパン|Growth Hack Japan

    投資家はあなたのビジネスアイディアに投資などしてくれません。 アイディアは失敗しない裏付けがあって初めて価値を持ち、投資家はその「裏付け」を求めているのです。 投資家が求める裏付けといえば、技術力や市場・競合調査など様々ですが、多くの起業家が忘れがちなのはUX(ユーザーエクスペリエンス)や顧客開発の重要性。新規事業に失敗したくなければ、ユーザーが製品に対してどのような感想を持っているか、どう改善して欲しいか、そもそもユーザーはその製品を必要としているのかを、ローンチ前に検証する必要があるのです。 リソースの少ない起業前に実行することはなかなか難しいことですが、見込みユーザーに関する情報が圧倒的に少ないスタートアップにこそUX検証は必要不可欠。こうした事実を踏まえ、起業を夢見る皆様に提案したいのが、リーン・スタートアップ・ムーブメントから派生した方法論である「Lean UX(リーンUX)」で

    新規事業に失敗したくないなら絶対見て欲しい、誰でも3分で分かるLean UXと4つの基本ステップ|グロースハックジャパン|Growth Hack Japan
    hamaco
    hamaco 2014/01/23
  • choosewin.vim をつくりました - t9mdの日記

    この記事はVim Advent Calendar 2013 44回目(不吉な..)の記事です。 新しいプラグイン vim-choosewin を作りました。 最初に作ったのは去年(2013年)の12月なのですが、正月頃、manga-osyo さんに 色々とアイデアを貰い、発展し、けっこう大げさなプラグインになりましたので紹介します。 ■ これは何をするものか? 以下の GIF アニメを見てください。 ウィンドウに表示されるラベルを入力することで、目的のウィンドウに一発で移動できます。 ■ 作った背景 tmux というターミナルマルチプレクサ(一つのターミナルで、沢山のウィンドウを開いたりするソフト) があります。 Mac とか、Linux の人は使っている人も多いでしょう。 tmux には display-pane というコマンドがあり、数字キーを押すことで、飛びたいウィンドウに一足飛びに

    choosewin.vim をつくりました - t9mdの日記
    hamaco
    hamaco 2014/01/23
  • chefでインストール済みかどうかの判定にpacoを使うと便利 - UNIX的なアレ

    cookbookを書くときの冪等性 cookbookはインストール時だけでなく、何度実行しても同じ状態に保たれることが重要視されます。 chef業界ではこれを冪等性(べきとうせい)と読んでいたりします。これは設定ファイルやパッケージのインストールなど、すべてに当てはまります。 例えば、パッケージシステム経由でvimをインストールするようば場合のrecipeは以下のようにして書きます。 package 'vim' このようにすることで、それぞれのディストリビューションにあったパッケージシステムをつかってvimをインストールしてくれます。当然、二重にインストールされることはありません。 sourceからインストールするcookbook たとえばCentOSにphpをパッケージ経由でインストールすると、ちょっと古いバージョンのものがインストールされてしまいます。 新しいバージョンを使いたい場合は

    chefでインストール済みかどうかの判定にpacoを使うと便利 - UNIX的なアレ
    hamaco
    hamaco 2014/01/23
  • やはりお前らのiOS7対応は間違っている

    この資料は2014.1.15にクックパッド主催ヤフー開催のiOS/Android Tips交換会potatotips #3で発表した資料です。 https://github.com/potatotips/potatotips/wiki/Potatotips-3Read less

    やはりお前らのiOS7対応は間違っている
    hamaco
    hamaco 2014/01/23
  • メタプログラミングをして割に合うかの判断基準:処理を1箇所に局所化できるか - 2014-01-16 - ククログ

    毎日他の人のコミットをながめる文化で生活していると、理由は浮かばないけど「ん?このコミットはなんか気になる」と感じるようになります。それは、新しいことを知ることができたコミットだったり、真似したくなるようなコードが入っているコミットだったり、なんかまずそうな気がするコミットだったり、様々です。 「ん?」と感じてコミットを見直してみても、何が気になったか自分でもすぐにわからない場合があります。そんなとき、気になったことをコミットした人に伝えるために、コミットへのコメントをまとめ始めます。「コミットした人に伝えるため」というように、他の人に伝えようとすることがポイントです。他の人に伝えるためにまとめようとすると、思いの外なにが気になったかまとまるものです。 今回は、メタプログラミングを使ってコードを整理したコミットで「ん?」と感じたときのことについて紹介します。このおかげで「メタプログラミング

    メタプログラミングをして割に合うかの判断基準:処理を1箇所に局所化できるか - 2014-01-16 - ククログ
    hamaco
    hamaco 2014/01/23
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    hamaco
    hamaco 2014/01/23
  • 掃除屋歴7年の俺がしつこい汚れの落し方を教えるよ - 床のトルストイ、ゲイとするとのこと

    (2009/12/31 追記あり) 学生時代にホームクリーニングのバイトを7年間やっていたので、大抵の汚れなら落し方分かります。このあいだ #pandacleaning というハッシュタグで掃除の仕方を淡々とつぶやいていたら評判がよかったので、ここらでまとめておくよ。 参考: mirakui によるパンダ掃除相談室 #pandacleaning - Togetter 掃除のために絶対に用意しなければならないもの 雑巾 すべての掃除に雑巾は必須です。雑巾はいくらあってもいいです。買ってくる必要はなくて、ボロくなったタオルを使うと良いです。縫ったりする必要はないです。ちなみに、プロの間では、上級者ほど雑巾の使い方がうまいです。雑巾が汚れる→交換する→時間のロス につながるので、ベテランの職人ほど一枚の雑巾で沢山の汚れを見事に拭き取ります。 バケツ 雑巾とバケツは常にセットです。バケツなしに水拭

    掃除屋歴7年の俺がしつこい汚れの落し方を教えるよ - 床のトルストイ、ゲイとするとのこと
    hamaco
    hamaco 2014/01/22