<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/csus4lab/">
    <title>csus4lab @ ウィキ</title>
    <link>http://w.atwiki.jp/csus4lab/</link>
    <atom:link href="https://w.atwiki.jp/csus4lab/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>csus4lab @ ウィキ</description>

    <dc:language>ja</dc:language>
    <dc:date>2018-02-24T07:34:44+09:00</dc:date>
    <utime>1519425284</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/csus4lab/pages/18.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/csus4lab/pages/17.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/csus4lab/pages/16.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/csus4lab/pages/15.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/csus4lab/pages/14.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/csus4lab/pages/13.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/csus4lab/pages/11.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/csus4lab/pages/10.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/csus4lab/pages/9.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/csus4lab/pages/8.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/csus4lab/pages/18.html">
    <title>カーナビ取り付け</title>
    <link>https://w.atwiki.jp/csus4lab/pages/18.html</link>
    <description>
      - [[カーステレオを純正から載せ替える場合に必要なもの&gt;2018-02-03]]    </description>
    <dc:date>2018-02-24T07:34:44+09:00</dc:date>
    <utime>1519425284</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/csus4lab/pages/17.html">
    <title>プログラム</title>
    <link>https://w.atwiki.jp/csus4lab/pages/17.html</link>
    <description>
      * 手動目次
- [[Python on Macでファイルシステムから読んだ文字列幅を正しく数える&gt;2018-02-02]]
- [[CloudBeatsで文字化けした日本語タイトルなどを修正する方法&gt;2018-02-18]]
- [[Pythonコマンドを書くときの自分用テンプレート&gt;2018-02-23]]


* 最近の10件
#list_by_tag(program,100)    </description>
    <dc:date>2018-02-24T07:39:18+09:00</dc:date>
    <utime>1519425558</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/csus4lab/pages/16.html">
    <title>2018-02-23</title>
    <link>https://w.atwiki.jp/csus4lab/pages/16.html</link>
    <description>
      * Pythonコマンドを書くときの自分用テンプレート

#highlight(python){{

#!/usr/bin/python
# -*- coding:utf-8 -*-

import argparse
import subprocess

def start(args):
    cmd = &quot;vncserver -geometry 1920x1080 :1&quot;
    proc = subprocess.call(cmd, shell=True)

def stop(args):
    cmd = &quot;vncserver -kill :1&quot;
    proc = subprocess.call(cmd, shell=True)

def status(args):
    cmd = &quot;vncserver -list&quot;
    proc = subprocess.call(cmd, shell=True)

parser = argparse.ArgumentParser(description=&#039;Control vnc server&#039;)
subparsers = parser.add_subparsers()

parser_start = subparsers.add_parser(&#039;start&#039;, help=&#039;Start vnc server&#039;)
parser_start.set_defaults(handler=start)

parser_stop = subparsers.add_parser(&#039;stop&#039;, help=&#039;Stop vnc server&#039;)
parser_stop.set_defaults(handler=stop)

parser_status = subparsers.add_parser(&#039;status&#039;, help=&#039;Show status of vnc servers&#039;)
parser_status.set_defaults(handler=status)

args = parser.parse_args()
args.handler(args)

}}    </description>
    <dc:date>2018-02-24T07:36:36+09:00</dc:date>
    <utime>1519425396</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/csus4lab/pages/15.html">
    <title>2018-02-18</title>
    <link>https://w.atwiki.jp/csus4lab/pages/15.html</link>
    <description>
      *CloudBeatsで文字化けした日本語タイトルなどを修正する方法
** 問題
一部の日本語タイトルや日本語曲名が文字化けする
(文字化けしないものもある)
** 環境
Mac上のiTunes 12.7: 文字化けなし
iPhone 7 (iOS11)上のCloudBeats: 文字化けあり
** 調査
*** Mac上のiTunesでの調査
曲の情報を見ると，encoded withのフィールドがUnknownになっていることが問題のようだ。
文字化けする曲はUnknown，文字化けしない曲はiTunesやLAMEと表示されていた。
*** eyeD3での調査
+ (eyeD3導入のために)Mac開発用のソフトウェア(command line tools)導入(初回のみ)
+- ブラウザで[[Mac開発者向けサイト&gt;https://developer.apple.com/download/more/]]に行きCommand Line Tools for Xcode 9.2をダウンロード。(xcode-select --installは動作しなかった)
+ eyeD3のソースコードを取得
 git clone https://github.com/nicfit/eyeD3
+ v8.0に落としてインストール (最新版はlibmagicを要する上に，libmagicをインストールしても動作しなかった)
 git checkout -b v8
 sudo ./setup.py install
+ その他依存ソフトウェアのインストール
 pip install grako
+ 調べる (パスに日本語が入っていると動作しないので注意)
 eyeD3 a.mp3
 eyeD3 b.mp3
+ 結果，eyeD3には違いが認められない。
** 解決方法
- 以下のコマンドでうまく表示できることがわかった。
 eyeD3 --to-v.2.3 &lt;file name&gt;
- ただし，日本語ファイル名を渡すとエラーになるので，事前にリネームしておく必要あり。    </description>
    <dc:date>2018-02-24T07:39:36+09:00</dc:date>
    <utime>1519425576</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/csus4lab/pages/14.html">
    <title>2018-02-03</title>
    <link>https://w.atwiki.jp/csus4lab/pages/14.html</link>
    <description>
      * カーステレオを純正から載せ替える場合に必要なもの
- Toyota RAV4 2015の純正カーステレオを自力で取り替える。
- 以下のことを書く。
-- 取り替えるのに最低限何が必要か。
-- 取り替えた場合に何が使えなくなるか，どうすれば解決できるか。
- なお，カーステレオ本体以外は基本的に，自動車メーカー・モデル・年式に合わせて選択する必要あり。

** 取り替えるのに最低限必要なもの
- カーステレオに電源を入れ，スピーカーからその音を流せようにする。
- これだけで，(カーステレオが対応して入れば)Bluetooth経由で音楽を流したり，スマートフォンの画面でGoogle Mapsなどのナビも使える。
- 自分の目的だったCarPlayはこれだけで使える。音楽を再生できるし，Siriで音声入力もできるし，ナビも使える。
+カーステレオ本体 [[Pioneer AVH-2300NEX&gt;https://www.pioneerelectronics.com/PUSA/Car/NEX/AVH-2300NEX]]
+- 付属品として，電源/スピーカー接続アダプタ(そのほかにいくつか接続先あり)，マイク，USB延長コードが付いてくる。
+- $320 ([[Amazon.com&gt;https://www.amazon.com/dp/B073BKPWNC]])
+- [[マニュアル&gt;https://www.pioneerelectronics.com/StaticFiles/Manuals/Car/AVH-2300_2330_1300_1330NEX_OpManual013118.pdf]]
+ ダッシュボードパネル [[Scoche TA2115B&gt;http://www.scosche.com/2013-up-toyota-rav4-double-din-dash-kit]]
+- カーステレオ本体を載せた時にあいた空白を綺麗に埋める。
+- $25 ([[Amazon.com&gt;https://www.amazon.com/dp/B00K8CIZZM]])
+ 電源/スピーカー接続用ハーネス [[Scoche TA02BCB&gt;http://www.scosche.com/1987-up-toyota-car-stereo-con    </description>
    <dc:date>2018-02-17T13:33:25+09:00</dc:date>
    <utime>1518842005</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/csus4lab/pages/13.html">
    <title>2018-02-02</title>
    <link>https://w.atwiki.jp/csus4lab/pages/13.html</link>
    <description>
      * Python on Macでファイルシステムから読んだ文字列幅を正しく数える

日本語は内部構造(Unicode)で3バイト幅，表示は2バイト幅ある。
この幅の違いを十分理解しておかないと，表示させたりカウントしたときに問題が起きてしまう。
今回は，ファイルシステムから読み込んだ文字列(ファイル名など)を表に埋め込んで表示するときに必要な文字列幅の計算方法を書く。

** 注意点
+ Python上でUnicodeに変換する
++ Pythonは文字列をStr型に変換して操作しようとする。
+ 文字列カウントをバイト列でなく文字幅でする
++ Pythonのstr.format()ではUnicode1文字は3バイトとして数えられてしまう。表示の時はこれは2文字が良い。
++ これを実現するためにunicodedataモジュールを使う。
+ 読み込んだUTF-8文字列をNFC形式(Windows形式)に変換する。
++ この形式ならば濁点が一文字に数えられないので正しくカウントできる。MacのHFS+はNFD形式であり，濁点は1文字扱い。

#codehighlight(python){
import unicode data

def get_char_width(c):
    data = unicodedata.east_asian_width(c)
    if data == &#039;Na&#039; or data == &#039;H&#039;:
        return 1
    return 2

def getStringWidth(string):
    # Transcode to Windows form (Dakuten is not one character. For Mac support.)                                                                                         
    string = unicodedata.normalize(&#039;NFC&#039;, string)

    width = 0
    for c in string:
        width += get_char_wid    </description>
    <dc:date>2018-02-24T07:39:59+09:00</dc:date>
    <utime>1519425599</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/csus4lab/pages/11.html">
    <title>プラグイン/インスタグラム</title>
    <link>https://w.atwiki.jp/csus4lab/pages/11.html</link>
    <description>
      *インスタグラムプラグイン

人気の画像共有サービス、Instagram(インスタグラム）の画像をアットウィキに貼れるプラグインです。


 #ig_user(ユーザー名)
 と記載することで、特定ユーザーのInstagramのフィードを表示することができます。

例）@dogoftheday
#ig_user(dogoftheday)

----

 #ig_tags(タグ名)
 と記載することで、特定タグのInstagramのフィードを表示することができます。

#dogofthedayjp タグ
#ig_tag(dogofthedayjp)

----

 #ig_popular
 と記載することで、Instagramのpopularフィードを表示することができます。



詳しい使い方は以下のページを参考にしてください！
＝＞http://www1.atwiki.jp/guide/pages/935.html

--------    </description>
    <dc:date>2018-02-03T13:50:10+09:00</dc:date>
    <utime>1517633410</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/csus4lab/pages/10.html">
    <title>プラグイン/コメント</title>
    <link>https://w.atwiki.jp/csus4lab/pages/10.html</link>
    <description>
      * コメントプラグイン
@wikiのwikiモードでは
 #comment()
と入力することでコメントフォームを簡単に作成することができます。
詳しくはこちらをご覧ください。
＝＞http://www1.atwiki.jp/guide/pages/921.html#id_476878da


-----
たとえば、#comment() と入力すると以下のように表示されます。

#comment
    </description>
    <dc:date>2018-02-03T13:50:10+09:00</dc:date>
    <utime>1517633410</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/csus4lab/pages/9.html">
    <title>プラグイン</title>
    <link>https://w.atwiki.jp/csus4lab/pages/9.html</link>
    <description>
      @wikiにはいくつかの便利なプラグインがあります。

-----


#ls

-----

これ以外のプラグインについては@wikiガイドをご覧ください
=&gt;http://atwiki.jp/guide/
    </description>
    <dc:date>2018-02-03T13:50:10+09:00</dc:date>
    <utime>1517633410</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/csus4lab/pages/8.html">
    <title>プラグイン/動画(Youtube)</title>
    <link>https://w.atwiki.jp/csus4lab/pages/8.html</link>
    <description>
      * 動画(youtube)
@wikiのwikiモードでは
 #video(動画のURL)
と入力することで、動画を貼り付けることが出来ます。
詳しくはこちらをご覧ください。
＝＞http://www1.atwiki.jp/guide/pages/801.html#id_30dcdc73

また動画のURLはYoutubeのURLをご利用ください。
＝＞http://www.youtube.com/

-----


たとえば、#video(http://youtube.com/watch?v=kTV1CcS53JQ)と入力すると以下のように表示されます。


#video(http://youtube.com/watch?v=kTV1CcS53JQ)

    </description>
    <dc:date>2018-02-03T13:50:10+09:00</dc:date>
    <utime>1517633410</utime>
  </item>
  </rdf:RDF>
