タグ

ブックマーク / amachang.hatenablog.com (17)

  • 6 年間の起業を終えて - IT戦記

    スマートニュースの社員になりました 皆様、お久しぶりです!約 7 年振りにこのブログを書いています。 元気にしてましたか?僕は元気です。 実はこの 6 年間 id:mizzusano とカクテル株式会社という会社をやっておりまして、先日のプレスリリースにもあったようにこの度会社ごとスマートニュースにジョインすることになりました。 UUUM に遊びに(?)行ってはしゃぐ僕と id:mizzusano そこで今日は振り返りも兼ねて、以下の 3 点について、この 6 年間考えていたことを書いて見たいと思います。 事業アイデアより大切なこと 起業家が健康的に働く方法 プログラマー起業するということ 少しでもこれから起業したい人のお役に立てればと思っております。 事業アイデアより大切なこと 6 年間の事業を振り返えると失敗の連続でした。その中で、事業そのもののアイデアより共に起業するメンバーが大切

    6 年間の起業を終えて - IT戦記
    UDONCHAN
    UDONCHAN 2018/05/31
    参考になる
  • IT戦記 - JavaScript を学ぶ際に一番重要なのに、誤解されがちな setTimeout 系の概念

    おそらく、JavaScript を使いこなす肝は setInterval、setTimeout、イベントによる関数の実行を理解することだと思う 例えば 次のコードの結果を考えたとき document.write("hoge\n"); setTimeout(function(){ document.write("fuga\n") }, 1000); document.write("piyo\n");普通に JavaScript を使いこなしてる人なら、hoge → piyo と表示して、 1 秒後に fuga が表示されるな。って思うはずなんです。 でも、 JavaScript を始めたばっかりの人の中には、 hoge と表示したあと 1 秒後に fuga → piyo と表示するな。って思ってる人が非常に多い。(経験的に) 何故か? たぶん、どのサイトの setTimeout の説明を見て

    IT戦記 - JavaScript を学ぶ際に一番重要なのに、誤解されがちな setTimeout 系の概念
    UDONCHAN
    UDONCHAN 2012/03/31
  • はてなモノリスで一括フォローするためのブックマークレット - IT戦記

    はてなモノリスが登場しましたね!! はてなモノリス サービス終了のお知らせ このサービスは、各種商品を投稿することで「モノ」に対するコメントを共有するものみたいです! これはきっと、フォロワーがたくさんいたほうが楽しいに違いない!!! と言うわけで、一括フォローブックマークレットを書きました javascript:(function(s){s.src="http://amachang.sakura.ne.jp/misc/monolith/follow.js";document.body.appendChild(s)})(document.createElement('script')) 使い方 使い方は簡単 1 フォロー中/フォロワー ページに行く 2 そのページで上記のブックマークレットをロケーションバー(URL が出てるところ)に貼り付けて、 Enter キーを押すだけ 3 あとは、し

    はてなモノリスで一括フォローするためのブックマークレット - IT戦記
    UDONCHAN
    UDONCHAN 2010/04/06
  • Effective Java 読書会 13 日目 「Java の例外めんどくさい」 - IT戦記

    IOException の catch に何を書いていいか分かりません><! はじめに 順番が前後しますが、今回は Java の特徴のひとつである例外機構についてです。 今回の範囲 223 ページ 〜 250 ページ 前回はこちら Effective Java 読書会 12 日目 「スレッド・セーフってなによ!!」 - IT戦記 Java の例外 throw 可能なオブジェクト Throwable インタフェースを実装したもの Exception を継承しない Throwable は基的に使わない チェック例外 メソッドの実装者が「呼び出し元が回復可能」だと考えている例外 ちゃんと「なぜ、例外だったのか」理由が提供されるべき 呼び出し元は try catch で囲むか throws 宣言を書く必要がある Exception を継承していて RuntimeException を継承していな

    UDONCHAN
    UDONCHAN 2010/03/25
  • Effective Java 読書会 12 日目 「スレッド・セーフってなによ!!」 - IT戦記

    スレッドセーフ、スレッドセーフって何なのよ!当の気持ち聞かせてよ! はじめに 皆様おひさしぶりです。 久しぶりに Effective Java 読書会のまとめを上げていきたいと思います!!! 今回の範囲 269 ページ 〜 278 ページ 前回はこちら http://d.hatena.ne.jp/amachang/20100309/1268153192 synchronized を付ければスレッド・セーフってわけではない synchronized はスレッド・セーフを実現するための一つの方法(実装の詳細)であって、 synchronized を使っているからスレッド・セーフというわけではないし、 synchronized を使っていないからスレッド・セーフじゃないというわけではない そもそも、スレッド・セーフとは何か そのクラスのインスタンスに対するどんな順番で行われる操作も仕様的に正し

    UDONCHAN
    UDONCHAN 2010/03/25
  • Effective Java 読書会 3 日目「それ Apache Commons で出来るよ」 - IT戦記

    はじめに じゃっばじゃばにしてやんよー♪っと ( ´ー`)フゥー...(゚Д゚)ハッ! どーん 今日読んだところ 45 ページ〜 66 ページ 前回はこちら Effective Java 読書会 2 日目 「equals night」 - IT戦記 hashCode 2 契約 シグニフィカントなフィールドを変更しなければ、いつ hashCode を呼び出しても値は変わらない x.equals(y) が true の場合は、 x.hashCode() == y.hashCode() が true equals をオーバーライドしたら hashCode もオーバーライドすべき 前述の 2 契約を守るために必要 x.equals(y) が false の場合 かならずしも、 x.hashCode() != y.hashCode() になる必要はないが、 値がバラけているほうが HashMap

    Effective Java 読書会 3 日目「それ Apache Commons で出来るよ」 - IT戦記
    UDONCHAN
    UDONCHAN 2010/02/19
  • Effective Java 読書会 1 日目「static メソッドの使い方などなど」 - IT戦記

    はじめに 社内で「Effective Java を 20 日で読もう」という勉強会が企画されて、今日がその一日目。 ノリノリな感じで。 どーん 今日読んだところ 5 ページ 〜 19 ページ という訳で いろいろ出た話題を残しておく 毎日続けるために、なるべく適当に書いていこうと思う あと、自分が勝手に解釈してる部分も多々あると思うます>< static ファクトリーメソッド static ファクトリーメソッドとは、コンストラクタの代わりに使われる static メソッドのことらしい。 コンストラクタは、名無し たしかに String コンストラクタとかごちゃごちゃしてて一個一個名前付けたほうがいいんじゃね?と思うなーと http://java.sun.com/javase/6/docs/api/java/lang/String.html#constructor_summary Strin

    Effective Java 読書会 1 日目「static メソッドの使い方などなど」 - IT戦記
  • サーバーサイド jQuery をやってみる! - IT戦記

    最近、社内で PHP Spidermonkey が流行って(?)いるようです><! Cybozu Inside Out: SpiderMonkeyを使ってPHPでサーバーサイドJavaScript id:ama-ch さすがです>< というわけで 僕も、 PHP の Spidermonkey でどのくらいのことが出来るのか試してみました>< まず、 Hello, world! <?php // new して $js = new JSContext(); // print 関数作って $js->registerFunction(function($v) { print $v; }, 'print'); // こんにちはこんにちは! $js->evaluateScript('print("Hello, world!!")'); Hello, world!おおお、簡単! 次は、 id:m-hiy

    サーバーサイド jQuery をやってみる! - IT戦記
    UDONCHAN
    UDONCHAN 2010/02/09
  • for 文と無名関数のイディオム - IT戦記

    id:cho45 がチョロっと書いたコードが話題になっている 冬通りに消え行く制服ガールは✖夢物語にリアルを求めない。 - subtech このような書き方は、自分もたまにする。 というわけで、この書き方をする利点を以下の順に解説して見る。 単純な for 文の問題点 with 文を使った解決方法と、その微妙な問題点 無名関数を使った解決方法 単純な for 文の問題点 まずは、以下の HTML に対して <ul> <li>hoge</li> <li>fuga</li> <li>piyo</li> </ul> 以下の JavaScript を実行して var list = document.querySelectorAll('ul > li'); for (var i = 0, len = list.length; i < len; i++) { var node = list[i]; v

    for 文と無名関数のイディオム - IT戦記
  • JavaScript の配列と連想配列の違い - IT戦記

    id:cheesepie:20070131:1170172709 最近は、こういう風に JavaScript を勉強する人が増えていてとても嬉しいです ^^ id:cheesepie さん頑張ってください! で、ちょっと配列と連想配列の使いかたが違うようなので、エントリーを書こうと思いました。おせっかいだったらすみません>< ! やっぱり、このへんが JavaScript の難しいところのひとつなのだろうか。 ということで、 JavaScript の配列と連想配列の違い いってみよおー 連想配列とは JavaScript では連想配列は一番シンプルなオブジェクトのことである。つまり、すべてのオブジェクトは連想配列である。 以下のすべての連想配列はまったく同じものである。 // 1 var obj = { hoge: 'hoge' }; // 2 var obj = { 'hoge': 'h

    JavaScript の配列と連想配列の違い - IT戦記
  • Java でラムダ - IT戦記

    λ... λ... ちょっととおりますよ はじめに C++ Template の勉強をしていて、気がついた。 ネストした(内側から外側が見える)名前-値の空間が存在し 値から名前-値の空間を生成することが可能で その空間を生成するための情報を値として扱え 名前-値の空間の中の一つ以上の値を取り出せると ラムダが出来る。 という訳で Java でラムダを作ってみた import static java.lang.System.out; public class Hoge { public static void main (String args[]) { // チャーチ数 0 final λ zero = new λ () { λ call (final λ f) { return new λ () { λ call (final λ x) { return x; }}; }}; // チ

    Java でラムダ - IT戦記
  • MacPorts でダウンロード先のミラーが重くて先に進まない場合の対処方法 - IT戦記

    (追記)ここで書かれた方法よりも順等な方法があるようです 詳細は以下の記事を見てください。 MacPorts でダウンロード先のミラーが重くて先に進まない場合のまっとうな対処方法 - otsune's SnakeOil - subtech 一般的な MacPorts でのインストール方法 以下のようにしますよね。たとえば mysql5 のインストール。 $ sudo port install mysql5 ---> Fetching mysql5 ---> Attempting to fetch mysql-5.0.51a.tar.gz from http://mysql.mirrors.pair.com/Downloads/MySQL-5.0/Attempting to fetch ... という部分はミラーからダウンロードしてきてるんですが、ここが中々終わらないことってよくありません?

    MacPorts でダウンロード先のミラーが重くて先に進まない場合の対処方法 - IT戦記
  • onclick 属性問題について - IT戦記

    気でやるならonclick属性は避けてライブラリを活用すべき - 帰ってきたHolyGrailとHoryGrailの区別がつかない日記 に関して この先、 HTML に onclick と書いても石を投げられないように書いておく>< 僕も onclick 属性がダメだと思っていた時代もありました。でも、今は時々使うなあ。 (あ、でも、 HTML と JS で分業している場合は、使わないほうがいいよね^^;そこだけは言っておく。) JavaScript 入門の記事を書くときに onclick 属性がダメだとしたら、いろいろ質的でないことを説明しなきゃいけない。 現状では onclick 属性が、もっとも簡単に HTML にイベントをマッピングできる方法だから、そんなに目くじらたてなくてもいいんじゃないかなあ? たとえば 以下は、クリック時に href に GET を送るための oncli

    onclick 属性問題について - IT戦記
  • Java 5 の型推論が分からない - IT戦記

    なんぞこれ>< Javaの型推論Utilsクラス - yukobaのブログ ってことでやってみた これは OK import java.util.ArrayList; import static java.lang.System.out; public class Main { public static <S, T> T cast(S o) { return (T) o; } public static void main(String[] args) { ArrayList a = new ArrayList(); ArrayList<String> b = cast(a); b.add("hoge"); b.add("fuga"); out.println(b); Hoge c = cast(a); // キャストできない場合は実行時例外になる } } class Hoge {} $

    Java 5 の型推論が分からない - IT戦記
  • main の第三引数 - IT戦記

    gcc や vc では main の第三引数って環境変数が入ってくるんですね #include <stdio.h> int main (int argc, char **argv, char **envp) { char **ptr; for (ptr = envp; *ptr != NULL; ptr++) { puts(*ptr); } return 0; } こうすると、環境変数が出力されます。知らなかったー。 でも、使わないよね。 getenv でいいよね

    main の第三引数 - IT戦記
  • MacBook 買った後にやったことまとめ - IT戦記

    ここに少しずつ追記していきます。 購入 Apple Store 渋谷店で amachang「一番安い MacBook ください」 店員「はい、こちらの 129,800 円のでございますね」 amachang「メモリ 2GB に増設してください」 店員「はい、141,000円くらいになります」 amachang「VMWare Fusion もください」 店員「はい、いま Mac を買うとキャンペーンで安くなりますので、 8,900 円になります」 amachang「わー!やった!」 amachang「ゲスト OS として Windows XP を入れたいんですけど、売ってたりします?」 店員「売ってませんねー」 amachang「わかりましたー」 店員「では、お会計しますー」 : 店員「では、メモリお取り付けしますので、 40 分ほどお待ちください」 amachang「付けてくれるんですね」

    MacBook 買った後にやったことまとめ - IT戦記
  • JavaScript1.7 の yield を使って、非同期処理を同期処理のように書く方法 - IT戦記

    経緯 id:kazuhooku さんが一年前にやってたことですが Kazuho@Cybozu Labs: JavaScript/1.7 で協調的マルチスレッド 今日やっと挙動が理解できたのと、 Weave のソースを読んでいたらこのテクニックをバリバリ使っていて「ちょwwおまwww」ってなったので、自分でも作ってみようと思いました。 ほとんど id:kazuhooku さんのと同じものなので、既出です><当にありがとうございました>< まず、 yield とは何か yield とは、 JavaScript 1.7 から導入された機能です。 以下に yield の細かい挙動を示しておきます。 function f() { // なんかの処理 yield; // ... (1) // なんかの処理 yield; // ... (2) // なんかの処理 } var g = f(); // こ

    JavaScript1.7 の yield を使って、非同期処理を同期処理のように書く方法 - IT戦記
  • 1