You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
気がつけば今年も一カ月が過ぎ、2月が始まりましたね。 社内でもあまり知られていませんが、ひっそりと「ハードウェア・組み込み部」という部活を立ち上げていて、黙々とRaspberry Piで遊んでいるtacckです。 何か面白いものを作って、社内にひっそり仕込みたいという野望のもと、日々ひっそりと活動を続けております。 さて、今回は前回の予告どおり、AnsibleでDockerコンテナの構築を行なってみたいと思います。 実行環境 今回は、Dockerクライアント-Dockerサーバと分けて実行してみます。 (今まで特に触れていませんでしたが、Dockerはサーバ-クライアント型のシステムです。) クライアント 項目 バージョン
You can create a big subplot that covers the two subplots and then set the common labels. import random import matplotlib.pyplot as plt x = range(1, 101) y1 = [random.randint(1, 100) for _ in range(len(x))] y2 = [random.randint(1, 100) for _ in range(len(x))] fig = plt.figure() ax = fig.add_subplot(111) # The big subplot ax1 = fig.add_subplot(211) ax2 = fig.add_subplot(212) # Turn off axis lines a
diff --git a/lang/cpp14/return_type_deduction_for_normal_functions.md b/lang/cpp14/return_type_deduction_for_normal_functions.md index 05edc55cf..fe8dc74d5 100644 --- a/lang/cpp14/return_type_deduction_for_normal_functions.md +++ b/lang/cpp14/return_type_deduction_for_normal_functions.md @@ -5,7 +5,7 @@ このページはC++14に採用された言語機能の変更を解説しています。 -のちのC++規格でさらに変更される場合があるため[関連項目](#relative_page)を参照してください。 +のち
オブジェクトをまるごとファイルに書きだしたりネットワークに送ったりしたいとき内容を直列化し再構築することやその仕組みをシリアライズと呼び,boostではserializationライブラリによって実現できます. どのような形のデータ列に落としこむか?という話で,boost::serializationはテキスト,XML,バイナリの3種類がサポートされています. 分かりやすいページ 僕なんかの記事よりは,他の方の記事を見たほうがいいと思います. Boost.Serializationで遊んでみた – Faith and Brave – C++で遊ぼう – さっと雰囲気を見るのにいいです letsboost::serialization – 同上. 定番ですね boost::serializationの使い方 – 詳しくみるのに最高 サンプルプログラム ということでこうやって使おうというサンプ
シリアライズとは? シリアライズとは メモリ上に存在するオブジェクトを、バイト列に変換する処理. このバイト列が、1列に並んでいるため、シリアライズと呼ばれる。 反対の操作はデシリアライズと呼ばれる. いつ使われる? シリアライズは、オブジェクトをファイルなどに保存したり、ネットワーク送信したりする際によく利用される。 C++でのシリアライズ 〜クラスをシリアル化できるようにしよう〜 標準ライブラリとして、iostreamといったストリーム入出力ライブラリで、バイト列の入出力は可能だが,オブジェクトをバイト列に変換する機能はない. Boostライブラリを使うことで、これは解決可能である. 具体的にはboost::serializationというシリアライズライブラリが提供されている. これの使い方を以下で説明する. コード:クラスをシリアライズする クラスにserialize member
これ使うとXMLの扱いがとっても簡単になりますね 基本的にはシリアライズしたいクラスのメンバにserialize関数を追加するだけです ・テキスト出力 #include <fstream> #include <string> #include <boost/serialization/serialization.hpp> #include <boost/serialization/nvp.hpp> #include <boost/serialization/string.hpp> #include <boost/archive/text_oarchive.hpp> class Person { public: int age; std::string name; private: friend class boost::serialization::access; template <cl
昨日は年始の挨拶ついでに ELPA について脈絡もなく突然書きましたが、引き続き近頃の開発環境についてもだらだらと書いてみよう。 Mosh mosh というと一部の人間はひげなんとかさんが開発しているモナー的なあれを思い浮かべるかもしれないがそうではなく、mobile shell のことである。 思い切り簡略化して言うと「快適なssh」。回線が不安定な所でもエコー遅延など全く気にせず使えるし、Mac をスリープさせて復帰させたときもリモートホストにそのまま繋がりっぱなしのように見せかけてくれたりする。 詳しくはこの辺を。 mosh: MITからモバイル時代のSSH代替品 - karasuyamatenguの日記 インストールはリモートとローカル両方に必要ですが、まあ大概パッケージがあると思います。EC2 の Amazon Linux でも yum レポジトリの EPEL を有効にすれば y
2013-11-5 (鈴) 1. シグナルとは? 2. シグナル・ハンドラと signal システム・コール 3. シグナルの用途 4. SIGHUP, SIGINT, SIGTERM 5. SIGCHLD 6. SIGALRM と sigaction システム・コール 7. siglongjmp による大域脱出 8. popen/pclose と SIGCHLD Linux などの Unix 類ではプロセスを終了させる事象のうち,次の3種類のシグナルの発生は当然起こり得るものとして想定しなければならない。 SIGHUP (= 1, hangup) 端末終了時に発生。元来はモデムの受話器をあげて通信を切ったことから SIGINT (= 2, interrupt) Control-C による中断 SIGTERM (= 15, termination) kill コマンドでシグナル無指定時に送
Boost とはC++ のためのオープンソースライブラリのことで、 いろいろと便利なライブラリを含んでいます。 例えば、乱数発生だとか、特殊関数の計算だとかができます。 ただ、使い方がちょっと分かりにくいので、 備忘録としてメモを書いておきます。 なお、Ubuntu のバージョンは 10.04LTSです。 注意: あくまで個人的な備忘録ですので、 Boostライブラリについての理解や使い方について、 これで正しいと保証するものではありません。 この記事を元に何かをした結果、 何らかの損害が発生したとしても、 当方は一切の責任を負いません。 実行は自己責任でお願いします。 参考サイト boost.org boostjp インストール まず C++ のコンパイラ g++ は標準ではインストールされていないので、
boost::serializationを使う はじめに コンパイル 簡単な使い方 クラスのバージョン付け 読み込みと書き込みで別の動作を行う 「非侵入型」のシリアル化関数 基底クラスをシリアル化する 配列をシリアライズする constメンバはどうするか ポインタからのシリアライズ:その1 ポインタからのシリアライズ:その2 基底クラスへのポインタから復元する 実装レベル オブジェクトの追跡 抽象クラスでのエラー NVP ロケールの設定 はじめに boost C++ Libraries(以下単にboost)という非常に便利なライブラリがあります。 次期C++標準にこのライブラリのうちのいくつかが採用されるらしいという話もあり、 C++開発者にとっては無視して通れないライブラリです。 そんなboostの中に、serializationというライブラリがあります。 一言で言ってしまえば、「クラ
結論を先にまとめると、以下の3つです。 1. グローバル変数の宣言をなるべく減らしたい場合 2. ユーザが引数を与えてカスタマイズ可能な自由度の高い「関数」を生成したい場合 3. 前回、呼び出されて実行されたときの演算結果(値)を内部で保存して、次に呼び出されたときに、前回の結果(値)に対して、さらに同じ処理(演算)を行う関数を生成したい場合 以下、「クロージャ」の定義から、頭の整理まで、分かりやすい参考ウェブサイトへのリンクを張りつつ、見ていきます。 【 定義 】クロージャ takeharuさん Qiita記事(2013/07/22)「JavaScriptでクロージャ入門」 「自分を囲むスコープにある変数を参照できる関数」 Wikipedia 「クロージャ」 引数以外の変数を実行時の環境ではなく、自身が定義された環境(静的スコープ)において解決することを特徴とする。関数とそれを評価する環
注意(2021年6月追記) この記事は99%の人には何の参考にもなりません。 経験上はアプリケーションに特に問題がないのに Appilication Error が発生し、再起動で解決するということは稀に起こります。 少なくともここ数年は私の環境では起きていませんが、執筆時点(2013年3月)の heroku では稀に発生していました。 ずっと安定稼働していて特に思い当たる原因がない場合の対処法であって、Application Error が起きた時にいつでも通用する対処法ではありません。 このエラーが発生している場合は9割9分アプリケーションに問題があるので、きちんとエラーログを見て原因を特定してください。 heroku で運用を行っていると、原因不明の ApplicationError が発生することがあります。 30秒ルール以外で発生する場合、経験上はエラーコード H10 が発生して
要素へのアクセス インデックスをブラケット表記法で指定することで、配列の要素へアクセスできます。 a[ 0 ]; 識別子の先頭に数字を指定することは認められないため、これを a.0; のようには記述できません。 インデックスの記述方法 インデックスは内部的に文字列として処理されるため、その記述方法によっては予期せぬ結果を返すことがあります。 var a = [ 1, 2, 3 ]; alert( a[ 1 ] ); // 2 alert( a[ '1' ] ); // 2 alert( a[ 01 ] ); // 2 alert( a[ '01' ] ); // undefined このことは、これらのインデックスの記述を文字列に変換してみることで、その違いを確かめられます。 alert( ( 1 ).toString() ); // '1' alert( ( '1' ).toString
ディープラーニングタノシイ! イラストで学ぶ ディープラーニング イラストで学ぶ ディープラーニング (KS情報科学専門書) 作者: 山下隆義出版社/メーカー: 講談社発売日: 2016/02/23メディア: 単行本(ソフトカバー)この商品を含むブログ (1件) を見る 以前、『初めてのディープラーニング』を紹介した時に、 こっちのほうがおすすめだよ、と言われた書籍です。 私はあくまでも初めてのディープラーニングのが好きですけど! レベルとしては初めてのディープラーニングとほとんど一緒。 こちらのほうが、Chainer,TensorFlowと多彩なフレームワークの説明あり。 初めてのディープラーニング 初めてのディープラーニング --オープンソース"Caffe"による演習付き 作者: 武井宏将出版社/メーカー: リックテレコム発売日: 2016/02/19メディア: 単行本(ソフトカバー)
Ruby on Railsでアプリを作ってHerokuにpushするのがここ数日のマイブームです! といっても、「Herokuではじめる 初心者のためのRuby on Rails3入門」という有り難い記事の通りにぼちぼち進めているだけの身ですが……。 書いてあること以外もちょっとやってみたくなったときに「Herokuでステージング環境を作る – アインシュタインの電話番号」という記事を見つけたので、やってみることにしました。 その際に環境変数の設定が必要だったので、調べたことをメモしておきます! (ステージング環境の作り方を知りたい方は「HerokuでBASIC認証が必要なステージング環境を作る(Ruby on Rails)」へどうぞ!) 調べる対象がはっきり分かっているときは公式ドキュメントを見るのが早い というわけで、Heroku Dev Centerを見たらちゃんとまとめて載っていま
Slack がコミュニケーションの中心になっていくなかで、Slack からできることを増やそうということで、Hubot(https://hubot.github.com/) を導入してみることにした。 Hubot を動かす環境として、お手軽な Heroku(https://www.heroku.com/) を利用する。 まず、Hubot を導入し、Slack 用の bot を作成する。Hubot の導入には npm(https://www.npmjs.org/) が必要なので、事前にインストールしておく。 $ mkdir [bot_path_name] $ cd [bot_path_name] $ yo hubot _____________________________ / \ //\ | Extracting input for | ////\ _____ | self-replic
シェルでデータ加工するときSEDをよく使いますが、その利用例と覚え書きです、参考になれば sedコマンドはLinux/Unix/BSD/OSXに標準で入っているので、Macの人なら覚えておくと捗るかも(Linuxとは少し違うのでそこは調べてね?) 当方の利用環境がRedhat系Linuxメインですので、微妙に書式が異なることがありますが、大体の書式は同じはずですので、そこは、ご容赦願います (4/15 ちょっと追加…) Windowsでもsed使いたいという人がいたので、ちょっと追記、以下のサイトからWindows用のバイナリを取得すれば、Windowsでもsedが使えます。WSLなどLinux環境を追加したくない、sedのコマンドだけほしい、PowerShellやプロンプトで使えればいいだけという人にお勧めです。 sed for Windows Site 使用例をいろいろ上げてみる '#
linuxのコマンドラインでデータ加工をする際によく使うAWKですが、個人的につまずいた使い方について、 覚え書きとして残します。誰かの助けになれば… 組み込み関数覚え書き FS 入力フィールドセパレータ(空白とタブ) CNVFMT 数値を文字列に変換するフォーマット OFMT 数字の出力フォーマット(%.6g) OFS 出力フィールドセパレータ(空白) ORS 出力レコードセパレータ(\n) RS 入力レコードセパレータ(\n) SUBSEP 配列添字セパレータ(\034) ARGC コマンド行の引数の数+1 ARGV コマンド行の引数の配列 ENVIRON["..."] 環境変数の値 FILENAME 入力ファイル名 FNR 入力ファイルの通算レコード NF 入力レコードのフィールド数 NR 入力レコード総数 RLENGTH matchで適合した文字列の長さ RSTART matchで
All slide content and descriptions are owned by their creators.
本記事はRubyについて書かれたものではありますが、Python、JavaScript、Javaなど、全ての言語コミュニティに当てはまる事実を述べたものです。依存関係が引き起こす負の連鎖は誰のためにもなりません。 上の図は、私がこれまでに使用した全てのRailsアプリの依存関係を可視化したものです。以下の例はいずれも、どこかで聞いたことのあるものではないでしょうか。 何百ものエントリを含むGemfile 本番環境で読み込まれるテスト用Gem 数百メガバイトもRAMを食うRailsのプロセス Rubygemsシステムは、それを再利用する誰もが容易にRubyのパッケージを作ることができるという点で、賞賛に値するものです。しかし、その便利さが意味するところは、そうしたGemと他のGemを非常に安易に結び付け、さらにそれが、「インターネットでダウンロード」され、数百もの依存関係を持つRailsアプ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く