ぱと隊長日誌

ブログ運用もエンジニアとしての生き方も模索中

海外からの旅行者に電車の乗換案内を英語で質問されたときの乗り越え方

はじめに 新幹線や飛行機だけでなく、日常的に通勤や遊びに行くために使う路線でも海外からの旅行者を多く見かけるようになりました。今後もさらに増えていくことでしょう。そんな状況を背景に、海外からの旅行者に電車の乗換案内を英語で質問されるかもしれ…

Oracle DB の DBCA で空きポートが使用中とエラー表示される場合の対処法

事象 Database Configuration Assistant (DBCA) を使用してデータベースを作成するとき、「新規リスナー作成」や「Enterprise Manager (EM) Database Express の構成」で、空きポートが使用中とエラー表示される。[DBT-06103] ポート(1,521)がすでに使用中で…

SQLのGROUP BY句の処理を理解する

はじめに SQLのGROUP BY句の解説記事は多くありますが、本エントリでは他の記事とは解説方法を変え、処理の段階を追って説明します。これにより、これまでGROUP BY句のふるまいにモヤモヤを感じていた方が少しでもスッキリできることを目指します。 また、CA…

Windows 10 April 2018 Update 適用後にリモートデスクトップ接続ができなくなってからの復旧手順の一例

事象・環境 ローカルPC及びリモートPC共に Windows 10 April 2018 Update(バージョン 1803)適用後、リモートデスクトップ接続ができなくなりました。表示されるエラーメッセージは以下の通りです。 「リモートデスクトップはコンピューター"*****"を…

Kindle for iOS で辞書よりWikipediaが先に表示される一因

Kindleには辞書が内蔵されており、調べたい単語を選択することで意味を調べることができます。また、言語に応じた辞書がデフォルトで表示されます。例えば、Kindle for PC で日本語の単語を選択すれば「デジタル大辞泉」、英単語を選択すれば「プログレッシ…

PostgreSQLの実行計画の実行順とコスト・実行時間の累積

はじめに PostgreSQLの実行計画の読み解き方は公式マニュアルで説明されています。PostgreSQL 10 でのリンクを示します。 14.1. EXPLAINの利用ですが、若干分かり辛い個所があるため、本エントリでは以下の観点に着目して補足することにします。 ノードの実…

ネストしたサブクエリにOR条件を含むSQLのパフォーマンスをPostgreSQLで改善する

はじめに ネストしたサブクエリ(副問合せ)はEXISTS条件でよく利用されます。ですが、このサブクエリのフィルタ条件次第ではパフォーマンス問題となることがあります。これを Oracle Database で改善する例がOracleの記事(以下、「記事」とだけ表記した場…

Oracle Database の LNNVL を PostgreSQL で実現する

Oracle Database には LNNVL というファンクションがあります。 LNNVL(condition) LNNVL の説明を Oracle Database 12c R2 マニュアルから引用します。 LNNVLは、条件のオペランドの1つまたは両方がNULLの可能性がある場合にその条件を簡単に評価する方法を…

Linux のディレクトリとファイルのパーミッション組み合わせと振る舞い

パーミッションとその組み合わせ Linux のディレクトリとファイルのパーミッションが組み合わさった時、どうふるまうのかを確認します。 ディレクトリ・ファイル単体 Linux のディレクトリ・ファイルのパーミッション表記で使用される文字は以下の定義がされ…

エルブラン・セマンティクス(Herbrand Semantics)理解メモ

はじめに データベースのトランザクション(特にスケジュール)の理論を勉強しようとすると、エルブラン・セマンティクス(Herbrand Semantics)の理解が必要となります。Herbrand Semantics の解説は以下の本・章にあります。Transactional Information Syste…

MANABIYA「技術者としての成長のための技術トレンド」聴講メモ

はじめに MANABIYA(【国内最大級のエンジニア向け技術祭典】MANABIYA -teratail Developer Days-) 2018/03/24(土)1時間目 技術者としての成長のための技術トレンド スピーカー:及川 卓也 さん [エンジニアリング・プロダクトアドバイザー] の聴講メモです…

MANABIYA「エンジニアのための自分経営戦略」聴講メモ

はじめに MANABIYA(【国内最大級のエンジニア向け技術祭典】MANABIYA -teratail Developer Days-) 2018/03/24(土)2時間目 エンジニアのための自分経営戦略 スピーカー:西尾 泰和 さん [サイボウズ・ラボ] の聴講メモです。メモは口頭説明を中心にまとめて…

二乗平均の分母はなぜ平方根に含めるのか?

はじめに 二乗平均の計算は各データを2乗して足してデータの個数で割り、そのあと平方根をとります。 各データを2乗して足すのはマイナスの符号をなくすためで、このままでは単位が2乗になるために平方根をとる、と多くの資料で説明されます。ですが、単位の…

デブサミ2018「【16-C-3】Gitで安定マスターブランチを手に入れる」聴講メモ

はじめに Developers Summit 2018 (Developers Summit 2018) 【16-C-3】Gitで安定マスターブランチを手に入れる スピーカー:井上 誠一郎 さん [ワークスアプリケーションズ] / 三宅 泰裕 さん [ワークスアプリケーションズ]) の聴講メモです。メモは口頭…

デブサミ2018「【16-A-2】ヤフーを支える社内システム」聴講メモ

はじめに Developers Summit 2018 (Developers Summit 2018) 【16-A-2】ヤフーを支える社内システム スピーカー:伊藤 康太 さん [ヤフー] の聴講メモです。メモは口頭説明を中心にまとめています。資料を併せてご参照ください。 ヤフーを支える社内システム…

デブサミ2018「【15-E-5】最新技術に挑戦し続けるLIFULL HOME'Sアプリの開発について」聴講メモ

はじめに Developers Summit 2018 (Developers Summit 2018) 【15-E-5】最新技術に挑戦し続けるLIFULL HOME'Sアプリの開発について スピーカー:高橋 庸介 さん [LIFULL] の聴講メモです。メモは口頭説明を中心にまとめています。資料を併せてご参照ください…

デブサミ2018「【15-C-4】多様なビジネスドメイン、サービスフェーズが混在する中での組織戦略と技術戦略」聴講メモ

はじめに Developers Summit 2018 (Developers Summit 2018) 【15-C-4】多様なビジネスドメイン、サービスフェーズが混在する中での組織戦略と技術戦略 スピーカー:宮川 典久 さん [リクルートテクノロジーズ] の聴講メモです。メモは口頭説明を中心にまと…

幼い子供の育児と自分の勉強時間確保の両立

※タイトルを変更しました(旧題:子供が生まれた後の勉強時間の確保の仕方(の一例)) はじめに 私はエンジニアであり、幼い子供を持つ父親でもあります。そして、育児と勉強時間確保の両立に悩む一人でもあります。この記事を読んでいただいている方々の状…

背理法と前提の関係

まず、背理法の定義を確認します。 背理法(はいりほう、英: proof by contradiction, reduction to the absurd, indirect proof, apagogical argument など、羅: reductio ad absurdum)とは、ある命題 P を証明したいときに、P が偽であると仮定して、そこ…

数学的帰納法の証明の仕組み

数学的帰納法はドミノ倒し(もしくは将棋倒し)に例えられることが多いです。このドミノ倒しのイメージが私には当初理解しにくかったので、分かりやすく説明を試みます。ただし、この説明は直感的なものなので、数学的に厳密な証明を知りたい方は別の資料を…

well-formedなトランザクションとlegalなスケジュール

はじめに Transaction management におけるwell-formedなトランザクションとlegalなスケジュールについて説明します。主に以下の資料を参考にします。 http://www.dis.uniroma1.it/~rosati/gd/1-concurrency.pdf P60付近を参照ください。 ここでは exclusive…

記号論理学における論証(前提と結論)の妥当性

「記号論理入門(金子 洋之・著)」は自然演繹による証明を学ぶための入門書としてお勧めできます。 ですが、いくつかわかりにくい点もあります。その一つが論証の妥当性についてです。このエントリでは本の解説の補足をしながら、論証の妥当性について説明…

PostgreSQLマニュアルのトランザクション分離レベル表を参照する際の注意点

はじめに PostgreSQLマニュアル「13.2. トランザクションの分離」にはトランザクション分離レベルの表が記載されています。この表の記載は9.4以前と9.5以降で変わっており、PostgreSQLの挙動が変わったと勘違いしてしまうかもしれません。ですが、マニュアル…

SerializabilityとMonotonicityとRigorousnessの関係

概要 motononeなスケジュールのクラスでは、スケジュールから任意のトランザクションが消失してもスケジュールのクラスが変わりません。CSRはmonotoneです。CSRだけではabortを扱うのが難しいため、ロックによる手法を組み合わせます。SS2PLによって作られる…

PostgreSQLマニュアルの「リピータブルリード分離レベル」における「制御レコード」とはなにか?

PostgreSQL(9.1以降)マニュアルの「13.2.2. リピータブルリード分離レベル」に以下の記述があります。 リピータブルリードモードでは、全てのトランザクションがデータベースの一貫した不変のビューの状態を参照することが保証されます。 しかし、このビュ…

NTTDATATC2017「本当は恐ろしい分散システムの話」聴講メモ

前書き NTTデータ テクノロジーカンファレンス 2017 (NTTデータ テクノロジーカンファレンス2017 デジタルトランスフォーメーション成功のカギ~ Hadoop, Spark, ブロックチェーン | NTTデータのHadoopソリューション) 【テクノロジー】本当は恐ろしい分散シ…

急がば回れ、選ぶなら近道 TX記事 読解メモ

目次 目次 はじめに 前提知識 トランザクションの基礎知識 数学記号 iff Serializabilityの選択 本エントリでの表記 Welcome back to the TRANSACTION! A Critique of ANSI SQL Isolation Levels再読 A critique of ansi sql isolation levels 解説公開用 (…

DBTS2017「次世代DB / 分散OLTP(MVCC系)を可能な限り全力で解説」聴講メモ

前書き db tech showcase Tokyo 2017 (db tech showcase Tokyo 2017 | db tech showcase) C31:次世代分散OLTP 次世代DB / 分散OLTP(MVCC系)を可能な限り全力で解説 の聴講メモです。スピーカーはノーチラステクノロジーズの神林さん(@okachimachiorz1)です…

はてなブログ記事にTwitterアカウントのリンクを埋め込む

はてなブログの記事内にTwitterアカウントのリンクを埋め込みたい場合があります。例えば、@pato_taityo←こんな感じに。Twitterアカウントのリンク埋め込みにアンカーリンク(a hrefタグ)を使う方法を紹介している記事がありますが、もっと簡単な記法があり…

DBTS2017 これからの”本命技術”はこう見つける! まとめ

前書き db tech showcase Tokyo 2017 (db tech showcase Tokyo 2017 | db tech showcase) A12 : KEYNOTE 2 これからの”本命技術”はこう見つける!~ポスト・リレーショナルデータベース時代を読み解くコツ~ のまとめ記事です。本セッションはウルシステムズ…