個人開発を支える技術Night

個人開発を支える技術Night on Zusaar に参加したのでメモ。

スライドは以下にまとめられているそうです。


自分は Githubで書く電子書籍 という内容で発表してきました。

最近、 JavaScript Promiseの本 という電子書籍を作って公開したので、どのような構成要素なのかについての話です。

Githubで書く電子書籍 の要約的には以下の要な感じです。

  • JavaScript Promiseの本 ではAsciidocを使った
    • Asciidoctorが良くできてた
  • 人間はやることスグ忘れるのでGithub Issueにメモろう
    • 公開情報になるので周りが口出しやすい
  • 自動化できるところは自動化してTravis CI等で回す
    • Pull Request駆動の効果が増すよ
  • 文章のリファクタリングは大変なので、周りが協力しやすい形にしよう

個人開発と徳 – @otiai10

  • 徳が高い との話
  • お金と”徳”
    • ユーザーがお金を払う方法はあるので

Animetick on さくら VPS – @KAZZONE

  • アニメをチケット管理
  • AWSは高い
  • 個人開発の味方 さくらVPS
    • 年間2万くらいのいサーバー代/ドメイン代
  • そろそろ2台にしたくなった
    • 分析基盤をつくろう
  • fluentdでログ転送
  • mongodbに格納
  • 自分で作った「Analytick」

個人開発 in フィリピン 個人開発 in フィリピン – @deeeki #mydev

  • 最近つくったもの
  • ウェブサービス
    • 自分が使いたいもの
    • 収集系多め
  • ウェブサービスのためのライブラリ
  • Ceeker

    • Twitterの会話を集めるアプリ
  • 知見

    • Railsのありがたみ
    • 各gemにくわしくなる
    • Worker Dyno のありがたみ
  • Slidegate

    • 人気のスライド一覧してる
    • いいスライドはとっておきたい
  • 知見

    • デザインはtwitter Bootstrapでいい
    • exception_notification-rakeがあると便利
  • 知見いろいろ

    • うけそうなものよりもじぶんが使いたいもの
    • モチベーションの維持
      • コミュニケーション
      • チャットサービス
      • もくもくサービス
  • ソースコードの公開

    • メリット > デメリット
    • 外部ストレージとして
  • Webサービスで稼げるか

  • お金の稼ぎ方

    • しごとで稼ぎましょう

ツイセーブを支える技術 – @9m

リリース当初

  • MySQL
  • mroonga
    • 負荷が高いと壊れる

リリースから結構経った後

  • 全文検索だけmongodbへ

今年のはじめ頃

  • Solrに変更
    • Sunspotめっちゃ便利(Rails)
  • メモリが足りない

個人開発のその先

  • あたった
  • サーバ代がやばい
  • 税金がヤバイ

同棲生活による個人開発時の問題 – @soramugi

  • 現状の問題
    • 開発に使える時間が少なくなる
    • 集中できる時間が限られる
    • 個人開発がしにくくなる
  • 作ったサービス
  • TWordTag
  • FavMedia
  • 同棲と個人開発の問題
  • 開発に使える時間が少なくなる
    • 常に一緒にいる
    • 休日には遊びに行かなければならない
    • 何かを決めるには確認をとる必要性
  • 集中できる時間が限られる
    • 外部からの阻害要因が増える
    • 相手が何か失敗した時にリアクションが求められる
  • 分けるのは解決にならない
    • 開発が好きなのに作れる自由が妨害されている
    • 気になる事をやれないフラストレーションがたまる

現状の解決策

  • 目的を明確に
    • タスクを立てる
    • 細かく集中、細かく解決する事で阻害される弊害を最小限へ
  • 長く続けられるようにする
    • 面倒な事をするようにする
    • 面倒なところはCIへ投げる

話すことと作ること – @kyo_ago

  • 最初はとにかく喋った方がいい
  • 形になってきたら外で喋らないほうがいい
  • しゃべることでイメージが固まってしまう
    • しゃべることで満足してしまう
  • 作ってるものが正しいか不安になってくる
  • 話してるだけだと、未実装のアイデアが増えてくる
  • 自分が欲しいものを作るべきか?
    • 他人がほしいものはポートフィリオにしやすい。
    • 人に見せてもはずかしい

DokkaaでドッカドッカDocker – @k2nr_

Dokkaa Docker

  • Dockerのホスティングサービスを作ってる話
  • Dokkaa – https://github.com/k2nr/dokkaa-builder
  • イメージ名とかを指定してcreateする
  • イメージが走って指定したドメインでdockerが動く
  • Clojure
    • Om(React)ラッパー
  • dotcloud/hipache
    • リバースproxy

骸骨駆動設計 – @mizchi

  • 時間がない
  • 資本がない
  • しがらみがない

そもそも(僕の)個人開発の目的

  • 作るプロセスを楽しむ
  • プロトタイプ的な

会社をハックする

  • 家でコンセプトを実装する
  • 会社で「こんなライブラリがある」といって会社の時間で開発する

会社の成果を使いまわす

  • 次のプロジェクトのためにスケルトンを抜き出しておいてしまう

ベンチャー

  • ベンチャーは買収されるリスク
  • OSSはそれに対するものでもある

TypedCoffeeScript

  • 金がないとやってられない
  • gittip
  • BountySource
  • でも、金を集めるとサボれないので不便

草を生やす技術 – @Linda_pp

  • Githubの草を生やす話
  • LLVMのフロントエンド Dachs

GithubのCurrent streak

  • Current Streakをひたすら伸ばす
  • 19 – > 275 Contributions/monthに伸びた
  • GithubはSNS
  • 勉強会/もくもく書い
    • このアイデアのどこがイケなてないですか
  • やる気がでない時
    • とりあえずコミットすればいい
    • 問題点やTODOを考えたりまとめてissueを開く
    • Pull Requestのマージ
  • 1日最低1ドはリポジトリと向き合うことが大事

Githubで書く電子書籍 – @azu_re

Githubで書く電子書籍

Github + Asciidoc + Travis CIで書く電子書籍


Yeoman generator改造して気持よくなる話 – @h_demon

  • vus.jsリジェクト
  • gulpリジェクト
  • coffeescriptリジェクト
  • 命名がクソいと問い詰め
  • 個人開発の個人的な意義

    • 最新の技術を使って行きたい
  • Haxieさん

    • WHATWGのHTML仕様のエディタ
  • WAHTWG

    • W3Cとは別
  • 仕様と議論を追う手段

    • ML
    • Issues
    • IRC
  • ML

    • まずはメーリングリスト
    • 新仕様の議論もここからはじまる
    • どこからはじまったのか探すのが難しい
  • IRC

    • #whatwg #development が活発
  • WHATWG「とりあえず実装してみて」

    • 実装してみてからMLで議論するので難しい

エタらないための技術力 – @kjirou

  • エター
    • エターナル – 開発中止的な意味
  • 開発 -> エターの繰り返す
  • エタるパターン
    • 既存部分の設計に不整合や不便な点がでる
    • バグに追われると開発が進まない
    • とりあえずリリースまでと言い訳をして変な設計を残る

元々の開発体制

  • 外部モジュールを使わない
  • テストなし
  • 自前のSVNでソースコード管理
  • Windows

個人開発のイメージ

  • Windows
  • FTP

改善

  • 外部モジュールを利用
    • npm /bower/ 対応してないものをベタ置き
    • 40コぐらいいれた
    • 使わなくなったのは3つぐらい
  • テスト
    • 設計変更のリファクタリング のためのテスト
  • Github
    • コスパ的に使わない理由
    • 外部素材を含む場合は基本的にプライベース
    • => bitbuckets
  • Mac
    • 技術記事がMac前提のが多い
    • 経験上仕事も mac前提が多い
    • Macにしておくと楽
  • モジュール公開
    • モジュールとして分離出来そうなものを公開
  • 結果
    • 3ヶ月しか保てなかったやる気が継続するようになった
    • 1ヶ月ぐらいメンテしてないけど、普通に回収できた
    • 同時に仕事にも生かせる技術が手に入った
    • 痛い思いをして、それを技術でかいけつした経験が手に入った

個人開発者へ送るカンファレンス運営のススメ – @OE_uia

  • Japan Scala Association という普及する団体

方針

  • 仕事で作るもの
    • ユーザーが欲しているもの
    • 技術的に簡単なもの
    • KPI、数字
  • 趣味で作るもの
    • オキュラス

個人開発者の醍醐味

  • 好きな言語を選べる
  • 好きな時間に働ける
  • 好きなように働ける
  • 失敗しても成功しても全て自分の責任

カンファレンス運営

  • Scala Matsuri
  • 運営はやることが沢山
    • ウェブサイトのメンテ
    • スポンサー受付/営業
    • 広報
    • 会計、各種届け出(スポンサーが法人相手じゃないとやらないケースある)
    • ゲストとのやりとり
  • 個人開発を支える技術(開発以外) – フリーランス
    • 一人企業とカンファレンス運営の類似点
    • 届け出や営業とか似てる

個人開発とマネタイズ – ninjinkun

  • 個人でスマホアプリ開発して儲けようとチェレンジした話
  • FeedBack ブログの評判可視化アプリを作った
  • アプリの売上は多分10万以下
    • 月2000円ぐらい入ってくる

儲け

  • 賞に応募したら10万円入ってきた

ブログのマネタイズに

  • アドセンスの代わりに、自分のアプリの広告を貼る
  • 開発者がアプリの広告を自分に出すのは自然

自宅サーバする話

  • クラウドは容量が足りない
  • 自宅サーバなら大容量
  • コンテンツ
    • 音楽
    • 漫画

自宅サーバ

  • 手間が凄い
    • USBでOSセットアップから始まる

漫画

  • Subcomic
    • zipを分解してjpegで返す
    • prefetchする

その他

メモ : Markdown

  • Scalaがコンパイル遅いは定番の話題
    • いいマシンを使いましょう
  • LLVM IRの話をした
    • *-llvm はフロントエンド、ミドルエンド、バックエンド どこを示したプロジェクトなのか分かりにくい問題
    • pypy.js
    • LLVM JITとは何か?
  • 心理統計学の話をmizchiさんに聞いた
    • 検定の使い道とか