タグ

2018年7月31日のブックマーク (6件)

  • オブジェクト指向の呪いと、その避け方 - mizchi's blog

    このテーマで書く前に、まず、最初に自分に多少の偏りがあることを認めておかなくてはなりません。 オブジェクト指向より、関数指向寄り オブジェクト指向のアプローチは有用だが、ただしそれを実現する手段はクラスと継承ではない。 階層化されたツリー構造(GUI/リレーショナルな参照構造)に埋め込まれる状態はコード品質を悪化させるので、できるだけ出現するべきではない。 ただし、状態は確実に存在する。だからこそ慎重に扱うべきだ、という派閥です アンチパターン: 特に理由もないクラスメソッドへの所属 何かのバリデータを実装したいとします。 その関数がどこに所属するかについて、よく見るこれらの実装は全部アンチパターンといっていいと思います export class Validator { static validate() {...} } export class Validator { validate(

    オブジェクト指向の呪いと、その避け方 - mizchi's blog
  • 分散型システム徹底入門 – Part 2. | POSTD

    Cassandra 先ほど触れたCassandraは分散型のNoSQLデータベースで、CAP定理のAとP(可用性と分断耐性)の特性を基準に最終的な一貫性が確保されています。ただ、このように言ってしまうと少し誤解を招くかもしれません。というのも、実際のところCassandraの設定は非常に柔軟性が高く、可用性を犠牲にして強い一貫性を提供することもできるからです。ですが、そうした使用ケースは一般的ではありません。 Cassandraでは、 コンシステントハッシュ法 を使って、渡そうとするデータをクラスタのどのノードが管理するのかを決めています。そしてその際は、データを複製するノード数を示す レプリケーションファクタ を設定します。 注釈: レプリケーションファクタ=3 挿入(キー、値) Cassandraのノード(コーディネータ) Cassandraのノード ハッシュ(キー)=2 ノード#2

    分散型システム徹底入門 – Part 2. | POSTD
  • TwilioとAWS IoTボタンを使った子供のトイレ訓練 | POSTD

    2人の幼子の父親として、私は1日のうちの バカにならない 時間をうんちに捧げています。大量の、大量のうんちです。 上の子がトイレのトレーニングを始めた時、夜中でも、もよおしたら起きてトイレを使うようになりました。ただ、そんな時、子供はもよおしたことを大きな声で私に知らせるので、近くで寝ている下の子が起きてしまうのではないかとヒヤヒヤしたものです。そんなわけで、何らかの対策が必要だなと感じていました。 私はいつも、子供の協力を得ることができる、楽しくかつ斬新な方法はないものかと考えています。そしてそれが、自分のエンジニアリングプロジェクトをいじくり回すことで実現できるなら、なお良いでしょう。 うんちボタンを押す 笑顔のうんちキャラクターが貼られた装置は、Amazon Dash Buttonをベースにした Amazon IoTボタン です。子供がこのボタンを押すと、AWS Lambda関数が呼

    TwilioとAWS IoTボタンを使った子供のトイレ訓練 | POSTD
  • オブジェクト指向は難しくない(「staticおじさんの逆襲」への反論) - acomagu's diary

    qiita.com これを読んでいろいろと言いたいことが出てきたので書いておく。 以下に記事の最後のこの記事で言いたかったことから2つを引用します。 オブジェクト指向は難しい。 (どのあたりのことを「難しい」と言っているのだろう)まず「継承は難しい」旨が書いてあるが、それはオブジェクト指向使いの中でも常識で別に継承無しでもオブジェクト指向はできる。「継承よりもコンポジション」というのは間違っても「オブジェクト指向はダメだ」というメッセージではなく、オブジェクト指向の中での方法の話である。 「デザインパターンが難しい」という話も同じで、別にデザインパターンを意識しなくてもオブジェクト指向は十分にできる*1。 ただ、だからといってオブジェクト指向をやるのが難しくないというわけでもない。「問題を(オブジェクトに)抽象化するのが難しい」と言っているのであればそれはそうで、適切な抽象化を簡単にする方

    オブジェクト指向は難しくない(「staticおじさんの逆襲」への反論) - acomagu's diary
  • launchdで定期的にスクリプトを実行 - Qiita

    定期的にスクリプトを実行する場合、Mac OS Xではcrontabよりlaunchdを使うことが推奨されている。 launchdを用いてMac OS Xで定期的にスクリプトを実行する方法を記述。 特徴 設定が2種類ある: エージェントはユーザーがログイン中に実行できるプログラム。 デーモンはシステム共通で、誰もログインしていなくても実行できるプログラム。 前回の実行が終わらないと次の実行は始まらない。また、スリープ状態、シャットダウン状態では実行されない。1 標準でCPU時間、メモリ、ファイル等の使用の制限2が設けられている。必要に応じて設定ファイルで上限を上げないと、シグナルで届いてしまう。 設定ファイルを置く場所は次の通り。 場所 用途

    launchdで定期的にスクリプトを実行 - Qiita
  • NOT SO BADなブログ

    ぼっちスタートアップが日々がんばっています。

    NOT SO BADなブログ
    ko-ya-ma
    ko-ya-ma 2018/07/31
    やっぱりFunctionsはまだ辛いか