KOTET'S
PERSONAL
BLOG

Tech

「技術」という非常に大きな分野のタグ。 基本的にコンピュータに関すること。

#dlang DとCのインターフェース:配列 Part 1【翻訳】

#dlang #tech #translation #d_blog #d_and_c #advent_calendar

これは Interfacing D with C: Arrays Part 1 – The D Blog を 許可を得て 翻訳した D言語 Advent Calendar 2018 - Qiita 15日目の記事です。 誤訳等あれば気軽に Pull requestを投げてください。 この

#dlang シクシク素数列 D言語編

#dlang #tech #advent_calendar

シクシク素数列 Advent Calendar 2018 #Qiita https://t.co/sgiUB4S5dE 言語がかぶらないように同一ルールで実装するだけのAdC。まだ空き枠があるのでぜひ。今ならPHP、Perl、D言語、H

#dlang 君もDでx86_64向けCコンパイラを書こう

#dlang #tech #advent-calendar

これは、強い人が多すぎてもはやCコンパイラ書いた程度では面白味がない気がしてくる D言語 Advent Calendar 2018 11日目の記事です。 この記事の対象読者は過去の自

#dlang 2つの「コンパイル時」【翻訳】

#dlang #tech #translation #d_wiki #advent_calendar

これは User:Quickfur/Compile-time vs. compile-time - D Wiki を翻訳した D言語 Advent Calendar 2018 5日目の記事です。 この記事は原文と同じGNU Free Documentation Licenseで公開されます。 誤訳等あれば気軽に Pull r

#tech N分木と配列について

#tech

2分木が配列に格納できるというのは有名だ。 たとえば以下の完全二分木のノード番号をそのまま配列のインデックスにする。 すると$x$番目の要素の子

#java Arch Linuxでjavacをインストールする

#java #linux #tech

少し詰まったのでメモ。 講義でJavaを書くので、自分のラップトップにも開発環境を構築しようと思った。 しかしArch Linuxにおいては、 ただパッケージをインストールするだけではjavac、javap等のツールが使用できない。

#tech ディレクトリを日付で管理するためのBash関数を作った

#tech

大学の演習ではいろいろなことをする。 そのたびに新しいファイルが作られる。 それらすべてをホームディレクトリ直下に置くとカオスなことになる。 自分はあるていどディレクトリを分けて整理しようとしているが、それでもなかなか雑然としていて、 たぶん過去の特定のファイルを探し出すことは難しい。

#ipfs体験記 19:ipfs filesコマンドでディレクトリを構築する

#ipfs体験記 #ipfs #tech

ipfs filesコマンドの使い方を理解したので書く。 これはIPFS上のディレクトリ構造の編集を支援するためのコマンドである。

#linux iPhoneが再接続できないときの対症療法

#linux #tech

古すぎず、新しすぎでもないPCにはUSBポートが当然のようについているものだ。 自分のほぼLinux機としてしか使っていないDELL XPS 13 (9360)にもUSBポートが2つついている。

#hugo 古い記事に警告を表示する

#hugo #tech

このブログには2016年から書いている様々な記事を集めている。 なかには必要な前提知識が不足した状態で手探りのまま書いた記事や、 具合が悪くて精

#ipfs体験記 18:CloudflareがIPFSゲートウェイとホスティング支援サービスを提供

#ipfs体験記 #log #tech

Cloudflare がIPFSゲートウェイを公開したようだ。この機会に自分のIPFSパブリックゲートウェイの使い方について書く。

#ipfs体験記 17:普通のファイルシステムのようにIPFSで読み書き

#ipfs体験記 #ipfs #tech #log

ipfs mount というコマンドがある。 FUSE を使って IPFS を通常のファイルシステムとしてマウントできる。 ただし、以下に書かれているようにこれはあくまで読み込み専用であり、 これを使って IPFS になにか働きかけたりはできない。……と思っていた。

#log Kotet SVG化計画

#log #tech

前々から自分のアイコンを SVG にしたいと思っていた。 今日、おもむろに Inkscape を起動して絵を書き、生成された SVG を手で非可逆圧縮した。 それが以下の画像だ。

#dlang DMD 2.082.0 Released【翻訳】

#dlang #tech #translation #d_blog

週末、DMD 2.082.0 がリリースされました。 このリリースには歓迎すべきツールチェインの改善を含む28の主要な変更と、 76の Bugzilla issues のクローズが含まれます。

#log 完備辞書と気分の上下

#log #dlang #tech

完備辞書とはなにか 完備辞書というものがある。 詳細な解説は他のサイト や 書籍 を参照してほしいが、簡単にいうとビット列に対する操作が高速、 かつ省メ

#log kotet.jp ドメインを取得した

#log #hugo #tech

経緯 大量の記事とテンプレートのおかげで、最近サイトの生成が遅くなっていた。 その遅さが編集に差し障るレベルになりつつあったので、そろそろJek

#webdesign 非デザイナーによる非デザイナーのための短期集中Webデザイン講座【翻訳】

#webdesign #tech #translation

先に言っておくと、私はプロのデザイナーではありません。 ですが、私はかわいいものを作るのが好きで、いろいろと作ってきました。 多くのデベロッパーはデザインに悩まされているので、 私はサイトのビジュアルを改善するためのヒントを実演しつつ書きたいと思います。 ルールは破られるためにあるものですが、優れたウェブサイトを簡単に作りたいときには、 役に立ついくつかのルールがあります!

#tech 紙とペンでビットマップ画像を生成してbase64としてツイート

#tech

文名は容易に揚らず、生活リズムは日を逐うて崩れてゆく。 Kotetは漸く焦躁に駆られて来た。 この頃からその容貌も峭刻となり、肉落ち骨秀で、眼光

#dlang 標準ライブラリの to で配列を変換する

#dlang #tech

D言語にはstd.conv.toという便利な関数がある。 これは配列の型も変換できるのだが、いままでうまく使えなくて毎回.map!(to!lo

#dlang dppでCのヘッダファイルを自動変換

#dlang #tech #log

dpp というパッケージが登場し、使った人の好意的な声をよく聞くようになった。 自分はいまのところ C と連携するようなプログラムを書く予定はないが、 興

#ipfs体験記 16:fs-repo-migrationsをつかった最新版への移行

#ipfs体験記 #ipfs #tech

IPFSを動かし続けているとバージョンアップに伴いリポジトリの移行が必要になる。 今回はそれを初めてやることになったので記録する。 いきさつ ノー

#dlang Dで書くクワイン・マクラスキー法

#dlang #tech #log

先日大学でクワイン・マクラスキー法(Quine-McCluskey algorithm)を習った。 簡単にプログラムに落とし込めそうでテンション

#ipfs 非中央集権静的Gitホスティング

#ipfs #tech

GitHubがMSに買収されたとかでなにやら騒がしいが、Gitリポジトリをホスティングするだけなら方法はいっぱいある。 最近IPFSの記事を書

#russian Th(x)ってなんだ

#russian #deeplearning #tech

先日ロシアから来たという准教授のトークを聞いた。 機械学習とデータマイニングについてのトークで、英語スキルの乏しい自分は何を話しているのか追い

#regexp 同じ文字の繰り返しが3回続く単語にマッチする正規表現

#regexp #tech #log

内向けの記事を書く。 正規表現の問題の解説記事である。 解説記事と言いつつ複数の解を提示してしかも結局どれも正解ではないというとんでもない結論に

#dlang KotetのD言語作業環境2018年春

#dlang #tech #log

一部に需要があるみたいなので、この機会に自分とD言語をつなぐ作業環境について記録しておく。 OS Arch Linuxである。 据え置きのPCもあるがノート

#jekyll GitHub Pagesでも目次(ToC)は作れる

#jekyll #tech #github

スクロールがめんどくさくなってきたので目次(Table of Contents: ToC)を設置しようと思った。 しかしGitHub Pagesでは新しいプラグインの導

#dlang D言語のビジョン2018年前半期【翻訳】

#dlang #d_wiki #tech #translation

このドキュメントではDの高レベルなビジョンについて2学期制的粒度で論じます。 これは毎年1月と7月にリリースされます。 ここで示された目標はあくまでDのリーダーシップが取り組んでいることであり、明示的に促進されるもの、もしくはD言語の成功にとって重要だと強く信じられているものです。 他の形での貢献も常に受け入れられ、このドキュメントに合わせる必要はありません。

#dlang LDC 1.8.0 Released【翻訳】

#dlang #tech #translation #d_blog

Co-maintainerのDavid NadlingerがDConf 2013のトークで話したように、 LDC、LLVMバックエンドを使ったD言語コンパイラはここ十数年活発に開発されてきました。 GCCバックエンドを使いGCCへ追加された GDCと合わせてDの2大プロダクションコンパイラだと考えられています。

#dlang DCompute:GPU上で走るD【翻訳】

#dlang #tech #translation #d_blog

これはDComputeの2つ目の記事です。 前回の記事では、DComputeの発展と小さな例を扱いました。 カーネルをビルドすることには成功しましたが、それを既存のフレームワークや自力で簡単に実行する方法はありませんでした。 しかし今はそんなことはありません。

#dlang DCompute:ネイティブDによるOpenCLやCUDAのGPGPU【翻訳】

#dlang #tech #translation #d_blog

DComputeはGPUやその他アクセラレータを使う計算集約型コードのためにOpenCLやCUDA用のネイティブカーネルをDで書くことをサポートするフレームワークでありコンパイラ拡張です。

#dlang DMD 2.079.0 Released【翻訳】

#dlang #tech #translation #d_blog

D言語財団はDプログラミング言語のリファレンスコンパイラ、DMDのバージョン2.079.0をアナウンスします。

#dlang プログラムの城を粉々にしてしまうバグを永久に克服する【翻訳】

#dlang #tech #translation #d_blog

簡単に発生し、チェックが難しく、たいていテストにも引っかからず、 デプロイされるとあなたの城を粉砕する、 そんなバグに苦労したことはありませんか? そういうバグはあなたの時間と金銭を何度も奪ってゆきます。 自分がもっと優れたプログラマならこんなことは起こらないのに、そうでしょう?

#ipfs体験記 15:ipfs mount

#ipfs体験記 #ipfs #tech

実に1ヶ月ぶりの投稿になる。 今回はipfs mountというコマンドを試してみたのだが、あまり便利には思えなかった。 ipfs mount このコマンドは、IPF

#ipfs体験記 14:IPFSとDocker

#ipfs体験記 #ipfs #tech

go-ipfsはdockerコンテナを提供している。 たとえば以下のようにコマンド一つでIPFSデーモンが動かせる。

#tech ネットワーク遅延と光速度【翻訳】

#tech #translation

この短い投稿で私は、現代のネットワーク(インターネット)のレイテンシが既に今の物理学上で可能な限界にかなり近く、勇敢な市民の行動と今後予測可能な範囲で普通のインターネットには使われそうにないネットワークエンジニアリングへの膨大な投資をもってしても2倍程度にしかならないため、今後も変わらないということを納得してもらうよう試みます。

#dlang DMD 2.078.0 Has Been Released【翻訳】

#dlang #tech #translation #d_blog

DMDのメジャーリリース、2.078.0が新年にパッケージされ、提供されていました。 完全なチェンジログはdlang.orgで見ることができ、あなたのプラットフォーム向けのコンパイラがメインダウンロードページか2.078.0 リリースディレクトリからダウンロードできます。

#dlang Dの新しい名前修飾【抄訳】

#dlang #tech #translation #d_blog

D言語の短期的な設計目標の一つにCとのインターフェース能力があります。 その目標のために、Cの標準ライブラリへのアクセスを可能にし、CやC++コンパイラが使うのと同じオブジェクトファイルフォーマットとシステムリンカを使うABI互換を提供しています。

#jekyll 記事の編集履歴、PR作成、ソース表示 in GitHub Pages 2018

#jekyll #tech #github

以前書いた記事 のJekyllテンプレートが動かなくなっていた。現在でも使えるように書き換えていく。

#ipfs体験記 13:非中央集権型ウェブ魚拓

#ipfs体験記 #ipfs #tech

IPFSでウェブページのアーカイブをするツールが複数存在する。 アーカイブのIPFSハッシュが公開されていれば、それを保持してくれているノードがいるかぎり誰にも削除できない。 今回は簡単に魚拓やスクショを公開するツールを紹介していく。

#jekyll 超軽量、IPFS対応レスポンシブJekyll theme ”ultralight”を作った

#jekyll #ipfs #tech

CNNの低帯域の人向けのテキストオンリーのサイトlite.cnn.ioを見た。 とても軽い。 しかしニュースを快適に閲覧するための要素はすべて満たしており、むしろ色々くっついたオリジナルのCNNよりも見やすいかもしれないと思った。

#ipfs体験記 12:ブラウザ拡張のDNSLINKサポート

#ipfs体験記 #ipfs #tech

IPFSのブラウザ拡張について書いた以前の記事 には理解できなかったものが抜けている。 ipfs体験記12回めのこの記事ではその中のDNSLINK Supportという項目を理解できたので書く。

#ipfs体験記 11:IPFSによる分散型SoundCloud

#ipfs体験記 #ipfs #tech

今まで前回、次回の記事に手動でリンクを貼っていたが、記事を投稿するたびに複数のファイルを編集しなければならないのがめんどくさいのでやめる。

#ipfs IPFS体験記10: `pacman -S go-ipfs`

#ipfs #tech #ipfs体験記

いままでUbuntuを使っていたのだが、Manjaro Linuxに乗り換えて、こうして記事がかけるところまで環境構築ができた。

#dlangman Deep Neural D-man

#dlangman #python #deeplearning #tech #advent_calendar

D言語くん Advent Calendar 2017 11日めの記事。空いていたので登録した。ところでDeepAAというものがある。これはD言語くんと組み合わせねばなるまい。

#dlang DとCのインターフェース:入門編【翻訳】

#dlang #tech #translation #d_and_c #d_blog #advent_calendar

D言語の短期的な設計目標の一つにCとのインターフェース能力があります。 その目標のために、Cの標準ライブラリへのアクセスを可能にし、CやC++コンパイラが使うのと同じオブジェクトファイルフォーマットとシステムリンカを使うABI互換を提供しています。

#dlang インストールスクリプトの使い方

#dlang #tech #advent_calendar

今日は12月7日だが、空いていたのでD言語 Advent Calendar 2017 2日目に参加する。D言語のダウンロードページにあるインストールスクリプトが、バージョン指定など思いの外多機能で便利だということに今更気がついた。 ただ--helpを日本語化しただけではあるが、使い方と、実際に使った結果をまとめておく。

#dlang マイナス時間で完了するfizzbuzz

#dlang #tech #advent_calendar

"D言語なら、この程度の処理はマイナス時間で完了する。コンパイル時にメッセージまで出力し、プログラムが開始する前に全てを終わらせられるのだ。"

#dlang DMDとDUBをソースからインストールする

#dlang #log #tech #advent_calendar

最近D言語を書いていない。というかプログラミングらしいことをしていない。さらに今使っているコンピュータにはDMDがインストールされてすらいない。

#dlang 「どれかと等しい」を簡潔に書く

#dlang #tech #log

`a == b || a == c || a == d || a == e`のような同じ値に対して何度も同値比較をするコードを簡潔に書く方法を学んだので日記を兼ねて書く。

#ipfs IPFS体験記9:Wikipediaミラープロジェクト

#ipfs #tech #ipfs体験記

IPFS上にWikipediaを構築することにより政府がWikipediaをブロックするのを妨害するというプロジェクトがある。今回はそれに参加してみる。

#ipfs IPFS体験記8:IPFS網漁

#ipfs #tech #ipfs体験記

IPFSのハッシュを自動的に収集できるのではないかということに気がついた。スイカネットを流れるデータを拾って集める横浜駅SFのワンシーンを思い出してテンションが上がった。

#blockchain_train_journal IPFSを理解する【翻訳】

#blockchain_train_journal #tech #translation #ipfs

この記事はBlockchain train journalの3本目の記事です。まずこちらから読み始めましょう:

#jekyll ニコニコ動画のプレーヤーを埋め込むJekyllテンプレート

#jekyll #tech

ニコニコ動画のプレーヤー等の埋め込みコードがようやく、ようやくHTTPSに対応した。ので、早速埋め込んでみる。

#blockchain_train_journal 非中央集権型ストレージシステムを選ぶ【翻訳】

#blockchain_train_journal #tech #translation #ipfs

この記事はBlockchain train journalのパート2です、こちらから読み始めましょう:

#dlang DMD 2.077.0 Released【翻訳】

#dlang #tech #translation #d_blog

D FoundationはDMD 2.077.0を発表しました。 このDプログラミング言語のリファレンスコンパイラの最新のリリースはdlang.orgのダウンロードページから利用できます。

#blockchain_train_journal まだ間に合うブロックチェーン【翻訳】

#blockchain_train_journal #tech #translation #bitcoin

これはブロックチェーンの列車に(ほとんど)乗り遅れてしまったテッキーのためのブログです。うむ、the blockchain train って良いですね、歌を書かなければ!

#tech コマンド終了時に毎回音を鳴らす

#tech

見てるのは時間の無駄だけど放置するほど長くはない処理のために、コマンド終了時に音を鳴らすようにしていた。 しかし頻繁に; beepを付け忘れるので、毎回何もしなくてもコマンド終了時に音を鳴らしたかった。

#ipfs IPFS体験記7:Windows

#ipfs #tech #log #ipfs体験記

今回はWindowsでIPFSを使ってみる。 一応ローカルゲートウェイを動かすことに成功した。

#ipfs IPFS体験記6:ipget

#ipfs #tech #log #ipfs体験記

そろそろキャッチコピーを考えるのが辛くなってきたのでやめる。 今回はIPFS用に作られたツールを見ていこうと思う。 いろいろ試したのだが、うまくインストールできたのはipgetだけだったのでそれだけ書く。

#ipfs P2PプロトコルIPFS体験記5:アップロード

#ipfs #tech #log #ipfs体験記

今回は普通に使ってみようと思う。

#ipfs 非中央集権型Web、IPFS体験記4:ブラウザ拡張2

#ipfs #tech #log #ipfs体験記

引き続き公式ブラウザ拡張の機能を見ていく。

#jekyll GitHub Pagesで相対パスを使う

#jekyll #tech #github

IPFS上でサイトをホストしたりするとドメインがコロコロ変わったりするので、今のうちにすべてのリンクを相対パスにしておきたくなった。 しかしGitHub Pagesにおいてそれは簡単なことではない。

#ipfs 永続Web、IPFS体験記3:ブラウザ拡張1

#ipfs #tech #log #ipfs体験記

ブラウザ上でのIPFSの使用を補助する目的で作られたブラウザ拡張が存在する。 公式のものはFirefoxにも対応しているようだが、ここではChrome版についてのみ述べる。 今日はあまり体調が良くないが、だからこそあまり頭が記憶を整理してくれないため、記憶を外に書き出しておかないとそれだけで一杯になってしまうので少しだけ書く。

#ipfs 分散ファイルシステムIPFS体験記2:設定一覧

#ipfs #tech #log #ipfs体験記

今回はWebUI上で設定を確認する。 最初から最後まで全部読んでみたので、質的なものは別として量的に有用な日本語情報源として機能しそうな記事になったと思う。

#ipfs 惑星間ファイルシステムIPFS体験記1:セットアップ

#ipfs #tech #log #ipfs体験記

“InterPlanetary File System“というあまりにも魅力的な名前から、 以前よりIPFSを試してみたかった。 やってみたいなーとずっと言っているだけなのもアレなので、少しづつ触っていこうと思う。 今後「IPFS体験記」として投稿するのは、その記録である。 試したことをただ時系列順に書くだけなので、参考にするには読みづらいかもしれない。

#tech 現Bitcoinベースのプロトコルでは月に2000万を超えるユーザに対応できない【翻訳】

#tech #translation #bitcoin

Bitcoinのスケーラビリティー問題を解決するために、たくさんのいわゆる layer 2 プロトコルが提案されました。 それらのプロトコルは同じような、比較的シンプルな方針に従って動作します:

#dlang D言語の2つのnext_permutation

#dlang #tech

このツイートを見て「そうだったのか!知らなかった!」と言ってググったが目が節穴なのでこうして記事を書きはじめるまで目の前の検索結果が読めなかった。

#jekyll GitHub Pagesで総記事数を表示する

#jekyll #tech

タグページではタグごとの記事数を見ることができるようになっているが、サイトの総記事数は確認できるようになっていなかった。ふと思い立ってトップページで総記事数を確認できるようにした。

#tech 「ラップアラウンド」(トロイダル)な空間における2点間の距離の計算【翻訳】

#tech #translation

2次元上の2点間の距離を求めたいとしましょう、ただし点は古いテレビゲームのような“ラップアラウンド”の世界にあります – スクリーンの上下左右から出ると、反対側から現れるのです。

#translation iPhoneとデスクトップでmarkdownを書くために用意したツール集

#translation #tech

前回書いた翻訳記事は、かなりの分量がiPhone上で書かれている。 iPhoneとデスクトップ両方を使ってmarkdownの翻訳記事を書くため

#dlang オウン・ウェイ - GCを避けたアロケーション (Part2: ヒープ)【翻訳】

#dlang #tech #translation #dlang_gc_series #d_blog

この投稿はD プログラミング言語のガベージコレクションについての進行中のシリーズの一部であり、 GCの外のメモリのアロケーションに関する2番目の投稿です。 パート1ではスタックアロケーションについて論じました。 今回は非GCヒープからのメモリのアロケーティングについて見て行きます。

#log Dで巡るソートアルゴリズム その2

#log #dlang #tech

前回の続き。 今週は挿入ソート、コムソート、マージソートを書いた。 ここ一週間あまり体調が良くなかったため、気力と思考力の面であまりソートが書けなかった。

#log Dで巡るソートアルゴリズム その1

#log #dlang #tech

最近はプログラミングについてあまり大きいものを作ったり複雑なものを考えたりする時間がとれないので、 1.それなりにプログラムしてる感がある 2.達成感を得るまでの作業量が少ない という課題が欲しかった。 そこでソートの実装をすることにした。

#dlang DMD 2.076.0 Released【翻訳】

#dlang #tech #translation #d_blog

コアDチームがプログラミング言語Dのリファレンスコンパイラ、DMDのバージョン2.076.0を公開し、 ダウンロードできるようになりました。 このリリースの大きな特徴は2つあり、ジェネレーティブプログラミングとジェネリックプログラミングのためのstatic foreach機能と、 Cプロジェクトを徐々にDに切り替えていくことを簡単かつ有用にする、非常に強化されたC言語統合です。

#dlang AtCoder Beginner Contest 006 - D

#dlang #tech

最近はAtcoderの過去問をのそのそ解いている。 ABC006のD問題の公式の解説がいまいちしっくりこなかったので、 自分の言葉で解説しなおしてみる。 どちらがわかりやすいかは記事を読んだ人によると思う。

#dlang 2の平方根をDだけで1万桁求める

#dlang #tech

かなり前に円周率をたくさん求めたくなって、 せっかくだからD言語だけで書いてみようと思い、 こちらの記事を参考にbigfixedというライブラリを作った。 これはstd.bigintを使って固定小数点計算をするものである。 しかし作っているうちに飽きてしまい……

#dlang ドキュメントの過去版を見る

#dlang #tech

AtcoderのD言語が微妙に古かったりして昔のドキュメントがたまに欲しくなる。 たまに欲しくなるのに自分の検索能力が低いのかググっても全然出てこないしURLもなかなか覚えられないので、 毎回公式フォーラムの投稿をページ送りして探していた。 そこでここに書いて出てくるようにする。

#dlang 整数閉区間のRange

#dlang #tech

binary.h in Dで、 第二引数が含まれるiotaというか、そんな感じのRangeが欲しくなった。 つまり0と10が与えられたら[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]を返すようなやつである。

#dlang オウン・ウェイ - GCを避けたアロケーション (Part1: スタック)【翻訳】

#dlang #tech #translation #dlang_gc_series #d_blog

この記事は、 Go Your Own Way (Part One: The Stack) – The D Blog1 を自分用に翻訳したものを 許可を得て 公開するものである。 誤字や誤訳などを見つけたら今すぐ Pull requestだ

#dlang Dにおけるコンパイル時ソート【翻訳】

#dlang #tech #translation #d_blog

DフォーラムでのRussel Winderの挑発的な問い、「きっとDならもっとうまくやる」が私の目にとまりました。 「本当に何もする必要はありません。ただ標準ライブラリのソートを使ってください」 彼はそう言って、コードを続けました

#jekyll MathJaxのCDNが警告を発しつつも使えてしまっていた

#jekyll #tech #github

どうも数式表示のために読み込ませていたMathJaxのCDNである `cdn.mathjax.org`が今年の4月30日でシャットダウンされていたようだ。 しかしどうもMathJaxは変わらず数式をレンダリングし続けてくれているように見える。

#dlang binary.h in D

#dlang #tech

C言語にはなぜか二進数リテラルがないため、そういうことをしたい場合自分で何とかする必要がある。 D言語には普通に二進数リテラルがあるが、同じことをするコードを書いてTemplate Mixinの練習をすることにした。

#jekyll GitHub Pagesで内部リンクを貼るpost_urlテンプレートについて

#jekyll #tech

Jekyllのpost_urlテンプレートについて日本語の情報が見つからず苦労したので書く。 どうもGitHub Pages(Jekyll)のU

#dlang importでコンパイル時にファイルを埋め込む

#dlang #tech

以前に importを使って大きな文字列を別のファイルから読み込んだが、 同じ手を使って画像や動的リンクライブラリなどのテキストでないデータも読

#dlang 駆け足の人生:GCを減らすための工夫【翻訳】

#dlang #tech #translation #dlang_gc_series #d_blog

この記事は、Life in the Fast Lane – The D Blogを自分用に翻訳したものを 許可を得て 公開するものである。 今回だいぶ翻訳が怪しいので、誤字や誤訳などを見つけたら今すぐ Pull requestだ!

#dlang automem: DのハンズフリーRAII【翻訳】

#dlang #tech #translation #d_blog

ガベージコレクトをする言語はフレーム問題に苦しむ傾向があり、Dもその例外ではありません。 マーク・アンド・スイープ・ガベージコレクタを取り入れることは簡単かつ便利な安全メモリ管理を実現しますが、 しかし、GCが一般的にパフォーマンスキラーであるという広まった認識、 たったそれだけのために多くの潜在的ユーザを遠ざけてしまいます。

#dlang なぜ、どういう時にSOAを使うべきなのか【翻訳】

#dlang #tech #translation

この記事は Why and when you should use SoA · を自分用に訳したものを 許可を得て 公開するものである。 コードのコメントも一部翻訳されている。 ところどころ訳が怪しいと

#dlang CTFEを強制するテンプレート

#dlang #tech

CTFE可能な関数を確実にCTFEさせて、CTFEできないときはエラーを吐くようなテンプレートを作った。 if (__traits(compiles, F(Args)))のところ、何か

#dlang コンパイル時fizzbuzzと謎のaliasSeqOf

#dlang #tech

D言語のfizzbuzz - kubo39’s blog を読んで、コンパイル時fizzbuzzはforeachを使えば短く書けるのでは?と思い実際に書いてみることにし

#jekyll 記事の編集履歴、PR作成、その他Qiitaにあるような3つの機能の代替

#jekyll #tech #github

追記:現在は以下のテンプレートは動かないかもしれない。更新版 このサイトの各ページの下にある”Improve this page&rdquo

#dlang 処理後の結果を見られるdmdのスイッチ -vcg-ast

#dlang #tech

Dconf 2017で出てきたコマンドラインスイッチ-vcg-astについて書き残しておく。 これはgccでいう-Eオプションのようなもので、これはいろ

#dlang dubで自力でCの構造体を使う

#dlang #tech

前回の続き。 前回と同じようにOpenSSLを使ってstd.digest.shaを使わずにSHA256を計算する。 今回は前回と違い、データは逐

#dlang dubで自力でOpenSSLを呼び出す

#dlang #tech

前回の続き。 明示的にリンクする必要のあるライブラリであるOpenSSLを使ってstd.digest.shaを使わずにSHA256を計算する。

#dlang dubで自力でCのsqrt()を呼び出す

#dlang #tech

前回の続き。 今度はヘッダファイルを読むのにプリプロセスの必要なものを使いたい、 ということでcore.stdc.mathを使わずにD言語のアプ

#dlang dubで自力でCの標準ライブラリを呼び出す

#dlang #tech

D言語はC言語のコードを使えるとは聞いたことはあったが、実際にそれをやったことはなくていまいち理解していなかったのでいろいろ試してみる。 調べ

#dlang Dのメタプログラミングは面白くない - C++との比較【翻訳】

#dlang #tech #translation

講演者の静かな声と、ほとんどC++のコードのみを映し出すスライド(通常キーノートで期待していたものではありません)にもかかわらず、 Louis DionneのMeeting C++ 2016でのメタプログラミングについてのトーク は本当に面白いものでした。

#dlang テキストページャをPythonからDに移植する【翻訳】

#dlang #tech #translation

数週間前、私はこのような記事を書きました: tp, a simple text pager in Python 数日前、私はこのページャをPythonからD 言語として知られるDに移植しようと思いたち、そして実行しました。

#dlang dlibでマンデルブロ集合を描く

#dlang #tech

前回に続いて、マンデルブロ集合の画像をD言語で描くことができた。 pngの取り扱いはdlibを使った。

#dlang 死神を恐れないで - GCについて知る【翻訳】

#dlang #tech #translation #dlang_gc_series #d_blog

‪"Dには、こんにち使用されている多くの言語と同じように、すぐに使えるガベージコレクタがあります。‬‪GCのことを心配せずにかけて、それを最大限活用できるタイプのソフトウェアが多くあります。‬しかしGCは不利な点を持ち、ガベージコレクションが望ましくないシナリオがたしかにあります。‬"

#dlang 新・CTFEエンジンについて【翻訳】

#dlang #tech #translation #d_blog

9ヶ月前、私はNewCTFEと呼ばれる、Dコンパイラフロントエンドのコンパイル時関数実行(CTFE) 機能の再実装のプロジェクトで作業をしていました。 CTFEはDの革新的機能とされています。

#dlang Dでマンデルブロ集合を書く

#dlang #tech

なにか計算的なことをやってみたくてマンデルブロ集合を書く。 「描く」ではなく「書く」なのはコマンドライン上に文字で表現するからである。 マンデル

#tech Gitlabのissueのタスクの進捗をまとめるシェルスクリプト

#tech

いろいろあって必要になって作った。 ひょっとすると他に必要な人がいるかもしれないので残しておく。 特定のprojectのissueのdescri

#dlang In式のオーバーロード2種

#dlang #tech

普通にドキュメントを読めば書いてあることなんだけどなぜか調べるのに手間取ったので、専用の記事を書く。 やりたいこと1つに対応して1つの記事があ

#github コミットメッセージ上で他のリポジトリの特定のコミットを参照する等

#github #tech

GitHubには、Issue番号などを自動的にリンクにする機能がある。 他のリポジトリの特定のコミットを参照したかったのだが、なかなか方法が見

#dlang Lazyな新しいimportについての議論

#dlang #tech

最近は英語のD言語情報を読めるようになってきて楽しい。 特にGoogle翻訳の改善により、自分の貧弱な英語力でも大半はスラスラとストレスのない

#dlang 名前を言ってはいけないあの型 - Voldemort Types

#dlang #tech

こちら のサイトでVoldemort Typesとかいう衝撃的な名前のものを見たのでしっかり読み込んでみた。 前提 まずインデックスの2乗が得られる

#dlang コンパイル時にファイルから文字列を読み込む

#dlang #tech

長い文字列を埋め込むために いろいろ迷走した が、コンパイル時にファイルから文字列を読み込む方法があることに気づいたので詳しく調べる。 Import Expression という

#essay サイトの内容をGitHubのリポジトリと同期するメリット3つ

#essay #tech

このようなツイートを見た。 理想的にはQiitaとかWikipediaみたいにみんなで編集できる状態にしておいて、より多くの人と合意が取れる状

#qiita Qiitaの記事をJekyllの投稿の形式に変換してバックアップする

#qiita #tech #jekyll

ひょっとしたら隕石が落ちてきたりしてQiitaに投稿した記事が消えてしまうことがあるかもしれない。対策として自分ですべてを管理できるところにも記事をバックアップできるスクリプトを書いた。画像も取得してリンクを書き換えてくれる。

#qiita JekyllでテキストをHTML用にエスケープする

#qiita #tech #jekyll

Twitter cardsを設定するためにこちらの記事を参考にテンプレートを書いた。Jekyll で作成したサイトを Twitter Card に対応させる しかしこのまま使うとHTMLでエスケープすべき文字もそのまま埋め込まれてしまうため、うまく動かない時がある。

#dlang 文字列の長さを取得するときはlengthを使ってはいけない

#dlang #qiita #tech

自分の進捗表示用パッケージprogressにPRが来た。どうやら文字列の長さを得るときはlengthではいけない時があるそうだ。

#qiita GitHubのissueを悪用して画像をホストする

#qiita #tech #github

知らなかったので投稿。DashというDで書かれたゲームエンジンがあるのだが、そのreadmeの一番上にあるでっかいロゴの画像ファイルがどこにおいてあるのか気になった。

#dlang 待ち時間をD言語くんで彩る - 進捗表示ライブラリを作った

#dlang #qiita #tech #dlangman #advent_calendar

かのマハトマ・ガンジーも もし、私にD言語くんがなければ、これほど長く苦しい戦いには耐えられなかったでしょう。 と言ったように、生活の中でD言語くんを忘れないようにすることはとても大切です。退屈な待ち時間でもそこにD言語くんがいれば幸せになれるのではないでしょうか。 そこでPythonのprogressを参考にライブラリprogressを作りました。dubに登録してあります。

#qiita サッと一時ブランチを作って作業して捨てる

#qiita #tech

なにかちょこっとだけ作業するたびにトピックブランチをつくって終わったら消すということをしている。めんどくさくなってきたので専用コマンドを作った。

#dlang 改行とかのある文字列をエスケープしないで書きたい

#dlang #qiita #tech #dlangman

AAなどの文字列はエスケープすると超絶見難くなるのでそのまま書きたくなった。

#dlang cowsay -f dman

#dlang #qiita #tech #dlangman #advent_calendar

人間生きていればD言語くんを降臨させないといけない場面に何度も遭遇する。そこで`cowsay -f dman`でいつでもD言語くんを崇めることができるようにする。

#jekyll Jekyllのtheme"minima"のハンバーガーメニューがiOSで動作しないバグ

#jekyll #tech

現在このブログのハンバーガーメニューはうまく機能していない。今日はこの問題を解決しようと思って調べた。どうやら自分がなにかやらかしていたわけではなく、このブログのthemeであるminimaのバグのようだ。

#dlang ローカルのdubプロジェクトに依存するdubプロジェクト

#dlang #qiita #tech

自作のライブラリを別のdubプロジェクトにしたかったので調べたけどすぐには見つからなかったので書く。わかれば簡単なことだった。タイトルはこれで適切なんだろうか?

#qiita どどんとふ on windows

#qiita #tech

主に友人に需要があるそうなのでWindows上でどどんとふサーバーを動かせるか頑張った。

#dlang JSONValueにJSONValueを入れる

#dlang #qiita #tech

語彙が足りなくて適切なタイトルが出てこない。とにかくそういう事をするときは、JSONValue[string]という状態でないといけないようだ。

#dlang D言語でBasic認証

#dlang #qiita #tech

std.net.curlを使えば簡単にできた。探すのにすこし時間がかかったのでサンプル的なものを書く。

#dlang Dでつくるbrainfu*kのインタプリタ

#dlang #qiita #tech

brainf*ckの処理系はすでにいろんな人が作っているけど勉強になりそうだったので自分で書いてみた。

#dlang OpenGL/GLFWはじめての人がD言語でウィンドウを表示するまで

#dlang #qiita #tech

DでOpenGLとかそういうのが使いたくなったので練習をした。Dubを使って環境構築した記事がなかなか見つからなかったのでまとめ記事を書く。

#qiita 自分以外のユーザの作ったリストを取得する

#qiita #tech

フォローイング/フォロワーの作ったリストのリストが欲しくなって、そういうものを作るツールを作った時のメモ。

#dlang 行列と高速化の練習をした

#dlang #qiita #tech

行列に興味がある。しかし数Cは廃止され、行列の勉強はしないとのことなので少しづつ自主学習。

#qiita どどんとふ1.46.00を最小構成のCentOS7から構築できた時の手順

#qiita #tech

こちらやこちらの手順にしたがってどどんとふのセットアップをしていたが、それだけでは動かなかったのでほんの少し追記したものを自分でもう一度まとめて書く。

#dlang ズンドコキヨシ with D

#dlang #qiita #tech

元ネタを読んで一番最初に思いついたやり方です。