タグ

ブックマーク / codezine.jp (70)

  • Swiftから透けて見えるAppleのコンパイラ技術

    連載は、はてなエンジニアが、はてなのサービスを支えている技術や日頃注目している技術について解説するものです。Appleは毎年WWDCでいくつもの新規技術を発表していますが、筆者はその中でもObjective-Cの進化に特に注目していました。新たに追加されるAPIやサービスの前では、Objective-Cの進化はあまり注目されてきませんでしたが、実はここ数年の間も進化し続けていました。これにはAppleがコンパイラ技術にコミットしてきたことが大きく影響しています。今回は、Appleのコンパイラ関連技術を振り返り、Swiftにどう繋がるのかを解説します。 はじめに SwiftAppleによって開発された全く新しいプログラミング言語です。WWDC 2014で稲のように現れたこのプログラミング言語は、またたく間に世界中のモバイルアプリ開発者の注目を集めました。 Swiftは衝撃的な登場だった

    Swiftから透けて見えるAppleのコンパイラ技術
  • 「HTTP/2」がついに登場! 開発者が知っておきたい通信の仕組み・新機能・導入方法

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    「HTTP/2」がついに登場! 開発者が知っておきたい通信の仕組み・新機能・導入方法
    asip
    asip 2015/06/22
  • ExcelでUTF-8のCSVを開く方法 (CodeZine編集部ブログ)

    Unicodeが実装レベルで登場してからずいぶんたった今では、UTF-8のファイルを普通に扱うことが多くなりました。ほとんどのアプリケーションも何なくUTF-8のファイルを読むことができるようになっています。 ところが、です。最近UTF-8CSVファイルで作業していて、これをダブルクリックしてExcelで開くと文字化けすることに気づきました。 最初はUTF-8からExcelが好きそうなS-JISに変換していたのですが、ちょっと複雑なデータになると「変換できない文字があります」というアラートがでます(長母音記号などが鬼門)。できればUnicodeのままでExcelに読み込ませられないものか。 以前よりマイクロソフト社製品はすべて内部的にはUnicodeを全面的にサポートしているはずなので、読み込ませられないわけはないはず…とおもって検索したりしていたところ解決方法がわかりました。 <解決方

  • グリーCTOが語る、大規模ソーシャルゲーム開発の舞台裏

    9月1日、ゲーム開発者向けカンファレンス「CEDEC 2010」において、SNSGREE」を運営するグリー株式会社(以下 グリー)が『大規模ソーシャルゲームのつくりかた ~60分でわかるサーバサイド技術~』と題するセッションを講演した。 一日あたり億単位のトラフィックを捌くインフラはどうなっているのか。技術者2名が解説したインフラ構築のノウハウや、ソーシャルゲームと一般のオンラインゲームとの違いについて紹介する。 オンラインゲームとソーシャルゲームとの違い 最近テレビCMでも目にする機会が多くなってきたSNS(ソーシャルネットワーキングサービス)の「GREE(グリー)」。2010年6月時点の数字で、会員数2059万人、月間353億ページビューという言わずとしれた大人気サイトだ。中でも携帯電話向けソーシャルゲームが特徴的で、専用機向けのゲームと比べるとコアゲーマー以外のプレイヤーも多く、利

    グリーCTOが語る、大規模ソーシャルゲーム開発の舞台裏
  • jQuery UIのインタラクションを使ってみよう

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    jQuery UIのインタラクションを使ってみよう
    asip
    asip 2010/07/29
  • 「Internet Explorer 9 Preview 3」公開 Canvas要素、ハードウェアアクセラレーションに対応

    マイクロソフトは23日、次期WebブラウザInternet Explorer 9(以下、IE9)について3つ目の開発者向けプレビュー「Third Internet Explorer 9 Platform Preview」を公開した。Test Driveページから入手できる。Canvas要素などHTML5サポートが強化され、Test Driveにも新たに15個のデモが追加されている。 Third Platform Previewは速度面でも改善されており、JavaScript性能はWebkit Sunspiderベンチマークにおいて、Opera、Chrome、Safariには劣るもののFirefoxより速い結果になっている。また、Video要素やAudio要素、および新たにサポートされたCanvas要素では、GPUによるハードウェアアクセラレーションが有効になっている。 また、Web標準テス

    「Internet Explorer 9 Preview 3」公開 Canvas要素、ハードウェアアクセラレーションに対応
    asip
    asip 2010/06/24
  • Google、Web開発者向けサイト「HTML5 Rocks」公開 HTML5関連のリソースを紹介

    Googleは、Web開発者向けにHTML5に関するリソースを公開するサイト「HTML5 Rocks」を発表した。 HTML5 Rocksは[Presentation][Tutorials][Playground][Resources]の4つのセクションで構成されており、HTML5の特徴や、アプリケーション開発の際の使用方法などの情報が盛り込まれている。 [Presentation]では、実際にHTML5で書かれたスライドで、HTML5の特徴を詳細に説明している。スライド上ではHTML5で実装された多くのサンプルが紹介されており、実際に使ってみることもできる。 [Tutorials]には、Geolocation APIを使用したユーザーの所在地へのアクセス方法や、オフライン時でのアプリケーションの表示方法、Javascript無しでローカルのファイルを読み込む方法などを含む、9つのチュー

    Google、Web開発者向けサイト「HTML5 Rocks」公開 HTML5関連のリソースを紹介
    asip
    asip 2010/06/23
  • 今からでも遅くない これから始めるScala(前編)

    なぜ、いまScalaなのか? TwitterScalaを利用しているのは有名ですが、他にも位置情報を利用したfoursquareはScalaで構築されたLiftというWebフレームワークを利用していますし、GTDツールとして有名なRemember The MilkもScalaの利用を検討しているようです。 Scalaは、Java Virtual Machine(以下JVM)上で動くオブジェクト指向+関数型言語です。簡潔で柔軟な記述が可能であり、マルチコアを意識したライブラリがあり、JVMでのスケールメリットを享受できることが、これらの企業で採用に踏み切った理由であると考えられます。 Scalaは、非常にバランスの取れたプログラミング言語です。連載では、Scalaの基的な文法を解説しながら、オブジェクト指向と関数型言語を組み合わせたプログラミングスタイルについて、解説したいと思います。

    今からでも遅くない これから始めるScala(前編)
  • 400万行のコードを15分で見える化! プログラム解析ツール『Understand』で開発効率アップ

    システムの多機能化により、プログラムの内容が複雑化している。テクマトリックスの『Understand』は、プログラムの構造を可視化することで、ソースコードの解析時間を大幅に削減できる開発支援ツール。今回は同社の福永一寛氏に、Understandの機能や特徴について聞いた。 システムの多機能化により、プログラムの内容は複雑化している。既存コードの改修や多人数での開発における情報共有のためには、プログラム構造の理解が必須だが、ドキュメントと実装内容とが乖離している場合も多く、解析自体に工数がかかることもある。テクマトリックスの『Understand』は、プログラムの構造を可視化することで効率的なソフトウェア開発をサポートするソフトウェア開発環境。「組込みシステム開発技術展(ESEC)」にて、同社の福永一寛氏にその特徴を聞いた。 ソースコードの解析作業時間を大幅に削減する『Understand』

    400万行のコードを15分で見える化! プログラム解析ツール『Understand』で開発効率アップ
  • 「MacRuby 0.5」リリース HotCocoaのサポート、AOTコンパイルの改善など

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    「MacRuby 0.5」リリース HotCocoaのサポート、AOTコンパイルの改善など
    asip
    asip 2010/04/28
  • CodeZine(コードジン)

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    CodeZine(コードジン)
    asip
    asip 2010/04/21
  • Google App Engineで開発するスケールするアプリケーション(後編)

    稿の前編では、Google App Engineの特徴、スケールアウトの基的な考え方、Google App Engineのインフラ・サーバ構成などについて説明しました。そして中編では、ミニブログサービスのTwitterGoogle App Engineを連携させたアプリケーションの仕様概要と、設計について説明しました。後編となる稿では、中編で説明したアプリケーションを実際にプログラミングしていきます。 はじめに Google App Engineは、開発したアプリケーションをGoogleのスケーラブルなインフラ環境上で公開できるサービスです。稿の前編では、Google App Engineの特徴、スケールアウトの基的な考え方、Google App Engineのインフラ・サーバ構成などについて説明しました。そして中編では、ミニブログサービスのTwitterGoogle App

    Google App Engineで開発するスケールするアプリケーション(後編)
    asip
    asip 2010/04/21
  • Google App Engine/JavaによるScala/Liftアプリケーション開発(前編)

    はじめに Google App Engine(GAE)/Javaでは、Java仮想マシン上で動作する言語を利用することができます。例えば、JRubyやGroovyなどです。 Scalaも、コンパイルすることによりJava仮想マシン上で動作するクラスファイルを生成する言語ですので、当然、GAE/Java上で動作させることができます。 Scalaが動作するということは、ScalaでできているWebアプリケーションフレームワークであるLiftを元に作成されたアプリケーションを、GAE/Javaに載せることができるということです。 前後編で構成される連載では、ScalaおよびLiftをGAE/Java上で動作させる方法を解説した後、サンプルアプリケーションでGoogleが提供するさまざまなAPIを利用した、GAEならではのアプリケーションを作成して、GAEでのアプリケーション作成のイメージをつか

    Google App Engine/JavaによるScala/Liftアプリケーション開発(前編)
    asip
    asip 2010/04/21
  • Google Apps ScriptでGoogleドキュメントのスプレッドシートを操作する

    はじめに 「Google Apps Script」は、Googleドキュメントのスプレッドシートに搭載されているスクリプト機能です。これは発表当初、Google Appsの有料版(プレミア版)のみで利用可能であったため、「無償版のユーザーは使えない」と思っていた人も多いのではないでしょうが。が、現在では、無料で利用できるGoogleドキュメントでもスクリプトが使えるようになっています。これを利用し、Googleドキュメントのスプレッドシートを操作することができます。いわば、Excelなどの「マクロ」と同じ機能を提供してくれるのです。 最近では、クラウド・アプリケーションとしてオフィスソフトが提供されるようになってきました。Googleの「Googleドキュメント」だけでなく、マイクロソフトが「Microsoft Office Web Apps」を公開するなど、格的にWebへの移行が進めら

    Google Apps ScriptでGoogleドキュメントのスプレッドシートを操作する
    asip
    asip 2010/04/21
  • CodeZine:プログラミングに役立つソースコードが満載な開発者のための実装系Webマガジン

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    CodeZine:プログラミングに役立つソースコードが満載な開発者のための実装系Webマガジン
    asip
    asip 2010/04/03
  • CSSでマルチカラムレイアウト

    はじめに 連載では、「クロスブラウザに対応したデザインテクニック」をテーマに、保守性や互換性に優れたXHTML+CSSの書き方を紹介していきます。 今回は、連載の総まとめとして、CSSでマルチカラムレイアウト(段組レイアウト)を実現する方法を紹介します。CSSでマルチカラムレイアウトを実現する方法はいろいろありますが、今回は、最も基的な方法として、前回の記事で解説した「floatプロパティ」および「positionプロパティ」を利用した、「フロート型」と「ポジショニング型」のレイアウトテクニックを紹介します。同時にページレイアウトで起こりがちな問題とその対処方法についても扱います。 対象読者 XHTMLCSSの基を理解している方。 Web標準サイトの実践的な作り方に興味のある方。 必要な環境 (X)HTMLCSSを記述するエディタと、それを確認するブラウザがあれば、特別な環境は

    CSSでマルチカラムレイアウト
  • グーグル、Google App Engineを1日で学べる日本語教材を公開

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    グーグル、Google App Engineを1日で学べる日本語教材を公開
    asip
    asip 2010/03/18
  • Progressionフレームワーク開発者が語る、 Progressionの魅力とFlashクリエイターの理想像

    『Progression 3』(以下、Progression)は、Flashコンテンツのページ移動処理をスムーズに行うためのフレームワーク。HTMLベースのサイトと同じような階層構造や複雑なリンク構造を持つFlashコンテンツを容易に開発できる特徴を持つ。設計期間を短縮でき、Flash開発者がクリエイティブに集中できることもあって、利用するサイトが増えている。 今回はProgressionプロダクトマネージャーの阿部 貴弘氏に、開発の背景や特徴、今後の展開、クリエイターに対するアドバイスなどを聞いた。 きっかけは「技術的興味」と「開発者共通の問題意識」 開発のきっかけについて阿部氏に聞くと、当初はフレームワークを作るという目的はなかったという。「もともとFlash制作でデザインもプログラミングもすべて行っていました。ActionScript 3になってから、スクリプトの構文やエラーチェック

    Progressionフレームワーク開発者が語る、 Progressionの魅力とFlashクリエイターの理想像
    asip
    asip 2009/08/06
  • テンプレートから学ぶ 受注する開発者のためのテスト仕様書

    1. はじめに ソフトウェア開発プロジェクトにおいてテストは極めてストレスに満ちています。「テストとは作った成果物に誤りがあるかどうかを見つける作業だ」という質的に不愉快な活動であることに加えて、プロジェクトの終わりにさしかかって時間も逼迫しているのに仕様変更を受けて再テストなどという、体力的にも精神的にもきつい作業であるからです。 稿では、さまざまなストレスを受ける立場の開発者が少しでも楽に「きちんとテストしました」と言うために、テスト仕様書のテンプレートを紹介します。このテンプレートは発注者に報告するための文書だけでなく、さまざまなテスト技法の紹介も含まれていて、いつどういうテストをすればよいのかという手引きにもなっています。 さて、はじめに、ソフトウェア開発プロジェクトと品質・生産性・納期の関係を見てみましょう(図1)。 お客様(発注者)はプロジェクトを起案する際、何を作るかを「

    テンプレートから学ぶ 受注する開発者のためのテスト仕様書
    asip
    asip 2009/07/13
  • 「レガシーコード改善ガイド」のススメ 第1回:レガシーコードの定義、テストの重要性とは

    「レガシーコード」とは何か 最初に1つ質問です。皆さんは、「レガシーコード」と聞いて何を想像するでしょうか? 多くの方はCOBOLなどで書かれたメインフレームで動くコードを真っ先に思い浮かべるのではないかと思います。しかし、当にそれだけでしょうか? ここでは「レガシーコード」という言葉を『何年も前に誰かが作り、内容が複雑で何をしているのかよく分からず、まともな仕様書もない』というコードを指すものとします。そう考えると、必ずしもメインフレームだけの話ではなくなります。この記事を読んでいる皆さんなら、そのようなコードを少なからず目にしていることでしょう。 現在の業務システムは、Java EEや.NETなどの基盤上に構築される、いわゆるオープンシステムが主流になっています。このようなオープンシステムであっても、構築されてから既に5年以上経過していることが珍しくなく、何度も手が加えられたコードは

    「レガシーコード改善ガイド」のススメ 第1回:レガシーコードの定義、テストの重要性とは
    asip
    asip 2009/07/04