タグ

ブックマーク / qiita.com (211)

  • 至高のDockerイメージ生成を求めて -2019年版- - Qiita

    この記事は@yugui氏の書いた至高のDockerイメージ生成を求めてに感謝しつつ、記事が投稿された当時には無かったさまざまな事情を組み込んで再度まとめたものである。 良いDockerイメージ 良いDockerイメージとは何だろうか。Dockerの利点は次のようなものだから、それを活かすイメージが良いものであるに違いない。 ビルドしたイメージはどこでも動く 適切にインストールされ、設定されたアプリケーションをそのままどこにでも持っていける。 コンテナ同士が干渉し合うことはないので、任意のイメージを互いに配慮することなく柔軟に配備し実行できる 必要のないサービスがコンテナ内で走っていないので、セキュリティの向上に資する イメージの転送が効率的である ベースイメージ部分は一度送ればいちいち再転送する必要がないので、ベースイメージを共有する複数のイメージを効率的に転送できる 標準のレジストリAP

    至高のDockerイメージ生成を求めて -2019年版- - Qiita
    nurse
    nurse 2019/09/20
  • 気象庁防災XMLのPull型提供(Atom Feed)について - Qiita

    高頻度・長期フィード2種類の使い分け 通常は高頻度フィードを使います。 高頻度フィードは毎分更新されており、少なくとも直近10分間の更新情報が記載されています。 長期フィードは、1時間に1回更新されており、直近数日間の更新情報が記載されています。 これは(10分以上の)長時間にわたって止まっていた利用システムを最新状況に追随するために設けられています。たとえば利用者側システムが平日昼間保守になっていて、金曜夜に障害停止したシステムを月曜日に復旧するような場合を想定して、長時間の更新情報を提供することにしています。 ファイルが大きいので、常時ウォッチするとしんどいです。 フィードの監視 フィードの URL に繰り返し HTTP GET 要求をすれば、Atom Feed 形式のファイルが取れるわけですが、ただ単に wget url で取得するのはちょっと待ってください。 wget コマンドであ

    気象庁防災XMLのPull型提供(Atom Feed)について - Qiita
    nurse
    nurse 2019/09/13
  • オープンソースソフトウェア開発ことはじめ - Qiita

    Help us understand the problem. What is going on with this article? はじめに v1: 2016/2/1: この記事は カーネル/VMアドベントカレンダー2011 のために書いたものを2016/2/1に編集したものです。 v2: 2019/8/31: プロジェクトからフェードアウトした現状を追記しました。それにあわせて内容を一部修正しました 記事の目的は、筆者が初めて実際にオープンソースソフトウェア(以下OSS)活動に参加した体験をもとに、OSS開発に参加する魅力、およびその具体的な手順について説明することです。これをきっかけに多少なりともOSS開発者の裾野が広がって未来ある若者を同じ道に引きずり込…もとい同じ趣味の人が増えればよいなと思っています。 主たる対象読者はソフトウェア開発に興味があり、かつ、次のような理由で現在

    オープンソースソフトウェア開発ことはじめ - Qiita
    nurse
    nurse 2019/09/06
  • SSL/TLS(SSL3.0~TLS1.2)のハンドシェイクを復習する

    以下順を追って説明します。 HelloRequest 相手にClientHelloを送信するよう促すメッセージです。送信しなくても構いません。 ClientHello ServerHello ClientHelloとServerHelloは、TLSのひとつめの肝です。後ほど説明します。 ServerCertificate サーバ証明書を送信します。中間CA証明書なども、ここで送ります。 ServerKeyExchange 鍵交換メッセージその1です。鍵交換はTLSのふたつめの肝で、これも後ほど説明します。 CertificateRequest クライアント証明書を送信するように促すメッセージです。クライアント証明書が必要な場合に送信します。何そのクライアント証明書って?と思った方は読み飛ばして構いません。 ServerHelloDone サーバからの送信終了を示すエンドマークです。 Cli

    SSL/TLS(SSL3.0~TLS1.2)のハンドシェイクを復習する
    nurse
    nurse 2019/09/06
  • アーキテクチャシミュレータGem5を使ってみる - Qiita

    はじめに アーキテクチャシミュレータGem5について、インストールから簡単な使い方まで説明する。なお、インストール環境はMac、エミュレート対象はLinuxとする。 Gem5の概要 Gem5はアーキテクチャシミュレータで、CPUその他様々なハードウェアをシミュレートできる。Gem5にはFull System (FS)モードと、System Call Emulation (SE) モードの二種類のモードが存在する。FSモードは、その名の通り「全部シミュレーションする」モードで、とりあえずQEMUみたいなもんだと思えば良いと思う。SEモードは、その名の通りシステムコールをエミュレーションすることで、OS不要でユーザプログラムを実行できる。FSモードの方がより「リアル」なシミュレーションができるが、OSが介在するため、例えばOSによるスケジューリングの影響を受けたりする。SEモードはOS不要であ

    アーキテクチャシミュレータGem5を使ってみる - Qiita
    nurse
    nurse 2019/08/28
  • P++: 銀河に平和をもたらすための奇策と決着 - Qiita

    PHP 8から、PHPは「PHP」と「P++」という2つの言語を提供するようになる というキャッチーな紹介をするP++: 静的型付けをめざすPHPという記事がそれなりに話題になり、このニュースは目覚しく革新的な内容で、多くのひとの目を引き付けました。 これは早まった理解であり、ほとんど誤報と言ってもいい内容でした。2019年8月15日には提案者人も、少くとも「P++」の計画を短期的に実現するととは非現実的であり時期尚早であることを認めています。 この記事では、PHP開発の現状、なぜ野心的なP++計画が提案され、事実上撤回されたかの経緯について紹介します。 [中立性のための表示] この記事の著者@tadsanはPHPの静的解析を強く推進する立場です。 PHPゆるふわCI入門 PHP型検査・夢と理想と現実) 三行で要約 PHPはバージョンを経るごとに「歴史的経緯」による負債が削ぎ落されてきた

    P++: 銀河に平和をもたらすための奇策と決着 - Qiita
    nurse
    nurse 2019/08/14
  • ディープラーニング究極の難問(笑) - Qiita

    与えられた数値が整数かどうかの判別は難しそう ニューラルネットワークの中には浮動小数点の数が流れていますが、入力された浮動小数点が整数なのかそうでないのか判定する「ネットワーク内のパラメータおよび入力に対して微分可能という意味でフツーの」ニューラルネットワークを作るのはほぼ不可能に近いんじゃないかと思います。例えば、以下の浮動小数点を1つ入力して整数なら1を出しそうでなければ0を出すニューラルネットワークを学習しても正答率が6割からほとんど改善しません(フレームワークはkeras)。ニューラルネットワークへの入力が整数になる確率はほぼ50%になっています。 import array import math import random import numpy as np import keras class is_integer(keras.utils.Sequence): def __i

    ディープラーニング究極の難問(笑) - Qiita
    nurse
    nurse 2019/08/04
  • San Francisco フォントを探る - Qiita

    San Francisco Font Family San Francisco はひとつの書体ではなく、SF Pro, SF Compact などと呼ばれ、それぞれに Text, Display, Rounded バージョンが存在します。Text よりも Display の方が多くのウェイトを揃えているのは、Text は視認性を重視した書体ゆえ、細いものは利用する想定にないからなのだと思われます。SFシリーズはVariable fontに対応しています。 SF Pro vs. SF Compact SF Pro は macOS や iOS, tvOS デバイスのシステムフォントとして採用されています。SF Compact は Apple Watch のシステムフォントとして採用されています。Compact は字が四角形に近い形をしていて、Apple Watch のような小さなデバイスでも視

    San Francisco フォントを探る - Qiita
    nurse
    nurse 2019/07/23
  • TypeScriptで最低n個の要素を持った配列の型を宣言する方法 - Qiita

    TypeScriptでは配列の型はT[]のように宣言します(Array<T>でも可)。この配列は、もちろん要素数が何個でも構いません。 const arr1: number[] = [0, 1, 2]; const arr2: number[] = [0]; const arr3: number[] = []; しかし時折、「2個以上の要素を持った配列」のような条件を書きたくなることがあるかもしれません。すなわち、配列の最低要素数を型で指定したいという場合ですね。実はTypeScriptでは、タプル型を応用することでこれが可能です。 タプル型を用いた最低要素数の表現 // 要素が最低2個あるT型の配列 type AtLeast2<T> = [T, T, ...T[]]; const arr1: AtLeast2<number> = [0, 1, 2]; // これはOK const arr

    TypeScriptで最低n個の要素を持った配列の型を宣言する方法 - Qiita
  • Googleドキュメントでコードを綺麗に表示したい・シンタックスハイライトしたい - Qiita

    背景 前後するが、なぜGoogleドキュメントでコードを記述したかったかというと、Googleドキュメントだと、情報共有が楽な上にメンバー間でドキュメントを更新しあえるのが簡単だから、Googleドキュメントでシンタックスハイライトを行なって、見やすいドキュメント作成を行いたかったから。 Googleドキュメント(GoogleDocs)でシンタックスハイライトを行うには とても簡単。 Code Prettyというアドオンを入れるだけ。ほんとこれだけ。※こちらのアドオンは使用不可となりました。 Code Blocksというアドオンを入れるだけ。ほんとこれだけ。 インストール手順 Googleドキュメント(GoogleDocs)を開く 右下の新規作成を押下 メニューバー > アドオン > アドオンを取得 「Code Pretty Code Blocks」を検索 「Code Pretty Cod

    Googleドキュメントでコードを綺麗に表示したい・シンタックスハイライトしたい - Qiita
    nurse
    nurse 2019/05/24
  • 「サイゼリヤで1000円あれば最大何kcal摂れるのか」を整数計画法ソルバー(PuLP)で解いてみた。 - Qiita

    サイゼリヤで1000円あれば最大何kcal摂れるのか」を整数計画法ソルバー(PuLP)で解いてみた。Python整数計画法サイゼリヤMIPCL 概要 なんだかサイゼで効率良くカロリーを稼ぐ方法が計算ネタとして流行っているらしいので。 サイゼリヤ1000円ガチャをつくってみた(Heroku + Flask + LINEbot) 「サイゼリヤで1000円あれば最大何kcal摂れるのか」を量子アニーリング計算(Wildqat)で解いてみた。 「サイゼリヤで1000円あれば最大何kcal摂れるのか」をSMTソルバー(Z3)で解いてみた。 量子アニーリング・SMTと来れば整数計画法も試してみたいところです。Pythonなら実装が簡単なので早速解いてみます。 なお、メニューセットは1行目の元記事の作者様のリポジトリからsaizeriya.db(SQLite)を参照することにします。 ソルバー選択・コ

    「サイゼリヤで1000円あれば最大何kcal摂れるのか」を整数計画法ソルバー(PuLP)で解いてみた。 - Qiita
    nurse
    nurse 2019/05/18
  • 「サイゼリヤで1000円あれば最大何kcal摂れるのか」をSMTソルバー(Z3)で解いてみた。 - Qiita

    前書き サイゼリヤ1000円ガチャをつくってみた(Heroku + Flask + LINEbot) 「サイゼリヤで1000円あれば最大何kcal摂れるのか」を量子アニーリング計算(Wildqat)で解いてみた。 完全に二番煎じですが、古典コンピューターが好きなので、個人的に古典コンピューター最強のなんだかよく分からないけどよく分からないものをよく分からないうちに解いてくれるソフト、z3を使ってサイゼリア問題を解いてみました。 問題 サイゼリヤのメニューを重複無しで合計1000円以下になるように選んだときに、最大の総カロリーになるようなメニューの組み合わせを求めよ。 サイゼリヤのメニューは https://github.com/marushosummers/Saizeriya_1000yen こちらを使わせて使わせて頂きました。メニューは100種類ぐらいみたいで、カロリーは整数値で、プロコ

    「サイゼリヤで1000円あれば最大何kcal摂れるのか」をSMTソルバー(Z3)で解いてみた。 - Qiita
    nurse
    nurse 2019/05/18
  • Stadiaのリアルタイムストリーミングを実現する技術(Google I/O 2019の発表まとめ) - Qiita

    Twitterで、@masafumi氏が、Google I/O での興味深いセッションについて紹介されていたので、内容を簡単にまとめてみました。私自身は専門家ではありませんので、詳しい方の突っ込み補足お待ちしています。当たり前ですが、以下はすべて私個人の見解です。 Google I/O 2019 Stadia のストリーミング技術に関するセッション: 新 masafumi's Diary Google I/O 2019ではStadia Streaming Tech: A Deep DiveというセッションでStadiaのストリーミング技術や遅延に対する対策などの技術を紹介しています。 このセッションも動画が公開されています。 ゲームGPU搭載したサーバで実行してクラウド上で実行してストリーミングするサービスはこれまでいくつもありましたが、Stadiaならではの部分などを判断するのによさそ

    Stadiaのリアルタイムストリーミングを実現する技術(Google I/O 2019の発表まとめ) - Qiita
    nurse
    nurse 2019/05/18
  • Kubernetes上のマイクロサービスを分散トレースする - Qiita

    TL;DR; 分散トレーシングシステムの4要素を理解する 分散トレーシングシステムの「バックエンド」と「それ以外」は分けて選択してもいい 一例として、分散トレーシングシステムのバックエンドとしてDatadog APM、クライアントライブラリとしてOpenTracing Tracer、PropagationフォーマットとしてB3、SpanフォーマットとしてZipkin v1を採用すると楽 アプリの設定例だけ知りたい方はここから読んでください 何がうれしいの? Zipkinの運用保守 枯れてないトレーサのバグや機能不足という悩み ログ・メトリクス・トレースそれぞれ別のサービスに見に行く手間 などから解放されます。 分散トレースといったらZipkinなんでしょ? そんなことはありません。 実際、Zipkinをデプロイせずに、Zipkin以外のサービスにZipkinトレースを集約・閲覧することがで

    Kubernetes上のマイクロサービスを分散トレースする - Qiita
  • トレジャーデータとは?入門編 - Qiita

    自社が管理している各Dataと他社が管理しているDataを統合して1つのDBにできる(シームレス化) そのDBを使って施策を行なう(広告配信/各種マーケティング/分析) テクノロジー/サービス(広告効果測定ツール/Webアナリティクス/SNS/機械学習 他多数)を使ってプラットフォーム構築/施策実行を行なう TREASURE DATAの活用図 自社が管理している多種大量のデータをリアルタイムでTREASURE DATAに送る 自社保有していない2nd、3rd PartyデータをIDをキーにTREASURE DATAに送る 「1」「2」のデータを統合/分析/セグメンテーションをかける それらを元に「広告配信」「各種マーケティング」「分析/レポーティング」サービスを使って施策を行なう 4つの新機能 TREASURE GLOBAL ID 共通IDでドメイン/ブラウザ/クロスデバイス/オフライン等

    トレジャーデータとは?入門編 - Qiita
    nurse
    nurse 2019/04/16
  • Azure Data Lake Analytics(U-SQL) とその他類似環境を比較する - Qiita

    トランザクション料金 以下のように観点が異なるので、直接は比較しずらいところです。 ADLA $2/時間 (AU単位) -> $ 0.033/分AU 0.00055/秒AU Athena, BigQuery: $5 / TB (スキャン量) RedShift: dc2.large 1台辺り $0.314 / hour -> $ 0.0052/分 , $0.000087/秒 データフォーマット ADLSにHDInsightからアクセスできたり、ADLAからAzure SQLなどへのアクセスがありますが、ADLAが直接アクセスできるファイルはCSV/TSVがメインになるようです。サードパーティーが提供するアセンブリを追加すると、OutputterやExtractorを拡張できるので一応できなくは無いという程度です。 elastacloud/parquet-usql Querying Multi

    Azure Data Lake Analytics(U-SQL) とその他類似環境を比較する - Qiita
    nurse
    nurse 2019/04/03
  • Gitはどうやってテキストファイルとバイナリファイルを自動識別しているのか? - Qiita

    tl;dr 先頭 8000 バイト以内に NUL が有ったらバイナリファイル。 Gitの実装 Gitの内蔵diffは FIRST_FEW_BYTES だけ検索するようになっている。 https://github.com/git/git/blob/6e0cc6776106079ed4efa0cc9abace4107657abf/xdiff-interface.c#L187 #define FIRST_FEW_BYTES 8000 int buffer_is_binary(const char *ptr, unsigned long size) { if (FIRST_FEW_BYTES < size) size = FIRST_FEW_BYTES; return !!memchr(ptr, 0, size); }

    Gitはどうやってテキストファイルとバイナリファイルを自動識別しているのか? - Qiita
    nurse
    nurse 2019/03/30
  • Javascriptで正規分布の実装まとめ(乱数、累積分布関数など)

    Javascriptで正規分布の 乱数発生(rnorm)、確率密度関数(dnorm)、累積分布関数(pnorm)、累積分布の逆関数(qnorm) を実装する(逆関数は参照で)。すべて標準正規分布を想定。 Javascriptに限らず使えるアルゴリズムだが、日語でまとまっている情報があまりないのと、ブラウザ上でA/Bテストなど有意性をみる検定などできたら面白いということでJSでやってみる。 正規乱数の生成(rnorm) 1行でBox-Muller法で。 Box-Muller法とは?

    Javascriptで正規分布の実装まとめ(乱数、累積分布関数など)
    nurse
    nurse 2019/03/22
  • 量子コンピュータエンジニア始めて5年が経った - Qiita

    はじめに もともとふつうのベンチャーでしたが、2014年に量子コンピュータにピボットしてからはすくすく会社が育ち、向いてることをするのは大事だなと感じてます。 Qiitaはポエムを書かないといけないらしい(多分)ので。おそらく日初の量子コンピュータベンチャーとしてまず五年目までに気づいたことを書いてみます。 もともとはデザイン会社 もともとうちの会社はデザイン会社でした。出身が建築事務所だったので、そのまま2009年に独立してデザインをしてました。建築時代はphotoshop+autocadを使っていました。イラレはいまだに苦手です。 前の建築事務所は隈研吾建築事務所というところで、青山の美術館の設計や中国のアリババの社屋のコンペなどを主にしていました。 建築は当時CGパースも仕事がたくさんありましたので、CGのモデリングやレンダリングをやりながら当初は生計を立てていました。ただ、リーマ

    量子コンピュータエンジニア始めて5年が経った - Qiita
    nurse
    nurse 2019/03/10
  • タスクスケジューラ用のsysctlパラメタ - Qiita

    はじめに 記事はLinux Advent Calendar 2015 19日目用に書きました。タスクスケジューラに関するsysctlパラメタについての解説をしています。取り扱ったのは全パラメタではなく、使用頻度が比較的高そうなものだけです。調査に使用したカーネルのバージョンは4.4-rc5です。 Completely Fair Scheduler(CFS)に関するsysctlパラメタ linux上の各タスクにはスケジューリングポリシー(以下ポリシーと記載)というものを設定できます。通常のタスクはデフォルトSCHED_OTHERというポリシーを使います。このポリシーを使うタスクのスケジューリングにはCFSというスケジューラを使います。ここではCFSに関するsysctlパラメタを紹介します。 スケジューリングポリシーの詳細についてはman 2 sched_{get,set}scheduler

    タスクスケジューラ用のsysctlパラメタ - Qiita
    nurse
    nurse 2019/03/06