タグ

programmingに関するn-karasuのブックマーク (19)

  • 富士通の撤退する「メインフレーム」ってそもそも何?

    はじめに 富士通がついに2030年にメインフレーム市場から撤退し、66年の歴史に幕を閉じるという話が出てきました。 富士通といえば国産大型コンピュータの先駆けであり、IBM互換機を作って巨人IBMにらいついたベンダーでもあります。そんなわけで中々に歴史の転換点を感じる話題ではあるのですが 「ところでメインフレームって何? 」 という方も多いでしょう。という分けで名前は聞いたことがるけど実態が良く知らない「メインフレーム」 に関して少しだけ解説をする動画を作りました。 この記事は動画では話しきれなかった事も含めて、もう少し深堀した解説をしていきたいと思います。ちょっと長くなりましたが、前半が歴史の話で後半がアーキテクチャの話になるので好きな所にジャンプして読んでみてください。 メインフレーム? 汎用機? ホスト? メインフレームは他にも汎用機とかホスト機と呼ばれることもありますよね。Wik

    富士通の撤退する「メインフレーム」ってそもそも何?
  • 電源を切っても消えないメモリとの付き合い方

    メモリのように書けて永続化される次世代ストレージデバイスNVDIMMの扱い方を解説します これは2019年10月19日に行われる予定だった カーネル/VM探検隊@北陸 5回目(台風の影響で中止) での発表資料です サンプルコード: https://github.com/Fadis/kernelvm_20191019_samples

    電源を切っても消えないメモリとの付き合い方
  • 大量のテキストからランダムに少数の行を抽出したい - Reservoir Sampling - 唯物是真 @Scaled_Wurm

    前に以下のような記事を書きましたが、大量のテキストではうまくいかなかったので新たに書きました ファイルからランダムにN行取り出す(shufコマンド) - 唯物是真 @Scaled_Wurm 上の記事ではテキストをランダムに\(k\)行取り出したい時"shuf -n k"コマンドでランダムにシャッフルした\(k\)行を取り出していました ところが非常に大きなテキストファイルに対して上のコマンドを実行すると、一度にデータを全部メモリに読み込み始めているのか、すごい勢いでメモリを消費していきました(sort -Rでも) そこでメモリをあまり使わずにランダムに\(k\)行取り出す方法について調べました まず基的な非復元抽出のアルゴリズムは以下の記事の発展手法とか追記のあたりの話がわかりやすいと思います 非復元抽出の高速かつ実装が簡単な方法を考える - 睡眠不足?! この記事の話も一度全部の要素を

    大量のテキストからランダムに少数の行を抽出したい - Reservoir Sampling - 唯物是真 @Scaled_Wurm
  • ぼくたちのかんがえたさいきょうのi18n国家

    記事は下記のtweetから始まるスレッドに触発され、@qnighyや@na4zagin3からアイディアを拝借して書いた。 i18n力が最強の国は国内に複数の言語があり、そのうちいくつかは他国でも使われている言語の方言で、1バイト文字での代替表記が困難で、歴史的にISO-2022ベースの文字コードとUnicodeと独自エンコーディングが混在していて、フリガナなどの特殊な組版規則があり、右書き左書き縦書きを併用し、 — Masaki Hara (@qnighy) 2018年8月6日 皆さんのおかげで最強のi18n国家が建設されつつある。一瞬で滅びそう — Masaki Hara (@qnighy) 2018年8月6日 長い前置き ソフトウェアのi18nは難しい。自文化では当たり前と思っていてハードコードしてしまった仮定が崩れて、大幅な再設計を余儀なくされるからだ。気づいて再設計できればまだ良

    ぼくたちのかんがえたさいきょうのi18n国家
  • お天気プロコンと圧縮アルゴリズムについて - 兼雑記

    https://beta.atcoder.jp/contests/wn2017_1/standings むっちゃ僅差で2位。残念。この212点差がどのくらい僅差かというと、最後にいじってたところにもう2行変更を入れることを思いつけていれば、軽く2000点は差がついて勝ててたと思いますし、そうでなくても後30分もあれば実装できた細かいヘッダの圧縮で逆転できた量です。自分に悔しがる気持ちというのがこれほど残ってたのか、と驚くほど悔しいです。でも勉強になったし楽しかったです。 やったことを書きつつ、そもそも圧縮アルゴリズムについて、私としては感動的だった知見を得られたので、書いてみようかと思います。 今回のコンテストは、チャンネル1つの(RGBじゃなくてグレースケールだと思えば良い)画像を64枚を可逆圧縮するというものでした。その64枚の画像は同じ座標について光の波長と時間を変えて気象衛星が観測

    お天気プロコンと圧縮アルゴリズムについて - 兼雑記
  • Rustマクロの衛生性はどのように実現されているか(1/2) 識別子に関する衛生性 - 簡潔なQ

    概要: Rustマクロは2つの意味で衛生的である。その衛生性の説明とともに、それを実現するためのコンパイラの仕組みを説明する。 Rustマクロの2つの衛生性 Rustマクロ (ja) は次の2つの意味で衛生的(hygienic; 健全ともいう)である。 マクロ内で導入される変数名と、マクロ呼び出し側の変数名が衝突しない。(Lispマクロの意味での衛生性) 構文の優先順位の違いによる非直感的な挙動が発生しない。 この記事では、識別子に関する衛生性を説明する。(構文の優先度に関する衛生性については次記事を参照) 識別子に関する衛生性とは 次のようなプログラムが直感的な動作をするのが、識別子に関する衛生性である。 macro_rules! copy_swap { ($x:expr, $y:expr) => {{ let t = $x; $x = $y; $y = t; }}; } fn main

    Rustマクロの衛生性はどのように実現されているか(1/2) 識別子に関する衛生性 - 簡潔なQ
  • 【翻訳】あなたが求めていたリアクティブプログラミング入門 - ninjinkun's diary

    original: The introduction to Reactive Programming you've been missing (by @andrestaltz) (translated by @ninjinkun, reviewed by @ma0e) あなたはリアクティブプログラミングと呼ばれる新しい方法が気になっている。 勉強するのは大変で、良い教材がないのでさらに難しい。私が勉強を始めたときは、まずチュートリアルを探した。見つけたのは一握りの実践的なガイドだけ、しかもそれらは表面をなぞっているだけで、リアクティブプログラミングのアーキテクチャ全体像を構築しようとしてはいなかった。ある関数を理解するのに、ライブラリのドキュメントは役に立たないことがある。 これを見て欲しい。 Rx.Observable.prototype.flatMapLatest(selector,

    【翻訳】あなたが求めていたリアクティブプログラミング入門 - ninjinkun's diary
  • 出、出~~wwwww銀行員待行列解説奴~wwwwwww - モナドとわたしとコモナド

    銀行員待行列(Banker's deque)、二つのリストで構成奴~~wwwww 入奴と出奴~wwwwwwwww ↓入奴 三(^o^)ノ [(^o^)ノ, (^o^)ノ, (^o^)ノ] ヽ(^o^)三 [ヽ(^o^), ヽ(^o^), ヽ(^o^)] ↑出奴 追加は入奴にcons、取り出しは出奴にuncons奴~wwwリストなので基定数時間奴~wwwwww リスト枯渇防止の為、リストの長さに以下の条件課奴~~~wwwwww length (入奴) <= length (出奴) * 3 + 1 length (出奴) <= length (入奴) * 3 + 1 条件充足不能場合、|length (入奴) - length (出奴)| <= 1なるよう余剰分反転後短い側の末尾に結合して調整奴~wwwww時間計算量O(length (入奴) + length (出奴))必要~~~~wwww

  • kaiyun·体育全站APP下载

    <div class="head_lan"> <a href="#" class="btn-lang">中/EN</a> <div class="item language"> <a href="/">中文</a><a href="http://en.sdshifeng.com/">EN</a> </div> </div> <div class="head_ser"> <form name="topSearchForm" id="topSearchForm" action="/site/quan-zhan-sou-suo.htm" method="post"> <a href="javascript:document.topSearchForm.submit();" class="btn-search"><i class="ico"></i></a> <div class="search

  • C言語でのUTF-8文字列の正確な長さを取得する

    苗字や地名の異体字や国旗、色違いの絵文字など、複数のコードポイントで構成される書記素クラスターを考慮する必要がある場合、ICU の BreakIterator を使います。書記素クラスターに対応していない文字列関数を使うと、知らないうちに書記素クラスターを壊してしまうおそれがあります。 Twitter のようにコードポイント単位で短い文字数制限をかける場合、ヒンドゥー語やチベット語など、結合文字を多用するアジア諸国の言語のユーザーにとって、使い勝手がわるくなる可能性があることも配慮する必要があります。 漢字の異体字をあらわすには基底字の次に異体字セレクターや Standardized Variant を続けます。葛飾区の「かつ」は <U+845B U+E0101> であらわすことができます。国旗は2文字の国コードを該当するコードポイントであらわします。日の国コードである JP は <U+

    C言語でのUTF-8文字列の正確な長さを取得する
  • 第15回 型からプログラムを当てる

    前回,'a * 'b -> 'b * 'aといったMLの型は,「AかつBならばBかつA」といった命題に対応する,という話をした。命題が成り立つことは,そのような型を持つ式が存在することに対応するのだった(ただし例外などの副作用や無限ループ,組み込み関数やライブラリ関数などは使用しないとする。以下同様)。 前回の繰り返しになるが,'a * 'b -> 'b * 'aは,「任意の型'aと'bについて,'a型の値と'b型の値の組を受け取り,'b型の値と'a型の値の組を返す」という関数の型だ。そのような型を持つ式としては,例えば以下のような関数が存在した。

    第15回 型からプログラムを当てる
  • Writing High-Performance Software by Arvid Norberg

    The document discusses techniques for writing high-performance software, focusing on optimizing memory access and reducing context switching. It covers CPU memory hierarchies, data structures, and socket programming. Some key points include organizing data sequentially in memory to improve cache hits, batching work to amortize context switching costs, and using asynchronous I/O to avoid blocking t

    Writing High-Performance Software by Arvid Norberg
  • BitTorrent: ソフトェアのパフォーマンス改善のポイント - ワザノバ | wazanova

    http://www.youtube.com/watch?v=fwgJNJJalL4 2 comments | 1 point | by WazanovaNews ■ comment by Jshiike | 約4時間前 BitTorrentのChief ArchitectのArvid Norbergが、最近のコンピュータの内部構造を考慮したソフトウェアのパフォーマンス改善のポイントについて語っています。 CPUからメモリへのアクセスは、データがDRAMにあると、レジスタの場合と比較して約60倍の時間がかかる。 CPUはメモリを待ち受けしているだけでも、プロファイラーは100%使用でビジーと表示してしまう。 キャッシュの成否の影響は大きい。CPUは、メモリへのアクセスパターンが一定(予想可能)であれば、メモリをprefetchするのでキャッシュが確実にできる。他のところを参照しにいってパ

  • 2048-AI コンテスト 第二回 - /dev/nona (いっと☆わーくす!)

    2048 AI コンテストの第二回があった。 今回の私の出場した際のソースコードはこれ です。 今回は三位でした。 前回の時と比べて、かなりの高速化を図れたので、10手読みまで行くことが可能となった(前回は6手読みだった)。 Grid を前回はstd::array<std::array<int, 4>, 4> だったが、64bit int 一つで16個のGrid を表わすようにして、色々な操作を謎のbit 演算にすることでかなり高速になった。 謎のbit 演算が沢山でてきて辛かったので、Google Test も導入した。 10手まで読めるようになったことによって、4096 まで作れるようになった。 まだ100〜1000回に一回程度しか8192 を作ってくれない。 GA も実装しないと。 ref 2048AIコンテスト 第2回 - KMC活動ブログ http://kmc.hatenablo

    2048-AI コンテスト 第二回 - /dev/nona (いっと☆わーくす!)
  • 2048のAIを書かなかった話。あるいは遺伝的プログラミングの話 - isEOL(@Angelworm_)

    序 KMCでは2048のAIを作って戦わせるコンテストである「第一回2048AIコンテスト 結果報告 - KMC活動ブログ」が開催たそうですね。これを見て2048AIを私も作ってみたくなりました。 ところで、ボードゲーム上でAIとはおおよそ「勝率が最も高まる手を現在の状況を元に出力する」ものだと思います。チェスなどのゲームに置いて有名な「ミニマックス法」などは相手が最も自分に取って都合が悪い選択をして、自分が最高の選択をし続けた場合一番最初に選ぶべき最高の手を出力するアルゴリズムです。 このような次におこる状況を予測して手を決定するアルゴリズムは、探索アルゴリズムなんて呼ばれたりしています。 探索アルゴリズムを利用する上で大事なのは、読みの深さと評価関数の良さです。読みの深さとは、言葉の通りゲームの状況を何手先まで読む事が出来るかを表し、深ければ深いほどより大局的な戦い方が出来るようになる

    2048のAIを書かなかった話。あるいは遺伝的プログラミングの話 - isEOL(@Angelworm_)
  • はてなブログチームの開発フローとGitHub

    6/1 github kaigi

    はてなブログチームの開発フローとGitHub
  • クラス拡張とカテゴリの違いの話。 - なるようになるかも

    常々「クラス拡張をカテゴリってゆーな」って思ってるんだけど、「無名カテゴリ」自体は公式の呼称なんだよね。 [Objective-C] クラス拡張と無名カテゴリ - Qiita Objective-Cのクラス・カテゴリ・クラス拡張の整理 - $ cat /var/log/shin クラス拡張は、無名のカテゴリに似ています。が、別物です。一番の違いは、インスタンス変数を宣言できることと、宣言したメソッドはクラス体の(=カテゴリ無しの)@implementationで実装しなければならない点です。 クラス拡張とカテゴリの一番の違いは、「クラス拡張はクラス実装と共にランタイムにロードされることが保証される」ことだと思います。 文脈として、もともとobj-c 2.0以前にはクラス拡張がなく、またメソッドのプロトタイプ宣言が必須だったこともあり、「外部に公開したくないメソッド宣言はプライベートなカテ

    クラス拡張とカテゴリの違いの話。 - なるようになるかも
    n-karasu
    n-karasu 2014/02/23
    “でも、「クラス延長カテゴリ」は流石にないわー…。 ”
  • スレッドセーフという幻想と現実 - yohhoyの日記(別館)

    この記事はC++ Advent Calendar 2013の15日目にエントリしています。 内容はC++標準ライブラリとスレッドセーフに関する解説になります。 flickr / rennasverden もくじ What's スレッドセーフ? スレッドセーフという幻想 基型とデータ競合 C++標準ライブラリとデータ競合 C++標準ライブラリ:シーケンスコンテナ編 C++標準ライブラリ:連想コンテナ編 スレッドセーフ RELOADED 基的なスレッドセーフ保証 std::shared_ptr<T> std::rand() std::cout (文のみ約9000字) はじめに マルチスレッド対応の点では他言語に遅れを取っていたプログラミング言語C++ですが、C++11ではようやく標準ライブラリにスレッドサポートが追加されました。C++11スレッドサポートではスレッドクラスstd::thr

    スレッドセーフという幻想と現実 - yohhoyの日記(別館)
  • Xcodeプロジェクト内のクラスの依存関係を図示する - Qiita

    他人から引き継いだプロジェクトの大まかな全体設計を把握したい場合、規模の大きいライブラリの一部だけ取り出して使用したい場合、複雑になってしまったコードをリファクタリングしたい場合等、プロジェクト内のクラスの依存関係が一望できると有益な場面は多いのではないでしょうか。 objc_depというスクリプトを用いると、下記のように、Xcodeプロジェクト内のクラスの依存関係を示す図をコマンド一発で生成することができます。 このスクリプトの使い方、生成される図の見方等を紹介します。 スクリプトの実行方法 次のURLからダウンロードしてきて解凍すると、objc_dep.py というファイルが入っています。 https://github.com/nst/objc_dep そのスクリプトを適当な場所に置き、ターミナルから次のように実行します。 というコマンドになります。 依存関係図を表示 出力される.do

    Xcodeプロジェクト内のクラスの依存関係を図示する - Qiita
  • 1