Intro Emacs Advent Calendar 2015の第3日目の記事です。 皆さんはC++でコーディングするとき何のエディタでコーディングしていますか?Emacs Advent Calendarで愚問でしたね。答えはもちろんEmacsかと思います。Emacsが最高のエディタであることに疑問の余地はないのですが、ことC++のコーディング環境となるとVisual Studio/Eclipse/ClionなどのIDE系と比較してコードの追跡や補完・デバッグの環境で1歩遅れているのかもと感じずにはいられません。もちろん私がEmacsのポテンシャルを活かしきれてないのもありますが。。。 この記事ではLinuxでIDE系との差を埋めるためのC++開発環境を紹介したいと思います。 Tools Emacs C++開発環境では以下のツールを使用します。 LibClang CMake RTags
In a previous post about OpenStack networking, my colleague Piotr Siwczak explained how FlatManager and FlatDHCPManager works in a multi-host network setup. Here, I will explain how FlatDHCPManager works with single-host networking. It is perhaps easier to understand; it also happens to be the default mode you get when installing OpenStack using one of the easy ways (by using the Puppet recipes).
_FORTIFY_SOURCEというバッファーオーバーフロー攻撃を防ぐのにとても有用なマクロがある。 知らなかった人は以下のmanでもまず見てください http://linuxjm.sourceforge.jp/html/LDP_man-pages/man7/feature_test_macros.7.html _FORTIFY_SOURCE (glibc 2.3.4 以降) このマクロを定義すると、文字列やメモリの操作を行う様々な関数を 使用する際にバッファオーバーフローを検出するための軽めのチェックが 実行されるようになる。すべてのバッファオーバーフローが検出される わけではなく、あくまでよくある例についてだけである。 現在の実装では、以下の関数にチェックが追加されている: memcpy(3), mempcpy(3), memmove(3), memset(3), stpcpy(3),
この記事はLinux Advent Calendar 2015の23日目です。 glibcのmalloc(3)とLinuxカーネルのovercommitとOOMの関連でも見てみようと思います。Linuxカーネルのシステムコールにはmalloc(3)的なものはないので、mmap(2)、brk(2)が使われます。 今回知りたかったのは、どこでovercommitを許可しているのか?というところと、どのタイミングでOOMが発生するのかという2点です。 OOM発生時の挙動についてはsatoru_takeuchiさんの覚書(2015-12-03)に詳しく書かれていますので、こちらを参照してください。 glibcのmalloc(3)に関してはがちゃぴん先生のmalloc動画を見ましょう。 今回見ているglibcのバージョンは2.22でカーネルは4.3です。 まずはmalloc(3)の大まかな処理を見ま
ブラウザから手軽に深層学習AIを教育できるオープンソースソフトウェア You can train a deep neural network on your web browser 2015.12.24 Updated by Ryo Shimizu on December 24, 2015, 06:00 am JST 先日発表した深層学習(ディープラーニング)をWebブラウザ上から手軽に行うためのオープンソース・ソフトウェア、「DEEPstation(ディープステーション)」をついに公開しました。現在、Githubより誰でもダウンロードして使用することが出来ます(https://github.com/uei/deepstation)。 DEEPstationは、ディープラーニングを手軽に実験するためのGUIベースのアプリケーションで、以下のような特徴があります。 国産ディープラーニングフレ
終了 2015/12/15(火) 19:00〜 Machine Learning Casual Talks #4 Dev Data chezou 他 東京都渋谷区恵比寿4-20-3 恵比寿ガーデンプレイスタワー21F
クロージャとは クロージャは、言葉で説明するのが大変難しい概念です。 あなたは、自転車の乗り方を、口だけで説明できるでしょうか? あなたは、螺旋(らせん)の形を、言葉だけで説明できるでしょうか? ずばり、できないでしょう。 しかし、自転車に乗ることはできますし、針金で螺旋の形を作ることはできるでしょう。 「クロージャ」もこれと同じです。 だから、Wikipediaのこんな解説を見ても落ち込まないでください。 クロージャ (クロージャー、Closure) は、プログラミング言語において引数以外の変数を実行時の環境ではなく、自身が定義された環境(静的スコープ)において解決する関数のことである。 理解できないですよね? 私もそうでした。 クロージャを既に知っている人にしか、この文章は理解できないでしょう。 クロージャを作るのは難しくない しかし、説明するのは難しくても、作るのは意外と簡単。それが
クロージャはわかりづらい。 なんでかと言うと、以下の2つです。 名前 定義がよくわからない Wikipediaさんなんかで調べると。 クロージャ(クロージャー、英: closure)、関数閉包はプログラミング言語における関数オブジェクトの一種。いくつかの言語ではラムダ式や無名関数で実現している。 関数閉包!! 関数閉包、意味不明すぎる。なんかこの字面が意味分からなくしようとしているような気配すら感じる。(とはいえ、じゃあどんな名前が良いかと言えば、わかりませんし。それに一般的には「クロージャ」で通っていますから、別にいいのですが。) 関数ヘイホウってなに?初めてクロージャを学ぶような僕は、もう、むしろ笑えます。ちなみに、その先の**「関数オブジェクトの一種」とか「ラムダ式」**なんかも知りません。 けど、JavaScriptのクロージャの事例は、とても分かりやすい。 関数の中に関数がありま
この記事はリクルートライフスタイル Advent Calendar 2015 - Qiita の17日目です。 こんにちは。現在、ホットペッパーグルメのエンジニアをやっている敷地@shikicheeです。 gitで英語のコミットメッセージどう書けばいいの? と思ったことはありませんか? 英語で書きたいなーって思っても、いざ書くとなると躊躇しますよね。 ネイティブはどう書いてるのでしょうか。 そこで、github上で実際に使われているコメントを解析し、 よく使われている例をまとめてみました。 解析したデータ github上で1万スター以上を獲得している169リポジトリのコミットメッセージを対象としました。 bootstrap、jquery、react、d3、docker、node、tensorflowなどの有名なプロジェクトばかりなので、良いコメントが期待できます。 解析するコミットメッセー
(Photo via VisualHunt) 追記 2017年3月現在の最新書籍リストはこちらです。 最近になってまた色々とデータサイエンティストを目指す人向けのお薦め書籍リストとか資料リストとかが出てきてるんですが、個人的には何かと思うところがあるので僕も適当にまとめておきます。偏りありまくり、完全に主観で決めたリストなので文句が出まくるかと思いますが、もはや毎回のことなのでご容赦を。 なおこちらのリストはあくまでもビジネスの現場でデータ分析を生業にする(しようとしている)人たち向けのものであり、研究者含めたガチ勢の方々向けのものではありませんのでどうか悪しからずご了承下さい。 ちなみに毎回言ってますが、アフィリエイトは全くやっていないのでここに貼られたリンクを踏んで皆さんが購入されても僕の懐には一銭も入りません。拙著だけはそもそも例外ですが(笑)。*1 初級者向け5冊 一応初級者向けと
バギング (bagging)† ブートストラップサンプリングを繰り返して生成した判別器を合成して,より判別精度の高い判別器を生成する方法. Bagging 以下の手続きを \(t=1,2,\ldots,T\) について反復 入力訓練データ集合 \(D\) から,事例の重複を許してブートストラップサンプル \(D_t\) を得る. \(D_t\) を弱学習器に与えて仮説 \(h_t\) を得る. 最終結果は,クラス分類問題の場合は \(h_1,\ldots,h_T\) の多数決投票で,回帰問題の場合は,平均 \(\frac{1}{T}\sum_t^T h_t\) とする. 名称は Bootstrap AGGregatING に由来 ブースティングと違って,弱学習器が事例を重み付け出来なくても適用でき,また,回帰問題への適用も容易. 比較実験では,ブースティングに対して負けることが多い. 回帰
計測日時: 2015年12月9日 平日水曜 晴れ 場所: 東京都(川崎とか蒲田とか羽田とか品川に近い場所) 計測するMVNO: IIJmio、楽天モバイル(旧)、楽天モバイル(新)、NifMo、OCNモバイルONE、DMM mobile、U-mobile、ぷららモバイルLTE、FREETEL、UQ mobile 3GBプラン、UQ mobile 無制限プラン、mineo auプラン(A)、mineo ドコモプラン(D)、BIGLOBE、DTI SIM 注記: Zenfone 5(IIJmio)、Priori3 LTE(新しい楽天モバイル、古い楽天モバイル)、GALAXY S4 SC-04E(NifMo)、AQUOS PAD(OCNモバイルONE)、SAMURAI MIYABI(DMM mobile、U-mobile)、dtab d-01g(ぷららモバイルLTE)、ZenFone 2 Las
ベイズ確率・ベイズ推定を勉強してみる 概要 私の研究領域は、「画像処理における逆問題」という、今にして思えば手がけるんじゃなかったと後悔するような厄介なシロモノです。 以前読んだ論文の中で、減色した画像のカラーパレットを復元するという研究に、「最尤推定・ベイズ推定」というキーワードがありました。これは武器になるのか否か。一縷の望みを託して、専門書と向き合ってみました。 ですから、これは「私のノート」です。解説書ではないことをご承知願います。 ベイズ確率とは 客観確率に加えて主観確率をも含めた広義の確率をベイズ確率と呼ぶ。 客観確率: 母集団から観測あるいは想定された割合から導かれた、ランダムな事象が生起する頻度(一般的な認識としての確率) 主観確率: ある命題の尤もらしさ、あるいはその根拠となる信念・信頼の度合を表す数値 客観確率を基礎とする確率論は、ベイズ確率においても同様に適用できるこ
次のエントリにあるように、gdbを使うとプロセスの標準入出力を別の端末(tty)に繋ぎ変えることができる。 コンソールから切れたプロセスを標準出力につなげなおす - 絶品ゆどうふのタレ しかし実際にはあるプロセスからサブプロセスが複数呼ばれている状況もあり、そのような場合にはそれぞれのプロセスについてgdbでアタッチして端末を繋ぎ変える必要がある。 そこで、この操作を楽に行うためのシェルスクリプトを書いた。 #!/bin/bash # grabtty.sh rootpid="$1" newtty=$(tty) if [[ $(whoami) != "root" ]]; then echo "must be root." exit 1 fi if [[ -z "$rootpid" ]]; then echo "Usage: $0 PID" exit 1 fi grabpid() { loca
2. Open Cloud Campus 2 Linux女子部 Dockerを支える技術 自己紹介 中井悦司(なかいえつじ) – Twitter @enakai00 日々の仕事 – Senior Solution Architect and Cloud Evangelist at Red Hat K.K. 企業システムでオープンソースの活用を希望される お客様を全力でご支援させていただきます。 昔とった杵柄 – 素粒子論の研究(超弦理論とか) – 予備校講師(物理担当) – インフラエンジニア(Unix/Linux専門) 好評発売中! 3. Open Cloud Campus 3 Linux女子部 Dockerを支える技術 Contents Linuxコンテナ Device Mapper Thin-Provisioning Network Namespace s
こんにちは、Airシリーズ海外開発チーム 15新卒フロントエンドエンジニアの蔀です。 普段は見習いFEとして、画面を作っています。 Airシリーズ海外開発チームでは、DockerでアプリケーションやDBのコンテナを立て、継続的インテグレーションに役立てています。 チーム内では自動テストが文化として定着しつつある一方で、共有しているMac mini上のDBコンテナに負荷が集中して、テスト実行時間が長くなっていました。 そこで、Docker Registryという技術を用いて、最新のDDLを適用したDBのイメージをチームメンバーに配布し、各自のローカルでDBを用いたテストを実行できるようにしてみました。 背景 チームの環境 バックエンドのエンジニアは4名 DBはOracle 3名がMacで、1名がWindows チーム内で1台のMac miniを共有し、その上にDockerコンテナを立ててCI
VLDB2015 会議報告 from Yuto Hayamizu 今年の8月に開催されたVLDB 2015の参加報告資料を公開しました。 今回のVLDB参加は、SIGMOD日本支部からトップ会議の調査派遣という形で参加しており、その報告として2015/12/12にSIGMOD日本支部大会で講演する際に使った資料を一部編集したものを公開しています。 データベース分野の研究においては、最難関の国際会議としてVLDB、SIGMOD、ICDEがトップ3として認知されています。これらの会議で発表される研究論文が、データベース分野において最先端かつ最もレベルの高い研究成果といっても過言ではありません。また、単に最も質の高い研究発表が行われるだけではなく、第一線の研究者が集い、交流を深める場所としても機能しており、新たな研究の種が生まれる場所にもなっているといえるでしょう。 SIGMOD日本支部(日本の
2. 目次 JavaVM におけるロックの進化 トランザクショナルメモリ( TM )とは Haswell でのトランザクショナルメモリ Java でトランザクショナルメモリを使う JDK8/9 の動向 まとめ 2 Copyright 2014 FUJITSU LIMITED 3. 3 Copyright 2014 FUJITSU LIMITED JavaVM ロック機構の進化 第一世代 ヘビーロック 第二世代 シンロック 第三世代 バイアスロック 第四世代 ??? JDK1.0-1.2 JDK1.3.1 HotSpot VM JDK5.0 HotSpot VM 4. 競合と共有(定義) ロック競合とは 複数のスレッドが同時 に同じロックを取る ロック共有とは 複数のスレッドが同じ ロックを使用する 4 Copyright 2014 FUJITSU LIM
最近久しぶりに Java の開発プロジェクトに参画したので、実際にそこで見たクソコードをいくつか挙げてみます。 提示しているソースコードは、実際のソースコードをもとに出来るだけニュアンスが伝わるよう書き換えています。 定番のやつ まずはやっぱり定番のこれですね。 List<String> list1 = new ArrayList<String>(); list1 = getList(); ホント多いです。こういう無駄なやつ。 コードが無駄なだけでなく、実行時にCPUとメモリを浪費するので困ったもんです。 間違い探し public final void main(String[] args) { ... main が static になってないですよ~。実行できないですよ~。 「これをベースに作っていってくれ」とサンプルコードとして提示されたコードがこんなんでした。。。。先が思いやられる。
C++11の文法と機能(C++11: Syntax and Feature) Copyright (C) 2013 江添亮. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GN
diff --git a/lang/cpp11/lambda_expressions.md b/lang/cpp11/lambda_expressions.md index f1d58c96e..75d47d422 100644 --- a/lang/cpp11/lambda_expressions.md +++ b/lang/cpp11/lambda_expressions.md @@ -215,7 +215,7 @@ member_value_ : 5 result : 8 ``` -ラムダ式がひとつ以上の変数を参照キャプチャしている場合、参照している変数の寿命が切れたあとの、ラムダ式のコピーと呼び出しの動作は未定義。 +ラムダ式がひとつ以上の変数を参照キャプチャしている場合、参照している変数の寿命が切れたあとの、ラムダ式のコピーと呼び出しは未定義動作を引き起こす。 ```cpp ex
「Yahoo! JAPAN データ&サイエンス Workshop」の資料一覧です。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く