Org-modeやMarkdown形式の見出し行のリンクを生成するだけのブックマークレット

Org-modeやMarkdown形式の見出しのあるファイルをブラウザでみるためのブックマークレットを作ってみました。とりあえず「見出しレット」と名付けました。
ブックマークレットではなく、ドラッグアンドドロップするタイプもあります。

比較的長い文章を、見出しリンクをマウスでポチポチしながら閲覧したいときはEmacsならSpeedbarがありますが、そうした環境がないとき、また、そうした環境のない人とファイルを共有するときなどに使えるのではないかと思います。Org-modeにはHTMLエクスポート機能がありますが、ちょくちょく更新するようなファイルだとその都度エクスポートするのは面倒だったので作ってみました。

以下のような特徴があります。

  • 使い方が簡単。ドラッグアンドドロップかブックマークレットを呼び出すだけです。
  • jQueryなどのライブラリは不要。ドラッグアンドドロップタイプでも1ファイルのみ。
  • ウェブサーバーに設置する必要はなく、デスクトップでも動作します。オフラインでもOK。
  • ウェブブラウザさえあれは良い
  • Markdownの見出し # に対応。

ただし、見出しのリンクを作る以外のことはしていません。書式は完全無視でベタ書きとみなして<br>をいれているだけです。見た目もショボいです。まあアイデアを紹介するための試作といった程度のものと思って下さい。

ブックマークレットタイプ

ドラッグアンドドロップタイプ

自分以外とドキュメントを共有するという点については、「markdown 共有」なんかで検索するとそういった機能を提供するサービスが沢山見つかります。gitのリポジトリを提供しているようなところであれば大体Markdownに対応していると思います。自分以外にそれらのアカウントを作ってもらったり、アプリをインストールしてもらえるようであればそれらを使ったほうがもちろん良いでしょう。

皆で使うサーバー上にDockerで開発環境を作る

課題と特徴、構成図

課題と特徴

PHPのWEBアプリ用の開発環境を作りました。

  • 開発環境をデザイナーを含む各スタッフのデスクトップに置かない。つまりVirtualboxは使わず、全員アクセス可能なサーバーで稼動させます。
    • なぜなら、他スタッフが別の場所(県)にいるからやり方を伝えたりするのが面倒そう。
    • なぜなら、デザイナーはフォトショップとかイラストレーターとかメモリをもりもり使っているのでさらに仮想環境を起動させるのはちょっと。
    • なぜなら、gitを使えないスタッフ居る。git覚えてもらうよりサーバー上で代わりにコミットしたほうが手っ取り早かったり。
  • 既存のレガシーWEBアプリを扱う場合が多い。設定が混乱しているので、設定を極力変えたくない。変えるのはデータベースの接続くらい。
  • 開発環境へのアクセスは本番環境と関係ない任意のドメインでアクセスできます。
  • データベースはDockerのホストで動かしている共通のもの。

残念な点

  • 実は2年くらい前の情報です。またDockerを使うのは初めてだったので詳しくありません。他にもっと良いやり方があると思います。
  • 設定することが多く、説明漏れもあると思います。正確性についても疑いつつ読んで下さい。
  • Dockerで残念だったのは、CentOSのカーネルをアップデートしてしまってDockerが動かなくなったこと。なんとか動くようにしたもののどう対処したか忘れました。

構成図とリクエストの流れ

ブラウザからのリクエストをDockerのホストサーバーのApacheが受け取り、mod_proxyで、Dockerのポートに送る。Docker内ではポート「本番機ドメイン:80」にアクセスされる、という流れになります。

ブラウザからのリクエストはワイルドカードでゾーン設定するなどして、スタッフ毎に割り振り、Dockerの待ち受けポートもスタッフ毎に割り振ります。

二人分の環境を作る場合に人によって異なる設定値は以下のものだけです。PHPアプリケーション内部では人によって違う設定をする必要はありません。

ホストマシン上でのURL 内部の80番にフォワードされる外部のポート ホスト上の作業ディレクトリ
staff1.example.com 10080 /home/staff1/workdir
staff2.example.com 10081 /home/staff2/workdir

“皆で使うサーバー上にDockerで開発環境を作る” の続きを読む