動機 Subversionで困ってない ぶっちゃけSubversionで全然困っていませんでした。 コードレビューはちゃんとやっていたし、マージ・ブランチングも自作シェルスクリプトのおかげてスムーズにやれていました。 よく「Gitはマージが賢い、ブランチ作成が一瞬でできる」とかいわれますが、Subversionだってちゃんと使えばコンフリクトなんかめったに起きないし、ブランチ管理・マージだって全然めんどくさくない。 特にver1.7からはサーバもクライアントも大幅に高速化されたし、.svnディレクトリが.gitみたいに1個になったし、rebaseみたいなことだってできる。(sync merge & reintegrate) ただ、世の中が一斉にGitにシフトしている中でいつまでもSubversionを使っててよいのかという不安がありました。 また、月から金までSubversionにどっぷり
大規模UIをJavaScriptで実現するためのテクニック、サイボウズkintone開発の現場から。デブサミ2012 7万行規模のJavaScriptプログラムで構築されたユーザーインターフェイス。そのプログラミングで使われたテクニックとはどういうものか。 2月16日、17日の2日間、都内で開催されたイベント「デベロッパーズサミット2012」(デブサミ2012)で、サイボウズ株式会社 開発部 若原祥正氏、生駒浩隆氏が講演「kintoneの表と裏~大規模JavaScript開発と非構造データベース」を行いました。 講演では前半に大規模JavaScriptのテクニック、後半でスキーマレスデータベース構築の仕組みが解説されましたが、この記事では資料が公開された前半のJavaScriptのテクニックについて、ダイジェストで紹介します。 7万行のコード、フレームワークはClosure Library
2019/06/11追記: これは2012年の投稿です。なぜかはてなブックマークで拡散されていますが、内容は時代にそぐわなくなったものもあるのでご注意ください。 これ知らないプログラマって損してんなって思う汎用的なツールのコメントに寄せられたツールを分類分けしてみました。 解説は、ほぼコメントに寄せられた内容のコピペです。 URLのみの記述は公式サイト(か、ほぼ公式サイトと化しているサイト) 公式サイトとは別に、ページタイトルだけでツールを説明しきっているページへのリンクも付けておきました。類似ページが複数ある場合は、はてブのブックマーク数が多いものを選びました。 知らないツールもあるので、分類がいいかげんなところもあると思います。何か気づいたらコメントください。 解説が不十分なツールについても、補足(コピペで本文に取り込める体裁だとありがたい)を頂けると助かります! 元ネタの投稿は現在進
新サービスが続々登場してアツい! 「GitHub」とは 皆さんは「GitHub」を活用しているでしょうか? 「GitHub」(ギットハブ)はソースコード管理用の分散型バージョン管理システム「Git」を使ったホスティングサービスです。 Gitの特徴は、作業用として自分のコンピュータ上にあるローカルリポジトリがあれば、ネットワークに接続できない状態だったとしても、ソースコードの更新や、履歴を調べたりできる点にあります。その特徴はGitHubにも生かされていて、オープンソースとして公開中の既存のコードを分岐(fork)して、新しいプロジェクトとして開発できます。 また、自分が手元のローカル環境でバグ修正したり、拡張したソースコードを本家のオープンソースプロジェクトに取り込んで(pull)もらうことも手軽にお願いできます。 さらに、READMEテキストファイル(README.md)などを独特のマー
おとそ気分で社内を暇そうにウロウロしていたら「HTML5の常識、わかっていますよね」と怖い怖い一回り年下の編集長から叱られてしまいました。この後、HTML5関係の仕事がくることは間違いがありません。 しかし、ワタクシは50代。困ったことに、この編集長の「わかる」とワタクシの「わかる」とは程度が違います。これは困りました。正月早々、首筋がすーっと寒くなってしまったので、優しいけど仕事に関しては編集長よりも厳しい二回り年下のデスクに相談。 「HTML 4と比較しながらHTML5の違いをまとめて記事にするところから、始めてみてはどうですか」と先手必勝のようなお題を与えてくれました。どこまでこのお題をこなせるのか。65歳定年になれば、あたりまえの日本企業の縮図のなかで、50歳を過ぎての「HTML5の基礎知識」をまとめてみました。 DOCTYPE宣言が超簡単に DOCTYPE宣言が超簡単になったのは
1. 分からない。いくら説明を読んでも分からない。 ● 1.1. 未だに分からない Java 的オブジェクト指向 今日び Java 的オブジェクト指向の説明なんて星の数ほどあるような気がしますが、それでもなお「これで分かった!」という説明に辿りつけない不運な人がいるようですね。まぁこんだけ色々な説明が溢れていたら逆にどれを読めば良いのかワケ分からなくなってしまうのかもしれません。じっくり読んでも理解できなかったのであれば、きっとその説明と読者の相性が悪かったんでしょう。… というわけで、僕も Java 的オブジェクト指向が全っっっっ然これっぽっちも分からないという人に向けて説明する記事を書こうと思います。そうでない人には無価値な記事ですのでブラウザの「戻る」をクリックしましょう。 ● 1.2. 「オブジェクト指向」という名の南の島がある オブジェクト指向にはいくつもの専門用語があって、学習
はじめに Android プログラマのみなさん、こんにちは。 今日も元気に Out Of Memory してますか? ということで、この記事では日々 OOM に悩まされる Memory 的な意味で富豪的な Android プログラマの為に、Eclipse Memory Analyzer Tool、通称 MAT の基本的な使い方を紹介します。 尚、この記事は [twitter:@youten] さんが企画された裏 Android Advent Calendar 12/20 の記事ですが、内容的には比較的オモテなものになっています。 対象読者 Andoid アプリ作ってる/はじめたけど、まだ MAT を使ったことがない方 MAT を使ってみようした事はあるものの、画面から難しそうな雰囲気を察知し、起動10秒後にはそっとタブを閉じてしまった経験がある方 DDMS の基本的な使い方を理解している方
スマホがブームとなった2011年も残すところあとわずか。来年は、更に激しい競争が予想されるスマホ界隈なわけですが、それに伴って、スマホアプリ開発の需要も高まってくることでしょう。 てことで、iOSアプリ開発のチュートリアル的な記事を集めてみました。 iOSアプリの基礎、全般について iCloud Strage 通知センター Newsstand Twitter Story Board ARC Core Image Game Center OpenGL iOSアプリ開発の基礎、全般について [目次へ戻る] 基本的な情報は以下。今更ですがiOSアプリ開発の基礎について色々調べてみました 基礎的なチュートリアルは以下。iPhoneアプリを作ってみよう:目次エントリーiPhoneアプリを作ってみよう(Xcode4編)第1回:じゃんけんゲーム iOSアプリ「対戦型じゃんけんゲーム」を作ってみよう iP
本エントリはTDD Advent Calendar jp: 2011の12/8の担当分の記事で、id:t-wadaさんの「右手に感情、左手に数値 - カバレッジを味方にしよう - t-wadaの日記」に続くものです。 はじめに TDDはシンプルな原則に則った手法ですが、とっつきの悪さもしばしば持たれがちです。また一連のTDD Advent Calendarで起こった議論や会話の中でも、TDDの始め方はどうすれば良いかという話が散見されましたので、自分の担当枠では「TDDのはじめかた」についてまとめたいと思います。なお紹介するのはあくまで数ある入門方法のうちの1つです。たぶん他にも色々な良い入門方法があると思います。 全体像 紹介する入門方法は以下のようなステップバイステップの構造となります。 いつでも軽快に使えるユニットテスト環境を構築する 必要と感じたらすぐテストを活用する テスト並行を
本連載では、セキュアコーディングスタンダード「CERT Oracle Secure Coding Standard for Java」の内容をベースに、Android特有の情報を交えつつ、堅牢なプログラムを開発するためのノウハウを具体的な事例とともに紹介していきます。第1回では、セキュアコーディングの意味と、その効果について解説します。 はじめに 昨年、C/C++に関してセキュアコーディングの連載があったことを御存じの方もいるかもしれません。今回始まる「Javaセキュアコーディング入門」は、Javaのプログラミングにおいて、入力値検査、引数の安全な渡し方、例外処理、整数演算といったソフトウェアの脆弱性に直結する問題に対して、コーディング上の注意点や脆弱性を作り込まない作法を解説するものです。具体的には、演算処理、文字列処理、ファイル操作などトピックごとに、よりセキュアなコーディングスタイル
ふとワクワクするようなアイディアが浮かんだ時、もし自分でwebサービスを作れたらなーって思う方も多いんじゃないでしょーか。 実際、twitterやfacebookを徘徊してても、結構頻繁に「webサービス作ってみたい☆」みたいな投稿をみかけますが、中には「何から手を付け始めれば良いか分からない!」的な迷える子羊達もちらほら。 そんなワケで、ささやかながら今まで当ブログでもいくつかの自作webサービスを公開してきて、企画からデザイン・コーディング・プログラミング・宣伝に至るまで、若輩ながら全て一人で担ってきた私の知見をご紹介したいと思います。 だいじょーぶ、やりゃーできる! webサービスを作るための技術と知識 技術に関する最大のポイントは「全てを知る必要はあるが、全てに精通する必要は無い」、つまり「広く浅く」で良いというコト。 その中でどこかに自分の強みが持てると尚良しですが、手始めであれ
ロードアベレージ通知するだけなら負荷監視ツールを入れるより、PHP なりで書くほうが楽で簡単とのことで友達に教えてもらいましたので、ひとつ書いてみました。以下のコードを loadave.php など適当な名前で保存して cron で定期実行すれば良いです。 <?php mb_language("ja"); mb_internal_encoding("UTF-8"); date_default_timezone_set('Asia/Tokyo'); $servername = 'localhost '; // サーバー名(任意) $mail1 = 'info@example.com'; // 通知先1 $mail2 = 'alert@example.com'; // 通知先2 $notice1 = '3.00'; // 通知ライン1 $notice2 = '5.00'; // 通知ライン2
モバイルゲーム 物凄い勢いで勃興したモバイルゲーム業界は、いろいろな課題や問題に直面しながらも巨大化し、今日の時点でのスマートフォン向けゲームの市場へと継承されていきます。 モバイルゲームの歴史 2001 Javaアプリと3Dゲームの登場 Javaが利用できるようになったことにより、ダウンロード型のゲームが供給できるようになりました。 2002 携帯電話端末の大容量化・3D化競争 Java搭載携帯電話端末が登場してからごく僅か1年の間に、アプリのサイズに関しては10倍に広大化し、表現方法も2Dから3Dにシフトし始めました。J-PHONEは『ゼビウス』や『スペースハリアー』などといった昔のアーケードゲームを、ドコモはSIMCITYなどパソコンで世界的規模のヒットを飛ばしたゲームを主力商品としていました。 2003 モバイルゲームの一般化 メモリの制限が厳しいJava仮想マシン上ではなく、OS
社内向けWebサービス「ニコニコプロデュース」 例えば、コードレビューをしている時に誰かが鋭いツッコミを入れてくれた時。 例えば、社内のチャットで、ふと誰かが名言を書き込んだ時。 そんな「もっと評価されるべき」を、「評価」する手段が欲しい。 そんな思いから、社内向け Web サービス「ニコニコプロデュース」を作りました。 画面はこんな感じです。 使い方は簡単で、「だれうま」とか「GJ」とか思ったらポイントをあげる。それだけです。もらったポイントの使い道は特にありません。 こんな感じで、趣味としてちょこちょこ社内向けサービスを作ったり、簡単なツールを作ったりしているので、その魅力について語りたいと思います。 作っている間 なにせ自分で1から企画して自分で全て実装するので、作っている間はとても楽しいです。 「こういうページがあってー、こういう UI でポイントをつけれてー・・・あ、ユーザー認証
PHPの実行環境をPaaS型クラウドとして提供している「PHP fog」はブログで、いままで6カ月だった無料サービスの利用期間を、永久に無料のままにすると発表しました。しかも3つのアプリケーションまで無料にするとのこと。 もちろん無料で使えるリソースの範囲はそれほど大きくありませんが、PHPアプリケーションを自由にデプロイできるため、例えばWordpressを入れて自由にブログを運営する、といったことができるはず。 実はPHP fogだけでなくPaaS型クラウドでは無料でずっと利用できるコースを設定しているサービスがいくつもあります。この機会にまとめてみました。 PHP fog まずはそのPHP fog。名前の通りPHPの実行環境をクラウド上で提供します。MySQLデータベースもあらかじめ用意されており、WordPress、Drupal、Sugar CRM、Joomlaといった有名どころの
PHP5.4 Advent Calendarの13日目です。@co3kさんの記事に引き続き、PHP5.4の新しい機能を紹介します。 PHP5.4で見逃せない新機能の1つとして、今までPHP単体では出来なかったファイルのアップロードの進捗情報が取得できるようになりました。今までアップロードの進捗情報は、APCやFlashなどを利用しなければ取得できないものでした。この記事では実際に動くサンプルコードと共にこの機能を紹介します。 導入 以下のようなファイルアップロードのためのフォームを用意します。この時パラメータにsession.upload_progress.nameディレクティブのエントリを追加します。これはアップロードの進捗情報を取得するという宣言で、これが無いと進捗は保存されないので注意です。この例では、"example"という値をつけています。 <?php session_start
11月24 ドラッグ&ドロップでiPhone・iPad・Androidのゲームアプリが簡単に作れてしまうGameSaladが凄すぎる Tweet iPhoneアプリをつくりたいけどプログラミングなんて分からないという人は結構いると思う。昔はiPhoneアプリといえばObjective-cを習得しないと無理だったのだが、最近はHTML5とJavaScriptで実装できるようになったり、便利なツールが出てきたりしてアプリ制作の敷居が下がってきている。それでもある程度プログラミング言語や仕組みを知っていないと作れない。作れたとしても頭で思い描いていたものよりも陳腐なものになってしまったり、ましてや”ゲーム”を作るとなるとさらに難しい。ただの計算アプリとかと違ってゲームには複雑な動きを実現するコードを書く必要があるからだ。僕も端くれのプログラマだが、ゲームを作るのは畑違いなので一生ゲームアプリを作
NFC・Wi-Fiなど端末間共有機能 【1】NFCでデータを共有する「Androidビーム」 「Androidビーム」は、NFC対応デバイス間で共有を行うための機能です。ユーザー同士が2つのNFC対応のデバイスを接触することで簡単に、お気に入りアプリ、コンタクト、音楽、動画など、ほとんどのコンテンツを交換可能にします。デバイス同士が数センチ範囲内にあると、システムはNFCの接続を設定して共有のためのUIを表示し、ユーザーは画面をタッチすることで共有が行えます。 例えば、ユーザーは連絡先を交換したり、マルチプレイゲームを開始したり、チャットやビデオ通話に参加したり、写真や動画などを共有したりできます。アプリを共有する場合、Androidマーケットのアプリ詳細ページへのリンクを送ります。リンクが送られた端末上のマーケットアプリは詳細ページを起動し、ユーザーはアプリを簡単にダウンロードできます。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く