Hope is a Dream. Dream is a Hope.

非公開ブログは再開しました。

プロフィールページを作った

こんにちわ。 ふぃふぃです。

ふと。

プロフィールページを作ろうと思い。

HTMLを書いてみました。

ただ、そのまま書くのは面倒なので、どうにかMarkdownファイルをパースしてHTML化したかった。

しらべるとjavascriptでうまいこと簡単にやってくれるみたい。

Marked.js で Markdown をクライアント側でパースして表示する - Qiita

完成したのがこれ。。

Profile | FiFiFactory

んー。いまいち。

いつもデザインを考えずに、コーディングからしちゃう。今回も結局markdownの自動パースをしたかっただけ。で。最後に結局何がしたかったかわからなくなる。 やっぱり最後に伝えるのはデザインだと痛感。

なので。

デザインしてみる。ただAdobeMacbookでは重いのとタッチパッドでできない。そしてソファから勉強部屋に移動したくない。。

sketchを使って見る。

UIデザイナーの私がPhotoshopからSketchへ乗り換えた9つの理由 | 株式会社LIG

Sketchは完全にWebとモバイルUIデザインの専用ツールなので、それ以外の余計な機能が入っていません。そのため不要な機能に邪魔されず、スムーズに綺麗なデザインを作っていけます。

どうも記事を読むと、WEBに特化しているのと操作が簡単らしい。ベクター系のアプリは使って楽しいので試してみた。

f:id:hope_is_dream:20160208200023p:plain

操作がとても簡単。これまで10分。ベクター系アプリなので超高速。ひとまず体験版を使ってみてるが、100ドルくらいで買えるみたい。sketchいいね。

Sketch - Professional Digital Design for Mac

そしてできたのが。。

f:id:hope_is_dream:20160208195301j:plain

あとはこれをHTMLに書き直してアップ完成。(CSSウマクカケルカ・・)

ふぃ。

見たこと無い方へのあの日見た花の名前を僕達はまだ知らない

こんにちわ。

 ふぃふぃです。
 
新年を明けて初の休み。三連休。初日は休みたくHuruを見続けました。
 

f:id:hope_is_dream:20160110210952j:plain

 そうです。知らないんです。Huluでたまたま見つけ1話を見ました。小学校の友達仲間となんやこんなって感じで、正直意味が分からない。。ストーリーの作り方が、後半に行くに従い、意味が分かってくるような作り方だったので、一話を見ただけでは本当に意味が分からない。主人公は毎回ふざけたTシャツを付けてるし、女の子はやたらロリっぽいし、友人の女の子はあなるだしと訳が分からい。。。しかし、話がわけわからなすぎて、次の話を見たくなり、気づくと最終話で号泣してしまってました。

 


【予告集】あの日見た花の名前を僕達はまだ知らない 高画質

 

絵。きれいです。女の子がかわいいです。

音。ラストソングがsecretbaseのきみがくれたもの。この曲はたしか昼ドラのキッズウォーの歌。当時小学生だった僕には印象深い音で音を聞いただけで記憶がよみがえってしまう。このストーリー自体も小学生時代の思い出話ということもありドンピシャ。ずるいです。

そして、フォントがきれい!!

 

 

個人的にはジャケのフォントに惹かれました。日本語フォントだけで見せるのは最近よくみるなと。思い出すと、年末TVを見ているとやたら神戸女子大学のCMがきれいで記憶に残ってました。

  

f:id:hope_is_dream:20160110212442j:plain

 神戸女子大学のHPを調べると、CMようのページがでてました。とても美しい。もし女の子だったら憧れが生まれるようなデザインにできてます。

f:id:hope_is_dream:20160110212535j:plain

Shinjo Commercial Message(神戸女子大学 CMギャラリー)

 

 

f:id:hope_is_dream:20160110212810j:plain

f:id:hope_is_dream:20160110212811j:plain

f:id:hope_is_dream:20160110212813j:plain

f:id:hope_is_dream:20160110212814j:plain

Shinjo Commercial Message(神戸女子大学 CMギャラリー) 

いいな。

 

 最終話を号泣しながら見た後、そのままの勢いで劇場版も見てしまった。劇場版は、アニメの裏話的な感じなので、アニメの映像が8割ぐらいでの2割が裏話。アニメを見たばっかなので少々退屈だったが、ラストは号泣。たぶんラストで泣かすための映画1時間半。

こうれいのSecret Baseの~きみがくれたもの~が「君と夏の終わり将来の夢・・」と流れてくる。しかも音ハメが完璧。これはなくしかない。

ラストの盛り上がりでは、曲のほうに3回盛り上がる場所があり(1サビごとになので30秒毎ぐらい)。映像は音に合わせて3回泣かせてくる!! 本編の最終話ではここまではっきりとせめてきてなかったんだけど、劇場版は完全に音にはめて映像が作られていて、分かりながらも泣くしかないない!

いやーいい作品をありがとうございました。オススメです。

 

最後まで読んでいただきありがとうございました。

 

ふぃ。

 

 

 

 

PySideを使ってJanomeで日本語形態素解析!! 2時間でつくる簡単アプリ

f:id:hope_is_dream:20160106220933j:plain

こんにちわ。

ふぃふぃです。

ふと。韻辞典を作りたいと思いました。韻辞典とはその名の通り"韻"を踏むワードが見つかる夢の辞書。まぁ日本語ラップをしていなければ普通はいりません。中学生のころ友達とラップを作ってみよう!となった時に韻を踏むのにとても苦労したのを覚えています。そんな夢のツール。調べてみると色々でてきました。

作詞支援ツール,単語データベース(韻検索/母音検索/連想表示) 23万語を収録!! - ブラウザで使えるWeb便利ツール

ライムサーチ(韻踏み検索)

韻を踏む | くだらない研究所

踏韻事典: 韻を踏む単語や語句を検索できるアプリ。ずばり使える、かなり。3721 | AppBank

ホーム - RhymePlus! (ライムプラス) : 韻を踏む語句を検索する無料モバイルアプリ

調べるといくつか出てきます。使いやすそうなアプリもありました。いいですね。

しかしこの韻辞典。安易に使うのは注意が必要です。

フリースタイル信じてたら韻辞典は禁じ手 あくまで参考 俺が先んじて言っておこう byZEEBRA

1995年。韻辞典サービスなんてまだなかった時代にすでにZeebra先輩が釘を刺してます。


KGDR(ex.キングギドラ) 「未確認飛行物体接近中」 「見まわそう」 BAZOOKA!!!ライブ

2:35付近で歌ってますね。

こんな記事も。(おまけ)

日本語ラップの世界に限った話ではないが、 強烈なインパクトを持った一つの作品がその後の時流を規定してしまうということがある。 そして、日本語ラップにおけるライミングに関して言えば、 その「たった一つの作品」のうちの一つは、95年にリリースされた『空からの力』だ。 キングギドラZEEBRAK DUB SHINEの2MCは、 卓越したライミングのテクニックで多くのファンやフォロワーを生み出した。 この押韻重視のアティチュードは勿論リリックでも表現されており、 「何人のラッパーがちゃんと韻踏んでるのか数えてみよう」や、 「悲しくなるお前のライム甘くて(共に"大掃除"ZEBBRAバース)」などの部分に特に顕著である。 同時に「韻辞典は禁じ手("見まわそう"より)」と明言して敷居を高くすることで、 自らの成し遂げた押韻術の地位を絶対的なものへと押し上げた。 「お前らやれるもんなら同じようにやってみろよ、簡単じゃないぜ」ということである。 以上諸々ひっくるめて、ライミングの巧みさをセルフボースティングとしても用いた、 最も効果的で最も早かったケースだと言える。 そして、この作品をきっかけにZEEBRAが徐々にシーンの中心人物となっていくと同時に、 「韻を踏んでなけりゃラップじゃねぇ」という空気がより強くシーンを支配するようになる。 日本語ラップと韻 その2:キングギドラ『空からの力』の影響力 : 日本語ラップの基礎研究

さてさてそんなことを今朝お風呂で考えていました。日本語を分析するにはMecab等を使って分析できるのは知っているのですが、使ったことがなく敷居がたかい(厳密にはインストールに苦戦)。

今日久しぶりに調べてみるとJanomeというツールが公開されているのを見つけました。チュートリアルをみると簡単に使えそうでしたので試してみたのが今日の記事になります。

PySideでJanomeを使ってみた

Janome

@moco_betaさんがMecabを簡単に使えるよなツールを作られたということで試してみました.

辞書内包/Pure Python実装の形態素解析Janome を公開しました 一応の基本機能がととのったので、できたてほやほやではありますが、Python製の形態素解析Janome を公開しました。 http://mocobeta-backup.tumblr.com/post/115843098157/pure-python-janome

Janomeの使い方

公式がとても詳しいですJanome v0.2 documentation

使い方は簡単!!pipでインストールしてちゃちゃっとするだけ!!(作者様本当にありがとうございます)

    (venv) $ pip install janome
    (venv) $ python
    >>> from janome.tokenizer import Tokenizer
    >>> t = Tokenizer()
    >>> for token in t.tokenize('すもももももももものうち'):
    ...     print(token)
    ...
    すもも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ
    も    助詞,係助詞,*,*,*,*,も,モ,モ
    もも  名詞,一般,*,*,*,*,もも,モモ,モモ
    も    助詞,係助詞,*,*,*,*,も,モ,モ
    もも  名詞,一般,*,*,*,*,もも,モモ,モモ
    の    助詞,連体化,*,*,*,*,の,ノ,ノ
    うち  名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ

Janomeを使ってみるツール

そこで形態素解析を使ってみたくPySideを使って簡単なアプリを作ってみました。 文章を入力するとJanomeを使って形態素解析を行い結果を表示するだけのアプリです。

f:id:hope_is_dream:20160106215614j:plain

ソースコードgithubにあります

github.com

#! coding:utf-8
"""
janome-app.py

Janome v0.2 documentation
http://mocobeta.github.io/janome/

(2015/01/05) ver1.0 たたき台完成

Created by fifi on 2016/01/06 16:16
"""
__version__ = '1.0'
__app_name__ = 'janome'

import sys
import os
import csv

from PySide.QtGui import *

from PySide.QtCore import *

from janome.tokenizer import Tokenizer
from UI_ import *


class MyWindow(QWidget, Ui_window):
    loaded_words = Signal(str)
    refresh_words = Signal()

    def __init__(self):
        QWidget.__init__(self)
        self.setupUi(self)
        self.setWindowTitle(
            QApplication.translate("Widget", "%s %s" % (__app_name__, __version__), None, QApplication.UnicodeUTF8))

        self.jacome_token = Tokenizer()
        self.words_container = []

    @Slot()
    def analysis_janome(self, s):
        # デバッグ用に解析文章をstdout
        print s

        # 解析結果の表示要素を初期化(クリア)
        self.refresh_words.emit()
        # 解析結果格納配列を初期化(csv保存用)
        self.words_container = []
        # 形態素解析を実行
        tokens = self.jacome_token.tokenize(s)

        for token in tokens:
            # 解析結果をstring(UNICODE)型へキャスト
            print_str = str(token).decode('utf8')
            # csv保存用に解析結果を格納
            self.words_container.append(print_str)

        # 解析結果を出力
        self.loaded_words.emit('\n'.join(self.words_container))

    @Slot()
    def save_csv(self):
        filename = 'result.csv'
        filename = os.path.normpath(filename)

        # OSを判定してエンコードを設定
        if os.name is 'nt':
            code = 'cp932'
        else:
            code = 'utf-8'
        print 'save_csv: code = %s' % code

        with open(filename, 'wb') as f:  # 'wb'じゃないと変な改行入る。
            writer = csv.writer(f, delimiter=',')
            for words in self.words_container:
                out_word = words.encode(code)
                writer.writerow([out_word])


def main():
    app = QApplication(sys.argv)
    app.setStyle('plastique')
    win = MyWindow()
    win.show()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()

※ 作成者moco_betaさんに感謝いたします

今日もご観覧ありがとうございました。

ふぃ