Scalaの関数型プログラミングの中で、オブジェクトがどのような位置づけで使用されるかの説明した資料です。object, class, traitがMLのモジュールシステムとどのように対応するかを中心に解説しています。
「Mac」と「iOS」の開発者が「Swift」を綿密に検証している。Swiftは6月にサンフランシスコで開催されたWWDCでAppleが発表した新しいプログラミング言語だ。真っ先に提起された質問には、次のようなものがある。Swiftは良いものなのか、それとも悪いものなのか。現在と将来のプロジェクトにはSwiftを使うべきなのか。プログラマーは過去に遡って、「Objective-C」で記述したプログラムをコーディングし直すべきなのか。 MicrosoftのMS「Office for Mac」および「Office for iPad」チームのDavid Owens氏はかつて、Mediumへの投稿の中で、Swiftの発表はObjective-Cプログラマーにとって不運だと述べている。 Swiftの発表を受けて、私はiOSと「OS X」の開発の未来をとても悲観している。私の見る限り、Swiftによっ
Cocoaの並列処理(GCDとNSOperation/NSOperationQueue)に関するまとめです。この記事ではいわゆる「スレッド」については扱いません。スレッドについては、前に記事を書いたのでそちらを参照してください。 Cocoaのマルチスレッドシステム - $ cat /var/log/shin スレッドによる並列処理からの脱却 スレッドは、歴史のある並列処理のための概念ですが、OSのカーネルの方にも密接に関わりがあるなど、抽象度は低めと言えます。 そこで、Cocoaでは、並列処理のための抽象度の高いインターフェースが提供されるようになりました。それがGCDとNSOperation/NSOperationQueueです。これらを使えば、スレッドを何個作成してタスクをどのように実行するか等の細かいことは、ランタイム側が全て決定してくれるので、ユーザは、並列処理したいタスクを定義し
Xcode標準のテストライブラリがうまいことやってくれないせいで、非同期処理のテストを書く場合に待ちの処理を自分で書いてあげないといけません。 最近のすごくいい感じの拡張が紹介されたのでこれを使うとなかなかいい感じです。 Objective-Cで非同期処理のテストをシンプルに書く方法 - TOKOROM BLOG ですが、実際はそこまでやらなくてもSDK標準の機能だけでも簡単に実装できます。サンプルコードは以下の通り。 - (void)testExample { CFRunLoopRef rl = CFRunLoopGetCurrent(); NSURLRequest *req = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://xoyip.hatenablog.com/"]]; NSOperationQueue *qu
こんにちは!エンジニアの川崎です。 先週行われた Consumer Service Engineer MeetUp Vol.1 ~iOS編~ というイベントで「WantedlyではどうやってiOSアプリ開発しているのか」というテーマで発表してきました。 僕自身の普段の担当は、全体の設計やサーバ側の開発、プロジェクト進行あたりなので、 今回はWantedlyでiOSアプリを「プロトタイピング」し「開発」そして「テスト」するまでで使ってるツール・取り組みをざっくり紹介させていただきました。 意外とこの手の話をする機会はいままでなかったので、 現在開発中のアプリも含め、今現在うちでは何をどうやっているのかまとめられてよかったかなと思います。 以下、発表で紹介したURLなどです。 プロトタイピング ホワイトボードでアイデアだし moqupsでモックアップ作成 Popを使って実機でプロトタイプを触っ
オープンソースのブラウザテストツール「Selenium WebDriver」の使い方と、テストスクリプトを効率よくメンテナンスする方法について、実際にプログラムを書きながら学べるチュートリアル形式教材です。 前半は、Selenium入門ドリルです。基礎から丁寧に解説されているので、Seleniumは初めての方でもテストが書けるようになります。 後半では、テストのメンテナンス効率をあげるための技法「ページオブジェクトデザインパターン」の習得を目指します。こちらも基礎から解説していくので、Seleniumが初めての方でも大丈夫です。 プログラミング言語Javaでテストスクリプトを作成するので、Javaで基本的なプログラムが書ける必要があります。 自習教材として利用する場合 前提知識・事前準備手順ドキュメントの手順に従い、必要な事前準備とインストールを完了させます。作成したEclipseプロジェ
コメントは基礎的で一般的なものでありながら、「どのようなことをコメントに残すか」は経験のあるプログラマにとっても難しいもの。 この記事では、アンチパターンコメントを見ながら、どのようなコメントを残すべきかについて説明します。 by 馬場美由紀 (CodeIQ中の人) コードは機械のために、コメントは人間のために? プログラミング言語を学ぶとき、コメントは最初に習う項目のひとつです。そして、プログラムであればコメントを含んでいることが普通です。ある研究によれば、ソースコードの平均19%がコメントだそうです。 コードを書くとき、私たちは機械とコミュニケーションを取ることを意識しています。機械はコードを認識してコンパイルしたり実行してくれます。解釈できなければ教えてくれます。プログラマは、コンパイラのためにデータ型を明示するコードを書いたりもします。 一方、コメントは人間とコミュニケーションする
本日11/11吉日、TechCrunch Tokyo ハッカソンにて、"TechTalk" という枠で人生初の講演をさせていただきました。 さて、このハッカソンに、ハッカー界の著名人が2人も登場して頂けることとなったのでお知らせしたい。(中略)もう1人は、同じく500 Startupsに参加するグロース・プラットフォーム「AppSocially」の開発者、堤修一氏だ。 堤氏のことは、iOS開発者向けに多くの技術情報を出すブログや、著書「iOSアプリ開発達人のレシピ100―開発現場で実証された実用コード集」でご存じの方も多いかもしれない。これまでにフルスクラッチで開発したiOSアプリは30本以上といい、その中には150万ユーザー以上を獲得した対戦RPG「バウンドモンスターズ」もあるという筋金入りのiOS開発者だ。NTTデータ、キヤノンで、それぞれ音声認識技術の研究開発、画像処理機能の設計に携
『Android アプリ開発のための Java 入門』 というものを Gist で公開しました。 Android アプリ開発の勉強会を行うときに書いたものです。 Java をちゃんと使いこなすために知っておくべき必要最低限のこと をまとめたつもりですので、Android アプリを開発したいけど Java はほとんど知らない、みたいな人に読んでいただければと思います。 もちろん Android アプリ開発とは関係なく Java を学びたい人にも適していると思います。 Android アプリ開発勉強会のために書いた Java の入門文書 「Android アプリ開発のための」 というタイトルではありますが、基本的には Android アプリとは関係のない Java の基礎となっています。 この文書は次の書籍を参考に書きましたので、よりちゃんと学びたい人は下の書籍をご覧ください。 プログラミング
こんにちは。Android の横幕です。Android が好きすぎて、来る日も来る日もアプリの実装が頭から離れず、毎日7〜8時間ほど睡眠をとっていますが全く疲れがとれた気がしない今日このごろです。はやく iOS のアプリ開発を覚えたいですが、まだ NSLog の使い方を覚えたばかりです。 さて、先日スマートフォン開発研修教材の公開についてでも触れましたが、Android・iOS のアプリ開発を始める人向けのトレーニング資料を公開しましたところ、以下のブログのような反響をいただきましたので、この場でもって回答をさせていただきたいと思います。 mixiのアプリの設計がよくわからない http://yamitzky.hatenablog.com/entry/2013/06/19/173713 に遷移します 設計思想の基本は MVC iOS も Android も、フレームワークとしては MVC
ソフトウェア開発に関しては、これまでほぼ一人で完結していた*1ので git の運用方法もかなり適当だったのですが(ただのコミットマシーン状態)、今回、同一プロジェクトに対して複数人でコミットしていく形になっているので、その状態だとやはりまずいなと言う気がしてきました。ググっていると「なるほど」と思う記事もたくさんあったので、それらの記事を元に自分のプロジェクトの「git の運用指針」を情報共有のために記載しておこうと思います。 前提 まず始めに、現在のプロジェクトの状況は下記のようになっています。 開発は 1 人のメインコミッタ(私)と数人のサポートコミッタ(アルバイト等)で行われる メインコミッタはフルタイム、サポートコミッタは週に数時間〜10時間程度の勤務形態 サポートコミッタに対しては、基本的に 1 機能(1 チケット)を 1 人で完結するように作業を配分するが、時間的な兼ね合いもあ
これからはじめるフロントエンドJavaScript:はじめまして。JavaScript(1)(1/2 ページ) はじめに 一昔前、リッチなWebサイト、Webサービス のUI構築は、Flashを代表格とするプラグインを利用したUIの構築が一般的でしたが、近年、Flashなどのプラグインを搭載しないモバイル端末の登場により、その情勢が変わってきました。 もともと、2000年代前半からJavaScriptによるリッチなUI構築に関しては注目されてきましたが、ブラウザが搭載するJavaScript実行エンジンのパフォーマンスや、体系的に構築するためのフレームワークがそろっていないこともあり、まだまだ普及するレベルではありませんでした。 2000年代後半から、prototype.jsを皮切りに、JavaScriptを実行する際に頭を悩ませてきたブラウザ間の仕様の違いを吸収してくれるようなライブラリ
一昨年に社内で行ったAbout Face 3輪講の資料を公開します。実は今までずっと公開されていたのですが、存在を知られていなかったので、改めて周知します。 About Face 3はUI/UX設計の教科書で、ユーザーストーリーやペルソナなど、基本的な内容が押さえられています。ディレクター、デザイナー、エンジニア、サポート等、プロダクト制作に関わる全員の共通知識として使える内容だと思います。 About Face 3輪講概要 1. ゴールダイレクテッドデザイン 2. 実装モデルと脳内モデル 3. 初心者、上級者、中級者 5. ユーザーのモデリング : ペルソナとゴール 6. デザインの基礎 : シナリオと要求 8. 優れたデザインの総合 : 原則とパターン 10. オーケストレーションとフロー 11. 間接的な操作を取り除く 12. 良き振る舞いのデザイン 13. メタファ、イディオム、ア
2013.01.31 ITニュース いまやプログラマーの「必須プラットフォーム」となりつつあるGitHub。サービス開始からわずか5年で全世界にユーザーを獲得してきた同社は、独自の経営理念によって「プログラマー天国」を築き上げていると評判だ。その根底にある考え方や、組織運営のこだわりとは何なのか? 来日中のGitHub経営陣に、編集長の伊藤健吾が話を聞いた。 GitHub COOのPJ Hyett氏(左)と、CIOのScott Chacon氏(右)。多忙なスケジュールの中で取材に応じてくれた 「これからの時代、プログラマーをやりたい人にとって、GitHubアカウントを持たなくて済むのは小学生までとなるでしょう」 弊誌対談「小飼弾×増井雄一郎が大激論! 開発者「大増殖時代」の到来で、プログラマーの存在意義はどう変わる?」で小飼氏がこう述べるほど、世界中のプログラマーに利用されるようになった開
ここ数日、Firefox OSがにわかに盛り上がってまいりました。 2013年1月21日に開催した「第35回 HTML5とか勉強会(テーマ:『Web+OS最前線!』)」では、浅井智也さんのプレゼンテーションが大好評だっただけではなく、サプライズゲストとして登場した田中社長がFirefox OS搭載端末について言及しました。 そして本日、ついに開発者向けの実機もリリースされるというニュースが世界中を駆け巡りました。 そんなFirefox OS、昨年の味見部で触ってからずっと気にはなっていたのですが、いよいよ勢いも出てきたということで、ちょっと調べて見ることにしました。 とは言えぼくは、インストール可能な実機を持っているわけではないので、Firefox OSシミュレータを用いて、全部デスクトップで試してみます。 Firefox OSアプリの基礎知識 Firefox OSアプリ開発に必要なスキル
POST /post HTTP/1.1 Host: localhost Content-Type: application/x-www-form-urlencoded Content-Length: 7 foo=bar 1行目は request-line で、 method URI HTTP-version の形をしています。URIはホストを含めた絶対URIの場合と、ホストを含めない絶対パスの場合がありますが、絶対パスの方が一般的です。 2行目から空行までが request-header です。各行は field-name: field-value の形をしています。 field-name は大文字小文字を区別しません。 request-line から request-header とそれに続く空行まで、改行は CR LF になってます。Windowsでよく見る改行コードですね。 meth
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く