今回のソリューション:【GitHub(ギットハブ)】 〜「GitHub」でソースコードを社内・社外に公開し、オープンなコラボレーションを実現した事例〜 数々のサービスを生み出し続けるエンジニアリング集団、株式会社サイバーエージェント。そのエンジニアリング文化の中心には、「GitHub」を活用したオープンなコラボレーションがある。 同社ではプロダクトのソースコードは可能な限り全社公開すると同時に、 「スターインセンティブ制度」というリポジトリのスター数に応じたインセンティブを与える制度により、自身の書いたコードを社外へ公開することを推奨している。 ▼そもそもGitHubって何?という方はこちらの記事もどうぞ! チーム開発を変える「GitHub」とは?導入方法・使い方を徹底解説!【第1回】【導入編】 ソースコードを可能な限り公開していくという流れは、ITベンチャーのみならず世界的大企業にも派生
Genome Browser in a Box User's Guide Contents What is Genome Browser in a Box (GBiB)? Getting Started: Setting up Genome Browser in a Box Using Genome Browser in a Box Improving speed and performance Updating Genome Browser in a Box Viewing your own data Customizing your GBiB Sharing Genome Browser in a Box with others User accounts and sessions Troubleshooting common problems Genome Browser in a
日報ツールってあるじゃないですか。開発者だとqiita.teamが評判ですね。qiita.teamはもっと幅の広いツールですが、gambaのように完全に日報に割り切ったものもあります。 ただ最新のツールって結構、値段が高いんですよね。多分、githubあたりの値付けが影響してると思うんですが、1人x数百円って相応のコストになる。有料メルマガと同じで1つ借りるだけならいいんだけど、どんどんトレンディなツールが出てきて、みんなが褒めるもんだから気になっちゃって、githubだ、slackだと、2つ3つ借りてくと毎月、相応の出費になる。 もちろん相応のリターンがあれば、そんなの大したコストではないのですが、 マインドスコープを経営してた時は、日報ツールにペパボのGroupTubeを使ってたんですが、あれは月840円、500アカウントとかでしたっけ? 結構安かったんで、どうしても気後れする。。。(
This post is about how we built Quip Desktop. Quip is a modern productivity suite designed for team collaboration. If you haven’t tried it already, download the app. IntroductionFrom the beginning, we built Quip to work natively on multiple platforms. When we launched, we supported the Web, iPhone, and iPad. With the launch of Quip Desktop today, Quip is available on 8 platforms: Web, Mac, Windows
みなさまこんばんは。ちょびえです。 今日はちょっと趣向を変えてゲームのAIの勉強、なかでもBehaviour Treeについてすこし勉強してみましょう。 ゲームの世界のAIってなんだっけ? ゲームの世界のAIといえばよくある経路探索や、特定状況下におけるNPC等のふるまいをよしなにやってくれるようなものです。AIっていわれてしまうとなんだか難しいように感じてしまいますが、ゲームという枠組みの中では時間経過や環境の変化を自立して判断したり・判断してるようにみせかけて楽しめるような仕組みとなっていれば良いと思います。 Behaviour Treeにチャレンジしてみる 細かい説明はググっていただくと色々と記載あるのでなんとなくビヘイビアツリーってわかるような、うーん・・・文章で書かれてもよくわからないですね!ということでお決まりの通りコードで書いてみましょう。 いきなりコード書いてもまったくわか
先日、JavaScript用E2EテストツールWebdriverIOの新バージョンがリリースされました! webdriver.io WebdriverIO E2Eテスト用WebDriverのラッパーです 僕は↓の記事で知りました motemen.hatenablog.com Protractorとかと比べて比較的シンプルだった印象だが今回は……??? 新機能 今回のバージョンの目玉機能はこちら テストランナー wdio yieldでテストが書ける テストランナー wdio WebDriverIO の略ですね karmaと同じく、wdiio.conf.jsでブラウザ、フレームワーク等を指定する感じです wdio.conf.jsにSauce Labs, Browserstackのアクセスキーを書くことでこれらのサービスを簡単に使えるみたいです あとmochaのオプションも埋め込める(mocha
Linuxでddで1GBのファイルを作成し perf でプロファイリングし、Flame Graph (炎のグラフ?)にして可視化したものです。 Flame Graphs は perf(Linux)、SystemTap(Linux)、DTrace(Solaris、Oracle Linux(UEK)、Mac OS X、FreeBSD)、XPerf.exe(Windows) などでのプロファイリング結果を可視化して最も使われているコードパスを早く正確に特定することができます。実体はプロファイリング結果をグラフ(SVG)に変換する Perl スクリプトです。 下から上に行くほどコールスタックが深く、左から関数名のアルファベット順でソートされています。一番上で横幅が広い関数がCPUを長く使っています。今回は "_aesni_enc1" つまり暗号化がボトルネックになっていることがわかります。 システ
perf + Flame Graphs で Linux カーネル内のボトルネックを特定する - ablog で Linux カーネル内のボトルネックをマクロに分析する方法を紹介しましたが*1、 strace でI/Oシステムコールのレスポンスを調べると遅く*2、 iostat の await でカーネルのブロックレイヤーのI/Oレスポンスを調べると速い場合、 システムコールインターフェースとカーネルのブロックレイヤーの中間(ファイルシステムレイヤーなど)で詰まっていると考えられます*3。 このようなケースで、1回のシステムコール発行の所要時間の内訳*4をミクロに追跡するには Brendan Gregg の funcgraph が便利です*5。 実行結果 # ./funcgraph -Htp 4511 vfs_write Tracing "vfs_write" for PID 4511...
今やオフィスも家庭も無線LANが当たり前になってきて、兼任情シスだろうがなんだろうが無線の面倒まで見なくてはいけないです。 そして、あまりにも便利なので利用者のニーズが高く、ちょっと不安定だとクレームも声高になりがちです。利用者自身で解消できることもあるのにー、みたいなイライラもあります。 実際トラブルに見舞われると、無線は目に見えない分、対処がしづらいです。 そんな無線LANが、今回のテーマとなります。 勉強なしに無線LANの世話をするのはキツイのです 適当に買ってきた機材をつないで、割と簡単にネットにつながってしまう製品も多いのですが、この勢いで設置すると早晩破綻します。 勉強する時間も気力もないなら、それを素直に認めて業者に任せましょう。 自宅で無線LANを運用していて、SSIDとパスワードと暗号化のところを理解してきちんと設定が出来ているのであれば、アクセスポイント1台まではなんと
Macで仕事を行っている人にとって、動作のモタつきやフリーズは絶対に避けたいもの。突然動かなくなってしまっては、仕事に支障がでてしまいます。もしかすると、そのようなトラブルは日々メンテナンスを行うことで、防げたかもしれません。 Macはすこし負荷を掛けて使っても“意外に”動いてくれるだけあって、ついメンテナンスを忘れがち。今回は、少しでも動作が重いと思ったら行っておくべき方法と、高速化アプリを30種類ご紹介します。 Macのメンテナンスと高速化のために試したい方法24選1.アプリケーションが応答しなくなったとき試すショートカットMacの動作が重いなと感じたとき、真っ先に起こりうるのが「アプリケーションが応答しない」状態。もしも、アプリケーションが固まってしまった場合、強制終了をすることで解決できます。 というコマンドを入力すると、アプリケーションの一覧が表示されます。強制終了したいアプリを
本エントリは、次のAdvent Calendarのために書かれたものです。 ドキュメンテーション Advent Calendar 2013 (12月15日) 取り扱う内容 株式会社ALBERTのシステム開発部では、ドキュメンテーションツールであるSphinxを積極的に活用しています。 Sphinxの導入、利用そのものは簡易に行うことができるのですが、開発部でチームとして運用するためにはいくつかの困難がありました。 そんな幾重にも張り巡らされた困難を乗り越えて、2013年11月頃から本格的に運用が出来ているなぁ、と実感するに至ったので、今回は2013年の総決算としてその変遷を綴ります。 関連資料 Pythonプロダクトを活用した開発チーム運営 in PyCon APAC 2013 - SlideShare SphinxをMarkdownで使い隊 - SlideShare Sphinxとわたし
先日リリースされたPyCharm4には、データ分析者にも嬉しい機能が追加されています。 NumPy Array Viewer IPython notebook Support NumPy Array Viewer NumPyのArrayの状態を可視化してくれるツールです。 import numpy as np test_array = np.arange(25).reshape(5, 5) Debug Consoleから「View as Array」を選択すると、Viewerを表示できます。 簡単に中身を確認するには便利そうです。 大きな行列を表示させるとこんな感じ。。 IPython notebook Support IPython notebookはWebブラウザでPythonが実行できる素敵な環境ですが、PyCharm4がnotebookをサポートしました。 Demo.ipynb(n
Elasticsearch の JVM ヒープ使用量を Graphite と Grafana を利用して可視化したいと思ったので Cluster API と Python を利用して実現してみた。 Cluster API Cluster APIs の Nodes Stats を利用するので curl を利用して取得してみる。 実際に叩いてみる。 $ curl -XGET 'http://localhost:9200/_nodes/stats/jvm?pretty=true' { "cluster_name" : "kappa-elasticsearch", "nodes" : { "RiQNuftXTIO2fiX4GJjO4w" : { "timestamp" : 1435845867712, "name" : "node2", "transport_address" : "inet[/x
For nearly all practical uses, Elasticsearch is a schema-less search engine. This means that a user can index documents without explicitly providing a schema. In place of a conventional schema, a mapping describes the fields in documents, along with their data type and how they should be indexed. In this article, we outline a workflow for building mappings that can help you properly explore new d
React による Web アプリケーション開発で Flux に facebook/flux を採用していたけどシングルトンが扱いにくいので代替を検討した。 flummox Flux ライブラリを採用するにあたり単純であることを重視。規模が小さく簡潔で、その気になれば自分で書き直せるようなものがよい。機能としては Store/Action だけ管理できれば十分である。 次に ES6 (これからは ES2015 と呼ぶべきだろうか?) に対応していること。ライブラリの提供する Store/Action を利用するにあたり Object.assign() などの Mix-In 機構ではなく ES6 class の継承で書きたい。 すこし前に以下の記事を読み、これらの条件を満たすものとして acdlite/flummox を採用するつもりだった。 JavaScript - React0.13にお
kamipo traditional (というかSTRICT_ALL_TABLES) では防げないMyISAMという名の化け物 TL;DR kamipo traditionalですら完全に防ぎきれないアレがあるので、そこを気にするなら出来る限りさっさとMyISAMからInnoDBに引っ越しましょう。 これらの記事を読んだ人向けです。 ルーク!MySQLではkamipo TRADITIONALを使え! | おそらくはそれさえも平凡な日々 Javaでkamipo traditionalを有効にする - その手の平は尻もつかめるさ アプリでミスって不正なデータが入るくらいだった500になったほうがマシ。というのが個人的な考えです。 +激しく同意+ さて、激しく同意したところで、kamipo traditionalでは倒せないMyISAMという名の化け物の話をしたいと思います。 kamipo tr
kamipo traditional については以下の記事が詳しい. ルーク!MySQLではkamipo TRADITIONALを使え! | おそらくはそれさえも平凡な日々 ところでこれをJava,というかJDBCで有効にするには以下のように書いてやるとよろしい. try (final PreparedStatement preparedStatement = connection.prepareStatement( "SET SESSION sql_mode = 'TRADITIONAL,NO_AUTO_VALUE_ON_ZERO,ONLY_FULL_GROUP_BY';")) { // This is "kamipo TRADITIONAL". More strict, healthy, nice. // https://github.com/kamipo/etcfiles/blob/
よくMySQLはゆるふわだから 値が勝手に切り詰められる エラーが起きずに変な値/日付が入る 不正なスキーマが入ってしまう など言われることがあります。ただそれは、そもそもの設定が悪いのです。(確かに昔デフォルトがゆるふわなのはいけなかったんですが) ということで、データベースには不正な値が入らないように設定はとにかく厳しくしておくのがオススメです。 じゃあどうするか。 MySQLはSQL Modeによって、その辺りの制約をコントロールすることができます。以前、MySQLのsql-modeで一番厳しいやつはTRADITIONAL、というのを書いたのですが、実はそれだけでは不十分で、TRADITIONAL,NO_AUTO_VALUE_ON_ZERO,ONLY_FULL_GROUP_BYとするのがより安心なようです。 これはkamipoさんに教えてもらいました。 @songmu TRADITI
Reactを使おうとすると、ファイルの変換やらなんやら色々あるので、まずは簡単なsampleを使って各種開発環境を整えてみる。 #前提 npmを利用 ブラウザはchrome 最終的につくるのはこれ(http://todomvc.com/examples/react/#/) #目次 sampleページの作成 webサーバの導入 サーバーサイドでの変換 browserifyの導入 ファイル変更の監視とgulpジョブ sassの導入 までを行う。 続きは実装編へ 簡単なsampleページ 単体で動作する簡単なsample。 <html> <head> <script src="http://fb.me/react-with-addons-0.12.2.js"></script> <script src="http://fb.me/JSXTransformer-0.12.2.js"></scrip
どうも炎の料理人三ツ星シェルの かっぱこと 川原 洋平(@inokara)です。 はじめに ansible にも test-kitchen のようなテストフレームワークは無いのかなーと探していたら provisioner として shell を指定していた記事を見つけたのでその記事に倣って試してみる。 尚、セットアップする環境は AWS の EC2 インスタンスを使いたい為、kitchen-ec2 を利用する。 参考 Shell Provisioner for Test Kitchen test-kitchen/test-kitchen とりあえず 作業メモ 作業のサマリ 以下のような流れ。 test-kitchen の導入 テスト用の bash 作成 kitchen-ec2 の導入 serverspec の spec を作成 実際の作業 試した環境 Mac OS X 10.9 Marve
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く