Updating outdated libraries is important. Longtime outdated libraries probably lead difficult updating libraries. Sometimes they have breaking changes. We can reduce the risk updating libraries frequent and keep them small size. Meanwhile, it’s difficult to catch up with ALL outdated libraries and updating them frequently. Since our works aren’t only updating them. Get outdated libraries…More
Tag Archives: development
iOS 11 Programmingを今更だけれど読んだ
そういえば、半年以上はもう経ってますよね… 飛行機の待ち時間とかにざっと読んだり、所々、きになるところは写経しながら読んだ。知っているところ、知らないところと様々あったのですが、あの時期にこれだけのものをリリースしたのってやっぱりすごい… 個人的には、Decodable付近の話が一番実際の仕事にも結びつく感じでよかったです。PDFKit付近は、簡単なアプリ作成も兼ねて作ってみようかなと思いました。技術書系も大体はebupで購入してGoogleBooksにあげている生活なのですが、たまにPDFのものを手に入れることもありますし。そんな時に自分で作ったものでサクッと読むとかやっぱり面白いですよね。(そこまで簡単にPDFを組み込める、というところが特に面白かった) iOS 11 Programming 著者:堤 修一,吉田 悠一,池田 翔,坂田 晃一,加藤 尋樹,川邉 雄介,岸川 克己,所 友太,永野 哲久,加藤 寛人, 製本版,電子版 PEAKSで購入する そういえば、Metalもそうだったんだ、確かにというところが多くてとても為になりました。 ありがとうございました。More
“Designing Autonomous Teams and Services”を読んだ
元々はこれ => http://www.oreilly.com/programming/free/designing-autonomous-teams-and-services.csp ちょくちょくと、オライリーさんからこういった無料で購読できる、ちゃんとした内容のものが増えているように見えますね。こういうところで経験をまとめ、今後のビジネスにしていくという著者のスタイルとか一般化しているのでしょうか… この書籍を表現すると、複雑な課題に自律的に取り組める組織/サービスを作る、ということだろうか。(タイトルのまんま…) 実際に、この書籍は単に組織の話だけではなく、例えばBDDやユースケースをモデリングして管理する為のサンプルの提示なんかもしている。Microservice関係の書籍、Spotifyのエンジニアリング組織といったあたりの有名どころの情報に触れていない人にとっては、よくまとまった書籍という感じがします。 気になったところをかいつまんで以下に残しておく。あまり文章としてまとめる気持ちにならなかったので、今後の自分のポインタとして… どこに境界を引くかというところ To maximize autonomy and enable business agility, it is essential to align organizational and technical boundaries. 誰/何に自律的なところを期待するか これらを持っているチームの場合、より高い嬪度で良い連携を組むことができる。 Aligned autonomy—that is, a shared understanding of the company’s strategic context and key objectives Autonomy to make business and product decisions Autonomy to develop a rich understanding of user…More
[app]fuse
ちょうど、 https://www.fusetools.com/ というツールを見つけたので触ってみた。 期待としては、やっぱり簡単にアプリの雛形を作ることができ、その雛形を参考にAndroid/iOSの各プラットフォームでプロダクトを開発することができる状態でしょうか。 少し触った感じ、previewがうまく動かなかった… マシンスペックも関係するのか。。。 まだBetaなので、もう少ししたらまた触ってみよう。 こういうのを試してみようとした。 https://www.fusetools.com/examples/circle-menuMore
[Elixir]Registerを覗く
key-value processとしてElixir1.4に入れる予定の Register というものが公開されました。 https://github.com/elixir-lang/registry 付属のベンチマークによると、以下のように高い性能が出ていることがわかります。 the result of https://github.com/elixir-lang/registry/blob/master/bench/ MacBook Pro (Retina, 15-inch, Late 2013) OS: Mac OS 10.11.6 processor: 2.6 GHz Intel Core i7 memory: 16 GB 1600 MHz DDR3 Erlang/OTP 18 $ TASKS=8 MIX_ENV=bench mix run bench/erlang.exs {835251, :ok} $ TASKS=8 MIX_ENV=bench mix run bench/gproc.exs {732408, :ok} $ TASKS=8 MIX_ENV=bench mix run…More
[Elixir]diff of struct against elixir 1.2.6 and 1.3.1
pattern match with struct Structでもpattern matchingすることができる [Kernel] Allow variable struct names when matching, for example, %module{key: “value”} = struct __struct__ __struct__ が補完候補に出てこない。けれど、使うことは可能。 Elixir 1.2.6 Elixir 1.3.1 ただし、Elixir1.3.1でも、 と使うことは可能。More
[iOS]EarlGreyを使ってシナリオを記述する
過去、 EarlGreyが出たての頃に試してみた のですが、最近またプライベートで使ってみたので自身のために残しておきます。 対象のproject: https://github.com/KazuCocoa/MyGithubSearch 対応コミット: https://github.com/KazuCocoa/MyGithubSearch/commit/bd83bf8668260978ec6941bd8c003470c9443167 幾つかサンプルではなくて自分で使ってみて、Appiumとの使い分けやテストレベルの対応などもある程度私の中で腑に落ちた感じがしました。 EarlGreyについて EarlGreyは、XCUITestみたいに描画要素に対して何らかの操作を行うライブラリです。面白いのは、 UIView をハックしてなにか操作を模倣するのではなく、 UIAccessibility Protocolを操作する。 リポジトリはこちら。 https://github.com/google/EarlGrey EarlGrey自体の説明はあるのでここでは書きません。 セットアップ、導入 https://github.com/google/EarlGrey/blob/master/docs/install-and-run.md Swiftサンプル https://github.com/google/EarlGrey/blob/master/Demo/EarlGreyExample/EarlGreyExampleSwiftTests/EarlGrey.swift 何か困った時 使えるAPIや、使い方がわからないとか、そういう時はテストコード読んだりAPIドキュメント見るとある程度対応できます。 APIドキュメント https://github.com/google/EarlGrey/blob/1.0.0/docs/api.md Matcherの実装 – どのように動作しているか、といった説明も書かれているので、ざっと一読することをお勧めします – https://github.com/google/EarlGrey/blob/master/EarlGrey/Matcher/GREYMatchers.h – AccessibilytLabelやidentifierの他にも、Valueなど多くの要素が使えるのよいですね – ただ、 We strongly recommend using an accessibility identifier as it uniquely identifies an element. と書かれているように、やぱり accessibilityIdentifier を使うことが良いことには変わりなさそう。ここは激しく同意。 Other Tips 要素を見つけたい時 シミュレータだと、AccessibilityのAccessibility Inspectorを有効にしてそれを使うと良いです…More
Reading “Raft” – consensus algorithm
Raftという、合意アルゴリズムが存在する。これは、多数決を元にした多数派の意見を決定するためのアルゴリズムで、分散環境下における合意形成でも使える。最近、分散系の幾つかのWebサイトを眺めていると見つけた。 私は、こういう系統の技術分野は大学院の頃にByzantine General Problemを扱ってから比較的興味を持っている。 実際のツールだと、CoreOSのetcdやhashicopeのconsulなんかで使われているみたい。 Raft自体に関係するところは以下。 https://raft.github.io/ http://thesecretlivesofdata.com/raft/ 幾つかの言語で実装されているみたい。etcdではgolangぽい。 Erlang実装の1つ https://github.com/dreyk/zraft_lib Elixir実装の1つ。 https://github.com/mururu/rafute 幾つかRaftの論文のreferencesを見てみましたが、Byzantine faultなんかはやぱり参考にされていました。2014年が論文としては初出? LESLIE LAMPORT氏によるByzantine General Problemの問題は、懐かしさがある(大学院の頃によく読んでいた)。最近はご無沙汰だけれど、技術だけの話でいうとこれ系が関わる仕事はしてみたいな。 参考 http://blog.obfuscatism.net/2014/12/01/raft.html http://kumagi.hatenablog.com/entry/distributed_system_taxonomy_part4More
[Elixir][Erlang]difference of binary
double quote and single quote have different meanings between Elixir and Erlang. In addition, “$” and “?” also have. They make me confuse a bit … 😦 Elixir > ?a 97 > [?a] == ‘a’ true > [?a] == “a” false > is_bitstring “a” true > is_bitstring ‘a’ false Erlang > $a. 97 > [$a]…More
[Elixir]愚直にズンドコキヨシ
こちらの「ズンドコキヨシ」を簡単に実装してみた。Streamとか、そういうのは使ってない。実際に処理するメソッド数は3つ。 Enum.take/2 のようなものは使っていない。 This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters Show hidden characters defmodule Znd do @z "ズン" @d "ドコ" @k "キ・ヨ・シ" def kiyoshi,…More