Beyond the State-of-the-Art

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

Qiita

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…

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が要りますよね。それって不便じ…

最初の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でインストール…

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つです。ざっくり説明すると、疎な学習…

Python3の標準入力でUnicodeDecodeErrorに出会ったときの対処法

Qiitaからの移植です。 sys.stdinでUnicodeDecodeErrorに遭遇。 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xed in position XXXX: invalid continuation byte 対処に苦しんだので、対処法をここにメモします。 対処法 まず、Python3でUnicodeDe…

Pythonでベトナム語の形態素解析

Qiitaからの移植です。 仕事でベトナム語に触れる機会があって、ベトナム語の自然言語処理について調べたことがあります。本記事では、そこで知ったPythonのベトナム語の自然言語処理用ライブラリについて話そうと思います。ところで、日本でベトナム語の自…

バッチでクローリング・スクレイピング

Qiitaからの移植です。 Webスクレイピング Advent Calendar 2017 21日目の記事です。 趣味でクローリング・スクレイピングをするときがあります。その作業が長時間に及ぶときは、サーバーでバッチを動かして、クローリング・スクレイピングをやっています。…

引き算が苦手な人のための引き算

Qiitaからの移植です。 これは数学とコンピュータ Advent Calendar 2017の20日目の記事です。計算機科学の基本的な内容について話そうと思います。元ネタはとある本に書いてあった内容ですが、どの本だったのかはよく覚えていません1。 ここで問題です 皆さ…

MacOS SierraにClickHouseをインストールする

Qiitaからの移植です。 この記事では、ClickHouseというデータベース管理システムをMacOS Sierraにインストールする方法について説明します。自分の持っているMacOSがSeirraのみなので、Sierraに限定しています。あらかじめご了承ください。 ClickHouseとは …

Python+Flaskでテーブル定義書を自動生成するWebアプリケーションを作ってみた

Qiitaからの移植です。 概要 データベースのテーブル定義書を自動的に生成して、ブラウザ上で確認できるWebアプリケーションを作成しました。自動生成によって、テーブル定義が更新されたときに、手動でドキュメントを更新する手間を省きます。もちろん、こ…

pytestでassertion用ライブラリassertpyを使ってみる

Qiitaからの移植です。 Pythonのユニットテストで、Python標準のunittestを使わずに、pytestを使うことを考えましょう。つまり、テストコードではunittest.TestCaseを継承したクラスを作りません。この場合、unittestに入っている様々な用途に応じたassertio…

IntelliJをLombokに対応させる

Qiitaからの移植です。 はじめに 「新人エンジニア Advent Calendar 2016」 の4日目担当の@h6akhです。詳しい自己紹介はこちらです。 自分が実践している業務効率化が本Advent Calenderのテーマらしいですが、特筆すべきエピソードがないので、些細なことで…