morris555's diary

高校生のブログです。

HaskellでGUI

はじめに

最近ネタがないのでネタづくりのためにhaskellguiプログラミングをしてみました

日本語の情報も意外にあったgtk2hsを使いました。

準備

ubuntuならとても簡単でした。

cabal install gtk2hs-buildtools
cabal install gtk

基本的にはこれだけでOKだそうですが、

僕の環境の場合エラーが出た(ライブラリなどが入っていなかった?)ので

apt-get install libgtk2.0-dev

これで正常にインストール出来ました

ネットの情報によると ~/.cabal/bin/にPATHを通す必要があるらしいですが、

haskell platformを入れた場合(?)すでにPATHが通っているようでした。

本題

今回は「hello world」的なものを

import Graphics.UI.Gtk

main = do
    initGUI
    window <- windowNew
    label <- labelNew Nothing
    set window [windowTitle := "Hello",
                windowDefaultWidth := 200, windowDefaultHeight := 50]
    containerAdd window label
    labelSetText label "Hello, World!"
    onDestroy window mainQuit
    widgetShowAll window
    mainGUI

書き方が汚いのは勘弁してください。

説明しなくても見ればわかるくらい簡単ですね

情報求む

あとになってgtk2hsはaptから入るらしいという情報が。(未確認)

たぶん

apt-get install libghc6-gtk-dev

これでいいのかな? ←aptから入れた方がいましたら教えてください

おわりに

haskellいいですね〜

pythonからhaskellに来たのですがとにかく綺麗に書けて見た目がいいですね

Haskellはじめました

はじめに

ようやくhaskellはじめました。

まあ、ちょっと前から触ってたんですが・・

本題

ubuntuなら

GHCを直接インストールするよりhaskell platformを入れたほうがいいらしいいので(?)

apt-get install haskell-platform haskell-platform-doc

これだけでもうOKなんですね。

putStrLn "Hello, Haskell."

おわりに

vimの設定とかもしなきゃと思ったけど、まだ全然やってないのでおすすめとかあったら教えてください。

やっとhaskell初心者になりました。これからもよろしくおねがいします

python小ネタ

はじめに

最近全然ネタがなく更新できないので、どうでもいい小ネタを

しかも初心者向き(?) ←初心者向きというかもうみんな知ってるような事なので

本題

IPアドレスを取得するプログラムです。

#!/usr/bin/env python
# -*- coding:utf-8 -*-

import socket
import sys


def main():
    if len(sys.argv) != 2:
        exit()
    else:
        name = sys.argv[1]
    try:
        result = socket.getaddrinfo(name,None)
        for item in result:
            print(item[4][0])
    except socket.gaierror:
        print("DNS coundn't find {0}".format(name))

if __name__ == '__main__':
    main()

普通の事しかやってません(泣)

ちなみにgetaddrinfoが返す結果は

(family, socktype, proto, canonname, sockaddr)

こんな感じで、今回はその最後のsockaddrを出力しているだけです。

python ip.py www.google.com
173.194.38.84
173.194.38.84
173.194.38.84

おわりに

全然面白いネタが無いですね。

初心者でもつまらないような事しか書けてないので恥ずかしいです

なぜかgistが埋め込めなかった(泣)

はてなブックマーク数を調べる

はじめに

サイトのはてなブックマーク数を調べるツール(?)をpythonで作りました。

本題

おわりに

今回は課題が山積み、という現実から逃れるために適当なことをしただけなので・・・ 

pythonでtwitterクライアント(更新)

はじめに

以前作ったtwitterクライアントを少し改良しました。

本題

本当はもっと新機能があるのですが・・・

暇があったらやっていきます。

おわりに

「最近、更新してなかったので書いた」という感じです。

なるべく更新したいと思ってもネタが・・・

pythonでP/N判定API

はじめに

今回は、Twitter感情分析所のP/N判定(肯定/否定 の判定)APIを使いました。

本題

これだけです。

まあ、ネタがなかったので適当に作ったという感じですね。

おわりに

P/N判定(肯定/否定 の判定) APIなんて・・・

面白いことを考えますね。

ホントはこんな面白いサービスを利用する側ではなく、提供する側になりたいのですが。。。

pythonでcuiのtwitterクライアント

はじめに

学校の授業があまりにも暇だったので、ちょっとやってみました。

機能的には全然しょぼいです。

本題

https://bitbucket.org/morris555/pycuitter

一応、ここで公開しています。

hg clone ssh://hg@bitbucket.org/morris555/pycuitter

使い方としては、対話方式で、

pycuitter >>> h #これで、TLが表示されます。
pycuitter >>> s
pycuitter search >>> python #これで検索。 
pycuitter >>> t
pycuitter tweet >>> pycuitterから #これでつぶやく。
pycuitter >>> q #終了。。

まだ、この程度しかできません。

あと、Auth認証するために、

付属の「oauth_get.py」を使ってAccess tokenを取得して、本体の10,11行目にコピペしてください。

おわりに

まだ、しょぼい内容のものですが

今までにつかったもの(UserStream, favツール, トレンド取得)なども入れて、なんとか形にしていきたいと思います。