じゃばばばば

Javaとかいろいろ

備忘録 Homebrew,gitの環境構築とかプロキシ設定とか

Homebrewのインストール

プロキシの設定をする(認証がある場合)

ターミナルを開いて以下のコマンドを打つ
USER:プロキシサーバーでのあなたのユーザ名
PASS:プロキシサーバーにログインするためのパスワード
PROXY:プロキシサーバーのアドレス(3行目のALL_PROXYはそのまま)
PORT:プロキシサーバーのポート

export http_proxy=http://USER:PASS@PROXY:PORT
export https_proxy=$http_proxy
export ALL_PROXY=$http_proxy
Homebrewをインストールする

Homebrewをインストールするための2014年12/17現在の最新のコマンド

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

これは時々変更されるので公式サイトで確認してください
Homebrew — OS X 用パッケージマネージャー
インストールに成功したら必ず

brew doctor

を実行してください。

Gitのインストール

Gitをインストールする

brew install git

これだけでOK

Gitのプロキシ設定

git config --global http.proxy http://proxy.example.com:8080
git config --global https.proxy http://proxy.example.com:8080

これでOKのはず
僕の場合はこれでできました。
環境によってできないこともあると思います。

サーターアンダギー(ココア風味)β

僕は中間テスト10日前にこの記事を書いています。
本当に何をしているんでしょうね。
先週だったか先々週だかに作ったサーターアンダギーのココア風味の試作レシピです。

専用の「こな」を作ります。小麦粉1000gにベーキングパウダー15gを混ぜましょう。

材料

こな   卵の数x125 g

卵    作りたい分だけ、M卵だとこなが溶けきらなかったのでL卵の
     方がいいと思います。

    (8個より多いと失敗するかもしれないです)

砂糖   卵の数x74 g

純ココア 卵の数x20 g

生地用の油 「こな」が全て生地になるように調整。香りの少ないものが良さそう
      (油が多ければ多いほど完成品がポロポロする)

揚げる用の油 お好みの油をどうぞ。僕はいつも安いキャノーラ油を使ってます。

手順

1. 砂糖とココア混ぜます。
 (ココアはこなと混ぜたほうがいいかもしれないです)

2. 1.で作った物に卵を入れ溶けきるまで混ぜます。
  (ココアを「こな」に混ぜるときは卵に砂糖だけを溶かします。)

3.「こな」に2.で作った液体を入れて混ぜます。グルテンができすぎないように混ぜましょう。
 ここで「こな」が生地にならなかったらサラダ油で調整します。
 カチカチの粘土みたいになっても大丈夫です割となんとかなります。

4.冷蔵庫で30分くらい冷やします。こうすることで生地が手に付きづらくなり
 ます。

5.直径3cm以下にちぎって油で揚げます。油は160度ほど(箸を入れると少し泡
 が出るくらい)
 時間は大きさによって変わります。表面が硬くなって1分前後揚げればいい
 感じに仕上がると思いますが念のため中まで火が通っているか確認してくだ
 さい。

揚げるのに結構時間がかかるので時間とやる気はたっぷり用意しておきましょう。

基礎からやり直すJava入門(前編)

僕は今下記のサイト
Java Swing「ドラッグ&ドロップ」メモ(Hishidama's Swing-TransferHandler Memo)
ドラッグアンドドロップでファイルを受け取るJavaアプリ | サクッとJava研修室
javaでファイルのドロップを受け付ける部品を作ってみた - Sacrificed & Exploited
を参考にどうにかして音楽プレイヤーにドラッグアンドドロップの機能をつけようとしているのですが、「canImportで音声ファイルだけを受け付けるにはどうしたらいいのか」とか「importDataが何やってるのか」など分からず作業がストップしています。
ちゃんとJavaを勉強した人なら分かるように書いてあるんだと思いますが、僕の場合

「基礎はやってて面白くないから自分が作りたいもの作って、そこで分からない事があればそのとき調べればいいや!」

というスタイルでJavaやってきたので、
try{}catchって何!?
textArea.setTransferHandler(new DropFileHandler());
何でDropFileHandlerつくったのに定義されてないってエラー出んの!?
って感じでコード読んでも理解できるのは半分程度で、このままではやばいと思い基礎からJavaを学び直そうと決意しました。

追伸
後編は十分基礎が身についたと思ったら書く予定。

じゃんけんするだけのアプリ(pc用)

じゃんけんするだけのアプリ出来ました。

package swing.sample;

import java.awt.BorderLayout;
import java.awt.Container;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.util.Random;

public class jankengui implements ActionListener {
    int a=0;
    private JFrame mainFrame;
    private Container contentPane;
    private JTextArea textArea;
    private JScrollPane scrollPane;
    private JPanel buttonPane;
    private JButton Button1;
    private JButton Button2;
    private JButton Button3;

    public jankengui() {
        mainFrame = new JFrame("じゃんけん");
        mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        mainFrame.setSize(800, 600);
        mainFrame.setLocationRelativeTo(null);
        contentPane = mainFrame.getContentPane();
        textArea = new JTextArea();
        scrollPane = new JScrollPane(textArea);
        Button1 = new JButton("グー");
        Button2 = new JButton("チョキ");
        Button3 = new JButton("パー");
        Button1.addActionListener(this);
        Button2.addActionListener(this);
        Button3.addActionListener(this);
        buttonPane = new JPanel();
        buttonPane.add(Button1);
        buttonPane.add(Button2);
        buttonPane.add(Button3);
        contentPane.add(scrollPane, BorderLayout.CENTER);
        contentPane.add(buttonPane, BorderLayout.SOUTH);
        mainFrame.setVisible(true);
    }
    public void janken(int a){
        int cpu;
        Random rnd=new Random();
        cpu=rnd.nextInt(3);
        if(cpu==a){
            textArea.append("あいこ\n");
        }else{switch(cpu) {
        case 0: switch(a){
            case 1: textArea.append("負け\n");break;
            case 2: textArea.append("勝ち\n");break;
        }break;
        case 1: switch(a){
            case 0: textArea.append("勝ち\n");break;
            case 2: textArea.append("負け\n");break;
        }break;
        case 2: switch(a){
            case 0: textArea.append("負け\n");break;
            case 1: textArea.append("勝ち\n");break;
        }break;
        }
        }
    }

    public void actionPerformed(ActionEvent event) {
        if (event.getSource() == Button1) {
            a=0;
            janken(a);
        }
        if (event.getSource() == Button2) {
            a=1;
            janken(a);
        }
        if (event.getSource() == Button3) {
            a=2;
            janken(a);
        }
    }

    public static void main(String[] args) {
        new jankengui();
    }
}

public jankengui()

public void actionPerformed(ActionEvent event)

はActionListenerの使い方が分からなかったので
SwingでJavaに強くなる(4):Swingのイベント処理を知る (2/2) - @IT
こちらのサイトのコードをコピペ&改変して作らせて頂きました。

ボタンをクリックすると画像のように勝敗の結果がテキストエリアに追加されていきます。
f:id:oKiNaWa:20140927102526p:plain

今はまだ勝敗を文字で表示するだけですが、これからいろいろ機能を追加していこうと思います。

届いた

Aruduinoの互換基盤とブレッドボードとジャンプワイヤが届いた。

LEDやセンサは今度友達にもらいにいく。いよいよロボット活動が本格的になってきた。(僕の中では)

アルディーノのスペルこれであってるのか?

スナックパインとかマンゴーとか食べた

仕送りでマンゴーやちんすこうやスナックパインが送られてきたので食べてみました。

マンゴーはいい感じに熟しててめちゃウマでした。冷凍して食べてもおいしいのですが、冷やすだけの方が甘みがましておいしかったです。冷凍マンゴーを小さく切って、サーターアンダギーの生地で包んで揚げるてみましたが、マンゴーの周りの生地がべちょべちょしてまずかったです。

スナックパインの方は、皮が若干緑で熟しきってない感じでしたがなかなかうまかったです。このスナックパインは食べ方が独特で面白かったです。(小並感)