3135 件中 1171 - 1180 件を表示
« 前の 10 件 | 次の 10 件 »
オープンソースカンファレンス(OSC)2015-Hamanako参加

 オープンソースカンファレンス2016浜名湖(OSC2016-Hamanako)に参加してきました。
浜松での開催で、初回(OSC-Hamamatsuと称していた時)以来の久々の参加です。
前の週と翌週とに別件の遠出の予定が入っていたので、今回のOSC-Hamanakoも参加しない予定だったのですが、昨年末の OSC2015-Tokushima でこちらの実行委員長さんに会ってしまい、「来てよ」と言われれば、行かないわけにはいきませんよね(笑)。
 http://www.ospn.jp/osc2016-hamanako/


[さらに読む]
AnemometerというMySQLスローログ専用の可視化ツールの弱点と、その克服スクリプト

一部の人にしか知られていない Anemometer というMySQLのスローログ専用の可視化ツールがある。

box/Anemometer: Box SQL Slow Query Monitor


中身はpt-query-digestの テーブル出力機能 (サマライズした結果をMySQLのテーブルに保存する機能があるのだ)に依存していて、スローログの可視化というよりはpt-query-digestの可視化というのがたぶん正しい。

だけどこのやり方にはちょっと弱点があって、pt-query-digestはクエリーをサマライズする時に発生時間の情報を …

[さらに読む]
MySQL RouterとMySQL Fabric連携による可用性の向上

レプリケーションフレームワークのMySQL Fabricについては、昨年概要をブログに書いたので本日は、
MySQL FabricをMySQL Routerの連携による可用性や柔軟なスケールアウト方法について確認して見ます。

MySQL Fabricは便利なフレームワークですが、Fabric対応コネクターを利用しないと利用出来ず、
アプリケーションの書き換え労力が必要な為、あまりまだ広まっていませんでしたが、
MySQL Routerのリリースにより今後利用されるケースも増えてくるかと思います。

1. 障害発生時にマスターとスレーブ(新マスター)を自動切り替えし、アプリケーション接続変更は必要が無い。
2. …

[さらに読む]
MySQL Bug #79977 "utf8mb4_unicode_520_ci don't make sense for Japanese FTS" で言いたいこと

英語で書いてたら自分でもよくわからなくなってきたので。

MySQL Bugs: #79977: utf8mb4_unicode_520_ci don't make sense for Japanese FTS


* 本質的には MySQL Bugs: #76553: Sushi-Beer issue of MySQL with utf8mb4 の関連。
  * Unicode実装が不完全だから起こっている問題。


* 丸め問題

  * motherを意味する書き方に、はは(ひらがな)とハハ(カタカナ)とハハ(半角カタカナ)があって、
  * これらは(文字の形は違うけど)同じ音で同じ意味だから、大概の場合同じ文字として扱ってくれると嬉しい。


* 病院美容院問題

  * …

[さらに読む]
MySQL 5.7.11でdefault_password_lifetimeのデフォルトが0になるらしい!

日々の覚書: MySQL 5.7.4で導入されたdefault_password_lifetimeがじわじわくる の公開以来大反響をいただいていた (ブクマ がすごいことになっていて、思わず ばぐれぽ にブクマのリンクを貼り付けたほど)default_password_lifetime が。

5.7.11でついにデフォルト0になる!!! やった!!! やったよ!!!

ドキュメントはもう"default: 0 (>= 5.7.11)"の記載になってる。


[さらに読む]
ある PHP 案件の振り返り

2015 年、僕がメインで担当したとある PHP 案件の振り返りを行ってみようと思います。おもに技術面から、設計前に想定したこと、実際に導入してうまくいったこと・いかなかったことを振り返ってみたいと思います。 技術的な環境は、次のとおりです。 インフラ環境: オンプレミス(だいだい6台くらい、このときのためにほぼハードウェアを新規に調達しました) OS: CentOS 7.0 言語: PHP 5.6 フレームワーク: FluelPHP 1.7.x データベース: Postgresql 9.3 ミドルウェア ロードバランサー冗長化: Keepalived(新規) ウェブサーバ: Apache から Nginx に変更、PHP は FPM キャッシュ: Redis(新規) 検索: Elasticsearch(新規) ログ: Fluentd(新規) 監視: Nagios & Cacti & Munin(従来と同じですが、新規にセットアップしています) …

[さらに読む]
Elixirでcall stackを表示する

スマートではないですが、以下のようにして表示できます。

#!/usr/bin/env elixir defmodule Bar do def bar do try do raise "oops" rescue _ -> IO.inspect System.stacktrace end end end

defmodule Foo do def foo do Bar.bar end end

Foo.foo

[{Bar, :bar, 0, [file: 'test.exs', line: 4]}, {:elixir_compiler, :dispatch_loaded, 6, [file: 'src/elixir_compiler.erl', line: 126]}, {:elixir_lexical, :run, 3, [file: 'src/elixir_lexical.erl', line: 16]}, {:elixir_compiler, :quoted, 3, [file: 'src/elixir_compiler.erl', line: 30]}, {Code, :require_file, 2, [file: 'lib/code.ex', line: 363]}, {Mix.Tasks.Run, :run, 1, [file: 'lib/mix/tasks/run.ex', line: 68]}, {Mix.CLI, :run_task, 2, [file: 'lib/mix/cli.ex', line: 58]}, {:elixir_compiler, :dispatch_loaded, 6, [file: 'src/elixir_compiler.erl', line: 126]}]

Exception.formatを使うと、もうちょいきれいになります。

try do raise …

[さらに読む]
MySQL on Docker

昨年からMySQLチームがオフィシャルレポジトリーをDockerに公開し、
最近少しずつ利用している方も増えてきて、
開発環境などでは簡単にDBが準備出来て工数削減も出来、
大活躍出来る仕組みなので簡単にレビューしておきます。

[Dockerレポジトリ]
https://hub.docker.com/_/mysql/ (Docker Team)
https://hub.docker.com/r/mysql/mysql-server/ (MySQL team at Oracle)

Tagに関しては、此方を確認下さい。(指定しない場合は、最新のイメージがダウンロードされます)
https://hub.docker.com/r/mysql/mysql-server/tags/

[さらに読む]
DHCPでIPアドレスとかは設定するけどresolv.confはいぢられたくない場合

DHCPIPアドレスとかは設定するけど /ec/resolv.conf は生成・変更されたくない場合のメモ。

Ubuntu

以下、14.04と15.04で確認。

手短に言うと、

  • /etc/resolv.conf をsymlinkではなく実ファイルにした上で、
  • 以下の内容で /etc/dhcp/dhclient-enter-hooks.d/disable-make_resolv_conf を作る
make_resolv_conf() { :; }

細かく書くと、こんな感じになってる。

  • dhclientが/sbin/dhclient-scriptを折りにふれ実行する
  • dhclient-script は resolv.conf を生成するためにシェル関数 …
[さらに読む]
Mariaexの接続時エラーをがんばってハンドリングする

ElixirのMariaDB/MySQLドライバでmariaexというのがあります。

使い方は以下のような感じで難しくはないです。

{:ok, p} = Mariaex.Connection.start_link(username: "ecto", database: "ecto_test") Mariaex.Connection.query(p, "CREATE TABLE test1 (id serial, title text)")

で、稼働時のエラー、たとえばSQLのSyntaxErrorやらDB落ちてるとかはいくらでもリトライなり、プロセスの再起動なりをすればいいんですが、DB名を間違えた…とかだと致命的なので即刻終了する必要があります。

IO.inspect Mariaex.Connection.start_link(database: "testx")

case文で{:error, pid}をハンドルすればいいかと思ったら、コンソールにエラーメッセージが。 …

[さらに読む]
3135 件中 1171 - 1180 件を表示
« 前の 10 件 | 次の 10 件 »