IT記事一覧

ブロックチェーン入門 ─ JavaScriptで学ぶブロックチェーンとBitcoinウォレットの仕組みと実装

本記事ではブロックチェーンのプログラミングを、実践とともに学びます。ブロックチェーンとは、分散環境の新しいデータ構造であり分散合意のアルゴリズムですが、Node.jsでブロックチェーンおよびBitcoinウォレットを実装し、その仕組みを理解していきましょう。

自然言語処理ってなに?課題は? 研究者に聞く、エンジニアが学術論文を読み解くための技術

多くのサービスに実装される自然言語処理ですが、そもそも一体どのような技術なのでしょうか?東京工業大学で研究にあたる、西川 仁助教に自然言語処理の歴史と現在。そしてどのような課題があるかをうかがい、さらにエンジニアが学術論文を読み解き、役立つ情報を手にするための手法も聞きました。

発信しないのは「仕事をしても請求書を出さない」のと同じ。堤修一が開発~発信の循環を作る理由

ブログ、書籍、そしてOSS。iOSエンジニアの堤修一さんは、常に「発信」のこだわり続けてきました。数多くのスターを獲得した『iOS-Sampler』シリーズも、発信活動の一環だと説明します。なぜここまで発信にこだわるのか、堤さんに聞きました。

Kubernetes+Amazon EKSで自社サーバからAWSへ サイボウズの狙いは「人がやることを減らす」

Kubernetesの活用事例を、現場から学びます。サイボウズ「kintone.com」では、自社インフラからAWSへの移行とともに、Kubernetesを用いたコンテナ化を進めていますが、オーケストレーション管理ツールに選んだのは、Amazon EKSです。決して容易ではない自社サーバからクラウドへの移行を決めたの理由は「技術的な課題」よりも「人間をスケールすること」にありました。

実例に学ぶスクラム導入手順 - タスク属人化を避け、チーム開発力向上のためにRettyがやったこと

スクラム開発を導入するにあたり、必要になる手順は?メンバーはどんな意識を持つべき?実際にスクラムを新たに導入し、チーム力を向上させたRettyの実例を聞きました。

機械学習入門 - 基本のPythonライブラリ、9つを触って学ぶ

機械学習を学ぶために、まず知っておきたいPythonライブラリを、機械学習エンジニアの「ばんくし」こと河合俊典さんに厳選し、そのエッセンスをつづってもらいました。機械学習入門に向けたスタートアップガイドです!

データサイエンティストの定義は?必要スキルは?現役データエンジニア/アナリストと考えた結論

需要が高まるデータサイエンティストというロールですが、業務の定義や、必要スキルは一体どのようなものでしょうか。3名のデータエンジニア/アナリストに実践から得た答えを聞きました。

非エンジニアが技術を学ぶメリット - カスタマーサポートとエンジニアのギャップが解消された話

ユーザーの声が集約されるカスタマーサポート部門には、エンジニアの皆さんにとっても参考になる、サービス改善のヒントがあります。ピクシブではカスタマーサポート担当スタッフがエンジニアリングを学び、スムーズなコミュニケーションを実現しています。

Lambdaで作る音声インターフェイスの基本

Amazon EchoやGoogle Homeといったスマートスピーカーが話題となっています。AIとの対話をインターフェイスとするVUIの基礎知識から、Alexaスキル製作の基本まで、スマートスピーカー向けのアプリケーションを数多く手がける君塚史高さんに教えてもらいました。

認証技術の種類と進化の歴史。ユーザーの情報を守るために必要な基本を知ろう

サービス運用に必要不可欠な認証技術には、どれほどの種類があり、そしてなぜこれほどまでに多様化したのでしょうか。認証技術の進化と、それに対する攻撃手段の流れを不正ログイン対策ツールを手がけるCapyのエンジニア2名に解説してもらいます。

実践マイクロサービス ─ コンポーネント分割やトラブル回避の考え方をLINEの導入事例に学ぶ

マイクロサービスとは、小さいサービス同士をつないで連携し、ひとつのサービスを構成する手法のことです。そのメリット・デメリットなどマイクロサービスの本質と、LINEでの導入事例から実運用とトラブル回避について、LINE Shopチームの佐藤春旗さんが解説します。

iOSに向き合い続けた10年。岸川克己がSpreadsheetViewで埋めたかった「iOSに不足していたもの」

KeychainAccessやSpreadsheetViewなど、iOSアプリ開発で広く使用されるOSSを送り出した岸川克己さん。iOS、Swiftの世界で先駆けと評される岸川さんに、ソフトウェア開発の裏側をお聞きしました。

IT企業のエンジニアがとりあえず知っておきたいGDPRの基礎知識

2018年、多くのIT企業が対応に追われたGDPRですが、その内容は非常に複雑です。本稿ではGDPRの概要と、「エンジニアが知っておくべき要点」を、ソフトウェアベンチャーなどで法務を担当するkataxさんに解説してもらいます。

レガシーシステムの大規模リプレイスで分かった「Vue.jsでSPAならNuxt.jsが有力」

10年以上前に作られたレガシーシステムをVue.jsで大規模リプレイスしたエムスリーに、導入して感じたVue.jsのメリットや、活用法を伺いました。

MySQL 8.0は何が優れていて、どこに注意すべきか。データベース専門家が新機能を徹底解説

MySQLの最新版「MySQL 8.0」正式版が2018年4月にリリースされました。数多くの機能や設定が追加・変更されているMySQL 8.0の「知っておきたい便利な機能」や「危険なハマりどころ」などを、My SQLの専門家に教えてもらいました。

grpc-gatewayの開発に学ぶ、ソフトウェアの設計手法~Yuguiが定めた、2つの基本設計方針

良いソフトウェアとはどのような方針のもとに設計されているのでしょうか。広く使われているOSSであるgrpc-gatewayの開発過程を作者のYuguiさんが振り返り、その設計手法を解説してもらいました。

「Scala言語らしさ」を理解しよう! オブジェクト指向と関数型プログラミングの融合とは?

プログラミング言語Scalaの設計思想にあるという、オブジェクト指向と関数型プログラミングの融合(fusion)という理想と、それを掲げつつも現実主義的な点について、水島宏太(kmizu)さんが解説します。

いかにしてRubyを高速化するか? コミッター・卜部昌平が挑んだ「Deoptimization Ruby」の軌跡

Rubyの高速化に取り組む卜部昌平さんが、その着想やデザイン、実装について解説します。

Firebaseでバックエンドエンジニア不在のアプリ開発 クックパッドが体感した、メリットと課題

Firebaseが依然として注目を集めていますが、早々に導入したクックパッドの「Firebase使用例」を紹介します!クックパッドの新アプリ開発で導入され、アプリやWebサイトのインフラ部分を任せられるほか、リアルタイムでデータを同期できるCloud Firestore、ログイン認証システムを手軽に実装できるFirebase Authenticationなど、さまざまな機能を活用しています。活用してわかった、Firebaseのいいところ、そして気をつけるべきポイントとは?

deoplete.nvim開発者、Shougoが考える「Vimの限界ギリギリ」を攻めるプラグイン開発の裏側

多くのエンジニアに愛されるテキストエディタ『Vim』のプラグインを作り続けるShougoさん。Vimmerならば一度は使ったことがある、というほどに広く知られたプラグインを作り続ける理由を聞きました。

Kaggleで世界11位になったデータ解析手法~Sansan高際睦起の模範コードに学ぶ

Kaggleの上位入賞者であるKaggle Grandmasterを獲得した、Sansan株式会社のデータサイエンティスト高際睦起さん。模範となるソースコードをもとに考え方や解析手法を教えていただきました。

React NativeでiOS/Androidアプリを丸っと開発! Nature Remo開発で分かった長所と短所

React Nativeを使って「Nature Remo」iOS/Androidアプリの開発を進める村瀨大輔(typester)さんと、北原壮さんに、導入して分かったメリットとデメリットを伺いました。

Coqで学ぶ証明プログラミング! テストだけでなく「証明」で安全性を保証する

プログラミング言語「Coq」では、プログラムを「証明」して間違いを防ぐことができます。プログラムの正しさを保証できる一歩進んだエンジニアになりましょう! coqtokyoを主催する今井宜洋さんの解説です。

ITエンジニアはどんなツールでコミュニケーションしているの? 事例から効率化のヒントを探せ!【2018 夏】

ストレスなく開発に集中するため、IT企業が社内ツールに何を選択しているかをアンケート調査。各社コダワリの使い方から、業務効率化や働き方を考えるヒントにしてください。

『メルカリ』 アプリの画面描画を高速化する技術、バックエンド・iOS・Androidの基本設計

多くのユーザーに愛されるフリマアプリ『メルカリ』ですが、そのスムーズな画面描画はどのような技術で生み出されているのでしょうか。同アプリの高速表示の秘密を、バックエンド、iOS、Androidの3方向からメルカリ社のエンジニア4人に聞きました。

ソフトウェアが持つべき機能と仕事の粒度を見極める~The Platinum Searcherの作者に聞いてみた

GitHubでスター数2,000以上を獲得したOSSである「The Platinum Searcher」。作者の三宅悠介さんに、シンプルでありつつも、高い性能を持つソフトウェアを作り出すための思考を聞きました。

AWSに関するありがちミスとその対策~EC2、S3、RDS、Lambda、CloudFrontの場合

AWS入門者が基本として知っておくべき知識を、AWS導入&運用サポートのプロである、アイレットのエンジニア3名に聞きました。多くのAWSユーザーに支持されるAmazon EC2、Amazon S3、Amazon RDS、AWS Lambda、Amazon CloudFrontそれぞれの勘所やオススメの設定を、余すところなく紹介してもらいます!

20年の機械学習・ニューラルネットワーク研究から見えた、人工知能の歴史と未来

人工知能はどのような技術によって進歩し、どのような未来に向かってかじをきっているのでしょうか。今回は20年近く人工知能の研究をしてきた人工知能分野のフロントランナーの方々にインタビューしました。

月間アプリDL数、7倍への道~エンジニアがアナリティクスを見ながら考えた課題抽出とその解決法

専門職が行うイメージの強いグロースハックですが、中にはエンジニアがその役割を担う会社も。ブレイブソフトのエンジニア、水谷浩明さんがアプリ『HONNE』で行ったグロース施策を振り返ります。

サーバーレスのメリット&本質を、AWS Lambdaを使って理解しよう

「サーバーレス」はここ数年の技術トレンドの一つです。サーバーレスアーキテクチャを2年運用してきたJX通信社の小笠原みつき(yamitzky)さんが、そのメリットや実際の業務における考え方を、ハンズオンを交えながら解説します。

GitHubリポジトリで8000スター獲得、人気OSS「Boostnote」オープンソース化の軌跡

GitHubリポジトリで8000スターを獲得しているプログラマ向けノートアプリのBoostnote。グローバルな開発コミュニティを築き上げた経緯についてインタビューしました。

データベーステーブル設計の基礎の基礎~エンティティの抽出・定義から正規化まで

適切な形でデータベースのテーブルを設計し、運用するには?テーブル設計に必要な初歩を日本MySQLユーザ会副代表の坂井恵さんが丁寧に解説します。

「Go言語らしさ」とは何か? Simplicityの哲学を理解し、Go Wayに沿った開発を進めることの良さ

プログラミング言語には作者の設計思想が強く現れますが、Go言語もまた後発であることを生かし、しっかりとした思想に基づいて開発されています。公式のドキュメント等で語られているSimplicityの哲学を理解し、Go言語らしさ、Go Wayに従って開発する良さについて、はてなチーフエンジニアの松木雅幸(Songmu)さんが解説します。

動画アプリをなめらかに動かす技術~『AbemaTV』のユーザー体験を支えるエンジニアリング

大人気インターネットテレビ局『AbemaTV』。そのUI / UXとはどのように設計されているのでしょうか。そして、UI / UXを実現する技術とは。スムーズな動画体験を支える技術を中の人に聞いてみました。

[Slackbot大全]25種類の事例・ツールを一挙紹介! botで業務を効率化しよう【2018夏】

あの企業は一体どんなSlackbotを活用しているの?そんな疑問に答えるべく、20社のSlackbot活用事例を聞いてみました。バラエティに富んだ回答に、開発のヒントがあるかも!?

PWAで表示速度が2倍に! スピード改善を妥協しない日経電子版に学ぶ、PWAのメリット&デメリット

ネイティブアプリに近い体験を簡単に提供できるとして注目を集めている「PWA」。実際に導入し、表示速度が2倍になったという日経新聞電子版の開発者に「PWA」のメリットとデメリットを伺いました。

Javaにもう一度REPLを~平成生まれのOpenJDKコミッターを刺激するOSS開発の緊張感

平成生まれのOpenJDKコミッター、吉田真也さんにOSSに触れ始めた理由やモチベーションについてインタビューしました。もっと積極的にOSSに関わりたいと考えている方は、吉田さんの考えや言葉が一つの道標になるかもしれません。

失敗を学びに変える「障害報告書」の書き方 ─ RettyのCTOがGoogleで学んだ「問題を隠さない文化」

人間は失敗するものです。エンジニアもまたしかり。Retty株式会社の樽石CTOが考える、失敗を学びに変える考え方とノウハウを紹介します。

Rubyコミッター・Yuguiに学ぶ、コードに書くべき「適切なコメント」と「適切な場所」

Rubyコミッター・園田裕貴(Yugui)さんが、長年の経験で体得したソースコードに書くべき「コメントの技法」を教えてくれました。

Pythonを使ってみよう~Webスクレイピングに挑戦し初歩を学ぶ~

話題のPythonを使って学んでみましょう! 今回はWebスクレイピングにトライし、その初歩を学びます。

子育てを支える技術 ─ フルスタックお父さんとエンジニアとしての成長を両立させるには

お父さんは出産を除くすべての子育てタスクを担当できるとして、エンジニア的なアプローチで育児に取り組む白山文彦(@fushiroyama)氏が、キャリア構築や技術的成長との両立について語ります。

直面する問題を解決したらkaminariができた。Ruby / Railsコミッター松田明のOSS開発の実像

世界中のRubyプログラマに使用されるOSSであるkaminari。これを手がけたRuby / Railsコミッター松田明さんに、開発背景を聞きました。

俺の愛用ワンライナー、Web企業のエンジニア16人に聞きました

エンジニアの皆さんが愛用する自作のワンライナーってどんなもの?Web企業で働くエンジニアの方々に、秘蔵のワンライナーを聞きました。

『コーディングを支える技術』の西尾泰和と考える、エンジニアが学ぶべき技術の原理原則

名著として知られる『コーディングを支える技術』を著者の西尾泰和さんと、現役エンジニアの池田惇さんが読み解きます。成長を続けるために必要な「インプットの深度」を探ると、エンジニアとしての生存戦略が見えてきました。

あるエンジニアが「Kibela」というサービスを考え、リリースするまでのフローを全部教える

エンジニアがサービスのアイデアを思いつき、それをリリースするまでにはどのような過程があるのでしょうか。情報共有ツール「Kibela」が世に出るまでのフローを、起業した井原正博さんが詳細に振り返ります。

ReactとAngular、使うならどっち? JavaScriptギークが6つの視点で徹底比較

Reactか、Angularか。どちらを選ぶか悩ましいものですが、エキスパート2人がそれぞれのポイントを徹底解説します。

データサイエンティストによる統計入門 ― k平均法でデータをクラスタリングしてみよう!

ビッグデータ、データサイエンス、人工知能など、統計学を主軸においた分野が隆盛ですが、統計学には高いハードルを感じる方も少なくないでしょう。k平均法を実際に手を動かしながら理解することで、データ分析を身近に感じることができます。

開発現場に学ぶ、円滑なコードレビューに必要な8つの手法 ~手段から準備、実施時期まで徹底解説~

コードレビューによって解決される問題とは?そして、実際にチームでコードレビューを実施する上で気をつけるべきこととは?ソニックガーデンの取締役プログラマー西見公宏さんが、コードレビューのポイントを、実践に基づき解説します。

COBOLをシートに手書きしていた頃。80~90年代、OSS普及前の開発風景に学ぶこと

インターネットが一般的ではない時代にエンジニアはどのように仕事をしていたのでしょうか。WebDINO Japanの瀧田佐登子さんに、かつてのエンジニアの姿、そしてオープンソースという概念が一般化していく過程を、貴重なエピソードとともに聞きました。

今日からはじめるCI/CD ─ CircleCI + Deployerでテストとデプロイを自動化しよう!【休日個人開発】

プライベートでも何か作りたい! そんなときの「今日からはじめる休日個人開発」シリーズ、今回はテストやデプロイをGitHubと連携し、自動化させてCI/CDに対応します。

若手ハイキャリアのスカウト転職