Beyond the State-of-the-Art

最先端を超えたいと思ってる(大嘘)エンジニアのブログ

aとbの最大公約数はbとa-bの最大公約数に等しい

このツイートの「aとbの最大公約数はbとa-bの最大公約数に等しい」」という事実が気になったので、実際に示しました。 ユークリッドの互除法よりも、「aとbの最大公約数はbとa-bの最大公約数に等しい」の方を強調した方がいいと思うんですよ。— ババ。 (@bbbbb…

プログラミングとの歩み(出会い編)

7月からプログラマー・エンジニアとして転機を迎えるので、自分のプログラミングとの歩みをまとめようと思います。プログラミングに出会ったのは中学生のときです。そのときから15年以上が経ちました。今までの歩みを書くと長いので、プログラミングに出会っ…

Uターンと独立開業の準備を始めました

突然ですが、7月に地元の兵庫県に戻り、そこでフリーランスのエンジニアをやることにしました。 実家の事情でなるべく早く地元に戻らないといけないこと、自分自身で経営したい等いろんなことを総合的に考えて、こういう決断になりました。 詳しい話は、後日…

macOS Catalina標準機能でzipを展開(解凍)できないときの対処方法

Qiitaからの移植です。 macOS Catalinaの不具合で日本語ファイルが含まれるzipファイルを標準機能で展開(解凍)できないことがあります。 参考リンク: macOS 10.15.1 Catalinaでもzipファイルが解凍できない不具合は修正されないままなので注意を。 対処方法…

【OSS貢献記録】emoji-martをReact 17に対応

Qiitaからの移植です。 はじめに emoji-martは、下の画像のように絵文字選択フォームを実現するReactコンポーネントです。 このコンポーネントを実際に利用していたら、次のような警告文がJavaScriptのコンソールに表示されました。 Warning: componentWillR…

C++の線形代数ライブラリ 〜固有値問題の観点から〜

Qiitaからの移植です。 はじめに C++ Advent Calendar 2019の21日目の記事です。当日公開に間に合いませんでした。申し訳ありません!!! 科学技術計算では線形代数はとても重要です。連立方程式、固有値問題、行列分解等の計算は至るところで登場します。…

PHPで配列に要素を追加する方法に関するメモ ($hoge[] = ...; の挙動)

Qiitaからの移植です。 コード 出力結果 array(3) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" } 配列用の変数に配列じゃないものを代入するという変な書き方に見える。PHPの配列の実体は連想配列で$hoge[] = ...;はキー名を省略した形…

C++部・ユニットテストの裏技 〜private関数をテストする〜

Qiitaからの移植です。 はじめに C++ Advent Calendar 2019の7日目の記事です。21日目に参加登録していますが、枠が空いてたので追加で登録しました。しょうもない小ネタを書きます。 private関数のユニットテストしたくない? 何らかのフレームワーク、例…

とりあえずクソ長い文字列が必要になったときに使えるコマンド

Qiitaからの移植です。 数百とか数千とかのクソ長い文字列が必要になったときに使えるコマンドをメモ。ここで想定するのは、とりあえず何でも良いから文字列を得らればよい状況である。文字種をちゃんと指定したい場合については言及しない。 文字列生成には…

ソースコードのコメントに書いてあると嬉しいもの

Qiitaからの移植です。 Twitterでソースコードにコメントを書くべきかどうかという話で盛り上がってるみたいので、コメントに書いてあると個人的に嬉しいものを3つ挙げようと思います。 アルゴリズム名、出典論文 コメントが不要なソースコードが理想と語ら…

命名規則〇〇ケースがひと目でわかるようにまとめてみた

Qiitaからの移植です。 n番煎じかもしれないけど、自分用のメモとして。 lowerCamelCase UpperCamelCase, PascalCase kebab-case snake_case SCREAMING_SNAKE_CASE TRAIN-CASE 参考: https://en.wikipedia.org/wiki/Letter_case#Special_case_styles

【OSS貢献記録】ClickHouse公式JDBCドライバでバインド済みのprepared statementを出力する関数を実装

Qiitaからの移植です。 はじめに ClickHouseというYandex社が中心となって開発しているOSSのDBMSがあります。ClickHouse公式でJDBCドライバが開発されています。 私は昨年このJDBCドライバのリポジトリに対して、プルリク Enable to get a bound statement i…

寄付の記録

社会人になってから社会貢献としてできるだけ寄付しようと心がけている。いままでどういうところに寄付したのかをここにまとめる。 2016年 平成28年熊本地震災害義援金 (日本赤十字社): 10,000円 第61回物性若手夏の学校 個人協賛: 10,000円 2017年 第62回物…

例のNTTコムの記事にツッコミを入れてみる

久しぶりのブログ更新です。 TwitterでNTTコムのキャリアパスに関する記事が話題になっていましたね。 style.nikkei.com この記事を読んで、私も少し思うところがあったので、ツッコミを入れたいと思います。

TIME WAIT状態のTCP接続の数を集計するコマンド

Qiitaからの移植です。 TIME WAIT状態のTCP接続の数を集計するときに使用するコマンドをメモしておきます。 TIME WAITの数を集計するだけなら次のコマンドを実行します。 $ ss -ta | grep TIME-WAIT | wc -l ssはソケットの状態を出力するためのコマンドです…

Elixirでフィボナッチ数列(不完全)

Qiitaからの移植です。 Elixir初心者です。Elixir学習の一貫としてフィボナッチ数列を実装したので、実装をここに記そうと思います。 フィボナッチ数列の定義 フィボナッチ数列の定義をさらっと書いておきます。 実装 実際に実装したのはこちらです。 defmod…

iPhoneでC++プログラミング

Qiitaからの移植です。 『C++ Advent Calendar 2018』の24日目の記事です1。 皆さんはC++好きですか? C++をこよなく愛するC++erは、いつでもどんなときでもC++と戯れたいですよね。 でもC++プログラミングするには目の前にPCが要りますよね。それって不便じ…

Sine-Square DeformationとCFT

『数理物理 Advent Calendar 2018』22日目の記事です。 adventar.org 昨日に公開しないといけませんでしたが、遅れて今日公開となりました。 概要 Sine-square deformation (SSD) *1 とは、モデルのエネルギースケールをsin関数の2乗に従って端へ行くほど小…

最初のN個の素数を生成する in Python3

Qiitaからの移植です。 最初の 個の素数を生成する方法を何通りか挙げて、計算時間を測定してみました。 素数の生成 素数が入ったlistを返す関数を作ります。 1. 愚直な方法 整数 を で割って素数を判定します。 from math import sqrt def is_prime_simple(…

シクシク素数列 十進BASIC編

Qiitaからの移植です。 『シクシク素数列 Advent Calendar 2018』14日目の記事です。 シクシク素数列を出力するプログラムを十進BASICで実装します。 ルール 数値に4か9を含む素数をシクシク素数と呼ぶことにします 19とか41とか149とか。 標準入力として正…

ClickHouseでSHOW VARIABLESみたいなことをする

Qiitaからの移植です。 ただの忘備録です。 MySQLでtimeout系の設定値を確認する場合は SHOW VARIABLES LIKE "%timeout%"; ClickHouseでこれに相当するクエリは SELECT * FROM system.settings WHERE name LIKE '%timeout%' 一番後ろの文字列はシングルクォ…

macOS High SierraでC++ REST SDKの導入に苦労したのでメモを残す

Qiitaからの移植です。 はじめに C++ Advent Calendar 2018 6日目の記事です。 同アドベントカレンダーの24日目の記事執筆に向けてC++ REST SDKを試してみようと思ったのですが、導入に苦労しました。アドベントカレンダーの6日目が空いていたので、カレンダ…

C++のheader-onlyライブラリを試しに作る際に気を付けたこと

Qiitaからの移植です。 はじめに C++のheader-onlyライブラリを作りたくなったので、試しに作ってみました。 https://github.com/h6ak/h6ak-cpp で公開しています。 ライブラリのコンセプトは特になくて、実装したくなったものをどんどん追加していく感じで…

PythonワンライナーでMySQL実行履歴を読む

Qiitaからの移植です。 はじめに やること MySQL実行履歴は.bash_historyファイルに書かれています。ファイルには show\040databases; のように、UTF-8のエスケープシーケンスが含まれた状態で書いてあります。今回はPythonワンライナーを使って、先程の文字…

Jupyter NotebookでElixirを使えるようにする(MacOS High Sierra)

Qiitaからの移植です。 この記事について Jupyter NotebookでElixirを使えるようにする方法を書きます。自分が作業した環境は次の通りです。 MacBook Pro (Retina, 13-inch, Early 2015) MacOS High Sierra (バージョン 10.13.6) Elixirはbrewでインストール…

気になったビジネスニュース 2018-10-18

セプテーニ、専門のクリエイティブ研究チーム「TikTok LAB」を設立 rtbsquare.ciao.jp TikTokの注目度が高まっていますね。TikTok専門の広告クリエイティブ研究チームが設立されているということは、それだけ市場価値の成長が見込めるアプリなんですかね。 …

PythonでClickHouseのSELECT結果をpandas.DataFrameに入れる

Qiitaからの移植です。 はじめに ClickHouseとはカラム指向型DB管理システムの1つです。日本ではまだまだマイナーな存在【要出典】です。詳しくは、公式サイトを見たり、Qiita内を検索したり、Google先生を頼ったりして、調べてください。 今回は、Pythonで …

Go初心者がGoでk-meansを実装してみた

Qiitaからの移植です。 Goの勉強として、クラスタリングの手法の1つであるk-meansを実装してみました。今回は簡単のため、2次元平面上に点の集まりをクラスタリングしました。 Go初心者なので変な書き方があるかと思いますが、そのときはコメントでご指摘お…

KaggleのTitanic問題をFactorization Machinesで解く

Qiitaからの移植です。 Factorization MachinesでKaggleのTitanic問題を解いてみたので、メモとして解いた手順をここに残そうと思います。 Factorization Machinesとは Factorization Machines (FM)は機械学習の手法の1つです。ざっくり説明すると、疎な学習…

Deep Learningをゼロから作ることにした(その2)

下記の本の勉強の続きです。今回は3章をフォローしたので、所感などを書きます。 ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装作者: 斎藤康毅出版社/メーカー: オライリージャパン発売日: 2016/09/24メディア: 単行本(ソフトカ…