カテゴリー別アーカイブ: 覚書

Yahoo!ジオシティーズ サービス終了の話

詳細はサービス終了のお知らせ - Yahoo!ジオシティーズを参照。

一番最初に借りたレンタルサーバがジオシティーズだった。HTMLファイルをアップロードするにはちょうどよいサービスで、かなりの間、お世話になっていた。

その後、掲示板を設置したいなど欲が出て、他のサービスに乗り換えて最終的にはさくらのレンタルサーバに落ち着いたけど、ジオシティーズがなかったらどうなっていただろうか。そういう意味では人生に影響を与えたもののひとつだ。

Visual Studio Codeに導入している拡張を晒してみんとす

対象の言語など

  • HTML5っぽいもの
  • JavaScript
    • jQuery
  • SQL
    • Oracle DB
  • Markdown

一覧の生成にはSystem Informationを利用した。さくっと取得できるのでとてもクール。

VS Code System Information

timestamp: 2018-09-12T00:55:53.359Z

Information Provider

key value
id wraith13.sysinfo-vscode
name sysinfo-vscode
displayName System Information
version 1.0.1

options

key value
categories [“basic”,”extensions”]
withSensitiveData false
withInternalExtensions false

OS Information

key value
arch x64
platform win32
type Windows_NT
release 10.0.17134
EOL “\r\n”
endianness LE

Process Information

key value
arch x64
env {}

versions

key value
http_parser 2.7.0
node 8.9.3
v8 6.1.534.41
uv 1.15.0
zlib 1.2.11
ares 1.10.1-DEV
modules 57
nghttp2 1.25.0
openssl 1.0.2n

VS Code Information

key value
version 1.27.1

env

key value
appName Visual Studio Code
language ja

extensions

Node Debug (legacy)

key value
id ms-vscode.node-debug
isActive false
name node-debug
version 1.27.6
displayName Node Debug (legacy)
description Node.js のデバッグ サポート (バージョン 8.0 以前)
publisher ms-vscode
categories [“Debuggers”]

Node Debug

key value
id ms-vscode.node-debug2
isActive false
name node-debug2
version 1.27.1
displayName Node Debug
description Node.js デバッグ サポート
publisher ms-vscode
categories [“Debuggers”]

Bracket Pair Colorizer

key value
id CoenraadS.bracket-pair-colorizer
isActive true
name bracket-pair-colorizer
version 1.0.59
displayName Bracket Pair Colorizer
description A customizable extension for colorizing matching brackets
publisher CoenraadS
categories [“Other”]

markdownlint

key value
id DavidAnson.vscode-markdownlint
isActive false
name vscode-markdownlint
version 0.20.0
displayName markdownlint
description Markdown linting and style checking for Visual Studio Code
publisher DavidAnson
categories [“Linters”]

extensions.4

key value
id dbaeumer.jshint
isActive true
name jshint
version 0.10.20
description Integrates JSHint into VS Code. JSHint is a linter for JavaScript
publisher dbaeumer
categories [“Linters”]

ESLint

key value
id dbaeumer.vscode-eslint
isActive true
name vscode-eslint
version 1.6.0
displayName ESLint
description Integrates ESLint JavaScript into VS Code.
publisher dbaeumer
categories [“Programming Languages”,”Linters”]

extensions.6

key value
id DougFinke.vscode-pandoc
isActive false
name vscode-pandoc
version 0.0.8
description Renders markdown through pandoc
publisher DougFinke
categories [“Other”]

Material Theme

key value
id Equinusocio.vsc-material-theme
isActive true
name vsc-material-theme
version 2.4.2
displayName Material Theme
description The most epic theme now for Visual Studio Code
publisher Equinusocio
categories [“Themes”,”Other”]

PHP Debug

key value
id felixfbecker.php-debug
isActive false
name php-debug
version 1.12.5
displayName PHP Debug
description Debug support for PHP with XDebug
publisher felixfbecker
categories [“Debuggers”]

PHP IntelliSense

key value
id felixfbecker.php-intellisense
isActive false
name php-intellisense
version 2.3.5
displayName PHP IntelliSense
description Advanced Autocompletion and Refactoring support for PHP
publisher felixfbecker
categories [“Programming Languages”]

PHP Extension Pack

key value
id felixfbecker.php-pack
isActive false
name php-pack
version 1.0.2
displayName PHP Extension Pack
description Everything you need for PHP development
publisher felixfbecker
categories [“Other”,”Extension Packs”]

Excel Viewer

key value
id GrapeCity.gc-excelviewer
isActive true
name gc-excelviewer
version 2.1.26
displayName Excel Viewer
description View Excel spreadsheets and CSV files within Visual Studio Code workspaces.
publisher GrapeCity
categories [“Other”]

Beautify

key value
id HookyQR.beautify
isActive true
name beautify
version 1.4.3
displayName Beautify
description Beautify code in place for VS Code
publisher HookyQR
categories [“Other”,”Programming Languages”,”Formatters”]

Japanese Language Pack for Visual Studio Code

key value
id MS-CEINTL.vscode-language-pack-ja
isActive false
name vscode-language-pack-ja
version 1.27.2
displayName Japanese Language Pack for Visual Studio Code
description Language pack extension for Japanese
publisher MS-CEINTL
categories [“Language Packs”]

SQL Server (mssql)

key value
id ms-mssql.mssql
isActive false
name mssql
version 1.4.0
displayName SQL Server (mssql)
description Develop Microsoft SQL Server, Azure SQL Database and SQL Data Warehouse everywhere
publisher ms-mssql
categories [“Languages”,”Azure”]

Python

key value
id ms-python.python
isActive false
name python
version 2018.8.0
displayName Python
description Linting, Debugging (multi-threaded, remote), Intellisense, code formatting, refactoring, unit tests, snippets, and more.
publisher ms-python
categories [“Programming Languages”,”Debuggers”,”Linters”,”Snippets”,”Formatters”,”Other”]

vscode-memo-life-for-you

key value
id satokaz.vscode-memo-life-for-you
isActive true
name vscode-memo-life-for-you
version 0.4.9
displayName vscode-memo-life-for-you
description This extension is for writing notes on VS Code. Inspired by memo (Memo Life For You)
publisher satokaz
categories [“Other”]

Table Formatter

key value
id shuworks.vscode-table-formatter
isActive false
name vscode-table-formatter
version 1.2.1
displayName Table Formatter
description Format table syntax of Markdown, Textile and reStructuredText.
publisher shuworks
categories [“Formatters”]

System Information

key value
id wraith13.sysinfo-vscode
isActive true
name sysinfo-vscode
version 1.0.1
displayName System Information
description Show Visual Studio Code system information ( includes extensions list ) by markdown or JSON.
publisher wraith13
categories [“Other”]

Language PL/SQL

key value
id xyz.plsql-language
isActive false
name plsql-language
version 1.4.2
displayName Language PL/SQL
description PL/SQL language (Oracle) support
publisher xyz
categories [“Programming Languages”]

Markdown PDF

key value
id yzane.markdown-pdf
isActive false
name markdown-pdf
version 1.2.0
displayName Markdown PDF
description Convert Markdown to PDF
publisher yzane
categories [“Other”]

「君の名は。」

たまたま放映されているのを後ろ30分だけ見た。おおよその流れはTwitterやブログなどで知っていたから、別にこういう見方でもいいかな、と思っていた。

見終わった後、別の映画も流しで見ながら、どこかで配信していないだろうか、と考えていた。

翌日、調べてみるとAmazonでレンタルできることがわかった。ならば、見るしかない、と思って見た。

いつも通りの細かい描きこみの背景とテンポの良さに引き込まれて、あっという間にエンディングだった。これをもっと、早い時期に見なかったのはもったいない。リアルタイムで追いかけていたら、2016年はシン・ゴジラと君の名は。で盛り上がりっぱなしだっただろう。いや、実際はシン・ゴジラだけで十分だったけど。

その後、小説版があるということで小説を読んだ。一人称視点で書かれているので心理描写が多い。それと、嗅覚に訴える文が多く、文章は五官を刺激するんだ、とそんなことを思った。

そして、別サイドから描かれた話が収められている「Another Side:Earthbound」があることも知って、こちらも一気に読んでしまった。映画だと場面転換で端折られてしまった話が中心。これを読んだ後に小説や映画を見ると、別の感想や印象が得られる。

映画はレンタルで済ませてしまったので購入しようかどうか悩んでいる。こういうのは一気に買い揃えると軽く死ねる。それに、コミカライズもあるらしいではないか。

Rocket.Chatリベンジ

ねらい

  • VirtualBox上のCentOS 7
  • DockerとDocker-Compose

でRocket.Chatを動かしてホストや外部のマシンからアクセスする。

会社にある似たような構成のマシンだとRocket.Chatが立ち上がっても外部からのアクセスができなかった。

ざっくり

  1. Dockerインストール
  2. docker-composeインストール
  3. SELinuxをオフにする
  4. docker-compose.ymlを作成
  5. docker-compose up
  6. ゲストのローカルからもアクセスできたし、ホストのローカルからもアクセスできた

docker-compose.yml

version: '2'

services:
  rocketchat:
    image: rocketchat/rocket.chat:latest
    restart: unless-stopped
    volumes:
      - ./uploads:/app/uploads:z
    depends_on:
      - mongo
    ports:
      - 3000:3000

  mongo:
    image: mongo:latest
    restart: unless-stopped
    volumes:
     - ./data/db:/data/db:z
     - ./data/dump:/dump:z
    command: mongod --smallfiles --oplogSize 128 --replSet rs0

  mongo-init-replica:
    image: mongo:latest
    command: 'mongo mongo/rocketchat --eval "rs.initiate({ _id: ''rs0'', members: [ { _id: 0, host: ''localhost:27017'' } ]})"'
    depends_on:
      - mongo

:zオプションはちゃんと機能してないかも。

メモ

  • SELinuxに阻まれてストレージへの書き込みができなかった。オフにしたら正常に起動した
  • 本番でやりたい環境もそうなっているのかもしれない。要確認
  • 試して思ったけれど、Rocket.Chatを運用するコストは結構、高くつくのでは、と
    • 無償利用可能なソフトを自社でホスティングする場合はどれにでもいえる。知見を得るためなどでないなら、借りたほうがよい、というのはその通りだと思う

参考

Wiki.jsとGitHubと

狙い

  • Wiki.jsのGitSyncを利用したい
  • UbuntuからgitでGitHubにつなぐ
  • 認証方式はSSH Key

手順

SSH Keyの作成

cd ~/.ssh
eval `ssh-agent`
ssh-keygen -t rsa -b 4096 -C メールアドレス
ssh-add ssh-keygenで作ったファイル名

GitHubの設定

SSH Keysの作成で作った*.pubの内容をリポジトリのDeploy Keysに登録するだけ。

Wiki.jsの設定

  • wiki/config.yml
git:
  url: git@github.com:アカウント名/リポジトリ名.git
  branch: master
  auth:
    type: ssh
    privateKey: キーの場所
    sslVerify: true
  signature:
    name: アカウント名
    email: メールアドレス

nginxとnode.jsと

目的

  • VPSで動かしているサイトのSSL対応

ざっくり手順

  1. nginxをインストールする
  2. nginxをリバースプロクシにしてnode.jsで動いているWiki.jsを表示させる
  3. Let’s Encryptで証明書を入手する
  4. Wiki.jsの設定をhttps向けに変更する
    • ポートを3001番、サイトのURLのhttp://https://に変更する
  5. nginxの設定を変える
    • 公式サイトの設定を参考に設定ファイルを変更する

今後の課題

  • Let’s Encryptの証明書の自動更新
    • 今のままだと数か月後に無効になってしまう

参考

Rocket.Chatを試しに導入してみる

流れ

  • 社内の連絡用にチャットを設置しよう
  • サーバーが確保できたからインストールするよ
  • う、動かない?

動かないのはなぜだろうか。Dockerがいけないのかもしれないし、別の環境で試してみよう。

テイク1

  • ホスト: Windows 10
  • ゲスト: CentOS 7.4
  • 仮想化: VirtualBox

Virtualbox上にDocker環境を構築して動かす。

権限の問題やらなんやらに激突。さらに本番環境も仮想マシンとはいえ、Vagrantで設定をいろいろしたものと同じとも言い難いので中断。

テイク2

テイク1と同じ環境でDockerなしで挑む。

Rocket.Chat Documentation - Deploying Rocket.Chat on Centos 7を参考にインストール。

最後の最後で起動に失敗。

古いバージョンのnodeが呼び出されているのが原因では、と教えてもらい、/usr/local/bin/node main.jsと絶対パスで指定して起動することにした。

今度は別のエラーメッセージが表示された。

Error: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /opt/Rocket.Chat/programs/server/node_modules/fibers/bin/linux-x64-57/fibers.node)

だそうで。

strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX

とやってバージョンを調べると、GLIBCXX_3.4.19で止まっている。

Install 0.60.0-rc0 on CentOS7 · Issue #9167 · RocketChat/Rocket.Chat · GitHubのコメントにある手順で更新して、無事に起動するようになった。

さて、どうしたものか

とりあえず動かせるのはわかったけど、本来はDockerで動かすつもりだった。今度はDockerで動かない理由を探すことになるけど、とりあえずは保留。

Wiki.jsを動かした

  • Ubuntu
  • MongoDB
  • node.js
  • Wiki.js

という感じでざっくり。

前提になっているMongoDBとnode.jsをapt-getで導入した後、Wiki.jsの初期設定を行った。

課題

  • HTTPS化をどうしましょう。リバースプロクシ使ってね、とざっくり書いてあったけど、nginxとかそういうのを使えってことですか?
    • フォロワーさんからlighttpd+mod proxyをプッシュされたり

参考