背景と導入 何十年もの間、CやC++の標準規格は、マルチスレッディングや並行処理を「その標準の範囲を超えたもの」として扱ってきました。標準規格の目的である”抽象機械”の力が及ばない、”対象依存”という影の世界においてです。メーリングリストやニュースグループの質問には並行処理に関するものが山ほど寄せられましたが、それらにすぐに突き返された回答は「C++はスレッドには関知しません」という何とも冷淡なものでした。この件によって当時のことを思い出す人々は、今後も絶えないでしょう。 しかしC++11の登場で、そんな状況に終止符が打たれたのです。C++標準化委員会は、時代の流れに乗らないと、この先C言語が取り残されてしまうと悟ったのでしょう。彼らはスレッドや同期メカニズム、アトミック操作、メモリモデルなどの存在に、ようやく気付いたわけです。そして標準規格として、C++コンパイラやライブラリのベンダーに
MySQLではCHECK制約をサポートしていないが、これをエミュレートし同等の機能を実現する方法がいくつかある。旧来のトリガーやビューを使った方法に加え、MySQL 5.7の新機能である生成列を使った方法を紹介する。 免責事項 この記事はGuilhem Bichot氏によるMySQL Server Blogの投稿「New and old ways to emulate CHECK constraints, DOMAIN」(2016/2/2)をユーザが翻訳したものであり、Oracle公式の文書ではありません。 データの正しさを保つには様々な方法があります。1つは参照整合性で、外部キーとして知られているものです。他の方法として、CHECK制約があります。MySQLでは外部キーをサポートしていますが、CHECK制約をサポートしていません。本日は、これをエミュレートする3つの方法についてみていきた
JUnit5 の Alpha 版が公開されてたので、関西DDDに補欠になってしまった悲しみを紛らわすために使い方を調べた。 ※Alpha 版なので、今後変更されるかもしれません。 JUnit5 とは 言わずと知れた JUnit の次期バージョン。 Java 8 以上のみをサポートするようになり、 JUnit4 からは大きく変わっている。 でも、テストメソッドとか基本的な考えは変わっていない。 2016/02/06 現在、 Alpha 版が公開されている。 Hello World Gradle で使う方法(Maven でもいけるらしい)。 ビルドファイル buildscript { repositories { maven { url 'https://oss.sonatype.org/content/repositories/snapshots' } } dependencies { cl
複数台のサーバに対して、SSH経由でコマンドを並列実行するためのツールのまとめです。たくさんのサーバを一度に操作したい、そんなときに便利なツールの紹介です。 CUI(コマンド)系 parallel-ssh (pssh) http://code.google.com/p/parallel-ssh/ Fabric http://www.fabfile.org/ Ansible http://www.ansible.com/ GUI(ブラウザ)系 Jenkins https://jenkins-ci.org/ Rundeck http://rundeck.org/ ライブラリ net-ssh https://github.com/net-ssh/net-ssh 各ツールの特徴 客観的なツール紹介はGoogleとかで検索した方がより正確なので、ここでは主観的な使ってみた感想で紹介します。 para
まえがき 前提として、しっかりとコーディング規約やコーディング手順などが整備されている現場ではあまり関係ないかもしれません。 そういうのを整備して実践していことが難しい現場、スタートアップからインクリメンタル開発を経て、成長していくサービスを長期間作り上げていく事業会社が主なターゲットの話かもしれません。 既存コードに if 文がありました さて、あなたが開発現場に途中から参画しました。すでに A と B という別の人が作った画面があります。 あなたは C を作ります。C は A と B と似ています。 「さあ、作ってください」 と言われました。どうしますか? ... まあ、普通に考えたら、A と B を参考に作りますよね。ここに甘い匂いがします。 A と B には、とある定型の if 文による制御がありました。C では一見、要らなそうに見えますが複雑でよくわからない。 C でも if 文
Linuxで、アプリケーションやユーザごとに、異なるデフォルトゲートウェイを割り当てたくなる時があります。 普通は、優先度とかで自動で切り替えとか、そーゆー感じですが、 そうではなくて、 ユーザAは、デフォルトゲートウェイ1を必ず使い、ユーザBは、デフォルトゲートウェイ2を絶対に使う。 プロセスAは、デフォルトゲートウェイ1を必ず使い、プロセスBは、デフォルトゲートウェイ2を絶対に使う。 そんな風にしたい時があります。 まあ、人生は長いですから、そういう時もあるのです。 ネッツ PC 192.168.0.10 ---> HUB -->gateway1 192.168.0.100 -->gateway2 192.168.0.200 ユーザ user_proxygw は、192.168.0.200 を使い、 それ以外は、 192.168.0.100(default gw) を使うというのを考え
前回の記事ではchainerのインストールからサンプルコードを使って画像識別問題を解くところまでやりました。 hi-king.hatenablog.com 今回の記事では回帰・分類問題用のシンプルなニューラルネットの作り方をやろうと思います。andとxorの論理式を学習させます。chainerでの実装の学習と、あとニューラルネットの教育目的に使いやすいなーと思ったので。2層のニューラルネットまで段階をふんで解説してるんですが、プログラム読むほうが得意、って方は一番最後のコードを先に読んだほうがわかりやすいかもしれません。 追記(7/13)型チェック chainer1.1.0から型チェックが入ったので(https://github.com/pfnet/chainer/pull/95)、識別にはfloat32を入力してint32を出力、回帰にはfloat32を入力してfloat32を出力、とい
ScalaもPlayもそんなに…って言う人を対象にしている こうすればだいたい良い みたいなやつ tototoshi scala-csv flyway-play slick-joda-mapper playのプラグインなど scala.jsの怪しい情報商材など ソースコードを読むとき 「バグっている」と思った時に、自分の実装なのかフレームワークなのかわからない時がある フレームワークのカスタマイズ フレームワークの勉強 暇つぶし 読むのは難しい どこから読めばいいかわからない 設計もわからない ソースコードを読むのはしんどい そういうのを取り除きたい ゴール ソースリーディングの役割とか背景などを知る Playの個別のモジュールを知る ロードマップ build.sbt パターン モジュール 完全マスター build.sbt libraryDependencies(使っているライブラリ) d
DroidKaigi 2016がいよいよ来週開催されます。 ふとした思いつきでDroidKaigiのカンファレンスアプリを作ったところ公式アプリとしてリリースさせていただくことになり、今現在完全オープンソースで色んな人がコミットしてくれています。スピード感あってなかなか面白いので、忘れないうちに経緯をまとめておこうと思います。 github.com アプリは現在こんな感じです。デモとしてアラビア語表示にも対応しています。 1/11(月) DroidKaigiの発表準備しないとまずいと焦り始めました。 最近は発表の内容に合わせてサンプルアプリを作って公開するようにしているんですが、ただのサンプルコードだと飽きちゃうので何を作ろうかなぁと考え始めました。 そこで思いついたのが、DroidKaigiのカンファレンスアプリでした。みんなが使えるアプリなら懇親会の時の話のネタにもなるし、ぼっちにもな
Hadoop/Spark Conference Japan 2016 、午後最初のセッションはノーチラス・テクノロジーズの神林さんのセッションに参加。 最初から、メモを取るのは相当しんどいだろうと覚悟のセッションでしたが、濃厚濃密な内容で最後まで楽しむことができました。 自分が参加した中からベストセッションを選ぶなら間違いなくこの神林さんのセッションがベストでした。こんなの他では聞けませんもの。 では以降よりメモ。 次世代アーキテクチャから見たHadoop/Sparkの位置づけ ~特にRDMA・NVMを軸としたときの分散並列処理の観点から / 神林 飛志氏(ノーチラステクノロジーズ) 完全裏番組宣言。マニア向け。 Hadoop/Spark 知りたいなら表番組に行ったほうがいいよ、の前置きからスタート。 そもそもメモをとれるのか、というチャレンジを自分もしにきてみた。 ノーチラスがみてるのは
※この記事はずいぶん内容がわかりづらかったようで、さまざまな反応を頂きました。追記が複数ありますので、併せてご覧ください。 TL;DR Version: リアクティブプログラミングに挑戦しようとした。がっかりした。 はじめに 私のこの記事は「【翻訳】あなたが求めていたリアクティブプログラミング入門」に触発されて?書かれたもので、そちらの元ネタの記事に先に目を通しておいたほうが理解がしやすいと思います。そちらの記事は本当に解説がわかりやすく、そして何よりとても説明が具体的なので、リアクティブプログラミングについて知りたいかたには大変おすすめです。リアクティブプログラミングの解説には、漠然としたことしか言っておらずさっぱり参考にならないものも多いのですが、いや本当に多いのですが、この元ネタの記事では図表が適切に使われているだけでなく具体的な問題提起と具体的なコードによる解決策が示されており、リ
私が今所属しているReactioチームでは日々, デプロイにテストにバックアップにと便利にJenkinsを使っている訳ですが, 形あるものはいずれ壊れる運命にあります. もし, Jenkinsが壊れてしまったら... 考えたくないですね. というわけで, Jenkinsが壊れてしまう前に, Jenkinsの設定をバックアップする仕組みを導入することにしました. 方法 Jenkinsの設定をバックアップする方法はいくつかあるようですが, 今回は@sue445さんのsue445/jenkins-backup-scriptを使ってみることにしました. 今回参考にさせて頂いたJenkinsのバックアップとリストアについてメモ - Qiitaという記事では, 他にもthinBackupというJenkinsのプラグインも紹介されていました. こちらはJenkinsのプラグインなので, ブラウザからポチ
出会いはFabCafe主催の「Fabミニ四駆カップ」 ――まずは簡単に自己紹介をお願いします。 圓田さん 都内の印刷会社で企画やクリエイティブディレクションなどを行っています。趣味は「ミニ四駆」。2015年の夏ごろからFusion 360を使い始め、現在は「The Maruta Works(マルタワークス)」という名前でオリジナルのミニ四駆ボディーを製作しています。 藤村さん 高校生のときに渡米し、米国で工業デザインを学び就職。6年前に帰国してCAD業界に入りました。現在はオートデスクでFusion 360のエバンジェリストとして啓蒙活動を行っています。 ――お二人はどうやって知り合ったのでしょうか? 圓田さん FabCafeさんが主催する「Fabミニ四駆カップ」の開催前イベントで、確かボクの赤色に塗装された「アストラルスター」(ミニ四駆の車種)を見て声を掛けてくれたのが藤村さんでした。多
日々の仕事の中で役に立つES2015(ES6)のティップス、コツ、ベストプラクティス、プログラムの見本をご紹介します。コントリビューション歓迎です! 目次 var vs. let / const IIFEからブロックベースへ アロー関数 文字列 デストラクチャリング モジュール パラメータ クラス シンボル マップ WeakMaps Promises ジェネレータ Async/Await var vs. let / const var の他に、値を格納する let と const という識別子が新たに追加されました。 var とは異なって、 let と const はクロージャのスコープ内で最初に記述されることはありません。 var の使用例です。 var snack = 'Meow Mix'; function getFood(food) { if (food) { var snack
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く