稚拙な備忘録ですが

へなちょこプログラマやっています。皆さんみたいなしっかりした備忘録は書けませんが宜しくお願いします。

Line Music 使ってみました

6月11日にリリースされた「Line Music

8月9日まで無料期間がある(30日間)とのことで早速試してみました。

■Line Musicとは?

皆さんご存知の「Line」が世に送り出すストリーミング配信音楽サービスです。
先日Appleが発表した「Apple Music」が(少し)話題の中、突然の伏兵でしたね。
さてそのサービス内容は

   ◎Line Music

  • 配信曲数:約150万曲(年内に500万曲以上)
  • 金額:毎月20時間まで500円@1ヶ月、制限なしは1000円@1ヶ月  学割制度有り(1000円⇒600円)
  •  対応OS:iOSAndroid
  •  音質:自動判定・64kbps・192kbps・320kbps
  • 特徴:ともだちとのシェア機能など


 対して、AppleMusicは、
   ◎Apple Music

  • 配信曲数:約3000万曲
  • 金額:9.99$
  • 対応OS:iOSAndroidWindowsMac
  • 音質:256kbps
  • 特徴:リコメンド機能やアーティストとのつながる要素など


 配信曲数は圧倒的にAppleMusicに軍配が上がりますが、
 LineMusicには国内アーティストの曲数に期待がされるのではないでしょうか。

■使ってみました

早速Androidアプリをダウンロードしてみました

◎トップ画面
 なぜか西野カナさんの次にOriginalLoveさんが続く!
f:id:jsato8731:20150612101659p:plain

f:id:jsato8731:20150612101644p:plain

◎メニュー画面

f:id:jsato8731:20150612101650p:plain

f:id:jsato8731:20150612101654p:plain

f:id:jsato8731:20150612101729p:plain

 

◎プレイヤー画面
f:id:jsato8731:20150612101711p:plain

 

◎設定画面
 「WiFi環境のみで使用する」という制限スイッチや
 音質の選択が目につきます。 キャッシュの項目もありますね。

f:id:jsato8731:20150612101724p:plain

  

■感想
 第一印象は「まだまだ足りない」といった感じを受けました。
 私はあまり国内アーティストを聞かないのにそう思うので、
 いまの若い人たちはもっとそう感じたのでは?と思います。


 洋楽カテゴリを見ても、どういうチョイスか分からないラインアップ。
 子供がいるので、キッズカテゴリをみましたが、童謡のみ。
 アニメカテゴリを見ても、もうオジサンにはさっぱりわかりません。
 なぜか「美空ひばりさん」は2400曲ラインアップ。
 これには嫁がなぜか歓喜!
 f:id:jsato8731:20150612101706p:plain


 注意しなければならないのは通信料
 私はWiFi環境下でしか使用していませんが、
 モバイル環境で試した人から、「あっという間に300MB超えた」という情報も。
 今のモバイル世代にはこの消費量はウェルカムではありませんね。
 (設定で音質を「低」にすれば、だいぶ抑えられるとは思いますが)
 
 結局私はSpotifyです!
 

preg_replace でのg修飾子は不要?

PHPでpreg_replace関数を使って空白や改行を除去しようとしました。

元ネタがJavascriptだったので、はじめに記述したのが、

$str = preg_replace('/\s/g', '', $str)

…エラー発生でnullが返ってきました。

 

調査すると

・g修飾子はサポートされないため、パターンマッチではpreg_match_allを使用

・置き換え(replace)では規定でg修飾子を指定した場合と同じ動作をする

という情報を見つけました。

 

言われたとおりにg修飾子を外すとエラー無し。

動作的にも問題ないと思われます。

これでOKかしら?

CKEditorに文字数カウント表示を

製作しているWebサイトのテキストエリアに「CKeditor」を使用しています。
クライアントから「入力している文字数をカウント表示して」と言われて、
発見したのが「wordcount」というプラグイン。これは非常に便利!

 

■使用方法
①wordcountのプラグインをCKEditorのpluginディレクトリ以下に配置する


②CkEditorの「config.js」に設定パラメーターを記載する
  config.extraPlugins = 'wordcount';
  config.wordcount = {
     showParagraphs: false,   // 段落カウント表示する・しない
     showWordCount: false,    // 単語カウント表示する・しない
     showCharCount: false,    // 文字数カウント表示する・しない
     countSpacesAsChars: false, // スペースカウントする・しない
     countHTML: true,      // HTMLタグカウントする・しない
     maxWordCount: -1,      // 最大単語数設定(無制限の場合は-1)
     maxCharCount: 1000     // 最大文字数設定(無制限の場合は-1)
  };


③表示は日本語だけで良いので、wordcountのplugin.jsを編集する
  lang: "jp",
 ※wordcount⇒langディレクトリに「ja.js」がありますが、記述が不十分だったので、これも変更しました。

  
以上です。

実行したところ、問題なく表示!

 

f:id:jsato8731:20150611123440p:plain

PostgreSQLでMySQLでいうところの「sysdate()」

PostgreSQL、その時点の日時を取得の方法。

MySQLでいうところの「sysdate()」は無いかと調査したところ

 ①now()

 ②current_timestamp

を使って取得できることが分かりました。2つとも同じ結果が返ってきます。

         <ex> select current_timestamp

 

しかも便利なことに、後ろに「+ '1 week'」とすると一週間後の日時が取得できます。

         <ex> select current_timestamp + '1 week'

試したパターンは以下の通り

・'1 day'

・'1 week'

・'1 month'

・'1 year'

・'1 hour'

・'1 minute'

・'1 second'

もちろん「+」を「ー」にすると減算します。

 

日付関数を少し調べましたが、面白いですね。

age()関数とかはMSSQLとかには無かったと思います。

私の生年月日で試すと

 

select age(current_timestamp, '1978-07-31');

 

==========================================

age

------------------------------------------

35 years 5 mons 17 days 09:44:44.570494

==========================================

 

と結果が返ってきます。

面白い!年齢とか所属・勤続年数とかに使えそうですね。

MySQLで「Parameter '@XXX' must be defined.」

VB.NETMySQLを扱っていますが、

本日初遭遇のエラーが発生。

 

"SET @XXX = 0;"

というクエリをVB.NETから実行しようとすると、

「Parameter '@XXX' must be defined.」というエラーが発生。

 

色々調べた挙句、接続文字列に"Allow User Variables=True;"が足りなかったのが原因。

追記してあっさり実行できるようになりました。

 

<いまの接続文字列>

connection_string = New MySqlClient.MySqlConnection("SERVER=[ホスト名];" + _

                                            "PORT=3306;" + _

                                            "DATABASE=[DB名];" + _

                                            "UID=[ユーザーID];" + _

                                            "PASSWORD=[パスワード];" + _

                                            "Allow User Variables=True;")

MySQLでSELECT結果に通番を付けたい

MySQLでSELECT結果に通番を付けたい場合は以下のようにすればOKでした。

 

set @row_num = 0;

select (@row_num:=@row_num+1) as row_number, col1

from tbl1;

 

テキストファイルを取り込む際に通番の振り方を間違えて処理してしまい、

修正するハメになって茫然としていた時に気付きました。

無事に修正も完了して一安心です。

いまさらですが配列の宣言について見落としていた点

いまさらですがVB.netでの配列の宣言について見落としていた点です。

 

Dim item(0 to 9) AS String

item(0) = "0です。"

item(1) = "1です。"

item(9) = "9です。"

 

という配列の書き方ができたのか!と本日知りました。

これが出来るならもっとENUMが活用できる。

 

今までダラダラとitem_1, item_2, item_3 ・・・

と書いてしまっていました。知らなかった自分を反省。