法人番号公表サイトについてのメモ

法人番号公表サイトとは 国税庁が公表している法人固有の番号(マイナンバー的な)を検索できるサイト APIで取得するパターンとCSV(or XML)をダウンロードするパターンがある ダウンロードの場合は差分データを公開してくれているので更新も簡単! www.nta.go.…

EDINETから財務情報を取得するメモ

EDINETってなに 金融商品取引法に基づく有価証券報告書等の開示書類に関する電子開示システム www.fsa.go.jp EDINETはAPIを公開しているので画面をポチポチしなくても情報を取ってくることができる 流れ 提出された書類を把握するためのAPI(書類一覧API)から…

ざっくり始めるクエリパフォーマンスチューニング

お断り 基本的にはMySQL(InnoDB)を前提にしています ものによりMySQL5.6と5.7の情報が混在しているかも 一部個人的な見解が含まれています クエリの実行順序 ちゃんとしたソースが見つからなかった https://www.eversql.com/sql-order-of-operations-sql-que…

MySQLの権限を絞ってみた

権限設定でカラムレベルというものが存在するらしいのでどういうものか確かめてみた root権限 mysql> create table if not exists grant_columns( -> id int unsigned not null AUTO_INCREMENT, -> name varchar(255) NOT NULL, -> granted_name varchar(255…

MySQLについていろいろ書いてみる(2020年)

重複しているものもあるけど一旦書く ストレージエンジン ストレージエンジンとは? MySQLはいくつかのコンポーネントを組み合わせてできている その中で実際にデータを格納してデータを取得するところはストレージと呼ばれていて選択することが可能 他にも…

MySQLについていろいろ書いてみる(2020年)

重複しているものもあるけど一旦書く ストレージエンジン ストレージエンジンとは? MySQLはいくつかのコンポーネントを組み合わせてできている その中で実際にデータを格納してデータを取得するところはストレージと呼ばれていて選択することが可能 他にも…

DevOpsがケイパビリティを高める

メモ 開発組織のパフォーマンスを計測 望ましい尺度 デリバリのリードタイム 短い方が望ましい 早いタイミングでフィードバックが受けれるため デプロイの頻度 意味するところはバッチサイズ ただし頻度の方が計測しやすいため頻度を採用している リードタイ…

1on1で気をつけている7つのこと

みなさんの会社では1on1はやっていますか? 私の会社では会社の仕組みとして1on1をやっています。 1on1って何すれば良いの?という方のために私がメンターとして1on1を運営する中で気をつけていることをまとめたいと思います。 これがきっかけで1on1を始めら…

MySQLについていろいろ書いてみる

まずはRDB共通なものを書いてMySQLのことを挟んでいく。自分用のメモとして眠っていたものを転載。 ACIDとトランザクション ACIDとは 原子性 (Atomicity) 一貫性 (Consistency) 分離性 (Isolation) 持続性 (Durability) ACIDはトランザクションの概念と密接…

docker環境にPythonの実行環境を用意する

Macでgensimが読み込めないエラーが発生していた件で、問題の切り分けのためにDockerを使ってPythonの実行環境を作成してそこで色々試してみた話 結局、ライブラリを最新版より1つ古いものを使うようにすれば良いという結果になったけどクリーンな環境をサク…

gensimの読み込みで実行時エラーが発生する

意外と日本語で検索にヒットしないのでメモ。 発生したエラーはこんな感じ >>> from gensim.models import word2vec Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python3.7/site-packages/gensim/__init__.py", line 5, </module></stdin>…

MySQLのインデックスは1つのテーブルにつき1つしか使われないとは限らない

タイトルが全てですが、その通り。 MySQLにはインデックスマージというものが存在するということを最近知った。 詳細は以下のドキュメントを参照してほしい。 MySQL :: MySQL 5.6 リファレンスマニュアル :: 8.2.1.4 インデックスマージの最適化 必ずしも使…

atomで設定を分けて起動する方法

Atom をメインで使っているとソースを書くために使ったりマークダウンエディタとして使ったりします。そのとき、パッケージをまとめて1つの設定に入れても良いんですが、色々な言語のautocomplate系を入れるのが嫌なときやマークダウンエディタとして使いた…

Eclipse環境での開発サポート

一人で開発している分にはあまり気になりませんが複数人で開発するときに書き方がバラバラだったり、レビューが大変だったりします。コード規約を作っても読まなければならず徹底するのは大変です。 そこで、Eclipseで利用できる開発サポートツールをいくつ…

Spring Bootでoauthのログインセッションをredisに突っ込む

タイトル通りです。 前にoauth認証でのログインができるようにしましたが、これだとログインセッションのあるサーバでしかログイン状態を維持できません。これだとスケールしないので外部に保存します。そこでredisを使ってスケールする仕組みを作りたいと思…

Spring Bootでoauth認証を使ってログインする

Webアプリケーションを作る上でなくてはならない機能の一つであるログイン機能。しっかり作ろうとすると色々と考えないといけないことが多かったりしてスクラッチで作るのは大変です。しかもID、PWを各サイトごとに覚えておかなければいけないのはユーザにと…

Spring Boot with doma

ORマッパとかDBアクセスフレームワークはSQL書きたい派です。なので以前、仕事で使っていたMyBatis(当時はiBatis)は結構好きな方でした。その後、railsをメインで触るようになり、SQLを書く機会がめっきり減りました。railsくらいしっかりしたサポートがあれ…

Spring Bootことはじめ

業務ではrailsをやっているので久しぶりにJavaをやりたくなってSpring Bootに手を出しました。railsほどではないけど、Spring Bootも簡単に導入できて良い感じ。Eclipseでのgit操作がGUIで中々難しい…ここはコマンドでやった方が楽かもしれません。 こちらを…

docker-composeでredisを起動して接続する

設定ファイルはこんな感じ。 docker-compose.yml version: '2' services: redis: image: redis:latest ports: - "6379:6379" command: redis-server --appendonly yes volumes: - ./data/redis:/data 起動までのコマンドはこちら # -d をつけるとバックグラ…

Crowi導入

ドキュメント管理ってどうやるのがベストなんでしょうか?書きやすく見やすいものが良いですよね。色々な候補があるなかで気になっていたCrowiというサービスを使うことにしました。UIもシンプルで良い感じです。こうゆうサービスって書きやすさも大事ですが…

機能開発のカテゴリー

「アジャイルな見積もりと計画づくり」という書籍を読んでいて機能開発の優先順位付けに参考になりそうな指標があったので紹介します。それは「狩野モデル」という狩野紀昭教授が提唱した手法です。フィーチャ(機能)を3つのカテゴリーに分けて考えます。 当…

re:dash on docker on vagrant

タイトル通りで、vagrant上でdockerを動かしてみます。 こちらを参考にdokcer、docker-composeをセットアップします。 re:dashのバージョンによっては./setup/docker/create_database.shがいらない(ファイルがそもそも存在しない)みたいです。 enomotodev.ha…

vagrantの容量を増やす方法

vagrantは初期状態ではディスクは10GB割り当てられています。この容量をあとから増やすことができます。こちらを参考にさせてもらいました。 qiita.com ただうちの環境では、これだけだとうまくいかなかった。どうやら、ゲストOS上でディスクを拡張しないと…

Windows10にvagrantをインストールするときに気を付けること

全ての環境で起きるわけではないと思いますが、Windowsにvagrantをインストールするときに上手くいかない事象が起きました。 そのときの対応メモを残しておきます。 発生した事象 「https://www.vagrantup.com/downloads.html」からインストーラーを落として…

形態素解析API(Powered by kuromoji)

katsu-tech.hatenablog.com前回、ユーザ辞書を含めたIPADICのjarを作成しました。そこでこのjarを使ってyahooの日本語形態素解析APIのようなものを作成したいと思います。とりあえず、仕様はこんな感じ。・HTTP で動作する ・インプットはPOSTで送られるファ…

kuromojiとユーザ辞書(IPADIC)

前にkuromojiのユーザ辞書を作成して取り込ませるというのをやったのですが、今回は、ユーザ辞書をjarに含めた状態にしたものを作成してみます。katsu-tech.hatenablog.com でやったこととほぼ同じですが、csvのフォーマットと文字コードが異なるので変更し…

GitBucketを導入してみた

仕事ではSubversionを使用しているので個人的に開発しているときのソース管理ではGitを使いたいと思い環境を構築することにしました。いくつかの候補から自分のサーバ環境で動かしやすく環境構築が楽らしいのでGitBucketを使うことにしました。 以下、環境構…

Let’s Encryptを導入してオレオレ証明書から卒業する

オレオレ証明書(自己署名証明書)では、ブラウザで検証できないためアドレスバーが赤くなります。グリーンにするためには、年額いくらでベリサインとかジオトラストとかにSSL証明書を発行してもらう必要があります。 個人的に構築したサイトがあるんですが特…

kuromojiとユーザ辞書

Javaで形態素解析を行うライブラリに「kuromoji」があります。そのままでもかなり使えるんですが、辞書が割りと貧弱です。例えば「欧州中央銀行」だと欧州 中央 銀行となります。一般的な単語でも分割されてしまいます。検索では良いかもしれませんが一つの…

filterの書き方 その2

前回は全体に適用されるFilterの書き方について説明しました。 今回は特定のリクエストのみにFilterを適用させてみます。例えば、ログインしているかを確認する必要がある画面のみに適用させる場合です。今回は自作のアノテーションを作成します。 今回はCoo…