RustでWebアプリケーションを開発する際に基礎となる要素技術からRustの応用まで、Rustに関するあれこれを解説する本連載。第3回は、Rust製の高速データ分析ライブラリであるPolarsの速度を簡易的に検証し、考察する。
![Rustで始めるWebアプリケーション](https://cdn-ak-scissors.b.st-hatena.com/image/square/0b6fdd7b3bdbcb7a53e8a02ea0b23dea656c3832/height=288;version=1;width=512/https%3A%2F%2Fimage.itmedia.co.jp%2Fimages%2Fog_img_series.gif)
Ch1. Goのコーディングで意識しておきたいこと Goが誕生した背景 Googleで生じた様々な問題を解決するために誕生した。 ビルド時間が数十分、数時間に膨れ上がった 同じ内容でも表現方法がプログラマ間で異なり可読性が低い 自動化ツールの作成が困難 マルチプロセッサ、ネットワークシステム、大規模計算クラスタ等での開発での問題 動的型付け言語の持つプログラミングのしやすさと静的型付けコンパイル言語が持つ効率性と型安全性を両立 ネットワークプログラミングやマルチコアプログラミングを容易にする並列処理の書きやすさ 大規模システムや大規模開発システムにおける効率的なプログラミング ※Cloud Native Goに書かれていたように時代の変化に伴い上記の課題が出てきて、それを解決するためにGoが誕生したと考えるとコンテキスト含めて理解しやすそう。 迷ったらシンプルを選ぶ こうした背景を持つGo
nodejsを例に解説します。nodejsでは環境変数はprocess.env.環境変数名でとりだせます。また、開発環境・テスト環境・本番環境をそれぞれNODE_ENVという環境変数にdevelopment test productionと入れる文化があります。 アプリケーションコードに自分が今いる環境(開発|ステージング|本番)を意識させない これはつまり、コード内で環境識別変数(今回で言うところのNODE_ENV)によってif分岐を作らないという意味です。各環境にどのような設定が入るかはアプリケーションコード外にその種類分作成しましょう! bad if(開発環境){ const logger = new Logger({ level: 'debug' }); } else if (ステージング環境){ const logger = new Logger({ level: 'info }
Webアプリ構築で、まず考えるべきアーキテクチャの検討ポイント(基礎編):徹底解説! ITアーキテクトとは何か?(2)(1/4 ページ) 連載目次 ユーザーの要求をアーキテクチャに落とし込む方法とは? 前回は、アーキテクトの役割とタスクについて解説しました。今回からは、アーキテクチャ設計の話に入っていきたいと思います。アーキテクチャ設計の最初の段階で重要なのは、エンドユーザー/ユーザー企業の要求を見極めて、それをアーキテクチャに落とし込むことです。システムを設計する上で、ベストオブブリードでシステムを構成できる現在のようなオープンな環境の中では、さまざまな選択肢が存在します。その選択肢から選ぶ際に優先されるのは、「ユーザー要求」だということです。 例えば、顧客が「リアルタイムな情報反映と、その活用」を望んでいるにもかかわらず、バッチ処理中心型のシステムを設計・構築することは、エンドユーザー
Web アプリ開発をする上で読むべき基本的な本は無いかと聞かれて,すぐに出てこなくて困った 今後もそういうことを聞かれることもあるかもしれないので個人的にまとめておきたい 基本的には何かを作ってみて,習うより慣れろの精神で行くのがいい 最近は Ruby on Rails が流行りな気もするのでその辺りで役に立ちそうなサイトを紹介する Ruby on Rails チュートリアル:実例を使って Rails を学ぼう サクサク引ける Rubyリファレンスマニュアル bbatsov/ruby-style-guide Rails のチュートリアルはたくさんあるので他にも読んでみると良いかもしれない ただ Ruby on Rails が簡単というのはウソ - #生存戦略 、それは - subtech に書かれていることを全部やろうとすると絶対にハマるので分かるところから少しずつやるといい それと We
先週2月18日に都内で開催された「第36回HTML5とか勉強会」。テーマは「2013年、Web開発の進化を探る」でした。 そこで「2014年頃にはネットに接続しなくても使えるオフラインWebアプリケーションが流行するのではないか」と話したのが、html5j.orgの世話人でもある白石俊平氏。白石氏が解説する「オフラインファースト」は、これからのWebアプリケーションのひとつの方向性が示されていると思われます。 その講演の内容をダイジェストで紹介します。 オフラインファーストの思想と実践 html5j.org世話人の白石俊平氏。 オフラインファーストとは、オフラインを最初に考えてWebサイトを、Webアプリケーションを作ろうという思想のことです。 で、オフラインファーストって、モバイルファーストという言葉に似ています。モバイルファーストというのは2010年に登場した言葉で、これは去年、とにか
「安全なウェブサイトの作り方」は、IPAが届出(*1)を受けた脆弱性関連情報を基に、届出件数の多かった脆弱性や攻撃による影響度が大きい脆弱性を取り上げ、ウェブサイト開発者や運営者が適切なセキュリティを考慮したウェブサイトを作成するための資料です。 「安全なウェブサイトの作り方」改訂第7版の内容 第1章では、「ウェブアプリケーションのセキュリティ実装」として、SQLインジェクション 、OSコマンド・インジェクション やクロスサイト・スクリプティング 等11種類の脆弱性を取り上げ、それぞれの脆弱性で発生しうる脅威や特に注意が必要なウェブサイトの特徴等を解説し、脆弱性の原因そのものをなくす根本的な解決策、攻撃による影響の低減を期待できる対策を示しています。 第2章では、「ウェブサイトの安全性向上のための取り組み」として、ウェブサーバの運用に関する対策やウェブサイトにおけるパスワードの取扱いに関す
たにぐちまことさんの書かれた『よくわかるPHPの教科書(以下、「よくわかる」)』を購入してパラパラと見ていたら、セキュリティ上の問題がかなりあることに気がつきました。そこで、拙著「体系的に学ぶ 安全なWebアプリケーションの作り方(以下、徳丸本)」の章・節毎に照らし合わせて、「よくわかる」の脆弱性について報告します。主に、徳丸本の4章と5章を参照します。 4.2 入力処理とセキュリティ 「よくわかる」のサンプルや解説では、入力値検証はほとんどしていません。しかし、入力値検証をしていないからといって即脆弱かというとそうではありません。徳丸本でも強調しているように、入力値検証はアプリケーション要件(仕様)に沿っていることを確認するもので、セキュリティ対策が目的ではないからです。 「よくわかる」の中で、私が見た範囲で唯一の入力値検証は、郵便番号のチェックをするものです。以下に引用します(「よくわ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く