概要
第1特集
なぜ関数型プログラミングは難しいのか?
Lisp,Scala,Haskell,Elixir,Python,Clojure,関数型のエッセンスを学習する
なぜ「関数型プログラミング」は難しいのか。その問いに応えるべく総力特集を組みました。まず原点に戻るためLispの基礎を解説しました。歴史を振り返りながら,数学の関数との違い,Lispの特徴紹介とその使いこなしをまとめました。
そして現代です。チャットワーク(株)様では既存のPHPアプリケーションをScalaに移植しました。その過程で開発者達の間で起きたさまざまな知見を公開します。(株)はてな様では多くのサービスをScalaに直してきた実績から,小さな部品を組み合わせ大きなプログラムを作っていくためのノウハウを解説いただきました。人気のHaskellは数学と物理での利用例をベースに,どのように数式をコード化するのか実例を紹介します。そしてWeb開発系での本命とも言われるElixirは導入方法から学習方法まで一気に解説!
Pythonも関数機能をベースにその特徴を紹介します。最後はJava上のLispであるClojureです。ライブコーディングをはじめとして,楽しく今風に関数型を学ぶやり方を公開します。
第2特集
安全な通信を確保するSSL/TLSの教科書
インターネットの通信セキュリティを確保するしくみをマスターしよう!
スノーデン事件,POODLE事件など,インターネット上のセキュリティ意識が高まりを見せている昨今,本特集ではその基礎技術であるSSL/TLSについて解説を行います。
第1章では,現在のインターネットの安全性に関し,通信内容の盗聴,データの改ざん,なりすましなどがないように,どのような暗号化や認証などが行われているのかを解説します。
第2章では,SSL/TLSによる暗号通信の流れと,その暗号化技術(暗号スイート)のアルゴリズム,SSL/TLSのバージョンによる違いについて詳しく解説します。
第3章では,過去に起こった実際の事件やTLSの脆弱性を例にとり,安全な通信を確保するためのTLSサーバの設定方法について解説します。
Appendixでは,TLSの今後の話としてTLS 1.3とHTTP/2の概要を紹介します。
短期集中連載
新連載 AWSで始めよう! モダンなJavaアプリケーション開発【1】
JavaとDockerで始める実践Elastic Beanstalk入門
Amazon Web Services(AWS)やGoogle Cloud Platformなどのクラウドプラットフォームの出現によって,少ない費用,短い期間でITインフラの調達ができるようになり,クラウドプラットフォームは個人やスタートアップ企業などにとって欠かせないものになっています。しかし,Webサービスの公開などにあたり,アプリケーションサーバの構築,ロードバランサの設定,監視やスケールアウトの設計などインフラ層の設定は多岐にわたるため,運用コストも少なくなくWebサービスの開発だけに注力するには,まだまだ難しいのが現状です。そのような問題を解決するのがAWSが提供するElastic Beanstalkというサービスです。今回は一番ホットな仮想化ソフトウェアのDockerとJavaを例にElastic Beanstalkを使ったWebサービスを公開する方法を紹介します。
短期集中連載
Kotlin入門【5】
null安全
プログラマに優しい現実指向JVM言語「Kotlin」を紹介する連載企画。Androidアプリケーションの開発をゴールとして解説していきます。前回はKotlinにおけるクラスとその周辺の機能,文法を紹介しました。今回はKotlinのユニークな機能であるnull安全について解説します。