[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

ブックマーク / thinkit.co.jp (47)

  • MIT発の高度な数値処理をプログラミングできるJuliaの最新情報を紹介

    プログラミング言語Julia MITの研究者が開発したプログラミング言語Juliaのコミュニティは、オンラインカンファレンスとなる「JuliaCon 2020」を開催した。Juliaは、ハイレベルな数値演算やデータ解析など利用されるPythonの「遅い」という問題を克服するために作られた言語だ。2009年にMITの数理研究者4名によって開発が始められ、2012年にオープンソースとして公開された。プログラミング言語としては、まだ若いほうと言える。IT業界の他のカンファレンスと同様に、2020年のカンファレンスは7月29日から31日にかけてオンラインイベントとして実施された。今回はその中から「State of Julia」と呼ばれるキーノートセッションと、対話型の実行環境を実装するPluto.jlを解説したセッションを紹介する。 前述のとおり、Juliaは2009年に当時MITに在籍していた4

    MIT発の高度な数値処理をプログラミングできるJuliaの最新情報を紹介
    piro_suke
    piro_suke 2021/01/29
  • データ処理ライブラリーの並列化/高速化をRustによって実装したWeld

    今回は、Mozilla Foundationが開発をリードするオープンソースのメモリーセーフを実現した低レベルプログラミング言語、Rustのユースケースを紹介する。Stanford大学の研究室で開発されているWeldというデータ解析ライブラリーが、Rustで開発されたことを解説するプレゼンテーションを取り上げて、解説していく。こちらのプレゼンテーションは、RustCon 2019のセッションの一つとして行われたもので、プレゼンターはStanford大学のShoumik Palkar氏だ。 Palkar氏は、最初にこの研究の背景を紹介する。最新のデータ分析アプリケーションでは、多くのライブラリーを利用してデータの集計や解析が行われている。そしてその多くがオープンソースソフトウェアとして実装されており、開発に利用される言語もさまざまである。そのため、高速に実行するための最適化が行われておらず、

    データ処理ライブラリーの並列化/高速化をRustによって実装したWeld
    piro_suke
    piro_suke 2020/12/30
  • RustとGraphQLの連携で高速/シンプルなプログラミングを実現するJuniperとは

    これまでメモリーセーフなシステムプログラミング言語として紹介されることが多かったRustだが、このメモリーに関連する脆弱性に対して安全であるという特徴に加え、高速に実行できることやガベージコレクションが発生しないといった特徴も備えている。これらの特徴から、RustはWebのシステムにも十分に応用できると言える。 そしてWebでのアプリケーション開発にはサーバー側との通信はもちろんだが、それに加えてWebのフレームワークやデータアクセスライブラリーとのインテグレーションが必須となる。 一方Webアプリケーションにおいてデータのやり取りにはREST APIが使われてきたが、それをより効率的にしようとしてFacebookが開発したのがGraphQLだ。REST APIはWebがダイナミックに進化するにつれてさまざまなサイズのデバイスをサポートするためにも利用されるようになった。その半面、巨大なサ

    RustとGraphQLの連携で高速/シンプルなプログラミングを実現するJuniperとは
    piro_suke
    piro_suke 2020/11/05
  • WebAssemblyとRustが作るサーバーレスの未来

    注目を集めるWebAssemblyRustそしてサーバーレスに結びつく未来を、Cloudflareエンジニアが解説する。 RustWebAssembly そして次のパートとしてRustWebAssemblyに関して説明を行い、Mozillaの中ではRustWebAssemblyのワーキンググループができていることを紹介した。そもそもCやC++といったLow Level Languageにおいて、いかにメモリー関連の安全性を高めるか? というゴールに向かって開発されたRustが、CやC++とともに1st class citizenとして扱われているのは当然のことだ。そして、冒頭で紹介した「WebAssembly on the server is the future of computing」につながる接点が、やっと見えてきたというのが次のトピックだ。

    WebAssemblyとRustが作るサーバーレスの未来
    piro_suke
    piro_suke 2020/10/23
  • 普段の仕事では得られない、新しい知見や発見がある。キャリアアップにもつながる。開発者なら「DevRel」をはじめよう!

    普段の仕事では得られない、新しい知見や発見がある。キャリアアップにもつながる。開発者なら「DevRel」をはじめよう! 「DevRel」を知っていますか? 「DevRel」(デブレル)という言葉を聞いたことはありますか。ここ数年、私が懸命に広めようとしている単語です。DevRelは「Developer Relations」の略で、開発者と良好な関係を築くためのマーケティング手法です。ここで言う「良好な関係を築く」相手は、例えば開発者向けのサービスを提供する企業とその製品です。有名なところではGitHubMicrosoft、IBM、AppleGoogle、Facebookなどでしょうか。日企業ならばLINE、さくらインターネット、SORACOMなどがDevRelを行っている会社として有名です。 なぜDevRel(開発者との良好な関係)が大事なのか。その理由とても簡単です。開発者が魅力的

    普段の仕事では得られない、新しい知見や発見がある。キャリアアップにもつながる。開発者なら「DevRel」をはじめよう!
    piro_suke
    piro_suke 2020/06/21
    “ため”
  • Rustで書かれたKubernetesのためのWASM実行環境Krustletとは?

    Deis Labsが新しいオープンソースソフトウェア「Krustlet」を発表した。これはメモリーセーフなプログラミング言語Rustで開発されたソフトウェアで、新しいバイナリーフォーマットWebAssemblyのコードを実行することが可能になる。 Deis LabsはMicrosoftが2017年に買収したクラウドネイティブに特化したソフトウェアを開発するベンチャーで、KubernetesのパッケージマネージャーHelmなどを開発していることでも知られている。Kubernetesは、Googleが社内で利用していたクラスター上でコンテナを管理するためのソフトウェアBorgがベースになっている。これをオープンソースソフトウェアとして公開するためにプロプライエタリなソフトウェアを書き換え、Kubernetesと命名して公開したものだ。KubernetesGoogleが開発したプログラミング言

    Rustで書かれたKubernetesのためのWASM実行環境Krustletとは?
    piro_suke
    piro_suke 2020/06/03
  • コード化でDevOpsを支えるHashiCorpのツールと開発背景

    HashiCorpとは? 「HashiCorp」という名前を知らなくても、Vagrantというツールの名前なら聞いたことがある、もしくはすでにお使いの方もいらっしゃるのではないでしょうか。Vagrantは仮想化された開発環境を簡単に立ちあげられるため、開発者サイドにとってはおなじみのツールです。このVagrantを開発したMitchell Hashimoto氏が創業した会社の名前がHashiCorpです。 HashiCorpが提供するツールは、開発者向けのものだけでなく、運用担当者向けのものもあります。連載初回の今回は、HashiCorpとは何であり、どのようなツールを、どのような考えで提供しているのかを紹介します。 HashiCorpの沿革 きっかけはVagrantの開発がスタート地点でした。Mitchell Hashimoto氏が2010年にVagrantバージョン0.1をリリースした

    コード化でDevOpsを支えるHashiCorpのツールと開発背景
    piro_suke
    piro_suke 2019/06/05
  • クラスタリングでPostgreSQLの可用性と信頼性を高める

    HAクラスタソフトを用意する 今回は、PostgreSQLを複数のサーバー機に配置するクラスタリング構成について紹介します。クラスタリング構成で運営すると、可用性(信頼性)や性能を向上させることができます。 PostgreSQLは伝統的に、クラスタリングのためのソフトを体には含まないという方針で開発されてきました。その代わりに体とは独立して、PostgreSQLをクラスタリング構成で運営するためのミドルウエアが何種類か開発されています。 こうしたソフトには、オープンソースのものもありますし、商用製品として販売されているものもあります。また、汎用のHA(High Availability=高可用性)クラスタ・ソフトの多くが、保護対象のリソースとしてPostgreSQLをサポートしています。 ■可用性を上げる まずはクラスタリングのメリットを知るために、基の確認をしましょう。 システムの

  • [ThinkIT] 第1回:オープンソースCRM『SugarCRM』 (1/3)

    今回紹介するオープンソースCRM「SugarCRM」はコマーシャル・オープンソースである。オープンソースという言葉はすでに一般的に使われるようになったが、「コマーシャル・オープンソース」という用語はまだ新しく、馴染みがない方が多いと思うのではじめに解説をしておこう。 「コマーシャル・オープンソース」とは、有償のオープンソース・ソフトウェアのことである。SugarCRM以外にもMySQL(リレーショナルデータベース)、Alfresco(コンテンツ管理システム)、JBoss(ミドルウェア)など、いくつかのソフトウェアベンダがコマーシャル・オープンソースの製品をリリースしている。 これらのベンダーは、開発コミュニティに公開する無料のソースコードに企業用途向けの拡張機能やテクニカルサポートサービスを有償で付加して顧客に提供する。SugarCRMのような高度な業務アプリケーションではこのような付加価

  • [ThinkIT] 第3回:トランザクションの比較 (1/4) -at- 徹底比較!! PostgreSQL vs MySQL

    トランザクション機能をサポートしているのは、PostgreSQLMySQL+InnoDBエンジンであり、MySQL+MyISAMエンジンはトランザクション機能をサポートしていません。ここでのトランザクション機能とは、複数のテーブルやレコードに影響をおよぼす処理を1つの単位とみなし、この単位での処理結果を保証する機能を指します。 具体的には、BEGIN文にてトランザクションを開始していくつかの処理を行った後、処理を確定する場合はCOMMIT文、処理を取り消す場合はROLLBACK文を使用し、トランザクションを終了させるまでの処理です。 トランザクション分離レベルとは、複数のトランザクションが同時に実行された場合に、他のトランザクションからの影響がどのくらい分離するかのレベルを意味します。 ANSI/ISO SQL規格(SQL92)では4つの分離レベル(下記コラム参照)が定義されています。P

  • WebBrowserコントロールにWebサイトを表示する

    WebBrowserコントロールでHTMLコンテンツを表示する Silverlight 4で追加されたWebBrowserコントロールでは、Silverlightプラグインの中にHTMLコンテンツをホストすることができます。今回は、Trustedモード(高い信頼性に基づいたモード)のブラウザ外実行で、WebBrowserコントロール内にHTMLコンテンツを表示してみましょう。 筆者の開発環境は、Microsoft Windows7 Professional(32bit)、Visual Studio 2010 Ultimate、Silverlight 4 Tools RC2 for Visual Studio 2010、Expression Blend 4 RC、Silverlight_4_Toolkit_April_2010です(いずれも英語版)。ダウンロード用サンプルは、Silverli

  • TransitionEffectを使う、特殊効果を伴ったコントロールの表示(前編)

    今回のサンプルは、解説が長くなるため、前編と後編の2回に亘って、1つのサンプルについて解説します。 まず初めに、このサンプルで実装する機能の動作を、下記に解説しておきます。Expression Blend 4(以下Blend 4)に実装されているTransitionEffectのPixelateを使って、特殊効果を伴ってコントロールを表示します。 画面上には[Image]、[DataGrid]、[RichTextBox]の3つのボタンが表示されています。ボタンをクリックすると該当するコントロールがPixelate効果を伴って表示されます。表示されるコントロールにはデータがバインドされています(図1)。 前編では、各コントロールへのデータバインドがメインになります。TransitionEffectによる、コントロールへの特殊効果の適用は、後編で解説します。 サンプル一式は、会員限定特典として

  • Blend 4での特殊効果を使った選択画像の表示方法

    まず初めに、このプログラムで実装する機能の動作を、下記に解説しておきます。Expression Blend 4(以下Blend 4)に実装されているTransitionEffectのSlideInを使って、画像を表示します。 画面上には画像と画像名の一覧が表示されたListBoxコントロールがあります。ListBoxコントロールから任意の画像を次々と選択していくと、左から右に向かって、選択された画像の拡大版がスライドして表示されていきます(図1)。 サンプル一式は、会員限定特典としてダウンロードできます。記事末尾をご確認ください。 新規プロジェクトの作成 早速サンプルを作っていきましょう。 VS 2010のメニューから「ファイル(F)/新規作成(N)/プロジェクト(P)」を選択します。稿では開発言語にVisual Basicを用います。次に、「Silverlight アプリケーション」を

  • WCF+Silverlightで作るリアルタイムWeb(前編)

    はじめに 第3回の今回は、WCF+Silverlightでの双方向通信を解説します。 WCF+Silverlightでのシステムの構成は、サーバーとクライアント双方にメッセージ開始のメカニズムを作成するという構成になります。WCF+Silverlightの場合、Cometのようにシンプルなクライアントでは、双方向通信を実現できません。そのため、クライアント側にも大量のプログラムが必要になります。 この大量のプログラムをVisual Studioが自動生成する「プロジェクション」という仕組みがあり、その構築工数を格段に下げることができます。プロジェクションとは、サーバーのオブジェクトをクライアントに射影する技術で、クライアント、サーバー間のプログラム作成やデバッグ作業を軽減することができます。Visual Studioは、サーバーのオブジェクトをクライアントで操作するためのプログラムコードを

  • WCF+Silverlightで作るリアルタイムWeb(後編)

  • ドラッグ&ドロップと、コントロールの生成

    ドラッグ&ドロップでファイルを表示する 今回は、Silverlight 4で新たに追加されたDrag & Dropの機能と、RichTextBoxを使ったサンプルの2つを紹介します。 Silverlightアプリケーション開発の基的な手順については、これまでの連載を参照してください。開発言語はVisual Basicです。 まず、ドラッグ&ドロップしたファイルの内容を表示するサンプルからです。 実装する処理は、図1のように、編集不可のTextBoxコントロール内に、ローカルの任意のフォルダ内にある、 拡張子が.xaml、.xml、.txt、.png、.jpg、.wmvの各ファイルをドラッグ&ドロップしたとき、その内容を表示したり再生したりするというものです。 テキスト形式ファイルの文字コードはUnicodeです。また、wmv形式のムービーファイルは、 開発時にVS 2010のソリューショ

  • 社外常駐で学んだアジャイル開発

    (1)今回の事例: 業務システムをWeb化で刷新 第2回では、新人のころに筆者がかかわった事例を取り上げ、「情報共有」の仕方と、「情報共有を通して、どのようにアジャイルの基礎的な内容を学んだのか」を説明しました。 前回の計画をチームで立てるというトピックで、「アジャイルでは、イテレーションを何度も継続して回す」ことを伝えました。ここで大切な点は、「ただ単に繰り返す」ことを意味しているわけではないということです。イテレーションで得られたフィードバックを、次のイテレーションでより良い活動ができるように生かすことが重要です。 今回は、この「フィードバックをもとに、より良くする(改善する)」ことに焦点を当て、筆者が社内SNS構築の次に参画したプロジェクトを取り上げます。まずは、今回の事例で取り組んだ「業務システム」について、簡単に紹介します。 筆者が所属するTISでは、プロジェクトが完了すると、プ

  • [Think IT] 第1回:携帯サイトとPCサイトはここまで違う! (1/3)

    XHTML Mobile Profileに対応したHTML 連載では、「PCサイトを制作してきたけど、携帯サイトは初めて」といった企業や個人クリエイター向けにPCとモバイルの違いなどをふまえ、携帯サイトを公開するまでの入門的なノウハウを紹介していきます。 まず、今回はHTMLの種類やタグ、CSSなど携帯ブラウザによる違いと、画面サイズやキャッシュ容量などの端末による違いについて紹介していきます。 では、早速携帯サイトを作る上でマークアップの基となるHTMLについて説明します(図1-1)。携帯電話はPCと比べても非常に早い進化を遂げてきたため、どれも基HTMLを基準に作られていますが、携帯ブラウザ(iモード、EZweb、Yahoo!ケータイ)で表示可能なHTMLの仕様には実に多くの種類が存在します。 現在市場に出回っている機種ということに限定すれば、XHTML Mobile Prof

  • [ThinkIT] 第3回:Subversionによるバージョン管理(後編) (2/3)

    それでは、具体的に「hook」の設定方法を紹介します。 リポジトリを作成して、モジュールを登録するとモジュールディレクトリの中にhookというディレクトリが作成されています。次の例は、前回作成した「test」モジュールの「hook」ディレクトリの中身です。 $ ls /var/svn/test/hook post-commit.tmpl post-lock.tmpl post-revprop-change.tmpl post-unlock.tmpl pre-commit.tmpl pre-lock.tmpl pre-revprop-change.tmpl pre-unlock.tmpl start-commit.tmpl これらのファイルは、「hook」を使うための雛形ファイルです。ファイル名からどのような「hook」かが、想像できると思います。例えば、「post-commit.tmpl」

  • Railsに変えてよかった!:iKnow!の場合

    iKnow!はRuby on Railsでできている みなさん「iKnow!」という語学学習サイトはご存じでしょうか? iKnow!は、効率的に暗記ができる、スケジュール管理および記憶定着度管理機能を備えたパーソナル学習アプリケーションを搭載した、無料のSNS型語学学習サイトです。サービス開始からわずか1年でユーザー数が34万人を超え、現在も国内最大の語学学習 SNSとして日々成長を続けています。 Think ITでも「【Webデザインワークフロー】iKnow!の作り方(http://www.thinkit.co.jp/article/111/1/)」(英語版「【Web design work flow】How to make iKnow!(http://www.thinkit.co.jp/article/121/1/)」)で、Webアプリケーションの開発手法について取り上げました。 この