タグ

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

  • 今どきのプログラミング言語では当たり前! Modern C++で使えるモダンな言語仕様

    はじめに C言語から派生したオブジェクト指向プログラミング言語であるC++は、21世紀に入ってまったく別物とも言えるプログラミング言語に成長していきました。それは、Modern C++と称されています。1990年代にC++を触っていたプログラマが現在の仕様を知れば、隔世感に苛まれるのではないでしょうか。連載では、かつてはC++をたしなんでいたという方、今からC++言語を始めるという方に向けて、Modern C++らしい言語仕様をピックアップし紹介していくことで、今のC++言語の姿を理解していただきます。 対象読者 かつてはC++をたしなんでいたという方 今からC++言語を始めるという方 モダンなプログラミング言語のパラダイムに興味のある方 必要な環境 記事のサンプルコードは、以下の環境で動作を確認しています。 macOS Sonoma/Windows 11 Xcode Command

    今どきのプログラミング言語では当たり前! Modern C++で使えるモダンな言語仕様
    kjee
    kjee 2024/05/25
  • 「レガシーコード改善ガイド」のススメ 第1回:レガシーコードの定義、テストの重要性とは

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

    「レガシーコード改善ガイド」のススメ 第1回:レガシーコードの定義、テストの重要性とは
  • サーバー側コーディング不要のGoogle App Engine開発環境「jsonengine」

    はじめに 稿では、JavaPythonによるサーバー側コーディングを一切必要とせずにGoogle App Engineによる開発を実現するツール「jsonengine」について紹介します。 対象読者 Google App Engineに興味はあるが経験のない方。JavaScriptやActionScriptによるクライアント開発、またはiPhoneAndroidによるスマートフォン開発の経験のある方。JavaPythonの開発経験は不要です。 必要な環境 最低動作環境は次のとおりです。 Java SE 5 jsonengineって何? 「jsonengine」は、JavaPythonによるサーバー側コーディングを一切必要とせずにGoogle App Engineによる開発を実現するオープンソースのツールです。このツールは、昨年開催された「Mashup Awards 6」において「

    kjee
    kjee 2011/01/22
  • iPhoneプログラミングの基礎:View Controller

    はじめに iPhoneプロジェクトのプログラミングを始めるとき、最初に学ぶものの1つがView Controllerです。単純なアプリケーションを動かすのに必要な作業の量に、初心者はひるんでしまうかもしれません。けれども、iPhoneUI処理のかなりの部分はView Controllerのプログラミングで行うので、View Controllerの仕組みを理解することはiPhoneプログラミングに不可欠です。 この記事では、iPhoneプログラミングにおけるView Controllerの概念と使い方を説明します。この記事を読めば、View Controllerを的確に理解でき、素晴らしいアプリケーションを作成するのに役立つでしょう。 プロジェクトの作成 いつものとおり、ここでも実際のプロジェクトを作成して、何がどうなるのか見てみるのが1番です。まず、Xcodeを起動し、「VCExampl

    iPhoneプログラミングの基礎:View Controller
    kjee
    kjee 2010/01/04
    Viewの追加、アニメーション設定など
  • iPhone徹底解剖: 最初の一歩

    AppleがNDAを撤廃したため、現在、開発者はiPhoneの開発に関して自由に話ができます。稿は「iPhone徹底解剖」シリーズの第1回として、iPhone SDKに慣れるために簡単なアプリケーションを作成し、この謎めいたObject-Cの使い勝手を見てみることにします。 はじめに もうご存じかと思いますが、AppleiPhone SDKを使用する開発者に義務付けていた秘密保持契約(Non-Disclosure Agreement: NDA)を撤廃しました。現在、開発者はSDKについて自由に議論し、自分の経験を仲間の開発者と共有することができます。Windows Mobileや最近のAndroidプラットフォームを中心に活動しているモバイル開発者にとって、今後取り組むべき特に重要なプラットフォームの1つがiPhoneであることは間違いありません。 Windows MobileやAnd

    iPhone徹底解剖: 最初の一歩
    kjee
    kjee 2010/01/04
  • 手軽に並列化を実現する「インテルParallel Studio」の魅力

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

    手軽に並列化を実現する「インテルParallel Studio」の魅力
    kjee
    kjee 2009/05/20
    Parallel Advisorが後から出るらしい
  • FFmpeg APIで、さまざまな動画を操る - 後編:CodeZine

    はじめに こんにちは、hirataraです。 稿はFFmpeg APIの解説の後編となります。前編をご覧になっていない方は、前編からお読みください。前回の記事FFmpeg APIで、さまざまな動画を操る - 前編 サンプル: サムネイル画像を作る 後編 前編では、動画から最初のフレームを取り込むプログラムを作成しました。後編では、このフレームをFFmpeg APIを使って書き出します。フレームを静止画としてファイルに書き込む それでは、取得したフレームを書き出す処理を書いてみます。今回のサンプルでは動画ではなく画像として書き出すので、実はlibswscaleを使ってフォーマットを変更した物を直接ファイルに出力するだけでもこの仕様を満たすことができます。しかし、FFmpeg APIのエンコーダの利用方法の説明を兼ねるため、ここではあえて"image2"フォーマットを利用して動画と同じように

    kjee
    kjee 2008/08/18
  • FFmpeg APIで、さまざまな動画を操る - 前編:CodeZine

    はじめに こんにちわ、hirataraです。 近年、YouTubeやニコニコ動画に代表される動画共有サービスの需要が、急速に高まっています。そのような状況で、オープンソースの動画読み書きソフトウェア「FFmpeg」が、にわかに注目を集めています。 稿では、そのFFmpegの共有ライブラリを直接呼び出して、C言語から動画を扱う方法を紹介します。FFmpegにはffmpegという便利なコマンドがついていますので、ほとんどの場合はこのコマンドを利用します。しかし、FFmpegを共有ライブラリ付きでコンパイルすると、自分の作ったプログラムから直接FFmpegAPIを利用することが可能になります。 FFmpegの共有ライブラリを利用すると、動画をファイルからデコードして再生をしたり、新たな動画を作成して特定フォーマットでエンコードし、ファイルに保存したりすることができます。対応codecがたくさ

    kjee
    kjee 2008/06/25
  • ActionScriptによるWebの3Dグラフィックス再入門:CodeZine

    Flashで3D? 数年前まで、Flashと言えばデザイナが絵やアニメーションを作り、そこにちょっとしたインタラクティビティを持たせるためのツールという見方が一般的でした。しかし、昨年あたりから急激に「えっ!?こんなことがFlashでできるの?」というようなコンテンツが増えてきています。このようなコンテンツが現れはじめた原因は、言語仕様が一新されたActionScript 3による高いパフォーマンスにあります。 連載では、ActionScript 3のパフォーマンスを活かした一例として、Web上での3D表現を取り上げます。Webで3Dというと、VRMLやJava3Dなどの方法が存在はしたものの、なかなか広まることがありませんでした。これは実行環境の普及率が原因していると言えるのではないでしょうか。その点について、Flashは恵まれた環境にあると言えます。Adobeの資料によれば、日国内

    kjee
    kjee 2008/02/07
  • 5分で使えるLoggingフレームワーク - POCO::Foundation -:CodeZine

    はじめに 記事ではPOCO(C++ Portable Componentsの略)というオープンソースのC++用クラスライブラリを紹介します。 POCOに関する概要とその導入方法については、別稿『POCO::Netライブラリによる組み込みWebサーバの実装』を参照してください。POCOはコンポーネントとして6つのライブラリに分かれていますので、今回からは、ライブラリ単位で順番に紹介したいと思います。まずは、POCO::Foundationライブラリをとりあげます。名前の通り基機能を集めたライブラリで、実際のアプリケーション開発にそのままでも使えるクラスが揃っています。対象読者 オブジェクト指向を理解し、C++のクラスライブラリを活用できる方を対象としています。必要な環境 POCOは、多様なプラットフォームで動作可能で、WindowsMac OS X、Linux、HP-UX、Tru64、

    kjee
    kjee 2007/12/05
    logger
  • 【Adobe MAX Japan 2007】 ニコニコ動画がActionScript 2を採用したワケ:CodeZine

    Adobe MAX Japan 2007のセッション「ニコニコ動画とFlash」では、ニコニコ動画開発者の戀塚氏がセッションを行った。 まず始めに、ニコニコ動画がどんなWebサービスかについて「動画投稿サイトを軸にし、視聴者に支えられながら成り立っているサービス」と説明、ニコニコ動画内の文化がコメントやタグ、市場などを通じて育まれている点を解説した。 また、Webサービスとしては常に細かいアップデートを繰り返しており、ユーザーのフィードバックを得ることで機能が洗練されてきた歴史を紹介した。 ActionScript 2.0で作られるプレイヤー ニコニコ動画で動画を表示するプレイヤーはActionScript 2で作られている。バージョン3を使うこともできたが、「ニコニコ動画立ち上げ当時はPC以外、例えばWiiでの再生でも使うことを想定していたため、Wiiブラウザで利用できるFlash

    kjee
    kjee 2007/11/02
  • iアプリ版「モバイルGoogleマップ」リリース:CodeZine

    Googleは21日、iアプリで動作する「モバイルGoogleマップ」をリリースした。iアプリは無料でダウンロードできる。利用にあたっては別途パケット料金が必要。 モバイルGoogleマップはJavaを利用することで、地図のスクロール・拡大・縮小をスムーズに行うことができ、現在Web版として提供している「モバイルGoogleローカル」よりも軽快に操作することが可能。地図だけでなく航空写真や地域のビジネス情報を参照することができる。 モバイルGoogleマップは、DoJa 5.0プロファイルをサポートしているNTT DoCoMo 903i以降の機種で利用可能となっている。 モバイルGoogleマップ

    kjee
    kjee 2007/08/21
    いよいよ
  • CodeZine:C++ 開発者のためのRubyガイド(XML, 言語比較)

    Scaffoldで生成したアプリケーションは出発点にすぎず、自立した完成品のアプリケーションではありません。このため、開発者がプロジェクトに適した形になるように手を加える必要があります。しかし、毎回似たような修正を行うのであれば、生成した時点でその修正が反映されている方が、より生産性も向上します。そこで稿では、Scaffoldをカスタマイズする方法を紹介します。

    kjee
    kjee 2007/06/28
  • Sun、Ruby開発環境「NetBeans Ruby Pack」を発表:CodeZine

    NetBeans Communityは5日、Ruby開発を支援するツールのEarly Access版をリリースしたと発表した。 この開発ツールは「NetBeans Ruby Pack」というもので、NetBeansのプラグインとして提供される。Ruby並びにJRuby(Java仮想マシン上で動作するRuby)を対象とするもので、開発ツールとしては標準的なエディタ機能、アウトラインナビゲーション、プロジェクト管理、単体テスト環境などを備えている。 このプラグインをサポートするのは「NetBeans 6 M7」からとなっている。加えて、Ruby on Railsも2007年中頃にはサポートするとしている。 入手方法 NetBeans 6 M7は、NetBeansのコミュニティサイトページから無償で入手できる。サイトにアクセスした後、NetBeans Versionを「6.0」、Buil

    kjee
    kjee 2007/03/10
  • Cで実現する「ぷちオブジェクト指向」:CodeZine

    はじめに CodeZineではお初にお目にかかります、επιστημη(エピステーメー)です。最初のアーティクルはクラシックなCのお話。 昨今のアプリケーションはオブジェクト指向言語による実装が主流と言ってもいいでしょう。C++Java、VB.NETさらにはRubyPythonといったスクリプト言語まで、オブジェクト指向でない言語を探すのに苦労するくらいです。 記事では、今なお現役バリバリで活躍している手続き型言語の代表格(?)Cによる、オブジェクト指向のマネゴト(オブジェクト指向風味のCコーディングスタイル)を試みます。対象読者 もっぱらCを主な開発言語として使ってはいるけども、オブジェクト指向に興味と憧れを抱いている方。抽象データ型 手始めにオブジェクト指向の特徴の1つ、「抽象データ型(ADT:Abstract Data Type)」をCで実現してみます。抽象データ型とは、データ

  • JSONを使ってAJAXベースのアプリケーションを高速化する:CodeZine

    稿では、Amazon Web ServicesをPHPで操作する方法を説明します。AWSを利用する方法には大きく分けてRESTとSOAPがあります。稿ではまず、簡単なため多くの開発者に利用されているRESTを紹介し(SOAPは稿では扱いません)、より抽象度の高い方法であるPEAR Services_Amazonを使った利用方法を紹介します。

  • CodeZine:Rubyで簡易POP3サーバを作る(POP3, Unix, メール, サーバ, Ruby)

    はじめに 稿ではRubyを使ってシンプルなPOP3サーバを作成します。 POP3は、いわゆる「メールの受信」のときに使われるプロトコル(通信規約)です。稿では、このPOP3でサービスを提供するサーバの作成を通じて、以下のことを学びます。ネットワークプログラミングの基礎POP3の仕組みRubyによるネットワークプログラミングRubyによるUNIXシステムプログラミング POPdの概要 稿で作成するPOP3サーバ(POPd)は、イントラネットなどの信頼できるネットワークを前提として作成します。そのため、セキュリティへの配慮は最低限にとどめ、できるだけシンプルな構造を心掛けます。ただし「最低限の配慮」として、パスワードが平文で流れないようにするため、POP3の中でも特にAPOPという認証方法を用います。 また、速度やメモリ容量に関してもあまり配慮しません。せいぜい数人から数十人が日常的に使

    kjee
    kjee 2006/11/11
  • Google Web Toolkit:現実的な開発に即したAJAX:CodeZine

    今回は、メニューからグラフの種類を変更できるようにします。これまでは、3D縦棒グラフでデータを表示していましたが、グラフの種類を折れ線グラフと円グラフに変えられるようにします。

  • XMLHTTPRequestを利用したクライアント側の妥当性検証:CodeZine

    稿では、VB.NETを利用し、簡単な機械語で動く仮想CPUを作ることでバイナリプログラミングを満喫します。実際の業務で直接使えるケースは少ないと思いますが、デバッグやプログラミングの地力向上に役立つでしょう。今回はINC命令とDEC命令の実装を通じて、長さが違う機械語の実装法を解説します。

    kjee
    kjee 2005/06/11
    XMLHTTPRequestがポイント
  • 1