タグ

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

  • 今ビットコインのブロックチェーンを学ぶ意義とは?Pythonで作ってみたい人のための解説書から紹介

    ゲームを始めとする分散型アプリケーションの存在感が増し、いよいよブロックチェーンの技術が各社のサービスに実装され始めました。翔泳社の最新刊『Pythonで動かして学ぶ!あたらしいブロックチェーンの教科書』(翔泳社)では、その根幹にあるビットコインのブロックチェーンに注目して構成技術やコードを解説しています。では、なぜ今それを学ぶべきなのでしょうか。書から「第1章」を抜粋して紹介します。 記事は『Pythonで動かして学ぶ!あたらしいブロックチェーンの教科書』の「第1章 ブロックチェーンの概要と学ぶ意味」から抜粋したものです。掲載にあたり、一部を編集しています。 分散システムとブロックチェーン ブロックチェーンは突然生み出された技術ではありません。このことは分散システムの特徴と発展の歴史を見ていくと、よくわかります。 集中システムと分散システム ソフトウェアシステムの構造(アーキテクチャ

    今ビットコインのブロックチェーンを学ぶ意義とは?Pythonで作ってみたい人のための解説書から紹介
    yuyhiraka
    yuyhiraka 2019/11/18
  • なぜ機械学習にPythonが強いのか、Pythonで並行処理をするコツを伝授【PyData.tokyo】

    Pythonにおける並行処理の行い方 ここからはPythonのパフォーマンスチューニングに話題を移そう。最近では「Pythonが遅いのでマルチスレッドやマルチプロセスにしたい」という問い合わせが増えてきていると言う。 石氏は「近年のパソコンはマルチCPUなので気持ちは分からなくない」と同情しつつも、「ぶっちゃけ、マルチスレッドやマルチプロセスにしただけではそう速くならない。ある程度は工夫できるが、成果はあまり期待しないこと。数倍速くなることはない。せいぜい数割。処理を速くしたければ、計算量やデータ量を削減するのが基」と断じる。 一般的には並行処理にはthreadingモジュールやmultiprocessingモジュールを思い浮かべるかもしれないが、石氏はPython 3.2で追加されたconcurrent.futuresのほうが「より便利なので、できるだけこれを使ってほしい」とおすす

    なぜ機械学習にPythonが強いのか、Pythonで並行処理をするコツを伝授【PyData.tokyo】
    yuyhiraka
    yuyhiraka 2019/01/12
  • Reduxにおける同期的/非同期的なAction Creatorをテストする (1/4):CodeZine(コードジン)

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

    Reduxにおける同期的/非同期的なAction Creatorをテストする (1/4):CodeZine(コードジン)
    yuyhiraka
    yuyhiraka 2018/09/08
  • 11025

    エンジニアなら誰しも、アーキテクチャの大幅な変更には多大なる苦労が伴うことを知っているだろう。新技術の習得にコストがかかる、システム移行時に障害が起きかねない、全体設計見直しの難易度が高いなど、立ちはだかるハードルは枚挙にいとまがない。株式会社ブロードリーフは、そんな苦労を乗り越えて抜的アーキテクチャの見直しを成功させた企業だ。メインデータベースをRDBMSからCassandraに変え、システム全体をオンプレ環境からKubernetesGCPに移行したという同社は、なぜ難易度の高いアーキテクチャ変更を遂行できたのか。基盤開発部の松宏紀氏が語った。 講演資料:Cassandra x Kubernetesによる大規模データ基盤の仕組みと苦労 株式会社ブロードリーフ 基盤開発部 松宏紀氏 「自社サービスにマッチしたデータベースを選ぶ」ことの重要性 株式会社ブロードリーフは、自動車業界向け

    11025
    yuyhiraka
    yuyhiraka 2018/08/29
  • AI時代にエンジニアが生き残るため、身につけるべき3つのスキル【デブサミ2018 夏】

    ビッグデータを活用してビジネスに生かすことは、今や当たり前になりつつあり、データ活用市場が拡大するに伴ってAIエンジニアのニーズも急増している。「2017グローバル人工知能人材白書」では、「AI企業が必要としている専門人材は70万人不足」という報告もある。では、AIエンジニアとはどのようなスキルを持ったエンジニアなのか。また、どうすればAIエンジニアに転身できるのか。人工知能&ビッグデータ領域のトップランナーが創業し、データ活用のコンサルティングを提供しているDATUM STUDIOの安部晃生氏と、総合人材サービスのリーディングカンパニー、パソナキャリアでAI関連の転職支援実績のある高坂将大氏が、AI時代におけるエンジニアの生存戦略を指南した。 講演資料:AI時代におけるエンジニアの生存戦略 安部晃生氏 資料 高坂将大氏 資料 ニーズが急増するAI人材 企業のデータ活用が進むにつれ、AI

    AI時代にエンジニアが生き残るため、身につけるべき3つのスキル【デブサミ2018 夏】
    yuyhiraka
    yuyhiraka 2018/08/23
  • アジャイル開発におけるテストとは? その未来とは何か?【Agile 2018】

    世界最大級のアジャイル開発の祭典「Agile 2018」がアメリカのサンディエゴで開催されました。日でもめずらしくなくなってきたアジャイル開発ですが、北米で開催されるこのイベントには、2000人を超える開発者、テスター、プロダクトマネージャ、プロジェクトマネージャなど、ソフトウェア開発に関わる人達が世界から集まってくるカンファレンスです。稿では、「Testing & Quality」トラックのセッションを中心にレポートします。 ebayのアジャイルテスティング UKのebayでHead of Software Testingとして活躍するDan Ashby氏のセッション「Testing in Agile」はその名のとおり、「アジャイル開発におけるテスト」を集約した内容でした。 ソフトウェアテストとは何か? さまざまな解答がでてくる問いですが、一般的な解答は以下のようなものがあるはずです

    アジャイル開発におけるテストとは? その未来とは何か?【Agile 2018】
    yuyhiraka
    yuyhiraka 2018/08/11
  • SQLクライアントはこれひとつでOK! あらゆるDBMSで使える「SQL Workbench/J」をデータ解析で活用しよう

    シリーズではビジネスデータ解析でデータベースから情報を取得して活用する必要がある方を対象に、ビジネスデータ解析でよく使われる実践的なSQL例など、分析向けの活用を解説します。稿では、さまざまなデータベースに接続する必要があるデータ解析の際に役立つ、フリーのSQLクライアントツール「SQL Workbench/J」の活用方法を解説します。導入・データベース活用手順を解説しデータ解析の際に役立つ機能を紹介します。 対象読者 SQLの基は理解しているがより実践的な分析に取り組みたい方 サンプルの動作確認環境 MacOS 10.13 PostgreSQL 9.6 SQL Workbench/Jの概要と導入 稿で取り扱うツール「SQL Workbench/J」とは何かを簡単にご紹介し、ツールの導入方法についてご紹介します。 SQL Workbench/Jとは SQL Workbench/J

    SQLクライアントはこれひとつでOK! あらゆるDBMSで使える「SQL Workbench/J」をデータ解析で活用しよう
    yuyhiraka
    yuyhiraka 2018/05/02
  • Kubernetesで構築したWebアプリケーションに、Blue-Green Deployment相当の機能と、バージョンごとにURLを生成する機能を追加

    はじめに 記事の構成図です。 記事の構成図 以下の項目について解説していきます。 アプリケーションのデプロイ Production用とDevelop用のServiceをデプロイ Nginx(Deplyment)のデプロイ Ingressの設定 動作確認 第1回や第2回に比べると構築しなけらばならないことが多く大変ですが、アプリケーションを運用していく上でこのような機能があるとないとでは開発や運用の効率が変わってくるので頑張りましょう! 対象読者 Linuxの基的なコマンドが使える方 Dockerの使用経験がある方 Kubernetesを使ったことがない技術者 検証環境 Kubernetes側の環境 Google Container Engine 1.7.6 Kubernetes 1.7.6 クライアントの環境 macOS Sierra 10.12.6 kubectl 1.7.6 アプ

    Kubernetesで構築したWebアプリケーションに、Blue-Green Deployment相当の機能と、バージョンごとにURLを生成する機能を追加
    yuyhiraka
    yuyhiraka 2018/01/10
  • Raspberry Pi Zero WとAzureで、Webから操作できるIoTクリスマスツリーを作ってみよう

    この連載では、約650円で買えるマイコンボードRaspberry Pi Zeroを使って、ITエンジニアがIoTを学べたり、家族で楽しんだりできるIoTレシピをご紹介していきます。今回はIoTでクリスマスツリーを光らせてみます。スマホ・PCのブラウザーからWebアプリにアクセスし、「点灯・点滅・消灯」のボタンを押すことで、Raspberry Piから配線したLEDを制御することができます。スマホのボタン操作でクリスマスツリーのLEDを制御することができるので、小さなお子さまも気軽に試すことができます。このIoTクリスマスツリーで、身近なIoTを体験してみましょう。 IoTクリスマスツリーの仕組み IoTクリスマスツリーを制御する仕組みについて、大まかには以下の流れになります。 ブラウザ上でWebアプリのボタンを押す【点灯/点滅/消灯】(MQTT Publisher) MQTT Broker

    Raspberry Pi Zero WとAzureで、Webから操作できるIoTクリスマスツリーを作ってみよう
    yuyhiraka
    yuyhiraka 2017/12/22
  • AWSサーバレスアーキテクチャでSPAを実装する(1)~SSLを経由してブラウザからLambda APIへアクセスするまでの下準備

    連載では、AWSを利用したSPA(Single Page Application)の開発を通じて、サーバレスアーキテクチャの考え方を知っていただき、Webアプリケーションとして作成していく際にどのような構成を取ればよいのか、開発環境やテストなどはどのように行えばよいか、実際のコードを交えながら解説していきます。今回からは、JavaScriptのブラウザ向けフレームワークにAngularを使い、AWSのサーバレスアーキテクチャ向けに用意された各種機能を使いながら、簡単な掲示板を作ることをゴールにします。 連載で作るSPAのゴール 開発する掲示板は以下のようなイメージです。 スレッド一覧画面 スレッドの一覧画面で、今回のアプリケーションのトップページとなります スレッドの一覧と他の画面へのリンクを持ちます サインインしていなくてもアクセスできます スレッド詳細画面 スレッドの詳細とそのスレ

    AWSサーバレスアーキテクチャでSPAを実装する(1)~SSLを経由してブラウザからLambda APIへアクセスするまでの下準備
    yuyhiraka
    yuyhiraka 2017/10/11
  • Groovy製のSeleniumラッパーライブラリ「Geb」で、可読性の高いテストを書いてみよう

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

    Groovy製のSeleniumラッパーライブラリ「Geb」で、可読性の高いテストを書いてみよう
    yuyhiraka
    yuyhiraka 2017/10/11
  • StackStormで変わる運用

    連載では、2017年3月23日に来日講演を行ったStackStorm CTO Dmitri Zimine氏の発表を踏まえ、StackStormがどういった形態のシステム運用に対し、どのような効果をもたらすかを解説します。また、実際にStackStormを利用されているNTTテクノクロス、インターネットマルチフィード、そしてDMM.comラボのStackStormの利用事例と、どのような効果があったか(効果を見込んでいるか)を紹介します。記事が、システム運用に携わる人にとってStackStormがどのような運用効果をもたらすか、理解する手助けになれば幸いです。また、運用改善のソリューションはStackStorm以外にさまざまなものが存在しますが、他のソリューションを比較検討する際の判断材料としても記事がお役に立てると思います。 2017年3月23日 StackStorm勉強会 第2回(

    StackStormで変わる運用
    yuyhiraka
    yuyhiraka 2017/10/04
  • React×Material-UIでモダンなUIを実装する

    Reactはコンポーネントを組み合わせて開発を行うことで、保守性の高いアプリケーションを実現できるライブラリです。同時に、優れたUIを提供するライブラリでもあります。前回はReactコンポーネントの基であるPropsとState、およびライフサイクルについて解説しました。稿ではデザイン性をアップさせてくれるサードパーティー製のコンポーネントセット、Material-UIの使用方法について紹介します。Material-UIは、Googleのデザインガイドラインに則って開発されたコンポーネントのライブラリで、活用することで簡単に見栄えのいいアプリを作ることができます。 対象読者 JavaScriptとWeb開発の基礎に理解がある方 Reactに興味/関心があり、これから学び始める方 前提環境 macOS Sierra 10.12 Node.js v6.6.0/npm 3.10.3 Reac

    React×Material-UIでモダンなUIを実装する
    yuyhiraka
    yuyhiraka 2017/04/18
  • 「働く場所の自由化」が企業を救う!? サイボウズのエンジニアが働きたい場所で働ける理由とは【デブサミ2017】

    「在宅勤務」や「リモートワーク」を認める企業は昨今その数を増やし、それに伴ってエンジニアのワークスタイルも変わりつつあります。一方で、反対する考えが根強く残っている環境や、企業として制度やツールの整備が追いつかないという課題を抱えているケースもあります。エンジニア視点で考えると「住む場所」と「やりがい」を天秤に掛けざるを得ない状況に悩まされるというのも、それはそれでつらいものです。記事では「Developers Summit 2017」のセッションで語られたサイボウズの実例を紹介し、問題解決への糸口を探ります。 講演資料:エンジニアが働きたい場所で働けるために、チームに必要なこと 2017年02月16日に目黒雅叙園で開催されたイベント「Developers Summit 2017」では、サイボウズ株式会社 大阪開発部 部長 岡田勇樹氏のセッションが行われました。岡田氏もまた、「住む場所」

    「働く場所の自由化」が企業を救う!? サイボウズのエンジニアが働きたい場所で働ける理由とは【デブサミ2017】
    yuyhiraka
    yuyhiraka 2017/03/16
  • StackStormで始める運用自動化 ~入門編~

    運用自動化は、情報通信技術が民生化されて以降、現在にかけて挑戦され続けてきた大テーマです。一口に自動化といっても、さまざまな切り口が存在します。例えば、ソフトウェアのビルドやマシンリソースの調達・環境構築、または監視や通知の仕組み、あるいはCIなど、さまざまな分野で自動化のソリューションが提案され発展を遂げてきました。稿は一般に"ワークフロー"と呼ばれるあらかじめ規定された業務プロセスフローの処理を、入力や状況に応じて自動化するソリューションの一つ「StackStorm」について、2回に分けて詳しく解説します。 初回は、StackStormを初めて知る人・使う人向けに、StackStormがどのようなもので、どのような特徴を持って、どのように使うかについて解説していきます。具体的にAWSと連携したイベントドリブンな自動化処理の設定の仕方や、細かなタスクを組み合わせた複雑なワークフローの設

    StackStormで始める運用自動化 ~入門編~
    yuyhiraka
    yuyhiraka 2017/02/01
  • アプリケーションエンジニアのためのOpenStackライブラリ「oslo.messaging」徹底解説

    稿は、アプリケーションエンジニアのためのOpenStackの記事です。ここでの内容によって、皆さんが携わるアプリケーションのサステナビリティ(Sustainability)の向上に寄与できると考えています。OpenStackはIaaSクラウド機能を提供するOSSとして知られていますが、普段アプリケーションの開発を行うエンジニアにとってはレイヤの違いから縁遠い存在に思えるかもしれません。稿ではそうしたアプリケーションエンジニアが活用できるOpenStackプロジェクト「oslo」についての紹介と、RPCと通知機能を提供するライブラリ「oslo.messaging」の機能と使い方について徹底解説していきます。 また、OpenStack自体について興味がある方は『マイクロサービスアーキテクチャが支えるOpenStackの動作と仕組み』の連載記事も併せてご参照ください。 osloとは? osl

    アプリケーションエンジニアのためのOpenStackライブラリ「oslo.messaging」徹底解説
    yuyhiraka
    yuyhiraka 2016/10/30
  • NTTデータが「Spring」のコミュニティを盛り上げたい理由とは? 『Spring徹底入門』著者陣に訊く

    JavaのOSSフレームワークとして地位を確立しているSpring Framework。翔泳社では『Spring徹底入門』を刊行しましたが、書はNTTデータの皆さんが執筆されたもの。NTTデータはなぜ価値あるノウハウを公開し、共有しようとするのでしょうか。今回、書を執筆された橋賢二さん、槙俊明さん、池谷智行さん、小島祐介さん、川崎真弘さんにお話をうかがいました。 なぜNTTデータがSpring Frameworkの入門書を手がけるのか? ――『Spring徹底入門 Spring FrameworkによるJavaアプリケーション開発』はNTTデータの皆さん(槙さんは執筆中に転職)が執筆されましたが、最初におうかがいしたいのは、なぜNTTデータがJavaのOSSフレームワークであるSpring Frameworkのノウハウを広めるための入門書を手がけたのかということです。 橋:NTT

    NTTデータが「Spring」のコミュニティを盛り上げたい理由とは? 『Spring徹底入門』著者陣に訊く
    yuyhiraka
    yuyhiraka 2016/07/27
  • 「愚直にやるしかない」先輩のメッセージによって挫折からブレイクスルーできた文系新卒エンジニア【特集:新人研修】

    はじめまして。株式会社ビズリーチ、2015年度新卒エンジニアの田所駿佑と申します。2016年4月現在、求人検索エンジン「スタンバイ」のバックエンドシステムを開発するチームでScalaを書いています。この記事では、自身の挫折とブレイクスルーをテーマに、実際に私たちが受けた当社の2015年度(昨年)の新卒エンジニア研修についてお話させていただきます。いま研修まっただ中の新卒エンジニアや、研修担当者の方々に何かしらお伝えできることがあれば幸いです。 ビズリーチの新卒エンジニア研修 当社では4月中旬から8月いっぱいまでの約4か月半、事業会社としては比較的長期間の新卒エンジニア研修を行っています。期間の長さもさることながら、内容も4週間のJava研修をはじめとして、SQLDB設計、ネットワーク、セキュリティフロントエンド、はたまたWebデザインの基礎など、Web開発にまつわる幅広い分野を扱ってい

    「愚直にやるしかない」先輩のメッセージによって挫折からブレイクスルーできた文系新卒エンジニア【特集:新人研修】
    yuyhiraka
    yuyhiraka 2016/05/12
  • 米MS、Visual Studio CodeのOSS化など、サポートする開発者の範囲をさらに拡大

    Microsoftは11月19日(現地時間の18日)、同社の最新技術を紹介する開発者向けの年次イベント「Connect(); // 2015」をニューヨークで開催した。昨年の同イベントで宣言した開発環境のオープン化をさらに推し進めるべく、数多くの新サービスが発表された。ここでは、統合開発環境のVisual Studioを中心に主要なトピックスを紹介する。 キーノートの模様はChannel 9でライブ配信された他、講演済みのセッションもオンデマンド視聴することができる。 最初に、開発ツールやクラウドサービス部門を統括するスコット・ガスリーが発表したのが、.NET Core 5とASP.NET 5のリリース候補版の提供開始だ。番環境での動作とサポートを保証するGo-Liveライセンスでの扱いとなる。昨年オープンソース化が発表され、プレビュー版として提供されていたもので、Windowsのほか

    米MS、Visual Studio CodeのOSS化など、サポートする開発者の範囲をさらに拡大
    yuyhiraka
    yuyhiraka 2015/11/20
  • NGINX、WebサーバNGINX上で利用できるJavaScript「nginScript」を公開

    NGINXは、同社が開発するWebサーバNGINX上で動作するJavaScript仮想マシン「nginScript」の最初のプレビュー版を、サンフランシスコで開催中のNGINXの開発者向けカンファレンス「nginx.conf 2015」において9月23日(現地時間)に公開した。 nginScriptは、NGINXの設定に役立つ機能を追加したJavaScriptの実装で、NGINXの設定を簡単に修正または作成でき、アプリケーションレベルで動作するため既存アプリケーションの安定性やセキュリティ、拡張性を保ったままでのリファクタリングを可能にする。 全体的には、仮想マシンとバイトコード・コンパイラ、および組み込み向けの文法を備えたJavaScriptで構成されている。また、仮想マシンはWebブラウザ経由での使用に最適化されており、リクエストごとに個々の仮想マシンが動作するためガベージコレクショ

    NGINX、WebサーバNGINX上で利用できるJavaScript「nginScript」を公開
    yuyhiraka
    yuyhiraka 2015/09/24