Vue CLI 3マジすごい

Vue CLI 3 の用意する設定は現時点では確かにベストの形に近く、かつカスタマイズもそこそこしやすいのでとても助かる。生で Webpack と戦う気はなく、かつ Vue.js に振るのは決定しているという状況なら間違いなく Vue CLI 3 から始めるのがよいと思う。以前 v2 を試してみた時とは比べものにならない。

  • Webpack 4 の zero config は「command line option で賄える、そこにある程度 default が用意された」程度の意味であって、信じてはいけない
  • Vue CLI 3 の言う Webpack 設定の抽象化は Nuxt.js v1 よりもスジがよい感じ
  • 大変なのは loader 設定であって、そこから解放されるだけでも十分価値がある
  • よく使われてる plugin や webpack-merge, webpack-chain の知識が手に入るのはありがたい
  • vue ui マジ神
  • vue-cli-service inspect マジ便利

特に最後の inspect は隠されていた情報がちゃんと見えるようになって、今の挙動に何の設定が関与しているのか、を追えるようになるのがとてもよい。Nuxt 1 を使っていた時はここに苦しめられた記憶があるので。

Webpack が 3 から 4 になって良くなったことは分かってないけど、Vue CLI が 2 から 3 になったのはマジライフチェンジング。

※ 個人的には CopyWebpackPlugin お前勝手に何しやがるという気持ちが芽生えました。そういうのは見えるように vue.config.js に置いておくべき。

OSX 10.4 で ffmpeg を使う 2010

2009年の振り返りを華麗にスルーした wtnabe です。いや、そのうち振り返ろうとは思ってますよ。マジでマジで。

話変わって今回もまたなんでそんな今さらなネタ!?という内容です。

結論 - macports の ffmpeg で ok

結論を先に言うと OSX 10.4 でも MacPorts (1.8.2) から ffmpeg (0.5) をインストールすれば1 MPEG2 から DV へ変換でき、正しく QuickTime に解釈させて iMovie に取り込むことが可能になります。

ではその顛末をどうぞ。

背景 - 古めの iMac でビデオ編集

去年からちょこちょこ仕事でムービーの編集とか DVD のマスタリングを行っています。仕事とは言え売りもんを作ってるわけじゃなくて、あくまで内部保管目的ですが。で、カメラとか HDD の容量の問題がいろいろあって、この作業を

古めの Intel iMac (OSX 10.4 + HDD 160GB + iMovie HD 6)

で行っております。で、これまではカメラが DV だったので iMovie で取り込むだけでよかったんですが、MPEG2 で撮れるカメラからデータだけ持ち込まれる、というケースが発生。まぁ今どきのカメラなら MPEG2 とか MPEG4 とか当たり前ですね。でもこれは困る訳です。

iMovie は MPEG2 を編集できません。

しかもカメラ直結で iMovie に取り込めるんならいいんですが、データだけ渡されてしまうのです。

ffmpegX が動かない!

あーじゃあ ffmpeg で変換ね、ということで

ffmpegX a DVD, SVCD, VCD, CVD, VOB, DivX, XviD, H.264, PSP, iPod, MP4, MOV encoder for Mac OSX

から落として実行。(バージョンは 0.0.9y)最近は英語環境作らなくても ffmpegX で変換できて便利だよねーなんて思っていたら、

ffmpegX がソース movie の判別に失敗する

じゃないですか。えーっ。元のムービーが何か分からなければ正しく変換できるわけないやん。もしかしたらと思って一つ前の 0.0.9x を試してみましたが現象は一緒。

制限

ちなみに OSX 10.5 (PPC) + 0.0.9y で意図通り MPEG2 -> DV 変換を行えるのは確認済みであります。

じゃあその変換できる機械でやりゃいいじゃんと思うかもしれないけど、この PPC マシンは自分のメインマシンだし何より遅いのです。Windows マシンはあるのでそれで変換するという方法もなくはないけど、Windows マシンは HDD にまったく余裕がなく、さらに DV に変換しちゃったでかいデータを編集作業用の機械に持って行くのも一苦労な環境なのです。

笑え。

ffmpeg そのものを試すがコンパイル済みのものはダメ

GUI なんかなくたって変換さえできりゃいいよと思い立ち、ffmpegX のパッケージの中を覗いて ffmpeg コマンドを直叩き、すると変換の実行を試みるがほどなく落ちるorz 一つ前の 0.0.9x 内の ffmpeg コマンドは 0.0.9y のものよりは保つが、やはり途中で落ちるorz

いざ MacPorts へ

八方ふさがりかと思いかけたけど、これ IntelMac だし、もしかしたら MacPorts に ffmpeg あるかも、と思ったらこれがビンゴ。よーしということでここから以下の手順を踏むことになります。

  1. install DVD から XCode Tools をインストール
  2. The MacPorts Project – Home からMacPorts をインストール
  3. sudo port install ffmpeg
  4. mp4v2 がコンパイル不能。どうも生成される Makefile がおかしいらしく、#21007 (mp4v2 build fails on Tiger (libtool: more than one: -current_version option specified)) – MacPorts から patch を取ってきて当てる
  5. libtheora に install DVD から入れた XCode は古いから上げれと言われる。ADC から 10.4 に入れられる XCode 2.52をダウンロード3 -> インストール
  6. 全部インストールできた!

ここで初日は時間切れ。

QuickTime が解釈しない!

無事インストールできた ffmpeg で変換を試みる。えい。おぉ、変換できてるできてる!

……。

あれ?

変換済みの dv ファイルを QuickTime で開くといきなり「ファイルの最後に達しました」と言われる。もしかして変換後のデータ壊れてる?

ffmpeg は target ごとに default bitrate をよしなにしてくれない

試しに VLC で開くと再生できる。…けど。なんだこの荒さ?

あー bitrate の問題なのね。man を見ると確かに

      Video Options

      -b bitrate
          Set the video bitrate in bit/s (default = 200 kb/s).

って書いてある。target フォーマットは DV だって言ってるんだから DV 用の bitrate にしてくれりゃいいのに。

というわけで

ffmpeg -i foo.mpg foo.dv -target dv -b 25000k

で変換したら QuickTime で読めたよ!

QuickTime で読めるということは iMovie に取り込めるということ。いやーめでたしめでたし。長い道のりだった。

  1. この道のりも平坦ではありません 

  2. over 900MB 

  3. 約30分 

Meadow の IME 変換時のフォント設定

Meadow は情報が多そうということで選んだんだけど、いざ探してみるとやはり情報が散在していて一筋縄ではいかないっぽい。

今回困ったのは IME の変換時のフォント設定。こんなもん他の文字と同じ設定になるように勝手にやってくれりゃいいのに、そういうわけにはいかないらしい。あれこれ試した結果

momoLife: Meadowの設定ファイル

これに従ったらできた。なぜかは知らない。フォント周りに突っ込む気はさらさらないのだ。触らぬ神に祟りなし。

pear の channel server 周りで悩む

独自 PEAR channel server の立ち上げに利用するパッケージって、あちこち

  • [カイハツニッキ(2006-03-08)][1]
  • [koshigoewiki:php:pear:channel_server [KoshigoeWiki]][2]

で触れられている通り

  • [pear.chiaraquartet.net Channel Server][3]

これですよね。

$ pear search -c pear.chiaraquartet.net pear
Retrieving data...0%...MATCHED PACKAGES, CHANNEL PEAR.CHIARAQUARTET.NET:
=================================================
PACKAGE                              STABLE/(LATEST) LOCAL
Chiara_PEAR_Server                   0.18.7 (alpha)        PEAR Channel Server

相変わらず alpha なんですけど、もしかして pear.php.net 自体もずっとこれで運用してるってことなのかな? alpha なままってどうなんだろうというのと、マニュアルにも

[PEAR :: Manual :: Channels][4]

堂々と

Incomplete documentation</blockquote> って出たまんま。うーん。すげーな。これ早めに片付けた方が mirror の整備とか進むと思うんだけど。 あと [Nabble - Php Japan - phpug-admin - 日本におけるPEAR Channelサーバの構築について][5] なんてやり取りを見つけて、 [http://pear.php.gr.jp/][6] にアクセスして見ると、機能してるんだかどうだかよく分からない状態。せっかくあるのに [日本 PHP ユーザ会 (Japan PHP Users Group) :: メイン][7] を見ても使ってるんだか使ってないんだかよく分からない。 まぁ結局のところ PHP 版の CPAN はやっぱり存在しないっつーことで FA かな? package の作成は[以前試した](/diary/2007/0901/02/)ように楽になってるんだけど、これだけだと出来上がったパッケージを pear upgrade で更新できない。channel server を立てれば解決するんだけどなーんか微妙に踏ん切りがつかない状態ですな、これ。 内輪向け的にはパッケージングしないで include\_path 通して svn update の方が簡単なのかなぁ? でもすべての環境で include\_path をいじらなきゃいけなくなるし、svn バイナリも用意しなきゃいけない。 update がそんなに頻繁でなければ pear package の形になっている方が portable で嬉しいよね。[^1]それは間違いないと思う。うーぬぬぬ。 [1]: http://diary.eth.jp/?date=20060308 [2]: http://wiki.koshigoe.jp/doku.php?id=koshigoewiki:php:pear:channel_server [3]: http://pear.chiaraquartet.net/ [4]: http://pear.php.net/manual/en/guide.migrating.channels.php [5]: http://www.nabble.com/%E6%97%A5%E6%9C%AC%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8BPEAR-Channel%E3%82%B5%E3%83%BC%E3%83%90%E3%81%AE%E6%A7%8B%E7%AF%89%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6-td1732084.html [6]: http://pear.php.gr.jp/ [7]: http://www.php.gr.jp/ [^1]: しつこいようだけど「update を考えなければ」できあがった package を HTTP でアクセスできる場所に置くだけで簡単にインストールできるようになるし。

広いだけじゃなかった。

色が違う。なんてゆーか、ちょっと品のいい色になった。ビデオカード変えるとこんなところに効いてくるのか。知らなかった。Windows の画面はベタついてどぎつくて品がないと思っていたのは安物を使っていたからだったのねorz

IT系ニュースサイトが相次いでリニューアル

まぁ ZDNet Japan → ITmedia はずいぶん前に決まっていたので CNET はそれに合わせてデザインをリニューアルしようということになったのだと思いますが、どちらもちょっとデザインがあっさり目になりましたね。でも CNET の方はともかく、ITmedia は少し見にくくなったような。。。ナビゲーションは前より使いやすくなってるような気がするのですが、配色が以前と比べるとあまりにのっぺりしているので、どこに注目したらいいのかよく分からないんですよね。

白系のあっさり目の配色に移行したのは blog サイトの影響を受けているのかなぁとか思ったり。こういうサイトはデータと見た目が分離してるからデザインリニューアルは楽そうだなぁと思ったり。

Unicode 周り

Perl は 5.6.x 以降 unicode 対応だが、どうもデキが悪いらしく、5.8.1 以降が本命の様子。ただし、Perl はベースシステムに入っているので Debian で 5.8.x に上げるのはちと面倒。FreeBSD ではやってみてないけど、ports で入れる分には勝手にしろって感じじゃないのかな? ということで Debian では 5.6.1 のまま Jcode.pm をかますのが無難。Jcode.pm はパッケージですぐ入れられる。(ports もあるで。)Jcode.pm と use Encoding と両方で動くバージョンを書くのはさすがに大変か? だろうなぁ。

Ruby では Kconv が標準ライブラリなので unicode 以外の扱いは楽。unicode を扱う Uconv は別途インストールが必要だが、Debian パッケージ、ports ともに入っているのでインストールは楽。Ruby の場合は Uconv 前提でスクリプトを書くのがまだしばらくは主流だろう。

あ、PHP は mbstring モジュールが utf-8 対応なので、日本語を扱うために mbstring を有効にしたらそのまま Unicode が扱える。PHP がいちばん手厚いな。

utf-8 なページ for Namazu

NKF でそれぞれのページを euc に変換してからわかち書きのプログラムに食わせるので、NKF の対応していないコードだと正しくインデックスを起こせない。

nkf は 2.02 以降で utf-8 対応を果たした。また、これに対応する NKF.pm も出ているので、NKF.pm と実際のライブラリバイナリを 2.02 以上に上げると utf-8 なページに対応できる。nkf の実行バイナリでインデックスを起こすと遅いので NKF.pm を選択しないメリットはない。FreeBSD では ports で入れられる。deb パッケージもあるので Debian も ok. あとは知らない。

subversion が non-DeltaV クライアントに対応、したのですが…。

これで Web フォルダで更新しても自動的にリポジトリにコミットされるらしい。あとは CVSWEB みたいなインターフェイスで昔のバージョンを簡単に取り出せるとチョー便利。

なんだけど、そういうのはまだまだですな。sourceforge でいくつかプロジェクトはあるけど。

つーかまだインストールできてないです。autoconf とかもろもろ新しくしてある Linux じゃないとだめなのかな。ちょと古い Linux と cygwin で失敗したです。

12" PowerBook G4 !

おぉ! これは!

とかなり興奮したのですが、よくよく見てみると iBook と同じく PC カードが使えません。どうしたことか。デザインも素材が変わっただけで iBook のままのような印象受けますし。対応メモリが DDR SDRAM になってるし、コンボドライブもスロットインになってるから、マザーボードの設計はやり直してるはずなんですが…。なんかツメが甘いんでないかい。

と思ったら 17" の方のデザインも iBook 寄りになっているような…。要するに G4 Ti とはデザインポリシーが違うっちゅーことなのねん。iBook のディスプレイのヒンジ部分は制約が大きくなる要素だからきらいだったのに…。

About

例によって個人のなんちゃらです

Recent Posts

Categories

Tool 日々 Web Biz Net Apple MS ことば News Unix howto Food PHP Movie Edu Community Book Security Text TV Perl Ruby Music Pdoc 生き方 RDoc ViewCVS CVS Rsync Disk Mail FreeBSD Cygwin PDF Photo Zebedee Debian OSX Comic Cron Sysadmin Font Analog iCal Sunbird DNS Linux Wiki Emacs Thunderbird Sitecopy Terminal Drawing tDiary AppleScript Life Money Omni PukiWiki Xen XREA Zsh Screen CASL Firefox Fink zsh haXe Ecmascript PATH_INFO SQLite PEAR Lighttpd FastCGI Subversion au prototype.js jsUnit Apache Trac Template Java Rhino Mochikit Feed Bloglines CSS del.icio.us SBS qwikWeb gettext Ajax JSDoc Rails HTML CHM EPWING NDTP EB IE CLI ck ThinkPad Toy WSH RFC readline rlwrap ImageMagick epeg Frenzy sysprep Ubuntu MeCab DTP ERD DBMS eclipse Eclipse Awk RD Diigo XAMPP RubyGems PHPDoc iCab DOM YAML Camino Geekmonkey w3m Scheme Gauche Lisp JSAN Google VMware DSL SLAX Safari Markdown Textile IRC Jabber Fastladder MacPorts LLSpirit CPAN Mozilla Twitter OpenFL Rswatch ITS NTP GUI Pragger Yapra XML Mobile Git Study JSON VirtualBox Samba Pear Growl Mercurial Rack Capistrano Rake Win RSS Mechanize Sitemaps Android JavaScript Python RTM OOo iPod Yahoo Unicode Github iTunes God SBM friendfeed Friendfeed HokuUn Sinatra TDD Test Project Evernote iPad Geohash Location Map Search Simplenote Image WebKit RSpec Phone CSV WiMAX USB Chrome RubyKaigi RubyKaigi2011 Space CoffeeScript Nokogiri Hpricot Rubygems jQuery Node GTD CI UX Design VCS Kanazawa.rb Kindle Amazon Agile Vagrant Chef Windows Composer Dotenv PaaS Itamae SaaS Docker Swagger Grape WebAPI Microservices OmniAuth HTTP 分析基盤 CDN Terraform IaaS HCL Webpack Vue.js BigQuery Middleman CMS AWS PNG Laravel Selenium OAuth OpenAPI GitHub UML GCP TypeScript SQL Hanami Document SVG AsciiDoc Pandoc DocBook Develop Jekyll macOS Node.js Vite Heroku Transformer AI Data Cloud Wasm