タグ

2017年2月26日のブックマーク (26件)

  • 第459回 LXDを使ってDockerコンテナをマイグレーション | gihyo.jp

    第458回ではUbuntuにおけるDockerのインストール方法を紹介しました。ところでDockerと同じコンテナ技術を利用したソフトウェアとして「LXD」が存在します。このLXDとDockerは排他的な存在ではなく、用途にあわせて組み合わせて使うと便利なツールです。そこで今回はLXDで作った仮想環境上でDockerコンテナを動かす方法を紹介します。 LXDの上でDockerを使う Dockerと同様にカーネルのコンテナ技術を利用したソフトウェアのひとつにLXDが存在します。Dockerがひとつのコンテナでひとつのアプリケーションを動かす「アプリケーションコンテナ」としての利用をメインに据えているのに対して、LXDは軽量な仮想マシンのように使える「システムコンテナ」としての使い方を提案していることがもっとも大きな違いです[1]⁠。 両者の具体的な違いを見ていきましょう。ちなみに個々の環境や

    第459回 LXDを使ってDockerコンテナをマイグレーション | gihyo.jp
  • C# 7.0で知っておくべき10の新機能(後編)

    Visual Studio 2017およびVisual Studio Codeで利用可能になったC#言語の新バージョン「7.0」の新機能を、公開されている議論を基に解説。前編として「パフォーマンス向上」と「コード記述の単純化」に関連する6つの新機能を説明する。 ← 前回 連載 INDEX 前編では「データ中心設計」に関連する4つの新機能を説明した。後編である今回は、その続きとして「パフォーマンス向上」と「コード記述の単純化」に関連する6つの新機能を説明する。 稿ではC# 7.0で追加される機能を10個に分け、さらに「データ中心設計」「パフォーマンス改善」「コードの書きやすさの向上」の3つに分類して紹介する。 【C# 7.0新機能の一覧】 データ中心設計: 1outパラメーター付き引数での変数宣言(Out Var) 2パターンマッチング(Pattern matching) 3タプル(Tup

  • How would Git handle a SHA-1 collision on a blob?

    This probably never happened in the real-world yet, and may never happen, but let's consider this: say you have a git repository, make a commit, and get very very unlucky: one of the blobs ends up having the same SHA-1 as another that is already in your repository. Question is, how would Git handle this? Simply fail? Find a way to link the two blobs and check which one is needed according to the c

    How would Git handle a SHA-1 collision on a blob?
    lugecy
    lugecy 2017/02/26
  • コミットは作業ログではない! - Qiita

    いきなりだけど、こんなコミット、よく見ない? (例1とする) 見た瞬間に腕まくりして修正依頼と理由を書き出したくなっちゃう感じ! これが良くない理由を、持論だけど挙げてみるよ このコミットについて コミットは作業単位でするものではない プルリクエスト(以下 PR)をレビューする側に立って考えるとよくわかるのだけど、 PRレビューをする人が欲しているのは(= masterブランチが欲している、チームが欲していると言っても良い)作業者の作業ログではない。 レビューする人にとって、そのPR作成者が「どれくらいの時間をかけた」とか「休日もコミットを重ねてた」とか 「何ファイルも直さなくちゃあならなくて大変だった」とか「いつどこでブランチを切り換えて自分の出したPRを見てくれていた」とか、 そんなことはぶっちゃけ全く興味がないんだ。 欲しいのは「生成物と成果」であって、それを「どの様な作業工程」で作

    コミットは作業ログではない! - Qiita
  • サイバー犯罪捜査官を辞めた顛末など - ninolog

    もの凄く簡潔に言ってしまうと、上司からのパワハラ+仕事内容です。 目標として夢見て10年、受験を決意し足掛け5年、 2015年冬の試験合格し、某県警のサイバー犯罪捜査官として、2016年春より働いておりました。 しかし、実際入ってみると、サイバーとは名ばかりであり、他の事案対応が95%弱を占め、 IT技術知識を活用するような機会は全くと言っていいほどありませんでした。 まぁそれだけなら全然納得して働いていたのですが、、、 では、退職を決意したもう一つの要因であるパワハラとは、 ★パワハラ具体例 1. コピーを取ってこい、と手渡された書類をコピーして持っていたところ、 俺のコピーしたかった書類と違う、お前は仕事の何を見ていたんだ、帰れ と怒鳴り散らす (最終的に私は帰ったのですが、もいっこ上の上司から呼び出され、私が悪いとのことで謝罪させられました) エスパーじゃなくてすいません、と謝れば良

    サイバー犯罪捜査官を辞めた顛末など - ninolog
  • TechCrunch

    Reliance is nearing a deal to acquire Disney’s India business, according to a report, as Mukesh Ambani’s oil-to-telecom empire eyes broadening digital and television assets. Disney values Dating app users will often sit with friends as they swipe through their matches in order to gain feedback, or even hand over their phone and let their friends swipe for them. Now, that real-life expe

    TechCrunch
    lugecy
    lugecy 2017/02/26
  • Express で書いてるコードを TypeScript 化した時に対処したこと - Humanity

    tyru.hatenablog.com の続き。 今度は express-generator で自動生成されたバックエンドのコードを TypeScript 化してみる。 tsconfig.json に “allowJs”: true を指定する express-generator のコードは bin/www から app.js を require() する形になっているが、 app.ts から app.js を生成したところ、app.js で module.exports = app しているのに 空の Object {} がエクスポートされてしまう。 おそらく bin/www も TypeScript の仕組みに乗っからないと(TypeScriptトランスパイルしないと) require() できないのだと何となく予測したので、bin/www も .ts 化しようと思った… けどめん

    Express で書いてるコードを TypeScript 化した時に対処したこと - Humanity
  • Promise の処理の流れ - Humanity

    メモ。Twitter に書いたことをそのまんま引用。 https://t.co/O2yTz3ZHGW then() の引数に null 指定したらスキップされるのか。知らんかった— tyru (@_tyru_) 2017年2月15日 @_tyru_ Promise chain のどっかで エラーが起こるか reject された時の処理って拾うには一つ一つ then() の第2引数をしないといけないと勘違いしてた。途中の then() は onRejected が undefined だからスキップされるんだな— tyru (@_tyru_) 2017年2月15日 function taskA() { console.log("Task A"); } function taskB() { console.log("Task B"); } function onRejected(error)

    Promise の処理の流れ - Humanity
  • Island Life - GC切って性能向上

    About 南の島のプログラマ。 たまに役者。 Practical Schemeの主。 WiLiKi:Shiro 最近のエントリ 無限cxr高校受験Defense振り返ってみると2019年は色々学んで楽...覚えるより忘れる方が難しい(こともある)眼鏡のつると3DプリンタIris Klein Acting ClassSAG-AFTRA conservatory: Voice Acting創作活動って自分を晒け出さねばならないと...ループを使わずに1から100までMore... 最近のコメント shiro on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/14)1357 on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/01)ベアトリーチェ on ハイポハイポハイポのシューリンガン (2022/04/02)ベアトリーチ

    Island Life - GC切って性能向上
  • printfだけで画像を生成する(.ppm) - yhara.jp

    自作のプログラムで画像を出力したいとき、どのフォーマットを選ぶのが良いだろうか。PNGやJPGなどは広く普及したフォーマットだが、マイナーな言語や自作のプログラミング言語の場合、出力するためのライブラリが存在しない場合がある。 そんなときに役立つのが、aobenchでも使われているPPMという画像フォーマットだ。PPMは仕様が極めてシンプルなので、例えばprintfが使えれば出力することができる。 以下はppmファイルの例である(上記ページから拝借)。 Netpbm形式 PPM形式はNetpbm形式とよばれるフォーマットの一種である。Netpbm形式には「白黒・グレースケール・カラー」の3種類に「テキスト・バイナリ」の2種類をかけた6種類が存在し、そのうちのカラーのものがPPM(portable pixmap format)形式なのだ。 上記の例だと、ファイル冒頭の「P3」が「カラー、テキ

  • Pandas Cheatsheet - kotaroito's notes

    数ヶ月ぶりにpandasを使うと基すら忘れていることが多いので、チートシートを残しておきます。 なお、pandas (0.18.1) です。 データの読み込み csvから読み込む。 先頭行のヘッダは自動で読み込んでくれます。 import pandas as pd df_train = pd.read_csv('train.csv', index_col='id') numpyからDataFrameに変換する。 import numpy as np import pandas as pd pd.DataFrame(np.random.rand(3,2), index=[10, 11, 12], columns= ['x', 'y']) Index(行)とColumns(列) indexとcolumnsを設定する。 df.index = [1, 2, 3] df.columns = ['a

    Pandas Cheatsheet - kotaroito's notes
  • Atomで今日の日付.mdを開くやつ - hitode909の日記

    Emacsを使ってるときから,今日の日付.mdを一瞬で開いてメモを書けるようにしていた.それのAtom版を作ったのでご利用ください. atom.io 僕はCommand+nで今日の日付.mdが開くようにしています. 'body': 'cmd-n': 'atom-open-daily-memo:open-memo'

    Atomで今日の日付.mdを開くやつ - hitode909の日記
    lugecy
    lugecy 2017/02/26
  • むだ死にしない技術を読んだ - higepon blog

    ピロリ菌は知っていたけど。こういった、ある程度科学的根拠が追いやすい知識集をWebで作ったらいいと思った。 むだ死にしない技術posted with amazlet at 17.02.20マガジンハウス (2016-12-20) 売り上げランキング: 1,831 Amazon.co.jpで詳細を見る

    むだ死にしない技術を読んだ - higepon blog
  • JavaScript復習2017 - importとuse strictとメソッド定義 -

    [追記] Node.js 14 から警告なしに拡張子 .mjs は export / import できるようになります。 背景Ecma 262 + JScript でユニットテストを書いて から 10 年以上が経ち、途中 Rails 3 + CoffeeScript いいじゃないか、Underscore.js いいじゃないか期を経て現在は ES2015 が標準で当たり前ですよね、な時代になった。 ES2015 自体はなんでもかんでも式になってくれないと CoffeeScript の代わりにはならないよ、return 書くの面倒くさいよという気持ち以外はまぁそんなもんかなという程度の理解だったんだけど、Mithril を試した時 のように無理やり Browserfiy で CoffeeScript を挟んだりせずにそろそろ 素直に ES2015 をフルに使って書きつつ、それ以外に当に必要

  • drdr - 兼雑記

    オレオレワークフローエンジン作りたくなる病というのがあって、例えば make 系なんかだと Wikipediaに色々書いてあったりします。ワークフローエンジンと総称するのが正しいのか知りませんが、依存グラフを順ぐりに並列に実行していくようなもの、色々あるわけですけど、目的も粒度もバラバラですが以下のようなものは割と似たようなものに見えてます。 thread pool Tensorflow make Digdag 閑話休題。なんか微妙に10秒程度待ち時間があるような処理があって(クラウドストレージに対する例えば ls とか)、その ls の結果全てに対してまた10秒程度時間がかかるコマンドをまとめて実行、終わったら結果を集計、みたいなことをしたりすることが最近多いです。1週間から1ヶ月ほど10回とか100回使うんだけど、でもそのうち捨てる系のコード。私の場合、よくやる解決と問題点は shel

    drdr - 兼雑記
  • Textbringer 0.1.8 - Journal InTime(2017-02-19)

    _ Textbringer 0.1.8 Textbringer 0.1.8をリリースした。 0.1.7からの変更点: シンタックスハイライトのサポート grep, gsub, enlarge_windowコマンドの追加 CRをLFに変換しないよう修正。 asciicastは8色(正確にはA_BOLDを使った暗黙の色指定を合わせて16色)モードだが、256色の端末にも 対応していて以下のようにRGB値を指定するとカラーパレットから一番近い色を選択する。 # ~/.textbringer.rb if Window.colors == 256 Face.define :mode_line, foreground: "#ffffff", background: "#75507b" Face.define :link, foreground: "#8ae234" Face.define :comme

    lugecy
    lugecy 2017/02/26
  • TypeScript 入門 + Express 再入門した - Humanity

    モチベーション 以下の記事を見て作りたくなったからです(ありがとうございます)。 TypeScript 入門するのは 私的TypeScriptとの関わり方ガイドライン - 角待ちは対空 を見たから。 Express 再入門するのは Express入門 - ぺーぺーSEのブログ を見たから。 そして 2017年はNode.jsの達人になる!いま知っておきたいベストプラクティス10 - WPJ を見たから。 久しぶりに Express 再入門して express-generator が生成したコードの middleware ググりながらふんふん言ってる— tyru (@_tyru_) 2017年2月17日 つーか createServer() とか listen() とかないやんけと思ってたら module.exports = app; ってのがあるからこれかなぁ… node で module

    TypeScript 入門 + Express 再入門した - Humanity
  • TypeScript + Webpack 使った時に出たエラーと対処したこと - Humanity

    loaders に loader を指定する時は test プロパティのパターンで絞り込むこと html-loader を使おうと思って .html のファイルを require() したら、ts-loader に渡って解釈されてしまったので、絶対つけること。 当たり前っぽいけどこれでハマったので。 ERROR in ./src/component/root-index.html Module build failed: Error: Could not find file: 'C:\msys64\home\tyru\git\scrader\src\component\root-index.html'. at getValidSourceFile (C:\msys64\home\tyru\git\scrader\node_modules\typescript\lib\typescript.

    TypeScript + Webpack 使った時に出たエラーと対処したこと - Humanity
  • Closure Compiler and ES6 - steps to phantasien

    仕事でさわっている小さな JS は Closure Compiler というやつを使っており、これは 10 年前はともかく今となってはすごく残念な代物なのだった。 とおもっていたのだが、最近遠くのオフィスの同僚がずかずかとコードを書き換え ES6 化している。ES6 つかえるの?ときいたら Closure が transpile してくれるとのこと。なんと。class も arrow function も module (これは ES6 modules ではなく common js ぽいやつ) も使える。いいじゃん。 しょうじきコードの見栄えの満足感でいったら Java より ES6 の方がだいぶいい。ただ Closure の型注釈が若干台無しにしている感もある。

  • My Solo Project (2) - steps to phantasien

    自分はそこそこ自律的に仕事をしやすい職場にいるとおもう。とはいえ完全に好き勝手できるわけではなく、所属しているチームや製品の方向性や自分の身の丈にあった仕事を考えないといけない。チーム内での地位やカルマの溜まり具合も関係がある。何事にも不確実性はある。不確実性に伴うリスクがどれだけとれるかはその人の実績で決まる。このフェアさは妥当だと思う。そのほか上司のマイクロマネッジ指数やチームの性格、部門の景気なども仕事の自律性に影響を与える。これらはフェアネスよりも運の部類。 自分はまあまあ運が良い気がする。今のところ割と勝手なことを勝手なペースでやっている。一方で自分のプロジェクトを誰かに手伝ってもらえる実績や ambition もない。結果として一人で自分のプロジェクトを進めることになりがち。アーキテクチャを刷新してぜんぶ倍速くしますみたいなアイデアと実力があればチームをリードすることもあるだろ

  • My Solo Project (1) - steps to phantasien

    仕事の内容を自分で決めるのが、今のチームに引っ越してからの個人的な目標の一つだった。現状を記録しておきたい。 チームに入った当初、同僚からは二つの入門プロジェクトを提案された。ひとつはある種のキャッシュを実装するというもので、もうひとつは・・・わすれた。この段階では右も左もわからずやりたいこともない。とりあえずキャッシュ実装のプロジェクトをやってみることにした。 引き受けたは良いけれど仕事の全体像がわからない。そのキャッシュとやらをいれると何がどれくらい速くなるのか。そこでコードを読んだり、プロファイラを眺めたり、性能測定用の instrumentation を足したりした。調査によって段々と様子がわかってきた。まず、件のキャッシュがもたらす性能への影響は、あるにはあるが大したことはない。他にも色々遅いところがある。なのでキャッシュの仕事は適当にすませ、その他の遅いところを順々に直していく

  • Accepting Google Docs - steps to phantasien

    かつてひげぽんは「妥協して Evernote を受け入れよ」と言った。慧眼。 自分はその教えに従っていたが、諸事情によって受け入れられなくなってしまった。ただ同じ精神があてはまるものは他にもある気がする。たとえば Google Docs. 自分の中で Google Docs は MS Word を Web に持っていっただけの何一つ面白みのないソフトウェアに位置付けられている。Wiki のような Web らしいソフトウェアを大量のエンジニアリング資源で脇に追いやった悪役でもある。 ただ仕事で渋々使っているうちに、実はいいところもあるという事実を受け入れられるようになってきた。まず sync がほぼ完璧に動く。Evernote と違ってそうそう壊れない。Android アプリも当たり前のようにちゃんと動く。オフラインでも使える。デスクトップで使う分にはけっこう速い。ウェブアプリの割にキーボー

    lugecy
    lugecy 2017/02/26
  • Note Taking Refugee - steps to phantasien

    去年果たした Linux laptop への移行に伴い Evernote と Dayone を失って以来、数カ月に一度くらいなんか使えるノートとりアプリはないかとウェブをぶらぶらして時間を無駄にしてしまう。今日も二時間くらい浪費してしまった。 Note taking 難民になるのは昔からの持病。一度はサブカル心をおさえて Evernote を受け入れ、完治やったーとおもっていたものの Linux というサブカル心に後ろから刺されてしまった。ぜんぶむなしい一人芝居だけれども。いい年してなにやってんだとおもう。 従来のデスクトップ作業のうち音楽や写真などを Android に追い出せたので昔よりは Linux デスクトップの可能性は増えているはず。なのにまさか note taking がボトルネックになるとは。Emacs 中心の生活だった10年前の自分は想像しなかっただろう。 Evernote

    lugecy
    lugecy 2017/02/26
  • DataFrame is new JSON - steps to phantasien

    これは言い過ぎだが、Data Science 的な文脈で DataFrame が JSON に近い位置にいるのはたしか。JSON と同じく特に難しいものではない。一方で知ってないと色々損をする。 JSON と同じく、DataFrame はなにかが「ちょうどいい」抽象でもある。 データ交換フォーマットや PRC の wire protocol として XML が大げさすぎたように、データ分析をするのにORM や ResultSet みたいな行指向の抽象はいまいちだし、一方で完全に型が uniform な matrix や tensor みたいのはプリミティブすぎる。DataFrame は複雑さのバランスでうまいところを突いた。 そしていちど DataFrame という抽象が定まると、その上に色々なエコシステムができる。分析、可視化、I/O などなど・・・。Pandnas の上で動くライブラリ

  • 2017-02-20のJS: Babel 6.23.0、React Context、HTMLリファレンス

    JSer.info #319 - Babel 6.23.0がリリースされました。 6.23.0 Released · Babel Release v6.23.0 · babel/babel transform-es2015-block-scopingにthrowIfClosureRequiredオプションが追加されました。 Babelの変換ではconstやletなどのスコープを実現するために、即時実行関数でスコープを作るという手法を取っています。 このオプションでは、そのようなスコープを作るケースをエラーにすることでパフォーマンス改善を行うためのオプションです。 In Babel 6.23 (just released), I made let/const's generated code more efficient! Upgrade to enjoy a very small perf

    2017-02-20のJS: Babel 6.23.0、React Context、HTMLリファレンス
  • 【電子工作×IoT】第1回:SDカードが郵便を通知! 無線LAN機能付きのSDカード「FlashAir」を使ってドアポストセンサーを作ってみた<前編> 

    【電子工作×IoT】第1回:SDカードが郵便を通知! 無線LAN機能付きのSDカード「FlashAir」を使ってドアポストセンサーを作ってみた<前編> 
    lugecy
    lugecy 2017/02/26