interprism's blog

インタープリズム株式会社の開発者ブログです。

ちょっと便利なChromeの通信監視

この投稿は インタープリズムはAdvent Calendarを愛しています。世界中のだれよりも。 Advent Calendar 2017の8日目 の記事です。

sekineです。
サイバーマンデー積ん読が増えました。

今北産業。TL;DR

  • ブラウザでRequest,Responseの一覧を見たい時に便利なChromeの機能の紹介
  • アドオン不要なのでどの環境でも使える(Chromeが使えない環境は例外)
  • 1行余った。

背景など

フロントエンドの開発をしていると、リクエスト・レスポンスの中身を覗いたりすることが頻繁にあります。
綺麗なREST APIを設計してあればリクエスト単位でテスト出来るので苦はないんですが、
Webサービスで「入力画面」「確認画面」「完了画面」の様に遷移していく画面の検証をしていると、
「あれ、確認から完了に遷移する時にエラーになった。。入力画面から確認画面に遷移する時のパラメータどうしてたっけ…」という場面がしばしばあります。
ログファイルに出力していたとしてもわざわざ別画面でターミナルを開いて…なんて面倒ですよね。
そんな時に嬉しいChromeの機能の紹介です。
とてもニッチですね。

続きを読む

Gitでお馴染みのあのコマンドを打った時、裏では一体何が起きているんだろう?(ステージング〜コミット)

"いにっと"、"あど"、"こみっと"、"ちぇっくあうと"、"まーじ"・・魔法の言葉を理解してみたい

この投稿は インタープリズムはAdvent Calendarを愛しています。世界中のだれよりも。 Advent Calendar 2017の4日目 の記事です。

こんにちは、imamotoです。

突然ですが、皆さんGitの操作はGUI派ですか?それともコマンドライン派ですか? 私はコマンドライン派です!

Subversionがメインだった頃はGUIのアプリケーションで操作をしていたのですが、 Gitに触れるようになってからはめっきりコマンドライン派になりました。

業務中もまるで魔法の呪文のようにgit add . git commit git push origin branch_nameとタイピングしています。

おそらく人と会話しながら余裕で打てるくらいには手に馴染んでいる愛すべきコマンド達です。

しかしふと振り返ってみると、私はこのコマンド達の本当の姿をきちんと知る努力をしてきてはいませんでした。

コミット間の差分をどのような形で保持し、どのようにコミットの履歴をたどり、どのように2つのブランチがマージされるのか。。

これらを知ることで、私はGitともっと仲良くなれるのではないかと考えました。

ということで、これからGitと仲良くなる旅に出ようと思います!

続きを読む

きれいな正規表現してるだろ。

ウソみたいだろ。正規表現が書けるんだぜ。これで…。

この投稿は インタープリズムはAdvent Calendarを愛しています。世界中のだれよりも。 Advent Calendar 2017の2日目 の記事です。

初めに

いきなりですが、

入力された値のバリデーションチェックや文字列を検索するときなど正規表現を使うことが良くあります。 私は正規表現を書いていると「これで欲しい値が全部とれているのかな」とか、「これって不要な値を正しく弾けているのか」と不安になることがよくありますが、みなさんはどうでしょうか? 私を含め正規表現が不安な人のためにオススメのツールをいろいろ調べてみました!

続きを読む

聞いてもらうプレゼンのやり方

 この投稿は インタープリズムはAdvent Calendarを愛しています。世界中のだれよりも。 Advent Calendar 2017の1日目 の記事です。

 こんにちは、yumeです。

 大学生や社会人になると、人の前に立って何かを発表する、いわゆるプレゼンテーションをしたり、聞いたりする機会が、結構な頻度で訪れることと思います。(僕の場合、ここ一か月だけでも二、三度そういった機会がありました。) プレゼンは必須スキル、と言われながらも、結構苦手な方、多いんじゃないでしょうか。

 また、プレゼンには始終ワクワクしながら聞けるものもあれば、なんとなく退屈を感じてしまうものもありますよね1

 ワクワクするプレゼンを聞くのが好きだけれど、自分のプレゼンはおろそかになっている、という方、いませんか?

 僕自身、何かと語りたがりなので、人の前で話すことが多いのですが、聞き手が楽しめたかどうかはいつも気にしています。

 そういった意識は、僕の場合、学生時代に鍛えられて身についたものなのですが、その甲斐あってか、失敗することは少ないと感じています。

 なので、今回は日々の経験と研究からくる知見をまとめてみようかと思います。


  1. プレゼンにも性格があったり、聞き手の好み等もあるので、「誰か一人が退屈に感じること」にネガティブな意味はないでしょう。

続きを読む

Gitlab 8.13 から 9.5 にアップグレードして reconfigure が失敗した時の対処

こにちわ、hiranoです。

社内で運用している Gitlab を 8.13 から 9.5 にアップグレードした際にプチハマりしたので備忘的に記録を残します。

前提

  • CentOS 6系
  • Gitlab 8.13 Omnibus版( yum install gitlab-ce で入れたやつ)

これで終わると思ってた手順

  1. gitlab-ctl stop で停止
  2. yum update gitlab-ce で更新
  3. gitlab-ctl reconfigure で設定を更新
  4. gitlab-ctl start で起動

終わるはずだったのですが、途中でハマりました。

続きを読む

名前ベースのVirtualHostで運用しているサーバーのSSL証明書の有効期限をコマンドで取得する方法

hiranoです。

弊社ではそこそこの数のサイトを運営しているのですが、それぞれのSSL証明書の有効期限がバラバラに切れるため、突如

f:id:interprism:20170818183248p:plain

と表示されることがしばしばあります。

サーバー一覧と証明書の有効期限を管理しておいて、毎週見ればいいのですがもっと楽がしたいのでスクリプトを書いてデイリーで有効期限をチェックしようとした際にちょっとハマって解決したので記録です。

続きを読む

MySQLで一部のテーブルが破損して起動しなくなった時の対処

hiranoです。

あるサービスで使用しているMySQLが突然起動しなくなった時の対処方法を記す。

背景

何もしてないのに突然MySQLが起動しなくなった!

調査

MySQLのログを見ると以下のように表示されている。

170412 10:52:01 mysqld_safe Starting mysqld daemon with databases from /path/to/mysql
2017-04-12 10:52:01 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-04-12 10:52:01 0 [Note] /usr/sbin/mysqld (mysqld 5.6.27) starting as process 2716 ...

中略

2017-04-12 10:52:01 2716 [Note] InnoDB: Log scan progressed past the checkpoint lsn 86908734689
2017-04-12 10:52:01 2716 [Note] InnoDB: Database was not shutdown normally!
2017-04-12 10:52:01 2716 [Note] InnoDB: Starting crash recovery.
2017-04-12 10:52:01 2716 [Note] InnoDB: Reading tablespace information from the .ibd files...
2017-04-12 10:52:01 2716 [ERROR] InnoDB: space header page consists of zero bytes in tablespace ./dbname/table_name.ibd (table dbname/table_name)
2017-04-12 10:52:01 2716 [Note] InnoDB: Page size:1024 Pages to analyze:64
2017-04-12 10:52:01 2716 [Note] InnoDB: Page size: 1024, Possible space_id count:0
2017-04-12 10:52:01 2716 [Note] InnoDB: Page size:2048 Pages to analyze:32
2017-04-12 10:52:01 2716 [Note] InnoDB: Page size: 2048, Possible space_id count:0
2017-04-12 10:52:01 2716 [Note] InnoDB: Page size:4096 Pages to analyze:16
2017-04-12 10:52:01 2716 [Note] InnoDB: Page size: 4096, Possible space_id count:0
2017-04-12 10:52:01 2716 [Note] InnoDB: Page size:8192 Pages to analyze:8
2017-04-12 10:52:01 2716 [Note] InnoDB: Page size: 8192, Possible space_id count:0
2017-04-12 10:52:01 2716 [Note] InnoDB: Page size:16384 Pages to analyze:4
2017-04-12 10:52:01 2716 [Note] InnoDB: Page size: 16384, Possible space_id count:0
2017-04-12 10:52:01 7fb422a60720  InnoDB: Operating system error number 2 in a file operation.
InnoDB: The error means the system cannot find the path specified.
InnoDB: If you are installing InnoDB, remember that you must create
InnoDB: directories yourself, InnoDB does not create them.
InnoDB: Error: could not open single-table tablespace file ./dbname/table_name.ibd
InnoDB: We do not continue the crash recovery, because the table may become
InnoDB: corrupt if we cannot apply the log records in the InnoDB log to it.
InnoDB: To fix the problem and start mysqld:
InnoDB: 1) If there is a permission problem in the file and mysqld cannot
InnoDB: open the file, you should modify the permissions.
InnoDB: 2) If the table is not needed, or you can restore it from a backup,
InnoDB: then you can remove the .ibd file, and InnoDB will do a normal
InnoDB: crash recovery and ignore that table.
InnoDB: 3) If the file system or the disk is broken, and you cannot remove
InnoDB: the .ibd file, you can set innodb_force_recovery > 0 in my.cnf
InnoDB: and force InnoDB to continue crash recovery here.
続きを読む

PAGE TOP