fish-shellをバージョン2から3へアップグレードする方法

公式ドキュメントに載っていないため、我流で進めました。手順は以下の通りです。 環境: 16.04.7 LTS (Xenial Xerus) 1.fish-shell (v2) のアンインストール $ sudo apt autoremove fish 2.aptレポジトリから”ppa:fish-shell/release-2”の削除 $ sudo ap…

IE11でXMLHttpRequestを利用する際に注意すること

requestパラメーターをURLエンコードすること htmlをutf-8の文字エンコーディングに指定していても、サーバーサイドへリクエストする際にはshift-jisの文字コードとして扱われました。 そのため、encodeURIComponent関数を用いてエンコーディングしましょう…

Macに使い捨てのJekyll環境を作成してみた

はじめに MacにJekyllをインストールしていましたが、実行すると度々nokogiriのインストールエラーが発生するので、Dockerを用いて必要な時にJekyll環境のコンテナーを作成するようにしました。 使い終わったらコンテナーを破棄するようにしています。 事前…

Fish Shellが遅いので調査してみた

Macで愛用しているFish Shellですが、コマンドを打ってからのレスポンスがあまりにも遅いので、調査してみました。 調査方法については、以下のサイトを参考にしました。 qiita.com 同様の調査を行ったところ、飛び抜けて処理に時間がかかっている箇所を確認…

今日のPythonスクリプト - kintoneアプリ設定情報のエクスポート -

ソースコードは以下のGitHubリポジトリにアップしています。 github.com アプリを変更する前後に設定情報を残すために作りました。 コマンドは以下の通りです。 $ poetry run export_kintone_app_settings domain login_name password --app 100 200 300 コ…

神奈川県内の新型コロナウイルス陽性患者数を地域別・年齢別で集計してみた

Power BIで集計しました。 オープンデータは以下リンク先のページに有ります。 www.pref.kanagawa.jp 地域名に揺らぎがあったため、集計前に変換処理しています。 神奈川県 → 神奈川県内 神奈川県横浜市 → 横浜市内 神奈川県川崎市 → 川崎市内 神奈川県横須…

今日のPythonスクリプト - 2項の計算ドリル -

ソースコードは以下のGitHubリポジトリにアップしました。 github.com 項の取り得る最小値と最大値をコマンドライン因数で設定できるようにしています。 コマンドは以下の通りです。 例1)1項目が百桁、2項目が十桁の足算の計算シートを出力 $ poetry run…

今日のPythonスクリプト - Twitterフォロワー数の一括取得 -

アクセストークンはTwitter Developerに申請し、APPを作成した後に取得できる。 また、読み込み用のCSVファイルには、"ID"項目(Twitterのスクリーン名に該当)を設けること。 import requests import csv import sys import traceback from datetime import…

今日のPythonスクリプト - 発表順番決定 -

import random ALL_MEMBER = [ '高橋', '鈴木', '佐藤', '渡辺', ] IGNORED_MEMBER = [ `鈴木` ] if __name__ == "__main__": member = [x for x in ALL_MEMBER if x not in IGNORED_MEMBER] random.shuffle(member) for x in member: print(x)

SQL Server テーブルへCSVファイルをインポートしてみた

はじめに SQL Server テーブルにCSVファイルのデータを一括インポートした際の備忘録です。 開発環境 OSはWindows 10 Home、データベースはMicrosoft SQL Server 2017 Developer Editionです。 CSVファイル 以下のフォーマットであることを前提とします。 商…

micro:bitで電灯消し忘れ通知システムを作ってみた

きっかけ 昼夜問わず洗面所の電灯の消し忘れが目立つようになったので、micro:bitを使って消し忘れを通知するシステムを作りました。 仕組み micro:bitを2台用意し、1台目は洗面台の明るさを感知してから消灯までのカウントを行い、2台目はリビングに置いて…

子ども2人と公園まで遠出してみた

きっかけ 私の趣味がトレッキングなのですが、土日は嫁に代わって子ども2人の面倒を見ることになり、全くトレッキングできていません。 そこで、子ども2人を連れてトレッキングできないかを模索してみました。長男が7才、次男が4才、まずはどの程度自力で歩…

Dockerを利用する際の懸念点

Dockerを利用する際の懸念点を備忘録のついでにまとめます。 2倍のネットワーク遅延 Docker用いることの弊害としてネットワーク遅延が挙げられます。Docker NATは本来のLinuxよりも2倍の遅延が発生することが報告されています。そのほかにRedisの運用でもDoc…

Atlassian製品におけるOSGiフレームワーク

Atlassian製品におけるOSGiフレームワークについてまとめました。 OSGiフレームワークの利点 OSGiフレームワークを製品に組み込むことの一番の利点は動的なモジュール交換が行えることです。Eclipseがプラグイン追加後に再起動不要でプラグインの機能を利用…

ActiveObjectsプラグインモジュールのデータベーストランザクション

Atlassianプラットフォーム内のActiveObjectsプラグインモジュールでのデータベーストランザクションについてまとめました。 executeInTransactionメソッドによるトランザクション トランザクションはActiveObjectsコンポーネントの%29">executeInTransactio…

Atlassian製品におけるMarkdown記法の対応状況について

Atlassian製品におけるMarkdown記法の対応状況について調べてみました。なお、個人的な需要により対象製品はJIRAとConfluence及びBitbucketに限ります。 JIRA JIRAでは課題の詳細やコメントなどのテキスト項目においてレンダラー(記法)を変更できますが、…

OpenCVとPythonによる画像の透過オーバーレイの方法

OpenCVは画像処理用ライブラリです。このライブラリを利用するためのPython用パッケージもあり、Pythonから手軽に画像処理プログラムが生成できます。今回はOpenCVとPythonを利用して画像を透過オーバーレイする方法を記載します。 解説 addWeighted関数 画…

AtlassianライクなWebフレームワークを作成しました

Atlassianプラグイン開発プラットホームでは様々なJavaフレームワークが利用されており、中には一般的なものも幾つか含まれています。今回それらのフレームワークを用いてAtlassianライクなWebフレームワークを作成したのでご紹介します。作品はGitHubに上げ…

Tomcat上でのHttpレスポンスの文字コード判定

Tomcat上のWEBアプリケーションにてHttpレスポンスを受け取ったけれど、文字コードを判定できない事態が発生したため記載します。 状況 Tomcat 8上のWEBアプリケーションにて他システムからREST APIを通じてJSON形式のデータを受け取りましたが、データ内の…

PrometheusとBlackbox Exporterでサーバ死活監視

Prometheusとはオープンソースの監視ツールです。このツールの主な特徴は以下の通りです。 メトリクスの収集をHTTPを通じたPull型で行います。 柔軟性に富んだクエリで集計した後にグラフとして表示することができます。このクエリのことを公式的に「PromQL…

マイグレーション案件の辛み

2012年当時、マイグレーション案件を幾つか受注していました。その時の辛みについて以下に記します。 受注金額の辛み マイグレーションとは稼動システムをメインフレームからオープン系システムへ移行することで、それに伴い既存アプリケーションやデータフ…

Helix4Gitの期待と現実

2017年6月よりPerforceからHelix4Gitがリリースされ、Perforceがこの製品でどの程度Gitに対応してきたのか期待を持って検証してみました。この検証により目の当たりにした幾つかの現実を記載いたします。 従来型DepotはGitレポジトリのサポート対象外 2017年…

コマンドライン上でOAuth APIを通じてリソースを利用してみる

OAuthとは、リソースオーナーがクライアントに対してリソースサーバが保有する自身のリソースの利用を認可する仕様であり、本来リソースオーナーが直接利用するものではありません(自身のリソースを使うなら認可は要らないはず)。 OAuth - Wikipedia リソ…

JavaScriptフレームワーク導入のためVue.jsを使ってみた

2009年当時でのWebアプリではJavaScriptフレームワークがあまり一般的で無く、目下JavaScriptライブラリであるProtoTypeやjQueryを使ってゴリゴリとコーディングを行っていました。ここ最近で久々にWebアプリ開発に戻りましたが、近年では非同期通信の一般化…

Sublime TextのConfluenceプラグインを試してみた

私はSublime Text愛好者です。特にお気に入りはEvernoteプラグインで、ローカルでノートを編集してはクラウドにアップロードするのが日常業務となっています。このプラグインのためだけにSublime Textを利用しているといっても過言ではありません。 さて、社…

特選汎用的Javaライブラリ

汎用的なJavaライブラリを特選するならという観点でまとめてみました。 joda-time:joda-time 便利な独自日時型を提供するライブラリ。Java8からはJRE標準ライブラリで同等な機能を持つjava.lang.LocalDateとLocalDateTimeが提供されてますが、 java.lang.Dat…

最近のJava API仕様書生成について

最近のJava API仕様書生成という見地からまとめてみました。 なんでAPI仕様書なのか? オブジェクト指向にはカプセル化という概念があり、クラスメソッドを呼んでやれば期待する値が返ってくる構造になっています。ただし、引数として何を渡せば良いのか、ど…

JIRAプラグイン開発方針のまとめ

業務上JIRAプラグイン開発をやっているので、その所感を開発方針という形でまとめてみました。 開発の課題と方針 Atlassianはプラグイン開発についてサポートしないし、公式のドキュメントも充実していない。おまけに、コミュニティも当てにならず、Stack Ov…

情熱プログラマー書評「新人の頃に出会いたかった本」

ITエンジニアのお勧めで何度か耳にしていた書物「情熱プログラマー ソフトウェア開発者の幸せな生き方」がAmazon Japanで電書化されていたので、早速通読しました。以下その書評です。 新人始めプログラマー皆さんへお勧め 社会へ出たてでまだまだ仕事の要領…

例外処理への考察からTupleでエラーを返すまでの経緯

今まで外部委託のソースコードをレビューしてきたけど、大体が例外の処理を正しく出来ていない。キャッチしながらもスルーするのはほんのご愛想、中には正常処理の一部として利用しているなんていう酷いものもある(他システムへの命令で例外が発生したのに…