投稿

11月, 2014の投稿を表示しています

転売・せどり関係のメモ

* リサーチツールについて

- Chromeエクステンション
 Amadiff : 各国Amazonとの値段比較
 クローバーサーチ : 国内ECサイトとの値段比較

- Webサービス
物rate(Amashow)


* 海外輸出

- 海外口座が必要(海外法人作るか、ペイオニアで登録)

- ユニオンバンクだと個人口座なので、ビジネス向けに利用すると口座が凍結される恐れあり

- 海外配送は意外とめんどくさい(あまり調べてない)

- Amazon.com で、"import japan" と検索すると輸出されてるものが一覧できて市場把握しやすい

- 海外配送手数料、送金手数料も含めると相当な利ざやが無いと旨くない 


* 国内配送

- 薄いものならヤマトメール便( < 2cm)
- ゆうメール(縦横高さ<1.7m)

Javaでマルチスレッド/ネットワークプログラミングに入門してみた。

Java全然触ったことないけど、 関西Javaエンジニアの会スペシャル! JavaOne 2014 報告会 メモ なるものにこの間参加してきて、
Oracle 本気やん、いろんなところで使われてるやんということで、
いまさらJavaなんか触り始めた!

Java といえばとりあえずeclipse のイメージが強かったので、
Android SDK にくっついてきた eclipse 開いてJavaプロジェクト立てて実行してみる。
eclipse の環境設定が必要なので以下のサイトを参考にして、JDKの設定を行いました。
http://ameblo.jp/kurabeat/entry-11856811247.html

Java SEについては、JavaSE@TECHSCORE がわかりやすいです。
C/C++ 使ってた身からすると、細かい文法は雰囲気でわかるんで後回しにして、
JavaのAPIどう叩けばいいか分かればいいだけ。
かなり効率よく学べました。

EclipseのTips
 インデント: "cmd + i"

マルチスレッド
 マルチスレッドといったときに、同時に複数のことをやるための技術といった説明がよく見られる。けど、正確には時分割多重の処理として理解するのが正しそう。
いい感じの解説をしている文章があったので引用させてもらいます。

多くのコンピュータはCPUを1つしかもっていません。そのようなコンピュータでは、厳密には1つの処理しか同時には実行することができません。そこで、「マルチスレッド」では、通常「時分割処理」という方法が用いられています。「時分割処理」とは、短い時間間隔で実行する処理を切り替える方法です。複数の処理を頻繁に切り替えて実行することで、仮想的に複数の処理を同時に実行しているように見せかけています。http://www.techscore.com/tech/Java/JavaSE/Thread/1/
 Javaにおける具体的な実装については、extends するパターンと implements するパターンがあるみたい。継承とインタフェースの違いについてはここを参考にした。
 要するに継承階層が同一であればextends、そうでないならimplements とざっくり理解。これだけだと不正確だと思うけど、理解度はのちのち深めていく…

関西Javaエンジニアの会スペシャル! JavaOne 2014 報告会 メモ

関西Javaエンジニアの会スペシャル! JavaOne 2014 報告会
http://kanjava.connpass.com/event/9444/

イベント概要 関西のJavaエンジニアのためのコミュニティ「関ジャバ」で、9月に開催されたJavaOne 2014 San Franciscoの報告会を開催します。いつもの平日ではなく、土曜日に開催するスペシャルイベントです。スペシャルゲストとして、Javaエバンジェリスト寺田 佳央さんとJava in the Boxのさくらばさんをお招きします! また、寺田 佳央さんより「サンフランシスコ土産争奪じゃんけん大会」も行って頂きます! セッション JavaOne 2014 サンフランシスコの最新レポートについて寺田佳央さん60分 JavaOne は 1 年に 1 度、アメリカ・サンフランシスコで開催される Java 開発者の祭典です。本セッションは、2014 年、09 月28 日~ 10月 2日まで開催された、JavaOne 2014 サンフランシスコの全体概要をご紹介すると共に、新しく発表された内容、Java の今後のトレンド、最新情報などをわかりやすくご紹介します。 [Memo] * 今後のJavaの方向性 - JavaOne@San Francisco 2014 - JavaSE7 -> JavaSE8 パフォーマンス改良 クリティカルパッチアップデート : 1/20, 4/14, 7/14, 10/20
- JavaOneのセッション動画は https://www.parleys.com/home にアップロードされる


JavaOne 2014 San Francisco Report from Oracle Fusion Middleware

JavaOne 2014 では Java SE について何が語られたのかさくらばさん60分 今年の JavaOne では、Project Valhalla や Project Panama など今後の Java を担う機能が話題になりました。これ以外にも、Project Jigsaw など Java SE 9 の主要な機能もアップデートしています。そこで、本セッションではこられの機能を紹介していき、Java の今後について考えていきたいと思います。

Python でスクレイピングすると超快適な件

イメージ
不動産賃貸物件の情報を横断的に見るサイトがない。 Suumo, Homes, エリッツ、、、色々見るのがめんどくさい。 お勉強ついでに自分でツールを作ってみる。
まずは住宅情報を集めるところから。 スクレイピングツールは Ruby Pythonいろいろあるが、 ここではお勉強のためプリミティブな方法で Python 使ってスクレイピングをしてみる。
1. HTTP リクエストを発行してWebページを取得 2. 取得したウェブページをパース 3. データベースにためる
といった流れ。

1. HTTP リクエストを発行してWebページを取得
スクリプト的に徘徊したいので、何かしらのコード実装が必要。 学習コストが低い Python を使ってみます。 HTTP リクエスト用のAPIとしては、 デフォルトで urllib とかいうのがあるけど、それだと使いづらいので、 requests と呼ばれるパッケージをインストールします。  $ pip install requests  です。 インストールに失敗するときはこのへんはググラビリティ(ググって解決できること)高めなので頑張って解決してください。大体依存するライブラリがインストールされていないとかで引っかかります。
requests 使うとたった二行で HTTP リクエストできてしまいます。 $ import requests
$ response = requests.get(url)
のちのち問題になるのは、「URL をどうやって決めるのか」という部分。 徘徊の仕方は後日考えることとします。
ガッツリやるなら Scrapy がいいらしいですよ。
ページ徘徊の深さとかも簡単に調整できるみたいよ。 PythonとかScrapyとか使ってクローリングやスクレイピングするノウハウを公開してみる!
2. 取得したウェブページをパース
HTTP リクエストを発行してページ取得はできるようになった。 その次は取得したウェブページから必要な情報を抜き取る処理です。 データ取得とパース処理には依存関係がないので、 ぶっちゃけ違う言語でもよいです。このへんは分業できる部分かと。
様々なソフトウェアスタックがそれぞれ独立して疎結合でメッセージングして協働しているように、
ページ取得・パース・データ解析は独立性の高い処理なので、
それぞれ得意…

VirtualBox + Vagrant をMac上で触ってみたら鬼快適だった件

Web屋さんからすると当然って言われるかもですが仮想環境マジでいいわぁ。
今までは普通にVirtualBox上でUbuntu走らせてるんるんしてましたが、
やっぱ Vagrant 使って terminal から ssh が楽。
とりあえず備忘録のため設定手順をメモっておく。

【設定手順】
1. VirtualBoxVagrant をインスコ
   Download してインストーラに従うままに Yes 連打

2. VagrantBox のサイトからインストールイメージのURL選びます
http://www.vagrantbox.es/

3. 初期設定

boxのサイトにはこんな案内があります。 To use the available boxes just replace {title} and {url} with the information in the table below.$ vagrant box add {title}{url}$ vagrant init {title} $ vagrant upなので、素直に従います。 $ vagrant box add centos64http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20131103.box $ vagrant init centos64 # Vagrantfile が生成されます。 $ vagrant up # 仮想マシンが立ち上がります $ vagrant ssh # ssh で仮想マシンに接続


まだ良さが完全にはわかっていないかもだけど、
ちょっと触ってみて感じた快適な点を整理して列挙します。

【 Vagrant を使うメリット 】
Boxが地味に便利
OS イメージが簡単に共有できる。
チーム開発してる場合は不具合があった時の再現環境とか、サーバー環境構築が簡単になりそう。

「俺のところでは動いたんだけどなんでだろぉ〜?」なんてクソみたいな時間の浪費をしなくて済みます。
個人開発でもweb上に転がってるインストールイメージを落としてくるだけで簡単に開発環境セットアップできて嬉しいです。

webサイトの動作確認

仮想マシンの /vagrant に ホストのVagrantfile があるディレクトリをシンボリックリ…

Mac Book Pro を買ったときの初期設定

0. OSのアップデートとXcode のインストール

ダウンロードに時間がかかるので先に OS の更新( Yosemite ) を仕掛けておく
Xcode も糞重いので先にダウンロードを仕掛けておく
  Xcode は一回起動させてライセンスに同意しておく
Agreeing to the Xcode/iOS license... のエラーがでた時の対処法

1. Windowsライクな aero snap をできるようにする

BetterTouchTool をインストール
http://blog.boastr.net/

2. アプリいろいろインストール

- Google日本語
- Magic Trackpad
http://support.apple.com/ja-jp/HT4331
- Skype
- LINE
- SourceTree
- Unity
- curl, wget
- jq

- 素直に言うこと聞いてインストール
http://tech.basicinc.jp/Mac/2014/04/20/mac_app_engineer/

- Spotlight が Ctrl + Space で地味にEclipseのインテリセンスのショートカットキーとかぶるのでそっと殺しておいて、慣れてるLaunchyに差し替え。
Shift+Space で起動する仕様に変更。


- jqコマンドってなんぞ?
jq コマンドが強力すぎてヤバい件

確認のためざっくり python関連のコマンドインストールしてみた。
pip 入れて scrapy 入れてとりあえずスクレイピングしてJSONファイル生成してみる。
話題のクローラー・スクレイピング!PythonならScrapyが超優秀な件
 SourceTree 入れて Github にホストされたリポジトリを Clone。
 とりあえず実行

生成されたデータはこんな感じで jq にパイプで渡せばダンプできちゃう。
$ cat stock-code.json | jq ".name"


- OpenCVを入れておく
  $ pip install numpy
  $ brew install opencv