by shigemk2

当面は技術的なことしか書かない

プログラミング

rst

reStructuredText is an easy-to-read, what-you-see-is-what-you-get plaintext markup syntax and parser system. 軽量マークアップ的なアレ。 reStructuredText

workflow engine list

github.com github.com github.com aws.amazon.com github.com github.com

assign copyright メモ

著作権の譲渡とは、貢献する人が、自分が行った貢献の著作権をプロジェクトに譲り渡すこと これが特にOSSの開発では重要になる メール ファックス 郵送など http://producingoss.com/ja/copyright-assignment.html

monolithic

「一枚岩の」という意味。 もとはOSのカーネルに必要機能を全て実装したモノリシックカーネルみたいな使い方だけど、マイクロサービス的には本当に一枚岩で複雑なモノリシックシステムという使い方をする。 www.weblio.jp

イミュータブルなオブジェクトはスレッドセーフ

ということ。中身が不変なので、マルチスレッド処理中にロックをかける必要がないから。 Immutable objects greatly simplify your program, since they: are simple to construct, test, and use are automatically thread-safe and have no synchronizatio…

DI

クラスを単体テスト可能にするために使われるテクニック Javaではよく見るけどPHPで出来るのかといったきぶんです qiita.com

末尾再帰もろもろ

いろいろ最適化するにはこれが一番かもしれない。 末尾呼び出し最適化 (Tail Call Optimization) | 関数・メソッド | プログラミング言語の比較 | hydroculのメモ

RDB vs KVS

www.atmarkit.co.jp www.atmarkit.co.jp KVS(Key-Value Store) 「キー」と「値」のペアからなる、シンプルなデータモデルに基づくデータストア 複雑な条件検索が苦手 トランザクションによる「ACID特性」の確保が苦手 スケーリングしやすい RDB(Relational D…

プログラム内でマルチバイト文字

ググラビリティ低い話題。 何の話をしているのか。 独習Scalazでαとかλとか使われているけど、関数名に日本語とかギリシャ文字のマルチバイト文字って使えちゃうの?っていう疑問。 最初はScala限定だったけど、他の言語はどうなのかわからないので、ちょっ…

おりがみプログラミング

固有名詞ではない。この本の3章のタイトルである。 関数プログラミングの楽しみ作者: Jeremy Gibbons and Oege de Moor,山下伸夫出版社/メーカー: オーム社発売日: 2010/06/23メディア: 単行本(ソフトカバー)購入: 3人 クリック…

トランスコンパイラとクロスコンパイラ

TypeScriptみたいに別の言語に変換するツールがトランスコンパイラ。 静的型付けをもつJavaScriptへのトランスコンパイル言語を味見してみた | Developers.IOdev.classmethod.jp 一方、別のOSやプラットフォームで(も)実行出来る実行ファイルを作成するのが…

ボイラープレート

ボイラープレート - boilerplate | プログラマメモ2 独習Scalazとか 独習 Scalaz — Lens FP in Scalaなど Scala関数型デザイン&プログラミング ―Scalazコントリビューターによる関数型徹底ガイド (impress top gear)作者: Paul Chiusano,Rúnar Bjarnason,株…

RAIIとデストラクタ

RAII RAII - Wikipedia 日本語では「リソースの確保は初期化時に」、「リソースの取得と初期化」など)は、資源(リソース)の確保と解放を変数の初期化と破棄処理に結び付けるというプログラミングのテクニック デストラクタ オブジェクト指向プログラミン…

コンストラクタについて

Scalaのコンストラクタ 専用のメソッドとかは要らない。デストラクタも必要ない。 Scalaクラスメモ(Hishidama's Scala class Memo) 他の言語のコンストラクタ C++とかはコンストラクタもデストラクタも必要。 コンストラクタとデストラクタ | 型とクラス | …

PHONYターゲット

てっぺんに .PHONY : clean って書く。 同名のファイルとの衝突の回避 パフォーマンスの向上 GNU make 日本語訳(Coop編) - ルールの記述

熱血アセンブラ入門の開発環境のDockerイメージを作った

イメージ shigemk2/centos-hotasm Repository | Docker Hub Registry - Repositories of Docker Images shigemk2/centos-hotasm Repository | Docker Hub Registry - Repositories of Docker Images 要所となる箇所 ビルドしたアーキ メインのアーキしかビル…

熱血アセンブラ入門の進捗

熱血!アセンブラ入門 サポートページ きょうび32bitのOSでごにょごにょしようというのがあまりなくって64bitOSでどうにかしようとしているけど、全部のアーキをビルドしなくてもいいんじゃないかっていう感じがアレしていた。 なぜなら64bitではビルドでき…

YAGNIとは

YAGNIとは You Aren't Going to Need It. の略。本当に必要なときだけしか実装してはいけないという感じ。 YAの略はよくあるYet Anotherではない。 YAGNI - Strategic Choice YAGNI - Strategic Choice Yet another - Wikipedia

関数の副作用

以下が代表例。 Modifying a variable Modifying a data structure in place Setting a field on an object Throwing an exception or halting with an error Printing to the console or reading user input Reading from or writing to a file Drawing on …

ドット記法とブラケット記法

記述の単純さではドット記法のほうがブラケット記法よりも優れている。 var cody = new Object(); // ドット記法 cody.gender = 'male'; // ブラケット記法 cody['gender'] = 'male';

プログラミング言語を学ぶときに必要なことメモ

まずは、コードを書くこと。 仕事で、ハッカソンで、勉強会で、なんでもいいからとりあえず書く。 その上で、ちゃんと読むこと。 読むならやっぱり、エディタを揃えるとか、GTAGSやDoxygenを使うとか。

ビット演算

F# > 0b11 &&& 0b10;; val it : int = 2 > 0b1010 &&& 0b1101;; val it : int = 8 > 0b1010 ||| 0b1101;; val it : int = 15 > 0b1010 ^^^ 0b1101;; val it : int = 7 > 0b1010 <<< 3;; val it : int = 80 > 0b1010 <<< 2;; val it : int = 40 > 0b1010 <<< …

DSL

RubyでDSL特定の目的を達成するために作られるプログラミング言語。Makefile SQL Shell Scriptなど。

ステートメント

ステートメントとは 【 statement 】 - 意味/解説/説明/定義 : IT用語辞典 プログラミングで、制御や宣言などを行うために言語仕様にあらかじめ組み込まれている命令語、および、それらを用いて記述された一つの命令文のこと。変数・定数・関数などの宣言や…

RTFM

RTFM - Wikipedia, the free encyclopedia Read The Fucking Manualの略ようするに、「マニュアル読めよカス」って話。

キャメルケースとスネークケース

iPhoneとかMcDonaldsとかがキャメルケースで、 i_can_flyみたいにアンダースコアを入れるのがスネークケースという。アンスコ使うのをスネークケースっていうんだね。

テスト用のメッセージについて

「ボケ王子シチリア」とか、「死ね死ね団最高」とか、ふざけた名前はやめること。ユーザーに見えてしまう可能性が無きにしもあらずだから。

ORMについて

オブジェクト関係マッピング - WikipediaORMとは、 データベースとオブジェクト指向プログラミング言語の間の非互換なデータを変換するプログラミング技法である。オブジェクト関連マッピングとも呼ぶ。 とのこと。例 1, 'twei' => 2, 'drai' => 3); print_…

停止性問題

停止性問題 - Wikipediaチューリング機械(≒プログラム、アルゴリズム)Aに入力xを入れたら有限時間で停止するか、という問題。 かのチューリングが対角線論法を用いて、停止性問題を解くチューリング機械が存在しないことを証明した。「プログラムAとデータ…

キャメルケース

キャメルケース - Wikipediaアッパーキャメルケース (UCC)、またはパスカルケース(PascalCase) 複合語の先頭を、大文字で書き始める。 つづり例:CamelCaseローワーキャメルケース (LCC)、または単にキャメルケース 複合語の先頭を、小文字で書き始める。 つ…