はじめに アプリケーションを開発するとき、データのバリデーションチェックは一般的にアプリケーション全体で発生します。TOASTのメッセージングプラットフォーム商品であるNotificationは、メッセージ形式、メールアドレス形式、受信・発信者番号など、クライアントの入力値に対して多くの検証を行い…
2020.04.15
17,242
キャッシュとしてのRedis 今回は前回お話したデータ構造について実際の活用事例を紹介する前に、キャッシュとしてのRedisについて紹介したいと思います。ほとんどのサービスでは、Redisを単なるキャッシュの用途に使用していると思いますが、このときRedisをどのように配置するかによって、システム…
2020.04.09
1,242
GitHub Actionsとは? GitHub Actionsは、GitHubで昨年末に全体公開された、開発ワークフローをGitHubで自動化できるようにサポートするツールです。コードのバージョン管理、レビューだけでなく、テスト、構築、配布などをGitHubで管理できるようになり、従来使…
2020.04.08
834
Redis? Redisは、REmote DIctionary Serverを略したものです。おそらくこの記事を読まれているほとんどの方は、Redisを使用したり聞いたりしたことがあることでしょう。 Who uses Redis? Redisはオープンソースなので、さまざまなサービスで自由…
2020.04.02
6,054
はじめに あなたがウェブページを作成するとき、豊富な機能を提供するため、よく作られているUIライブラリを用いることがありませんか?今回は、NHNで開発したTOAST UIにおいて、これまでに培った経験とノウハウを大放出したいと思います。ここでは、UIライブラリの作成方法を紹介するために、ライブラリ…
2020.03.31
1,357
概要 2018年後半、Biznet Bilisim社のAlphan YAVAS研究員によって、Apacheのmod_jkのアクセス制御迂回に関する脆弱性が公開されました。それから数か月経過した後も国内外で断続的な被害が発生しているため、該当ホールの内容と攻撃シナリオについて紹介します。 mod_…
2020.03.17
2,582
JPA/Hibernate RDBMSをリポジトリとして使用するプロジェクトにおいて、最近はほとんどJPAが使用されているようです。 なぜ、JPAはオブジェクト指向プログラミングとマッチするのでしょうか? 理由としては、主にこのようなものが挙げられるでしょう。 - メソッドでクエリを…
2020.03.12
1,642
1.ストレージの種類と特徴 現在、主に使用されているデータストアは、RDBMSとNoSQLに分けられます。それぞれの特性を見てみましょう。 RDBMS 長い歴史を持つ成熟した技術 リレーション(Relation)に基づいて重複保存を最小限に抑える 高い信頼性を持つ 比較的高…
2020.03.06
2,729
べき等性(Idempotent) コンピュータサイエンスや数学で使われる用語で、演算を何度適用しても結果が変わらない性質を意味します。たとえば、関数f(x)で次のような等式が成立します。つまり、メソッドが何度実行されても結果は同じなので、安全に使用できる性質でもあります。 f(f(x)) ≡…
2020.03.05
523
概要 TOAST Securityのサービスではセキュリティの脅威を検知し、情報を提供するサービスを行っています。直近では内部開発やサービスに使用するアプリケーションの種類が多様化し、これに伴い不要なサービスが外部に漏れるなどして、セキュリティ脅威が増加しています。今回は2018年の期間内に発生し…
2020.03.02
532