独学大学情報学部

ただのノート。主にプログラミング。

最短でつぶやくぷろぐらむ(

「今世紀最高傑作」とか「ぼくのかんがえたさいきょうの...」並に信用ならんタイトルです。 勢いとキャッチコピーは大切だと思いますぼくぁ(

準備

twitter4jとsbt使います。
Twitter Developersにアクセスして、Consumer key, Consumer secret, あとアクセストークン生成してAccess token, Access token secretをコピってきます。

手順

てけとーにディレクトリ作って、その中にbuild.sbtファイルを以下の内容で作ります。

name := "Quick Post Program"

version := "1.0"

scala := "2.9.2"

libraryDependencies += "org.twitter4j" % "twitter4j-core" % "2.2.6"

で、その後に

sbt update

とかやるとtwitter4jのjarを勝手に落としてきてパス通してくれたりします。 あとはsrc/main/scala/QuickPost.scalaってファイルにて

package main.scala

import twitter4j.conf.ConfigurationBuilder
import twitter4j.TwitterFactory

object QuickPost {
  val CONSUMER_KEY = "Consumer key"
  val CONSUMER_SECRET = "Consumer secret"
  val ACCESS_TOKEN = "Access token"
  val ACCESS_TOKEN_SECRET = "Access token secret"

  def main(args: Array[String]) {
    val builder = new ConfigurationBuilder
    builder.setOAuthConsumerKey(CONSUMER_KEY)
    builder.setOAuthConsumerSecret(CONSUMER_SECRET)
    builder.setOAuthAccessToken(ACCESS_TOKEN)
    builder.setOAuthAccessTokenSecret(ACCESS_TOKEN_SECRET)

    val twitter = new TwitterFactory(builder.build).getInstance

    twitter.updateStatus("Hello, Azusa!")
  }
}

んでもって

sbt run

で完了っと。

まとめ

自分で使うだけならこれでいいと思います。(今更感

tmuxの導入

いちいちマウス使うの面倒になってきたので導入しようかと。
タイル型WM入れても良いと思ったけど、Haskell or Luaで悩んだのでとりあえず保留。

概要

tmuxは単一画面上に複数のターミナルを起動出来るようにする便利なアプリケーションです。 "Terminal multiplexer"って書いた方が分かりやすいでそ(

導入

sudo yum install tmux

でおk。yumは適宜読み替えで。

設定

基本的な設定方法はここ読めばいけると思います。 → Manpage of TMUX
あとは"導入"ってタイトルに恥じないよう、やっておきたい初期設定をいくつか↓

  • 設定ファイル

    デフォルトでは/etc/tmux.confで、存在すれば~/.tmux.conf。
    こだわりとか深刻な事情がなければ~/.tmux.confで良いと思います。
    コメントに説明付けた設定ファイル↓ ※setはset-operationと同義。

      # Prefix keyの変更時に。デフォルトはCtrl+b
      # set -g prefix C-b
    
      # 一応自動検出されるけど、必要であれば明示的に指定。
      #setw -g utf8 on
      #set -g status-utf8 on
    
      # コピーモードのキーバインド。デフォはEmacs(
      set -g mode-keys vi
    
      # 中央のウィンドウリストは色と属性のみ変更可能です。
      # なんとなく秒も表示させたいのでintarvalは1。
      # 以下の設定で左の領域に時間、右の領域にホスト名が表示されます。
      set -g status-interval 1
      set -g status-left-length 19
      set -g status-left "%m/%d(%a) %H:%M:%S"
      set -g status-right "#H"
    

    この他、色の設定とか色の設定もあると思うけど、初期設定ならこれくらいで(

  • 基本操作

    以下を参考に。はい、手抜きです。
    時代はGNU screenからtmuxへ - Dマイナー志向
    tmuxのすすめ | catatsuyのBlog

まとめ

"tmux"って何て発音すればいいんだろう?



※12/12 右ステータスバー設定の誤字を修正("%H" → "#H")

ScalaでIntent使う時に詰まった

経緯

Scala使ってAndroidアプリの画面遷移させようとした時に ちょっと困ったのでメモ。

Scalaでクラスインスタンスを取得

JavaだとIntentをnewするとき

Intent intent = new Intent(this, CallActivity.class)

ってなるわけですが、Scalaでは

val intent = new Intent(this, CallActivity.class)

ってやると怒られます。 そもそもこの".class"ってのを普通にクラスファイル呼んでると勘違いしてました(涙目。 .classはクラスインスタンスを取得を取得するメソッドなんですね。

んで、本題のScalaではclassOfメソッドを使って

val intent = new Intent(this, classOf[CallActivity])
startActivity(intent)

で画面遷移が出来ます。




参考文献

.vimrcをDropboxで同期したよー

やらかしたー

よし!また新しく開発環境整えよう!
そう思い立って適当にデータのバックアップしてクリーンインストール
".vimrc"を忘れて......ね。
面倒くさがらずにバックアップ取るの大事だよ!大事だよ!(大切n


Dropboxで同期

やり方はとーっても簡単でした。(何故やらなかった

ln -s ~/Dropbox/settings/.vimrc ~/.vimrc
ln -s ~/Dropbox/settings/.vim ~/.vim

基本はこれだけですね。(何故やr
あとは必要に応じて設定をしませう。


.vimrc

あと、現状の.vimrcうp。見栄え大切!
最低限不便なく動いてくれるようになって良かった.....
さぁ気合入れて今後も弄っていきまっしょい(古?

"//========== plugins ==========//"
"/--- vundle ---/"
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()

Bundle 'ref.vim'

"/--- ref.vim ---/"
nmap ,ra :<C-u>Ref alc<Space>
let g:ref_alc_start_linenumber = 145


"//========== settings ==========//"
"/--- encoding ---/"
set encoding=utf-8

"/--- basics ---/"
set nocompatible "vi互換なし
set nobackup
set noswapfile 
set textwidth=0 "自動折り返し(0は折り返しなし)
set whichwrap=b,s,h,l,<,>,[,]
set showcmd "コマンドをステータス行に表示
set showmode
set clipboard=unnamed "ヤンクした文字をシステムのクリップボード

"/--- display ---/"
set showmatch "対応括弧のハイライト
set number
set list
set listchars=tab:>.,trail:_,extends:>,precedes:<
set cursorline "カーソル行のハイライト
highlight ZenkakuSpace cterm=underline ctermfg=lightblue guibg=darkgray
match ZenkakuSpace / /

"/--- indent ---/"
set autoindent
set smartindent "改行時、インデントを現在行と同じにする
set tabstop=4
set softtabstop=0 "Tabキー押下時の空白の量(0はtapstopと同じ量)
set shiftwidth=2

まとめ

他に便利な管理・バックアップ方法あったら教えてくださいお願いしまs