タグ

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

  • Remixで古き良き通信体験を取り戻そう──データ取得とデータ更新について解説

    対象読者 Reactの基を修めている方 通信回線が弱いユーザーにも高速に表示できるサイトを作りたいエンジニア WebブラウザとNode.jsという異なるランタイムをそれぞれキャッチアップするのが辛くなってきたエンジニア 前提環境 筆者の検証環境は以下の通りです。 macOS Ventura 13.4.1 Node.js 20.4.0 NPM 9.7.2 Remix 1.18.1 Webサイトと通信の歴史 これまでの連載で、Remixの基的な考え方や、頻出する使い方について解説してきました。今回からは、個別の機能にフォーカスして解説していきます。今回は、通信に関する機能の解説として、データ取得とデータ更新について解説します。 さて、Web標準とプログレッシブエンハンスメントを大切にするRemixは、通信においても可能な限り、ブラウザの基礎的な機能に肉付けする形でユーザー体験をよくするため

    Remixで古き良き通信体験を取り戻そう──データ取得とデータ更新について解説
  • Yahoo!カレンダーがPHPからKotlinに技術移行し品質アップ! 成功の鍵とは?【デブサミ2018 関西】

    2000年にサービス提供を開始して以来、毎年成長を続けているYahoo!カレンダー。サービスや組織の成長に伴い、出てきた課題を解決するため、PHP製のサーバーサイドシステムを改修してきた。その結果、アプリケーションが細かく分割されすぎることで、修正コストが増加。サービス追加などへの対応も時間がかかるようになってしまった。そこでPHPからKotlin技術移行を決断。Kotlinに移行したことで、品質や生産性も高まったという。この技術移行の概要についてヤフー IDサービス統括部 PIM部 サーバーサイドエンジニア(登壇当時)の岡田信夫氏が解説した。 講演資料:なぜYahoo!カレンダーはPHPからKotlin技術移行を進めるのか ヤフー株式会社 IDサービス統括部 PIM部 サーバーサイドエンジニア(登壇当時) 岡田信夫氏 「ユーザーのための時間」を増やすため技術移行を決意 Yah

    Yahoo!カレンダーがPHPからKotlinに技術移行し品質アップ! 成功の鍵とは?【デブサミ2018 関西】
  • グラス片手にアジャイル開発 第6回 - アジャイル開発手法「ペアプログラミング」

    ペアプログラミングとは、その名前の通り、1つのプログラムを2名で開発する手法であり、アジャイル開発(特にXP)で良く採用されます。今回は、このペアプログラミングの概要、特徴、さらに開発現場での具体的な適用方法を、事例をもとに紹介します。 ペアプログラミングとは ペアプログラミングとは、1つのプログラムを2名で開発する手法です。1つのプログラムをどうやって2名で作成するのでしょうか。また、なぜわざわざ2名で作成するのでしょうか。詳細を見ていきましょう。 2名の役割: ドライバーとナビゲーター ペアプログラミングでは、以下のように1つのモニタの前に2名が並んで座り、1名がキーボードとマウスを使い、もう1名がアドバイスを与えます。 ドライバー キーボードを操作してコードを書く人。ナビゲーターの指示に従い、実際にプログラムを書いていきます。基的には指示通りにコードを書いていきますが、レビュアーも

    hiroki23
    hiroki23 2018/09/02
  • 最近話題の「Kotlin」は本当に業務に使えるの? ―国内第一人者と「Yahoo!ニュース」Android版開発者が語るKotlin開発実践のコツ

    最近話題の「Kotlin」は当に業務に使えるの? ―国内第一人者と「Yahoo!ニュース」Android版開発者が語るKotlin開発実践のコツ 近年、開発者の間で「Kotlin(コトリン)」への関心が急速に高まっている。Kotlinは2011年に、Javaとの高い互換性を持ち、Javaよりも簡潔かつ安全にプログラムが書ける言語として登場したが、その存在が一躍注目されるようになったのは、2017年のGoogle I/Oにおいて、GoogleAndroidの開発言語としてKotlinを公式に認めたことがきっかけだ。Kotlinとはどのような言語なのか、実際に業務で使う際の留意点などについて、日で早くからKotlinエバンジェリストとして活動してきた長澤太郎氏と、ヤフーでAndroidYahoo!ニュースにKotlinを取り入れた池田惇氏に語ってもらった。 Kotlinは「開発現場の

    最近話題の「Kotlin」は本当に業務に使えるの? ―国内第一人者と「Yahoo!ニュース」Android版開発者が語るKotlin開発実践のコツ
  • 【デブサミ2014】13-B-7 レポート 「何故クックパッドのサービス開発は日々進化しているのか」

    冒頭、庄司氏は「クックパッドの印象としては、レシピのサービスが一番強いと思いますが、これ以外のサービス、新規事業にも力を入れています」とした上で「cookpad.comに関する話をします」と切り出してセッションを始めました。 まず、Ruby 2.0/Rails 3.2による環境構成を説明し、「このボリューム、正直狂っているんじゃないかな。数か月間でこれだけ増えてるんです。……あの、ここ笑うところですよ?」と独特の語り口でセッションを進めていきます。 サービスの成長と安定性を両立させる3チーム制 しかし、上図のような成長ペースにもかかわらず、デプロイは1日10回ペースを維持している。一体どうやって、これほどの安定リリースを実現しているのでしょうか? 庄司氏はこの点について、エンジニアで構成されている『サービス開発部』『インフラ部』『技術部』の存在を挙げました。 サービス開発部隊がサービス開発

    hiroki23
    hiroki23 2014/03/26
  • デブサミ2012、講演スライド資料まとめ

    翔泳社主催のソフトウェア開発者向けカンファレンス「Developers Summit 2012」(以下、デブサミ2012)が先週末に2日間かけて開催されました。ご参加いただいた皆様、ありがとうございました。現在Web上で一般公開されている講演スライドの入手先をまとめましたので、ぜひご参考ください。 2月16日(木):A会場 【16-A-1】見る前に翔べ ~ギークの工夫で社会を変えよう~ 【16-A-2】大規模ソーシャルゲーム「ドラゴンコレクション」 ~ そのシステム運用の最前線を語る! 【16-A-3】デブサミをきっかけに転職したエンジニアの歩き方 【16-A-4】Effective Smartphone UX at GREE 【16-A-5】node.jsテクノロジースタック for ソーシャルアプリケーション 【16-A-6】いまどきのi18nのはなし 【16-A-7】あの人の自分戦略

    デブサミ2012、講演スライド資料まとめ
    hiroki23
    hiroki23 2012/02/22
  • ゼロから学ぶ「CSS Sprite」

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

    ゼロから学ぶ「CSS Sprite」
  • 「Twitter」公開APIを利用して 関連の日本語サービスが続々と登場

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

    「Twitter」公開APIを利用して 関連の日本語サービスが続々と登場
  • 「実現したいことを計算機の問題に置き換えることが『技術力』」、伊藤CTOが“はてな流”大規模データ処理の極意を語る:CodeZine

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

    「実現したいことを計算機の問題に置き換えることが『技術力』」、伊藤CTOが“はてな流”大規模データ処理の極意を語る:CodeZine
  • HTMLのマークアップ時に目的に合った要素を選ぶ方法

    連載では、Web標準のメリットを最大限に生かすことをテーマに、仕様書には書かれていない部分を中心に取り上げ、実際のWeb制作現場で起こり得る問題について、解決の糸口をたらしていきたいと思います。連載第3回目となる今回のテーマは、「目的にあった要素選び」です。コーディングの際、「構文的に正しいかどうか」はツールを使ってチェックすることができますが、「目的に合っているかどうか」については人間が判断する他ありません。どの要素でマークアップするか、判断に迷う部分について掘り下げて考えてみましょう。 はじめに 連載では、Web標準のメリットを最大限に生かすことをテーマに、仕様書には書かれていない部分を中心に取り上げ、実際のWeb制作現場で起こり得る問題について、解決の糸口をたらしていきたいと思います。 連載第3回目となる今回のテーマは、「目的にあった要素選び」です。コーディングの際、「構文的に正

    HTMLのマークアップ時に目的に合った要素を選ぶ方法
  • Webサイトの制作/運用の効率化を図る 「ガイドライン策定」のすすめ(前編)(1/4):CodeZine

    Web標準に従うことは、SEO効果、ユーザービリティ、メンテナンス性の向上など、Webサイトの利用者と制作者の双方にさまざまなメリットをもたらします。しかし、実際にWeb標準の仕様書に従ってWebサイトを制作しようとすると、制作者の頭を悩ませる多くの問題が待っています。連載では、Web標準のメリットを最大限に生かすことをテーマに、仕様書には書かれていない部分を中心に取り上げ、実際のWeb制作現場で起こり得る問題について、解決の糸口をたらしていきたいと思います。 はじめに Web標準に従うことは、SEO効果、アクセシビリティ、ユーザービリティ、相互運用性、互換性、メンテナンス性の向上など、Webサイトの利用者と制作者の双方にさまざまなメリットをもたらします。しかし、実際にWeb標準の仕様書に従って「正しい(X)HTML+CSS」でWebサイトを制作しようとすると、制作者の頭を悩ませる多くの

    Webサイトの制作/運用の効率化を図る 「ガイドライン策定」のすすめ(前編)(1/4):CodeZine
  • 業務で楽するためのUNIXテクニック集 まずはおさらい、シェル制御構造と正規表現の基礎:CodeZine

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

    業務で楽するためのUNIXテクニック集 まずはおさらい、シェル制御構造と正規表現の基礎:CodeZine
  • AWSの概要と登録手順 ~Amazon EC2/S3環境構築のすべて~

    はじめに~クラウド・コンピューティングとは?~ 近頃、“クラウドコンピューティング”と呼ばれる、インターネット(クラウド)の向こう側でアプリケーションサービスや、サーバなどのハードウェアリソースを提供するサービスが急増しています。 ユーザーはインターネットにさえ接続できれば各種サービスを利用でき、そのサービスがどこで動いているかなど、サービスインフラを意識する必要がありません(図1)。そして、それらのサービスは無料、もしくは利用した分だけ課金される形態となっており、利用にあたり多くの初期投資を必要としません。 このクラウドコンピューティング・サービスを牽引する企業の1つが、米国のAmazon.com Inc.です。Amazonはクラウドコンピューティング・サービスを「Amazon Web Services(AWS)」という名称で展開しています。 連載では、この「Amazon Web Se

    AWSの概要と登録手順 ~Amazon EC2/S3環境構築のすべて~
    hiroki23
    hiroki23 2008/12/01
  • マージ・ソート : 巨大データのソート法:CodeZine

    はじめに まずはともあれ腕試し、この問題を解いてみてくださいな:【問1】 デタラメな順序で並んだ文字列の集合がテキストファイル「input.txt」に収められています。この文字列群を辞書順(昇順)に並び換えたテキストファイル「sorted.txt」を作りなさい。 ※各文字列は改行で区切られています。  プログラミング教の練習問題、あるいは学校の課題で出てきそうな“お馴染み”の問題です。ソート(整列)アルゴリズムの実装には配列/代入/条件分岐/ループなどなどプログラミングの基中の基となる構文を総動員するため、練習問題としてよく使われますね。 早速解いてみましょう、ソート・アルゴリズムにはこれまたお馴染みのバブル・ソートを使います。C#、VB.NETC++/CLIの3まとめて一気にいきますよ: using System; using System.IO; using System

  • OpenIDとRails:Authentication 2.0:CodeZine

    はじめに OpenIDは、ユーザー認証および識別サービス分野に大きな変革をもたらすサービスであり、フレームワークであり、プロトコルでもあります。2004年にBrad FitzpatrickによってスタートしたOpenIDですが、今ではAOL、Google、IBM、Microsoft、VeriSign、Yahoo!などの巨大インターネット組織からサポートされるほどのフレームワークに成長しています。OpenIDは、Webサイトのための信頼性に優れたオープンな分散ユーザー認証を実現する仕組みであり、Web開発者は認証コードを書く手間から解放されます。 稿ではOpenIDの概要と、Webサイト開発にとってのOpenIDの利点について説明します。また、OpenIDをRuby on Rails 2.0フレームワークに組み込む方法について例を挙げて説明します。必要な環境Rubyバージョン1.8.4以上

  • Hadoop、hBaseで構築する大規模分散データ処理システム:CodeZine

    2. Hadoop & hBaseの概要 Googleの基盤ソフトウェアに共通する特徴は、非常にスケーラブルかつ故障に強いということです。Googleでは全世界中のデータを処理しないといけない訳ですから、大量のマシンでデータを保持・処理するための技術が必要であるのはある意味必然です。 連載で紹介するHadoop、hBaseは、これらGoogleの基盤ソフトウェアのオープンソースクローンです。HadoopはGoogle File SystemMapReduce、hBaseはBigTableに相当します。Chubbyのオープンソース実装はまだありません。 最近はWebアプリケーションが全盛期を迎え、以前よりも多くのデータやログを蓄積されている企業も多いかと思います。しかし、データはあってもそれらを有効に活用できていないことが多いのではないでしょうか。 Googleの基盤ソフトウェアクローン

  • Advanced/W-ZERO3 [es]で簡易音声レコーダを作ろう:CodeZine

    はじめに 「DirectShow」は動画や音声などの再生・キャプチャに使われているWindowsテクノロジーですが、Windows Mobileにも実装されています。稿ではDirectShowを使って、Advanced/W-ZERO3 [es]上で動作する簡易音声レコーダアプリを作成します。対象読者 以下のアプリケーションを開発したことがある人。C++言語を使ったアプリケーションWindows Mobile用アプリケーションCOMを使ったアプリケーション 作成/実行環境Visual Studio 2005Windows Mobile 6 SDKWindows Mobile Device Emulator日語イメージAdvanced/W-ZERO3 [es](WS011SH)  Visual Studio 2005はStandard Edition以上が必須です。リモートデバッグ機能を

    hiroki23
    hiroki23 2007/11/21
  • CodeZine:DeNAの人気サイトに学ぶ LAMPによるWeb-DBシステム構築/運用の極意(前編)(モバオク, モバゲー)

    シングルマスタの非同期レプリケーション機能では、マスタサーバーが1台に限定され、マスタからスレーブへの複製は非同期で行なわれるため遅延が生じ、短時間のスケールで見ると全スレーブとの同期が保証されない。しかし、その反面スレーブの台数を増加させていってもマスタサーバーの更新負荷は大きくならず、スケーラビリティを維持できるという利点がある。DeNAによる運用実績でも、マスタとスレーブ間の遅延は通常数秒程度以内に収まる。 このレプリケーションを利用する場合、アプリケーション側ではデータ更新時にはマスタサーバーへ接続し、データ参照のみを行なう場合はスレーブサーバーへ接続するように作成する必要がある。 Webや携帯電話向けサービスの場合、小さな規模で始めてユーザー規模、データ規模、ページビュー数を徐々に増加させていくことが多い。小さな規模のためDBの負荷分散が不要な場合でも、マスタサーバー1台、スレー

  • Google、MySQLを強化するパッチを無償リリース:CodeZine

    Googleは、同社の製品開発の中から生まれたMySQLを強化するパッチを公開した。GoogleのWebサイトから無償でダウンロードできる。 このパッチはMySQLの扱いやすさと信頼性を向上させる目的で作られており、主にスレーブサーバ(レプリケーションとなるサーバ)の機能を強化させることができる。例として、スレーブサーバが更新通知を受け取らない限りマスタサーバを更新させない機能や、再起動なしでスレーブサーバをマスタサーバに置き換える機能などが備わっている。 他にもアクティブになっているアカウント・テーブルをモニタリングするものや、クライアント/MySQL通信のための高速な圧縮機能なども用意されている。 ちなみに、このパッチはLinux上で動作するInnoDB用に最適化されたものとなっている。その理由としてGoogleは「我々がInnoDBを使っているため」と説明している。また、現在パ

  • RailsでWikiシステムを作成する:CodeZine

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