『分散オブジェクト・アーキテクチャ/ドメイン指向アーキテクチャ』について考えるなかで、「永続化」への理解が深まった。というか、このアイデアについて人と話してもかみ合わない理由が分かった。とどのつまり、ぼくが独特な感覚を持つマイノリティだったのだ。 たぶん、ふつうのプログラマから見れば、おそろしくどうでもいいことにこだわっている、ように見えるだろう。 信仰告白 ぼくは現在主流の「データベースを使った永続化」が大嫌いだったんだ。ORMとか一体何なんだ。知らんわな。なんでプログラムを書くのにSQLを書かなきゃならんのだ。(※個人的な感じ方の問題です) 「RDBからSQLでデータをとってきてHTMLで整形して出力するPHPプログラミング」なんて二度とごめんだ。データベースのために働いてるみたいじゃないか。(※個人的な感じ方の問題です) 「データベースを使った永続化」が行き過ぎると「データベース中心
TL;DR JSON Schemaを使ってこういうことが実現可能になった。 ダミーAPIサーバの提供 ドキュメントの自動生成 APIクライアントの動的定義 APIサーバのバリデータの動的定義 APIサーバのレスポンスの自動テスト JSON Schemaとは JSON SchemaというのはあるJSONのデータ構造を記述するための方法および書式の仕様で、 JSON SchemaもJSONで記述される。 これを利用すれば、リソースベースの(=RESTfulライクな)APIの仕様が簡便に記述できる。 例えば、我々のAPIはレシピとユーザというリソースを扱っていて、 それぞれCRUDのAPIを備えており、レシピはidとtitleとdescriptionという属性を持つ、 という旨をJSON Schemaで表現できる。 なんで最近ちょっと流行ってんの Mobile First、 Service Or
LatestJava volatile written Java synchronized written Java SQLite written Java Jdbi updated Java CountDownLatch written Java ZonedDateTime written Java Thread written Java Instant written Java AtomicLong written Java JAR written F# print functions written Tkinter Python programming ebook. AuthorMy name is Jan Bodnar and I am a passionate programmer with many years of programming experience. I have
enum basics - しげるメモで基本的なことをおさらいしたので、私がよく使ってるenum関係のパターンをいくつか。 ステートパターンをenumで enumを使うようになってまず一番変わったのが、 private static final int SOME_STATE = 1; みたいな典型的なアンチパターンを書かなくなりました。これはステートパターンを非常に書きやすくなったためだと思います。 よくこんなコード書いてます。本当はもうちょっとロック処理とかを書かないとだめですが、ステート部分は大抵こんな感じです。 public class Lifecycle { // 初期状態はINITIALに固定 private State state = State.INITIAL; // 外側に公開する状態遷移メソッド public void start() { state = state.st
AI Powered Tutorials Java Language Basics Maven Gradle JavaFX jUnit jsoup JPA Spring Java Selenium Hibernate Javascript Javascript Language HTML5 Canvas jQuery Events React Node.js Web CSS Selectors CSS Layout SVG Typescript Typescript Language Python Python Languages Python Selenium NumPy Pandas MatplotLib C / C++ C++ Language C++ STL C Language C Headers C# C# Languages C# LINQ C# Selenium Go La
列挙型(enum)は、JDK1.5で導入された、一連の値を定義する文法。[2006-07-26] 一番単純な定義方法はC言語の列挙型に似ているが、C言語と違って実態はクラス(と、不変オブジェクト)。 enumはenumerate(イニュームレイトあるいはイヌームレイト)の略なので、発音としては「イニューム」が正しそうだが、自分は「イナム」「エナム」と呼んでいる。 最も単純な定義方法 enum 列挙名 { 列挙子, 列挙子, … } 列挙名は、クラス名(やインターフェース名など)と同様。 (したがって、publicの付いたenumの列挙名は、ソースファイル名と同じでなければならない。また、publicの付いたenumはソースファイル内に1つしか定義できない) 列挙子(enum定数)は、フィールド名の定数(クラス内のstatic final変数)と同様。 (したがって、アルファベット大文字を使
Hi there and thanks so much for stopping by! I'm a software engineer, innovator and educator based in Sedona, Arizona (consequently a hiker and photographer). This is my journal, where I share thoughts and ideas on technology. I'm an Assistant Professor of Computer Science at Embry-Riddle. Occasionally, I speak at conferences on topics ranging from Embedded/Mobile Technology to Emotional Prosody a
a definition of this new architectural term The term “Microservice Architecture” has sprung up over the last few years to describe a particular way of designing software applications as suites of independently deployable services. While there is no precise definition of this architectural style, there are certain common characteristics around organization around business capability, automated depl
会員事業部の山下(@tomorrowkey)です。 RxJavaが流行ってますね。最近Android版クックパッドでもRxJavaが導入されました。この記事は私がRxJavaを使うにあたって検証用のテストコードを書いたものをベースに、RxJavaの挙動をみなさんに紹介したいと思います。 目次 リスト操作でおさらいする基本的なRxJavaの使い方 Observable Operator Observer / Subscribe 実行順序を確認するサンプルプログラム 7つのサンプルプログラム リスト操作でおさらいする基本的なRxJavaの使い方 RxJavaはAPIアクセスやイベントトリガーやリスト処理などを多岐にわたる処理に使うことができます。このエントリでは初学者に一番分かりやすいリストの処理を例に解説します。 これは1から10までの値を渡し、偶数だけにフィルタリングしたうえ、値を10倍に
CoffeeScript is a little language that compiles into JavaScript. Underneath that awkward Java-esque patina, JavaScript has always had a gorgeous heart. CoffeeScript is an attempt to expose the good parts of JavaScript in a simple way. The golden rule of CoffeeScript is: “It’s just JavaScript.” The code compiles one-to-one into the equivalent JS, and there is no interpretation at runtime. You can u
TypeScript is JavaScript with syntax for types.TypeScript is a strongly typed programming language that builds on JavaScript, giving you better tooling at any scale.
連載のはじめに みなさんこんにちは、今回より「聞いたら一生の宝、プログラミングの基礎の基礎」 の連載を担当させていただく本橋佑介です。 本記事では、広く利用されている技術から新しい技術まで、基本的な部分を現場のエンジニアの声を取り上げつつ解説していきます。習得している方にとっては振り返りとなり、また今から学ぶ方にとっては同じ疑問にぶつかった方の意見が参考になれば幸いです。 現場のエンジニアの声は私が開発に携わっている技術系QAサイトteratailから抜粋しています。 第1回では、現在では様々な環境で利用されているJavaScriptの基礎をteratailの初心者投稿とともに振り返っていきます。 JavaScript JavaScriptは主にウェブブラウザを実行環境とし、動的なウェブサイト構築などに利用されてきました。 また、今ではNode.jsをサーバサイドで利用することが増え、
by Leonardo Giordani <leo.giordani(at)libero.it> 著者紹介: Politecnico of Milan の通信工学部の学生で、ネットワーク管理を行っています。 プログラミング (主にアセンブリ言語と C/C++) に興味を持っています。 1999 年以降は、ほとんど Linux/Unix だけを扱っています。 目次: はじめに メッセージキューの基礎 プロトコルの作成 System V メッセージキュー お薦めの本 要約: この連載記事の目的は、マルチタスキングの考え方を紹介し、それが Linux オペレーティングシステムではどのように実装されているかを説明することです。 まずはマルチタスキングの基礎になる概念的な部分から始めて、最終的にはプロセス間通信を行うアプリケーションを完成させます。 そこではシンプルですが効率的な通信プロトコルを使い
val fruits = List("apple", "banana", "avocado", "papaya") val countsToFruits = // count how many 'a' in each fruit fruits.groupBy(fruit => fruit.count(_ == 'a')) for (count, fruits) <- countsToFruits do println(s"with 'a' × $count = $fruits") // prints: with 'a' × 1 = List(apple) // prints: with 'a' × 2 = List(avocado) // prints: with 'a' × 3 = List(banana, papaya)
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く