Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
プログラミングで最も重要な技術の一つが、名前付けです。 且つ、センスが問われるものなので、上達は難しいものでもあります。 この記事では、様々な文献から抽出した名前付けに関する情報を雑多にまとめました。 -名前重要- ソフトウェアの設計のアプローチとして、『まず名前から入る』というのは、あまり語られていない秘訣としてもっと広く知られても良いように思います。 - まつもとゆきひろ 『プログラマが知るべき97のこと』 コミュニケーションの基礎 名前は、コミュニケーションの基礎となるものです。 私にもあなたにも名前が無ければ、疎通することは困難になります。 名前をコミュニケーションの基礎と見た場合に重要なルールは以下の通りです。 発音可能であること 検索可能であること ※現実世界のみであれば検索可能じゃなくても良いかも知れません。 プログラミングは、チームや複数人で行うことのほうが多いと思います。
2017年3月26日追記 bpushは2年弱の運営の後、OSSとして生まれ変わりました。詳しくは下記の記事をご覧ください。 国内初のウェブプッシュサービスbpushのOSS化と運営して学んだことについて ブラウザだけでプッシュ通知ができるようになった Chromeのバージョン42からプッシュ通知が可能になったという記事は読まれましたでしょうか? 「Google Chrome 42」安定版リリース プッシュ通知機能追加と45件の脆弱性対 Chrome 42から、Service Workerという新しい仕組みによって、ブラウザを閉じていても、スマートフォンのプッシュ通知のようにサービス側からお知らせを届けることができるようになりました。この機能はデスクトップ版とAndroid版のChromeに導入されています。通知の仕組みにGoogle Cloud Messaging(GCM)を使っているため
ぼんやり1メンバーとして眺めていたプロジェクトが、リリース1週間前になって「あれも足りない!これも出来てない!どうすんじゃゴラァ」となったときに突如ディレクターとしてぶっこまれ投入されたときにやってみたことのメモ。 一次対応 とにもかくにもPJTに投入されて最初にやったこと。 コミュニケーションルールをみんなで確認して、守ってもらうようにした 誰が何の情報を持ってて、そして誰から誰にどんな指示が出てて、それらがどんなステータスか、、、 もうぐっちゃぐちゃになっていた。 ディレクターは一度死ぬが、一旦全部ディレクターに報告させて、ディレクターから適切な人に指示を出すことにし、メンバー同士でのダイレクトなコミュニケーションをいったん、原則禁止した。 (ディレクターがAさんとBさんで直接やって、と指示を出すときもあるが、それもやりとりの結果をAさんから必ずフィードバックさせるようにした。) ただ
いつもアプリケーションの開発ばかりで、まじめに監視系を考えたことがなかったので、 fluentdを中心にした監視系を作ってみた。 前提 複数台のアプリケーションサーバ 一台のログ収集サーバ ログにはエラーログとアクセスログの大きく2種類を用意する エラーログは更に複数のレベルでファイル単位にわかれている fatal error warn アプリケーションサーバとログ収集サーバは同一ネットワーク上にある やりたいこと メールで来ても絶対に気がつかない自信がある。 異常の側から教えてくれる仕組みを目指す。 fatalログが出た場合は、電話による通知を行う 全てのエラーログはchatツールに出力する ログのバックアップ ログの分析・可視化 この記事では1, 2, 3についてまとめる。 構築 fluentdのインストール 公式のドキュメントが一番わかり易い。 Installation | Flue
ブラウザスタイルは平坦化しておく リセットCSSはオプトアウト可能にしておく 登場頻度の高い組合せはplaceholderとして登録してから利用する 可能な限り画像はスプライト生成してから利用する それ以上分解不可能なコンポーネントは要素のように扱う コンポーネントは自己完結型のものを使う BEMはDRYになるよう粒度を下げる 可能な限り@extendは利用しない レスポンシブでない場所では、Utilitiesクラスを活用する shame.cssはいつも綺麗にしておく 詳細度または特異性の高いものほど後方に記述する 可能な限り!importantしない 可能な限りハックしない 変数をデザインガイドとして活用する CSSファイルを分割するメリットはほとんどないので一つにまとめる 1. ブラウザスタイルは平坦化しておく 例えば、こういうScrap & Buildは単に通信量のムダ。 * { f
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? #はじめに Webパフォーマンスはパフォーマンスエンジニアリングの1つの分野 Webパフォーマンス管理は、Webサイトの非機能要求の性能や可用性を扱います。 専門用語では、コンピュータの登場と時期を同じくして登場したパフォーマンスエンジニアリングという分野に属します。 パフォーマンスエンジニアリング パフォーマンスエンジニアリングとは、Wikipediaでは以下のように記載されています。 Performance engineering encompasses the techniques applied during a systems
勉強がてら。「TypeScript使えばいいじゃん」「ES6」とか言わないで。 hogeクラスをつくるとき 1. 一般的なつくりかた // constructor var hoge = function(arg) { this.x = 5; this.y = 10; this.z = arg; }; // メソッド hoge.prototype = { f1: function() { return true; }, f2: function() { return false; } }; var instance = new hoge(1); // hoge {x: 5, y: 10, z: 1, f1: function, f2: function} var hoge = (function() { var FOOFOO = 777; // クラス内定数 // constructor v
課題 html要素を一個だけ選択したいのに出来ない場合に、対処したい やりかた ◆ Chromeを立ち上げ、右側の設定ボタンをクリックしてブックマークツールバーを表示させる ◆ 下記URLを開き、青色の「CasperJS Utils」ボタンをツールバーへドラッグする http://docs.casperjs.org/en/latest/modules/clientutils.html#index-2 ◆ html要素を選択したいページへ移動する。 ※ 以下、例として既に開いておいたGoogle Analyticsページを使用する ◆ ブックマークツールバーへドラッグした CasperJS Utils をクリックする ※ クリックするだけで良い。 ◆ 選択したいhtml要素を表示させる。 ※ 以下、例として下画面のカーソルがかぶさっているチェックボックスを選択させたいものとする ◆ チェック
最近、色々Node.js + Expressを試しながらWebサービスを作ってみたりしてます。その中で自分がよくつまづいた所をまとめておきます。 前提 Node.js : v0.10.29 Express : v4.2.0 Vagrant どうでもいいけど Node.jsがv0.12リリースされてES6対応になったら、Express4がオワコンで、generator対応なKoa.jsが盛り上がりそうな気配。 http://koajs.com/ つまづきポイント なんか欲しくなったらnpmで探す たいていの欲しい機能は、すでにnpmにモジュール登録されてます。 https://www.npmjs.org/ 似たような機能がたくさんあります。なので、そのモジュールがちゃんとメンテされているか、みんな使っているくらい人気があるかを確認した方がいいです。中には、昔は王道だったけど、メンテされてなく
URLをいじくるプログラムをいじっていて、仕様がよくわからなくて悩んだのでまとめます。 2/23: 追試部分を追記 2018/7/14: JavaScriptのURLSearchParamsと、GoのPathEscapeについて追記 ことの経緯 HTTPとはなんぞやとか、GETとPOSTがどうの、それぞれでパラメータがどういう経緯でウェブアプリケーション(とかCGI)に渡って来るのかぐらいは知っていました。で、ウェブでXHRでGETリクエストを送る場合にはJavaScriptのencodeURIComponent()で各パラメータをエンコードして、&でくっつけて、URLの末尾に?で付与すればいいんだよね?と思っていました。こんな感じに。 var finalUrl = [url, "?", encodeURIComponent("key"), "=", encodeURIComponent(
Twitter Bootstrap の .btn に .disabled をつけると、click イベントが発生してないことに今さら気がついて、なんでだろうと思ってコードをみてみたら、こういう指定があった。 .btn.disabled, .btn[disabled], fieldset[disabled] .btn { pointer-events: none; /* これなに */ cursor: not-allowed; filter: alpha(opacity=65); -webkit-box-shadow: none; box-shadow: none; opacity: .65; } pointer-events はデフォルト値 auto 、 これを none とすると、マウスイベントを拾わなくなるらしいです。 モダンブラウザではサポートされてるけど、IE は11から。 SVG
HTTPレスポンスヘッダにサーバのバージョンの表示を消す なぜ必要? 潜在攻撃者への情報提供になることも。 もし使用中バージョンの脆弱性が明らかになった時、恰好の標的になるとか。 対応 nginx.confのhttpディレクティブに server_tokens off; を追加。
3/22 (日) の rebuild.fm で React の話をしようと思っているが、その前に頭を整理するために React 雑感。雑感なので殴り書き。 React はこれ一つで複数の課題を解決しようとしている。そのため、人と議論してると話のコンテキストがぶれやすい。ざっくりは フロントエンドのプログラミングパラダイムを、サーバーサイドのような富豪的なスタイルに変える コンポーネント (雑に言うと独自タグ) 指向で UI を組み立てる ステートレスコンポーネントやメッセージパッシングで疎結合性を高めることにより、イベントの依存関係地獄を解消する。また結果的にテスタビリティを高める あたりだろうか。 React というと最初に目につくのは VirtualDOM だけれども、VirtualDOM は 1 や 3 を達成するために障害となった技術的課題を解消するためのテクニックであってそれ以上
2014年02月27日に書いた記事なため、内容が古くなっています。注意してください Atom とは GitHub 製テキストエディタ。Sublime のようにデフォルト状態でも十分使える、かつカスタマイズ可能。2014/02/27 現在では招待制。 公式サイト - atom.io 他のエディタと何が違うのか Chromium をベースにできており、エディタのどのページもローカルで Web ページがレンダリングされてる。 Node.js を使って各ウィンドウの JavaScript 環境で自由にコードを実行できる。使用されてる技術的に Web 開発者にとっては馴染みが深いエディタになると思われる。 (Chromium ベースなので Developer Tools が開ける (option-cmd-I)) Sublime かなり似てる。git gutter とか package control
最近話題のReact.jsですが、実戦投入に当たっては結構重たい選択を迫られることになります。 ざっくり言えば、テンプレートエンジンを捨ててReactしますか?それともReactあきらめますか?という選択です。 本記事ではReactの基本思想とこうした選択肢が生まれてしまう背景を述べるとともに、後半では「どちらもあきらめない」という(若干シミュレーションRPGあるある感のある)第三の方策について案を提示します。 Reactの基本 最初に、Reactの基本的な仕組みについてまとめておきます。 Reactは公式ドキュメントが非常に充実しているので、始める際はぜひQuick Startのドキュメントに目を通すことをお勧めします。 Getting Started Tutorial Thinking in React 後述しますが、Reactを使ってアプリケーションを作る際の設計方法についての記載が
12/09/05 監視対象のWebサービスのURLを間違えていたため修正しました RailsのAdvent Calendarを待ちわびていました. 今回は,WEB+DBの最新号のRails高速化記事で紹介されていたパフォーマンス監視サービスのNew Relicを使ってみた話です. New Relicは.newrelic_rpmというgemをインストールすることにより,レスポンスタイムやスロークエリなど,パフォーマンスに関するさまざまな統計情報をNew Relicのサイトでみることができます. Railsに限らずPythonやJavaなどいろいろな言語に対応しているようです. さらに,HerokuやDotCloudなどのPaaSにも対応していてやばい. HerokuのNew Relicプラグイン Herokuにホストしたアプリケーションを監視するためにはNew Relicプラグインを導入する
/composer.lock /composer.phar *~ *.bak Thumbs.db desktop.ini .DS_Store .buildpath .project .settings *.tmproj build .idea /docs /fuel/vendor /fuel/packages /fuel/core /fuel/app/logs/*/*/* /fuel/app/cache/*/* /fuel/app/tmp/* /fuel/app/config/development/* /fuel/app/config/production/* /fuel/app/config/stage/* /fuel/app/config/test/* /fuel/app/config/crypt.php nbproject/
2年目のゲームプログラマがゲーム会社でUnityを使用して スマートフォン向けのゲームを開発して感じたことをまとめておきます 【Unity】ゲーム会社でスマホ向けゲームを開発して得た知識 コーディング編 【Unity】ゲーム会社でスマホ向けゲームを開発して得た知識 拡張メソッド編 【Unity】ゲーム会社でスマホ向けゲームを開発して得た知識 デバッグメニュー編 【Unity】ゲーム会社でスマホ向けゲームを開発して得た知識 UI編 【Unity】ゲーム会社でスマホ向けゲームを開発して得た知識 アセットバンドル編 nullチェックの回避方法 nullチェックは大変でバグの原因にもなりやすいので nullチェックを回避する方法を書き残しておきます 変数初期化子で初期化しておく 変数初期化子で空のパラメータを代入したりインスタンス生成したりすることで メンバ変数がnullかどうかを意識することなく
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く