ぴよぴよ @bluepand 年末より突如始めたLang-8。現時点での自分の気付いた最大限活用法まとめ。今年に入ってからも、ほとんど毎日書いているという利用っぷり。量は質を生むと信じて書きまくってます。まだ、たいしたことは書けてませんが。それでも続けています。#lang8
![Lang-8最大限活用法](https://cdn-ak-scissors.b.st-hatena.com/image/square/3dd471c4f5bc6d8053a8e66d307de699faa027b2/height=288;version=1;width=512/https%3A%2F%2Fs.tgstc.com%2Fogp3%2Fec09add763c1cddacc181cc8fa811800-1200x630.jpeg)
ぴよぴよ @bluepand 年末より突如始めたLang-8。現時点での自分の気付いた最大限活用法まとめ。今年に入ってからも、ほとんど毎日書いているという利用っぷり。量は質を生むと信じて書きまくってます。まだ、たいしたことは書けてませんが。それでも続けています。#lang8
cross.md CROSS 2014 : CI/DevOps Github, Pull Request Webサービス開発現場から / 近頃の開発のやり方 ・・・ Github と Pull Request とコードレビュー pull request を利用した開発ワークフロー // Speaker Deck Hatena Blog Development Flow // Speaker Deck Continuous Integration/Delivery Continuous Delivery in COOKPAD // Speaker Deck Hatena Blog for Engineer // Speaker Deck ソフトウェアテスト テスト考2014 - Hidden in Plain Sight テスト書きすぎ問題 - hitode909の日記 RE: テスト考20
こんにちは、あさくらです。 みなさんHipChatってご存知でしょうか? HipChatは企業やチームのためのホスティング型プライベートチャットサービスのことで、継続的に使えるチャットルーム、チャット履歴の保存、外部サービスとの連携に便利なAPI、などの特徴を持ちます。 キュニップでは社内開発用のグループチャットとしてHipChatを利用しているのですが、先日HipChatの利用事例を発表する機会があり、その際に使用したスライドを公開しました。 外部サービスとのAPI連携と、内製のHipChat専用ボットqubot(キューボット)について紹介しており、HipChatを使ってどんなふうに開発を快適にしているのかがかいま見れる内容になっています。 HipChatを使い始めたけれどもう一歩便利にしたい、そんな開発者さんに見てもらえると嬉しいです。
Recently, I’ve used Shef, the interactive Chef console, to get to the bottom of some rather tricky problems. In the process, I developed a number of tricks and tools for productively debugging problems using Shef. This is the first in a series of articles I’d like to write on the most useful of these tips. In this article I will discuss how I use Shef and a handful of additional functions to debug
iOS/AndroidのTips共有会potatotipsでiOSの実行時引数は思ってるより簡単ベンリに扱えるんだよって話をしました。 potatotips (iOS/Android開発Tips共有会) 第3回 ↑ 起動時のオプション引数はiOSだと上図のようにXcodeのスキーマで指定します。 int main(int argc, char * argv[]) ↑ そして普通のUnixプログラムと同様にmain関数のargcに引数の個数が、argvに文字列の配列で入ってきます。 でもGUIの無いコマンドラインのユーティリティプログラムならともかく、iOSアプリでargvをParseして何かするとか面倒なだけだと思っていませんか? 詳しいことはスライドに書いたので端的に言うと、ある規則にしたがうとこの引数は自動的にParseされてNSUserDefaultsに格納されます。 つまりアプリケ
Heroku Meetup #11 New Year Party!! で Dokku の話を LT してきた。 Inside Dokku in 5 minutes 5分過ぎると5分過ぎてますよーとかドラが鳴るとかはなく、ケーブルを抜いて終わるという strict な感じな LT だった。 5分なので Dokku スライドに書かなかった内容としては、 Ubuntu 13.04 で動かす必要がある (Ubuntu 13.10 だと Docker 側にバグがあって docker 0.8.* 系で修正される予定らしい、これとこれ) クリーンインストールを前提としている サーバのホストネームが名前解決されない時は /home/dokku/VHOST に手動でホスト名を書く必要がある Docker のバージョンがあがって Docker 側に regression がある時は DOCKER_VERSIO
毎日他の人のコミットをながめる文化で生活していると、理由は浮かばないけど「ん?このコミットはなんか気になる」と感じるようになります。それは、新しいことを知ることができたコミットだったり、真似したくなるようなコードが入っているコミットだったり、なんかまずそうな気がするコミットだったり、様々です。 「ん?」と感じてコミットを見直してみても、何が気になったか自分でもすぐにわからない場合があります。そんなとき、気になったことをコミットした人に伝えるために、コミットへのコメントをまとめ始めます。「コミットした人に伝えるため」というように、他の人に伝えようとすることがポイントです。他の人に伝えるためにまとめようとすると、思いの外なにが気になったかまとまるものです。 今回は、メタプログラミングを使ってコードを整理したコミットで「ん?」と感じたときのことについて紹介します。このおかげで「メタプログラミング
やりたいこと 常時起動させたいスクリプトなど、デーモンプロセスとして動かしたいことがあると思います。 しかし例えば/etc/init.dのスクリプトなどを自分で書くとなると・・・ PIDファイルの管理をいちいち書くのが面倒でミスりやすい。 ステータスの取得とかも同様。 そもそもそんなローレベルのツールを使わなくてもよい。もっとユーザレベルに近いもので充分。 一般ユーザで起動停止くらいさせたい。 つまりは、大体同じ様になるはずの 「プロセス管理スクリプト書くのが面倒」 なのと、 サービスとして登録してしまうと 「基本はrootで起動停止管理」 になるので、 この2つを避けたいということになります。 systemdを使うとスクリプトを書く必要はなくなりますが、 rootでなければ起動停止ができない、という扱いにしたくない。 stdout/errに色々吐きまくって直したくない。 システムのサービ
適当なスクリプトをデーモン化しようと思った時の典型的な要件が以下であるが、この記事でも紹介したpython製のプロセス管理ツールであるSupervisorを使うことによって解決できる。 プロセスの生死の監視する プロセスが死んだら勝手に再起動する 標準出力やエラー出力のログを取る 場合によっては複数プロセスを起動したい プロセスのステータスを簡単に確認したい この記事では、プロセス管理ツールSupervisorの導入を簡単に紹介する。 インストール easy_installからインストールできる。そもそもeasy_installが入ってない場合は以下みたいにインストール。 $ curl -O http://peak.telecommunity.com/dist/ez_setup.py $ python ez_setup.pySupervisorをeasy_installからインストールしま
月額制のVPSからEC2に移行を試みるついでに手順をまとめました。 書きなぐっているため、抜け漏れがあるかもしれません。指摘大歓迎です。 目的と作業手順 Webサイト test.hogehoge.com を作ること。(事前にhogehoge.comのドメインは取得済み) インスタンスの作成 作業ユーザの作成 ssh接続の設定 EIPの設定 nginxをインストール DNSの設定 バーチャルホストの設定 インスタンスを作成 何はともあれまずはインスタンスの作成です。 今回はマイクロインスタンス + OSはAmazon Linux AMI を利用します。慣れれば3〜4分で終わりそう? ここで鍵がダウンロードされます。 作業ユーザーの作成 ec2-userでログイン インスタンスを作成したら、早速terminalでssh接続してみます。デフォルトではec2-userという名前でログインすることに
When you have a web application which requires some getting used to from your users, a walkthrough of the interface is in order. Creating a walkthrough directly on top of the interface makes things very clear, so that's what we're going to build, using Bootstrap Tour. Questions, Questions Bootstrap Tour is a jQuery-based plugin for Twitter Bootstrap which allows you to easily build interactive wal
this on going project compiles patterns shared by the most talented designers out there for you to use freely in your designs.
The January edition of what's new for web designers and developers includes new web apps, jQuery plugins and JavaScript resources, web development tools, responsive design resources, collaboration tools, coding resources, and some really great new fonts. Many of the resources below are free or very low cost, and are sure to be useful to a lot of designers and developers out there. As always, if we
HTML is the language that the web is built in and it's kind of a strange beast. Although it was originally intended as a way to easily share academic information across the Internet, it has been slowly transformed to accommodate the media-rich environment we know and love. Because of the haphazard nature of HTML (and JavaScript, the programming language that manipulates elements in HTML and makes
In the previous tutorial, I introduced you to NSURLSession. I talked about the advantages it has over NSURLConnection and how to use NSURLSession for simple tasks, such as fetching data from a web service and downloading an image from the web. In this tutorial, we'll take a closer look at the configuration options of NSURLSession and how to cancel and resume a download task. We've got a lot of gro
DebianやUbuntuでは、Debパッケージという形式でソフトウェアが配布されているが、公式に配布されているパッケージを利用するだけでなく、パッケージを自分で作成して利用することも可能だ。本記事では独自のDebパッケージを作成する方法や、apt-getコマンドで独自に作成したパッケージをインストールできる独自リポジトリの作成方法を紹介する。 独自のDebパッケージを作るメリットとは DebianやUbuntuなどDebianから派生したディストリビューションでは、dpkgなどのツールを使ったパッケージ管理が行われている。これにより、Debパッケージ(拡張子は.deb)という形式で配布されているソフトウェアやファイルをインストールしたり、インストールしたソフトウェアのアップデートやアンインストールなどの管理を行える。 一般的に使われているソフトウェアの多くは、各ディストリビューションによ
Androidを担当しています、森脇です。 今回は画像を使わずに、xmlだけで角丸ボタンを作ってみようと思います。 ShapeDrawableを使ってボタン用のxmlファイルを作成 ShapeDrawableを利用してボタンのパーツを定義していきます。 http://developer.android.com/guide/topics/resources/drawable-resource.html#Shape <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- ボタンが押されてない時 --> <item android:state_pressed="false"> <!-- ボタンの形状 --> <shape an
http://samsaffron.com/archive/2014/01/15/vintage-javascript-begone1 comment | 0 pointsDiscourseのSam Saffronが、Railsでリアルタイムアップデートするためのmessage_bus gemを紹介しています。 The Problem ユーザが最新のバージョンにバンドルしているJavaScriptとCSSを読込んでなくて、古いバージョンいよる変なバグに遭遇する可能性がある。どうするか? The message bus シングルページアプリでは、リアルタイムをサポートするなんらかのメッセージング busが求められるが、今回Rails向けに用意したmessage_busのコアは、クライアントでメッセージをpub/subできるシンプルなAPIを提供できることである。 # in ruby Mess
縦だけとか横だけのサンプルは良く見かけるのですが、例えば上スクロールだけを許して下にはスクロールさせない方法が見つからなかったので書いておきます。 (こんな制御に需要があるとはあまり思えませんが。。) ポイント1 スクロール方向の判定 UIScrollViewDelegateのscrollViewWillBeginDragging、scrollViewDidScrollでスクロールの前回座標を保存し、 scrollViewDidScrollでスクロールされた後の座標と比較すればOK ポイント2 スクロールのキャンセル スクロールの方向を求め、許可する方向以外だった時はスクロールの位置をスクロールの開始座標に戻します。 また、座標を戻したとしても慣性スクロールが発生しますのでscrollViewWillBeginDeceleratingで慣性スクロールをキャンセルします。(以前の記事参照)
# WARNに値を出力するだけ Chef::Log::warn node[:apache][:prefork][:startservers] if "#{node[:roles]}" == 'front_web' default[:apache][:prefork][:startservers] = 36 else default[:apache][:prefork][:startservers] = 500 end
Tips of launch arguments for iOS development.
このところ、Serfのコードを読んでいました。一旦、読んで理解した内容をまとめてみたいと思います。 Packages Serfは大きく次の2つのパッケージに分かれており、各々の役割は以下のようになっています。 memberlist クラスタのノードの状態管理 イベントの発行 serf コマンドの提供 イベントをフックして任意のスクリプトを実行する仕組み クラスタの状態のスナップショットの作成とリストア そして、serfはパッケージはmemberlistパッケージに依存しています。 今回はmemberlistについて分かったことを書いていきます。 Memberlist Summary memberlistはSerfクラスタの各ノード内に1つずつ存在しており、Serfクラスタ内の全ノード情報を保持しています。この保持しているノード情報が、Serfクラスタのノード間でやり取り(full stat
OOCSSをはじめとするCSS設計におけるモジュール指向のアプローチの話になると、下記のような単一プロパティで定義されたルールを組み合わせたものを指す、というような説明がされる場合がある。 .size1of4 { width: 25%; } .mrs { margin-right: 10px; } .font-small { font-size: 10px; } .text-left { text-align: left; } これらはUtilityとか、Helperとか、汎用クラスというように呼ばれ、あれば何かと便利なルールだ。 どういうときに便利かというのは、唐突なデザイン変更要求などに、都度そのためのルールを定義するよりも、これらの汎用クラスの組み合わせで対応できるということが挙げられるだろう。 <div class="mts text-center"> <img src="ban
理解しやすいように適当に遮ったり、言い切ってしまったところもあるがご容赦いただきたい。 MVCの登場 MVCは、SmalltalkのGUIライブラリのモデルとして登場した。 これはGUIアプリケーションを記述する際に、適切なモデル化を進めるのにとてもいい考え方だと思われていたし、実際にそうだった。 これはアーキテクチャパターンとして、それぞれがどのように依存するべきか、どこにコードを書くべきかということを端的に表している。 安定依存の原則というものがある。これは、要件が安定しているモジュールに依存し、要件が変動しやすいモジュールには依存しないようにするという原則だ。MVCアーキテクチャでは、GUIアプリケーションの安定関係をModel > View > Controllerの順でとらえている。データ処理や業務要件というのは安定しており、UIパーツもまた比較的安定している。それらを統合してア
LEADING BRANDS TO DIGITAL WE ARE A DATA-DRIVEN MARKETING AGENCY FICCはデータに基づく論理的なマーケティングを提供するデジタルエージェンシーです。 消費者に価値あるコンテンツと体験を届けるため、戦略立案から施策実行まで一貫して提供しています。
あるテーブルのすべてのフラグを false にしたい時に、件数が多くなる事が予想されたので1000件ずつ処理しようと考え、次のようなコードを書きました。 while Hoge.where("flag IS true").count > 0 sql = "UPDATE hoge SET flag = false WHERE flag IS true LIMIT 1000" Hoge.connection.execute(sql) end 一見正しく動作しそうなのですが、このまま動かすと見事に無限ループになります。ログを確認すると次のような気になる箇所を発見。 CACHE (0.0ms) SELECT COUNT(*) FROM `hoge` WHERE (flag IS true)どうやら、最初の count で計算したレコード数をキャッシュして延々同じ比較を行ってしまっている様子。このよう
Refactoring your JavaScript code with Grasp | Grasp - JavaScript structural search, replace, and refactor という記事では、Grasp を使ったJavaScriptコードのリファクタリングについて書かれています。 この記事は Refactoring your JavaScript code with Grasp | Grasp - JavaScript structural search, replace, and refactor の簡単な紹介です Grasp は JavaScript ASTを元にgrepのような検索、sedのような置換などを行えるコマンドラインツールです。 GraspはNodeで(実際にはLiveScriptで)書かれているツールで npm 経由でインストールできま
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く