タグ

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

  • クラウド・ネイティブのお作法(2)「リトライ」~効率的なリトライ手法「Exponential Backoff and jitter」とは何か

    こんにちは。アマゾンウェブサービス クラウドサポートエンジニアの小武です。Amazon EC2、Amazon RDS、Amazon Redshiftなどのサービスの他、AWSの内部を支える裏側の技術に日々Dive Deepしています。連載ではAWSサポートのエンジニアがそれぞれ「今一番AWSユーザーに伝えたいこと」を連載の形でお届けしています。 私の担当回では、AWSという巨大な分散システムを支える技術要素のうち、アーキテクチャ設計、プログラミング技術のいくつかについて見ていきたいと思います。これらは、AWSの内部を支える技術というだけでなく、皆さんのアプリケーションをダウンタイムゼロのシステムに近づけるための基礎技術、クラウド・ネイティヴなアプリケーションを構築する基礎的なテクニックとも言えると思います。 その基礎的なテクニックは大きく、下記の4つがあります。 非同期処理(Asynch

    クラウド・ネイティブのお作法(2)「リトライ」~効率的なリトライ手法「Exponential Backoff and jitter」とは何か
    karur4n
    karur4n 2020/05/09
  • Sansanアーキテクチャ史とiOSアプリリニューアルに見る、良質なシステム設計の原則

    2019年10月23日。Sansanのものづくりに携わるメンバーを中心としたカンファレンス 「Sansan Builders Box 2019」が開催された。各セッションのうち、稿では荒川聖悟氏による「Sansanアーキテクチャ史」と、中川泰夫氏による「Sansan iOS アプリのリニューアルの舞台裏 -VIPER を導入し、単一責任の原則にのっとったモジュール化された構造を実現する」をレポートする。創業以来、アーキテクチャの継続的な改善が続けられてきた法人向けクラウド名刺管理サービス「Sansan」。その足跡に見る「良質なシステム設計の原則」とは? Sansanのアーキテクチャはどう変遷してきたか? Sansan株式会社 Sansan事業部 プロダクト開発部 サーバーサイドエンジニア 荒川聖悟氏 まずお届けするのは、荒川聖悟氏による「Sansanアーキテクチャ史」だ。法人向けクラウド

    Sansanアーキテクチャ史とiOSアプリリニューアルに見る、良質なシステム設計の原則
    karur4n
    karur4n 2019/11/27
  • Developer Summit 2019 KANSAI、講演関連資料まとめ

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

    Developer Summit 2019 KANSAI、講演関連資料まとめ
    karur4n
    karur4n 2019/09/28
  • Swiftから透けて見えるAppleのコンパイラ技術

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

    Swiftから透けて見えるAppleのコンパイラ技術
  • GitHub製エディタ「Atom」で日本語を扱いやすくするために必要な設定

    記事は、技術同人誌サークルDevLOVE Pubの同人誌『Far East Developer Review デブサミ2015特別号』から、編集部員が寄稿した記事を加筆修正したものです。編集部員の近藤が普段編集作業で使用している、GitHub製エディタの「Atom」で、日語を扱うために必要な設定をご紹介します。(編集部) はじめに みなさん、エディタは何を使っていますか? プログラミング用途では情報が豊富なテキストエディタですが、筆者は文章の執筆・編集用途で使いたかったため、ほしい情報があまりまとまっておらず、何を使えば効率よく作業ができるか、しばし悩んでいました。稿では、IT技術記事の新人編集者である筆者が、比較的新しめのエディタ「Atom」で、日語を執筆・編集するために行った環境構築について解説します。日語をエディタで快適に扱いたいというエンジニアの方にお役に立てるものと

    GitHub製エディタ「Atom」で日本語を扱いやすくするために必要な設定
    karur4n
    karur4n 2015/08/05
  • プログラミング言語「Go 1.4」がリリース、Androidを正式にサポート

    今回のリリースは、前回のメジャーリリースから6か月を経たもので、いくつかの仕様変更とともに、対応するOSやCPUアーキテクチャを拡大している。 もっとも重要な変更点は、コアとgolang.org/x/mobileレポジトリにおけるAndroidの正式なサポートで、今回の正式サポートによって、Go言語だけで簡単なAndroidアプリが作れるようになった。現段階では、高レベルな開発に使えるライブラリはほとんどサポートしていないが、Go言語によるAndroidアプリ開発をいち早く楽しめる。 言語仕様については、for-rangeループにおける文法を変更しており、「for range s {」の記述によって値やループインデックス、マップキーなどの定義なしでループできる。また、ソースコードを自動で作成可能なサブコマンドも新たに用意している。 このほか、数多くの機能向上とバグフィックスが行われた。 「

    プログラミング言語「Go 1.4」がリリース、Androidを正式にサポート
  • 構成管理ツール「Chef」の概要とインストール手順

    自動化ツールの必要性 昨今、仮想化およびクラウドの普及に伴い、サーバを短時間で増設することが容易になってきました。例えばユーザアクセスが増えてシステムの負荷が高くなった場合、サーバそのものは即座に準備できるようになりました。しかし、システムの設定は別途実施しなければいけないという状況も多々見受けられています。 サーバの台数が少なければ一台一台構築や設定を行えますが、何百台ものサーバを扱うとなると時間がかかって迅速性は失われてしまいますし、多くの人手が必要となれば設定の間違いが起こる可能性も高くなるでしょう。そして管理するサーバが増えたとしても、それらを管理する人は増えていないのが現状です。 そのため、サーバ構築とともにアプリケーションやミドルウェアの設定をも実施する自動化ツールが注目されています。 Chefとは Chef(シェフ)は、米Opscode社が提供するクラウドコンピューティングを

    構成管理ツール「Chef」の概要とインストール手順
    karur4n
    karur4n 2013/11/26
  • スマートフォン向けWebサイトの表示速度 高速化手法

    対象読者 スマートフォンWebサービス開発者 特に、フロントエンド周りの開発に従事する方 スマートフォン向けWebサイト高速化のテクニック スマートフォンはOS/デバイスの進化が激しく、要求される最適化の内容も半年で別物になることがあります。そのため最適化に際しては、案件ごとの状況や目的、デバイス/OSのシェアに応じて、まずターゲット端末を選定し、問題の検出を行います。 この記事では「iPhone 4+iOS 5」を想定して話を進めます。実際に「iPhone 4+iOS 5」はよく現場でも最も動作が重い組み合わせとしてターゲット端末に挙がります。これはiPhone 4がRetinaディスプレイを採用したことで960×460ピクセルの高解像度を備えながら、CPUなどのデバイス性能が潤沢とはいえず、ボトルネックが生まれやすいためです。iOS 4ではなくiOS 5をターゲット端末として扱うのは、

    スマートフォン向けWebサイトの表示速度 高速化手法
  • 1