タグ

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

  • 地道な高速化が女子中高生の心をつかむ? プリクラの女性プログラマーに聞く|CodeZine×サイボウズ式

    今年で20周年を迎えるプリクラ。近年は「デカ目」「美肌」加工でも話題です。そんなプリントシール機シェアNo.1であるフリューのプログラマー、八田育子さんにお話を聞きました。女の子のかわいく写りたい願望を叶えるために、プログラマーに求められることとは? 今回は聞き手として、サイボウズ・ラボの竹迫良範さんも登場です。 スマホ時代にプリクラは今こそ全盛期、女子中高生の9割がユーザー 竹迫)先日、久しぶりに家族でプリクラを撮ったんですけど、今のプリントシール機って、すごく進化していますよね。撮影と落書きのブースが分かれていたりして。 そうですね、レジャー施設などに設置してある特殊なもの以外は、すべてブースが分かれています。回転率を上げるためと、落書き時間を長く取るための工夫ですね。最近の機種では、お金を入れるところも外で、先に背景などを選んでから、撮影だけ中で行って、終わったらまた別のブースで落書

    地道な高速化が女子中高生の心をつかむ? プリクラの女性プログラマーに聞く|CodeZine×サイボウズ式
    tamuo
    tamuo 2015/06/02
    「短い時間の中で高度な処理をやらないといけないので、その下支えとなる処理の高速化が地味に重要」これすごくわかる。自分も同じ事やってるから。お客様に「高度な処理やってることを気づかせない」これ重要。
  • OpenMPの基礎構文

    はじめに 昨今マルチコアCPUは一般化し、並列化処理の重要度がどんどん高まってきました。この流れはもう変わらないでしょう。ですから、我々開発者にとって並列処理の知識は絶対に必要なものです。とはいえ、日々の業務をこなしつつ資料が少ない並列化処理を身につけることは大変です。 そこで今回筆者は、並列化処理を実現するOpenMPの入門記事を書くことにしました。OpenMPを選択した理由は、一番効率が求められているのはC/C++プログラマーだと考えたからです。C/C++プログラマーの方々が並列処理を習得するお手伝いができれば幸いです。 なお、この連載で解説に使用するサンプルコードはあくまでもOpenMPの基礎を理解するための便宜的なものであり、実務でOpenMPを使用する際にはよく理解してから用途に適したプログラミングを行ってください。 対象読者 筆者が想定している読者はCの基的文法をマスターし、

    OpenMPの基礎構文
  • ハッシュテーブルに対する攻撃手法のはなし

    ハッシュテーブル実装に対する攻撃とは 昨年12月末にドイツで開催されたCCC(Chaos Communication Congress)において、"Effective Denial of Service attacks against web application platforms"(Webアプリケーションに対する効率的なDoS攻撃)と題した発表が行われました。タイトルに「Webアプリケーション」とついてはいますが、この問題はWebアプリケーションに限ったものではありません。以下の三つの条件が揃ったアプリケーションであれば例外なく、DoS攻撃の餌となる危険があります。 ハッシュテーブルというデータ構造を使っている ハッシュ値を計算するアルゴリズムが「脆弱」である ハッシュテーブルに登録するデータをプログラム外部から指定できる ハッシュテーブルとその問題 Wikipedia(日語版)

    ハッシュテーブルに対する攻撃手法のはなし
    tamuo
    tamuo 2012/02/22
    ハッシュ値が、それがたとえMD5であっても有限である以上同じ値を持つ異なる文字列が存在するわけで、それが原因でなんか問題を起こすだろうとは感じてた。そのあたりがわかりやすく解説されてる。
  • インテルTBBの同期メカニズム

    先日から愛機の調子が思わしくありません。突然フリーズ/リセットかかるんです。頻度はさほどに多くはないけどおっかなくて仕方がない、そこそこ動いているうちにもう1台新調することにしました。こんなこともあろうかと以前から少しずつ揃えていたパーツたちのおかげで予算にかなりの余裕があり、思い切ってイマドキのi7-2600Kに16GBのメモリを積んだゴキゲンな2号機ができあがりました。目下作業環境の引越中です。 CPUを奮発したおかげで論理8コア、8つのスレッドが同時に走る素敵な環境。遊ばせておくのはもったいなく、しばらく遊んでほったらかしになっていたインテルTBB(Threading Building Blocks)を再度試してみたくなりました。TBBはこれまでに何度かネタにしてきましたが、今回はスレッドの同期(Synchronization)のお話です。 前準備:スレッドの起こしかた TBBでのス

    インテルTBBの同期メカニズム
  • LightSwitchを使用して素早くビジネスアプリケーションを開発してみよう

    はじめに Visual Studio LightSwitchは、ビジネスアプリケーションを素早く構築するためのマイクロソフトの新しい開発環境です。稿では、ベータ版のLightSwitchを紹介し、実際にサンプルアプリケーションを作成してみます。 対象読者 LightSwitchに関心がある方 LightSwitchを使用したビジネスアプリケーションの開発に関心がある方 LightSwitchとは LightSwitchは、マイクロソフトが2010年8月にベータ版を公開した新しい開発環境で、主にビジネスアプリケーションを素早く構築するのに適しています。 LightSwitchでは、マウス操作によるテーブル設計と画面設計により、プログラムコードを記述しなくてもビジネスアプリケーションを開発できます。そして、デスクトップ、Web、クラウド向けのアプリケーションとしてビルドすることが可能です(図

  • 「ソートも、サーチも、あるんだよ」 ~標準C++ライブラリにみるアルゴリズムの面白さ

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

    「ソートも、サーチも、あるんだよ」 ~標準C++ライブラリにみるアルゴリズムの面白さ
    tamuo
    tamuo 2011/07/27
  • サーバー側コーディング不要の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」において「

  • iPhoneプログラミング: Table Viewを使ってデータを表示する

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

    iPhoneプログラミング: Table Viewを使ってデータを表示する
  • Amazonのクラウドサービス「AWS」の日本語サイトがオープン

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

    Amazonのクラウドサービス「AWS」の日本語サイトがオープン
    tamuo
    tamuo 2010/08/09
    ようやくですか!
  • 原文をスラスラ読みたい! 「MSDNライブラリによく出る英単語 100選」(1/2):CodeZine

    はじめに MSDNライブラリには、マイクロソフトの技術情報が大量に掲載されていますが、英語版に比べ、日語版の内容は中途半端なのが実状です。 たとえば、スレッドの優先順位を設定する「SetThreadPriority」関数の説明を見ると、英語版には「Windows Server 2008およびWindows Vistaでは、スタートアップやレジストリのRUNから自動実行されたプログラムに対するスレッドの優先順位指定が、システム開始から60秒程度効かない」との注意書きがありますが、日語版にはありません。 また、仮想ディスクの情報を設定する「SetVirtualDiskInformation」関数を検索すると、英語版には説明がありますが、日語版には項目自体がありません。 そこで記事では、MSDNライブラリの英語版がスラスラ読めるように、とはいきませんが、英単語で引っかかることが少なくなる

    原文をスラスラ読みたい! 「MSDNライブラリによく出る英単語 100選」(1/2):CodeZine
    tamuo
    tamuo 2010/07/30
    技術英単語の正しい意味は原文読む以外にも関数の名づけとかでも使える
  • iPhone/iPad向けのDB製品「FileMaker Go」発表、デスクトップ版と同等の機能を実現

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

    iPhone/iPad向けのDB製品「FileMaker Go」発表、デスクトップ版と同等の機能を実現
  • OpenMPにおける変数の扱いと並列リダクション(1/4):CodeZine

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

    OpenMPにおける変数の扱いと並列リダクション(1/4):CodeZine
  • インテルTBBのスレッドクラス

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

    インテルTBBのスレッドクラス
  • 400万行のコードを15分で見える化! プログラム解析ツール『Understand』で開発効率アップ

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

    400万行のコードを15分で見える化! プログラム解析ツール『Understand』で開発効率アップ
  • インテルTBBによる選択ソートの高速化(1/3):CodeZine

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

    インテルTBBによる選択ソートの高速化(1/3):CodeZine
  • インテルTBBを通じて学ぶ並列処理一覧

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

    インテルTBBを通じて学ぶ並列処理一覧
  • SEXYHOOKで始めるテスト とある関数の接合部(1)

    はじめに テストを書いていると、一時的に関数の挙動を書き換えたいときがあります。 time()がハードコードされている関数をデバッグしたい時や、稀にしか失敗しないAPIの失敗をエミュレーションしたい時などです。これらはテストの自動化の妨げになっていました。 拙作のSEXYHOOKを利用すると、一時的に関数の挙動を書き換え、失敗を返すことが可能になります。 稿では、SEXYHOOKの使い方について説明します。 対象読者 C++でソフトの開発を行い、テストを書きたいエンジニア SEXYHOOKはC++で使うことを想定しています。 必要な環境 Windows Microsoft Visual C++ 6/2003/2005/2008 Linux GCC 4.x(推奨) / 3.x 現状では32bitバージョンのみのサポートになります。SEXYHOOKはデバッグビルドのみで利用できます。 SEX

    SEXYHOOKで始めるテスト とある関数の接合部(1)
  • 漢字コード変換コマンドライン・プログラム 「nkf 2.1.0」リリース

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

    漢字コード変換コマンドライン・プログラム 「nkf 2.1.0」リリース
    tamuo
    tamuo 2009/11/19
  • インテルTBBから学ぶループの並列化

    はじめに この連載では、並列処理を高度に抽象化したインテルTBBを通じて、並列化の考え方を取得することを目的としています。今後、並列化は当たり前のものとなり、さまざまな形でサポートされるようになります。並列化処理の根底に流れる考え方を身につければ、その変化に対応できます。 今回はインテルTBBのアルゴリズムテンプレートとループの並列化について解説します。この連載のサンプルはあくまでもインテルTBBの使い方を説明するものであり、実務を特別に意識したものではありません。その点をご理解下さい。 対象読者 筆者が想定している読者はC++の基的文法を理解し、並列化プログラミングに興味を持っている方です。高度なC++テクニックを極力さけ、基的な文法さえ分かれば読めるように極力注意しますので、並列化に興味を持っている方はぜひこの連載に目を通して下さい。 必要な環境 C++コンパイラが必要です。お持ち

    インテルTBBから学ぶループの並列化
  • マルチコアのパフォーマンスを最大限に引き出すスレッド化と、インテルのスレッド化ロードマップ

    米インテル社およびインテル株式会社は、C/C++開発者を対象としたイベント「インテル ソフトウェア・カンファレンス」を2009年10月2日に開催した。同イベントでは、並列化を通じてプロセッサーコアの性能を活用するという課題を挙げ、並列コンピューティングを実現する最新の開発ツールや開発手法、今後のインテル製品のロードマップが紹介された。 CodeZineでは、2009年5月に開催されたSODECにて実演された「インテル Parallel Studio」の概要を伝えたが、今回のイベントでは、ソフトウェア&サービス統括部・菅原清文氏による「スレッド化の手法とパフォーマンスの分析」と、米インテル社 ソフトウェア開発製品部門のチーフ・エバンジェリスト兼ディレクター・James Reinders 氏の「並列化ロードマップ: 今後の予定」の2つの講演に注目した(Reinders氏のレポートは3ページ目か

    マルチコアのパフォーマンスを最大限に引き出すスレッド化と、インテルのスレッド化ロードマップ