サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
掃除・片付け
matsu-chara.hatenablog.com
2020/2にbefore 600点台(正確な値は紛失)から始めて2020/9に目標(900点以上)を達成しました₍₍ (ง´・_・`)ว ⁾⁾ うれC ₍₍ (ง´・_・`)ว ⁾⁾ ₍₍ (ง´・_・`)ว ⁾⁾ ₍₍ (ง´・_・`)ว ⁾⁾ pic.twitter.com/pKDX2mPmW6— まっちゃら (@matsu_chara) 2020年9月28日 英語学習は最初の入門のところが割と難しいなと思ったので、やったことをまとめておきます。(なお、この記事は頑張ったから自慢したい気持ちが90%、他の人に参考になったらなという気持ちが10%で提供されています。) ちなみに英語指導経験があるとか、すごいペラペラになったとかそういう感じではないので、近くに英語に詳しい人がいる場合はそちらの人の言うことに従うのがおすすめです。(あくまで素人がやったことが書いてあるだけ) 基本的にリスニ
ここに書くことによって途中でやめられなくするメソッドです。 ハッカーニュースを眺めていたら以下のようなCS系講義動画のまとめリポジトリが流れていました。 GitHub - Developer-Y/cs-video-courses: List of Computer Science courses with video lectures. へーっと思いながら何個かポチってみたところ以下に出くわしました。 15721.courses.cs.cmu.edu 英語が(自分にとって)聞き取りやすく、動画の品質(画質やスライドがちゃんと見えるかどうかといった部分)も良いものでかつ興味のある内容で出来ればスライドもおしゃれで・・・となるとなかなか少ないですが、これはかなり見やすいです。 スライドも概念図が頻繁に登場したりして、これだけでも聞き取れなかった部分などをかなり補完できます。 スケジュールページ
これは何 証券Fintechに入るぞ・入ったぞ!という人がドメインについて学べるような本・ページを集めてみました。 会社特有の業務知識ではなく業界で広く使える知識を学べる物を集めようとしていますが、筆者の守備範囲依存による分野の偏りは否めません。(追記: たとえばデリバティブ関連などは筆者の経験がないのでほぼ記載がありません。) こういう分野があってこういうことが議論されてるんだなーといった形で興味を持つきっかけとしての本を挙げています。(自分で金融商品を考えるぞ!という人向けではなく、ETF扱うサービスの開発するならETFって何かくらいはうっすら知っておきたいよねーくらいのモチベーションの人向き) 最初に何読めばいい? せっかくだからなにか勉強したいなーという人は資格系の欄にある証券外務員についての本を買っておくと広めに勉強できます。 ただし、個別の金融商品(ETF, 投資信託,…)の解
見積もりについて思ってることとかをまとめてみました。 マネージメントの実戦経験というよりソフトウェア開発手法について学んだ結果のアウトプットみたいなノリでみていただければ幸いです。 社内勉強会で話したので会社のスライド使ってますが、会社が今こうというわけではなく一般的な話にとどめています。(あとstudy_lean_agileっていう名前の勉強会なんですが、このスライドはリーンもアジャイルもあまり意識していません) 前半は自分なりの考え方、後半は具体的にはこうしたらいいんじゃないかと思っていることという風に分けています。 誰のための見積もり・何のための見積もり part1 from matsu_chara Matsubayashi www.slideshare.net 誰のための見積もり・何のための見積もり part2 from matsu_chara Matsubayashi www.s
本の感想を書くことによりいい感じにブログネタを切らさないようにする生活(´・_・`) だいぶ前から読んでいた本をついに読み終わりました。 https://www.amazon.co.jp/Java%E4%B8%A6%E8%A1%8C%E5%87%A6%E7%90%86%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-%E2%80%95%E3%81%9D%E3%81%AE%E3%80%8C%E5%9F%BA%E7%9B%A4%E3%80%8D%E3%81%A8%E3%80%8C%E6%9C%80%E6%96%B0API%E3%80%8D%E3%82%92%E7%A9%B6%E3%82%81%E3%82%8B%E2%80%95-Brian-Goetz/dp/4797337206 Scalaだとakkaとかあって、アク
2017年2月28日付けで株式会社ドワンゴを退職しました。 新卒入社から二年弱、Scalaを書いたり、ScalaTextの作成に参加したり、Kafkaを運用したりしていました。 短い期間でしたがscalazコントリビューター1位&2位の人*1を含め、色々な側面ですごい人達と同じチームで仕事が出来たのはとてもいい経験になりました。 チラシの裏になりますが、せっかくの節目なのでドワンゴの思い出を書いていきます。個人ブログだしね₍₍ (ง´・_・`)ว ⁾⁾ Slackと分報チャンネル ドワンゴはSlackが異様に発展していてチャンネルが2700以上あり、自分自身もjoin数が社内2位(700チャンネル)になるほどハマっていました。 最近では分報も急速に発展しています。#times_matsu_charaはジョイン者数55人で、こちらも社内2位でした。 割りと長いこと1位だったのですが人事部長に
BiTemporal Modelingについてちょっとだけ調べたりしたのでメモ。 基本的に Temporal Data Models(ppt注意)とTemporal Databasesを大幅に端折ったものに他の資料を少しだけ入れた感じの内容です。 Temporal Data Models BiTemporal ModelingはTemporal Data Modelsという分野で研究されているモデリングの一種です。 Temporal Data Modelでは時間によって変わっていくデータを扱います。 ちなみにここでいうData ModelはData Structure+Query Languageを意味します。 データが時間によって変わるということは何らかのUpdate操作が必要です。一番単純な方法を考えるとDBのレコードを直接更新(無効になったデータは削除)することでUpdate操作を実
最近思ったことを書いておく備忘録的なものです。 特に1on1経験が豊富なわけではなく、むしろ経験が浅いので、何を学びながら進めばいいのやらという段階でのものです。 1on1と困りごと 1on1に何を求めるのか?というのはベースになる考え方はありつつも、個人・チーム・組織の状況によって異なると思います。 将来のキャリアパスについての相談やポジティブなことの共有などもあると思いますが、それと同じくらい困ったことを聞くことが多いと思います。 「困ったことを聞いて、(個人が解決できるように or マネージャーが or ...)解決に導く。」これが、チームの生産性向上に寄与するというのはある程度自明に思えますし、 困ったことを話して、解決してくれるマネージャー*1は頼りがいがあり、まさに信頼できる優秀なマネージャー像にピッタリではないでしょうか。 理想と現実 一方で組織の全権を持っているわけでもない
この記事の結論 globalなExecutionContextではブロックする処理をblockingで包むとスレッド数が勝手に増えるから空きスレッドが無くて実行できないといったことを防げる。 ExecutionContext.fromExecutorService(new ForkJoinPool(100)) で生成されるThreadはBlockContextトレイトを継承してないのでblockingを使ってもスレッド数を増やした方が良いという情報がスケジューラに伝わらない。 akkaのdispatcherをExecutionContextとして使うとBlockContext付きのForkJoinPoolを簡単に作れる。 ExecutionContext.fromExecutorServiceでもForkJoinPoolのコンストラクタに自前定義したThreadFactoryを渡すようにす
dockerコンテナ上で何故かcurlが上手くつながらない問題にハマったのでメモするシリーズ。 環境 Ubuntu 14.04.5 LTS ( on OpenStack) Docker version 1.11.2, build b9f10c9 症状 ホストで curl https://github.com は正常にレスポンスを受け取れるのにもかかわらず、コンテナ上で同じことを行うとレスポンスが帰ってこない(ハングする)。また極稀にレスポンスが中途半端に返ってくることがある。 原因 コンテナのMTUの値がホストのeth0と合っていなかった。( ip addr などで確認) (暫定的な)対処法 DOCKER_OPTSに --mtu 1400 など(数字はeth0のMTUと合わせる)を加えてdockerを再起動する。 背景とか 調べてみると何個かこういう報告がありました。 docker 1.1
前回Javaのマルチスレッドについて勉強して、辛すぎる(∩´﹏`∩)となったので、akkaを勉強するぞ―!と思っていたのですが、気になる資料を見つけました。 並行処理の統一モデルへの動向 コンピュータ業界はオブジェクト指向を基に関数型言語に移行する動きにあります。 更に並行処理はマルチスレッドから、Actorモデルに移行しようとしています。 Actorの利点だけがクローズアップされて、全て解決のような風潮があります。 そこで、Actor, Agent, CSPについて調べてみました。 _人人人人人人人人人人人人人人人人人人人人人人人人人人人人人人人人人人人人人_ > Actorの利点だけがクローズアップされて、全て解決のような風潮があります。 <  ̄YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY ̄ Actorだけで満足し
Freeモナド、難しいですよね(´・ω・`) ということで今回は、Freeモナドの「Freeの部分だけを味わっちゃう」コースを用意しました。 つまりFreeモナドではなくてFreeマグマ(マグマについては後述)とかFreeモノイドとかを見て、何となくFreeなんちゃかがどういう物なのか感じてみようということです。 全編、Free, but not as in beer or speech - Dan Piponiをフルにパク参考にしています。 もとはHaskellですが分かりやすい図が一杯載っているので、ぜひそちらも一緒に見てみてください。 マグマ マグマというのは、ざっくり言うと、「群から逆元を取り去った「モノイドから単位元を取り去った「半群から結合法則を取り去った「もの」」」」がマグマです。 もはや何も残っていないんじゃないかと思いますが、「とりあえず何か一つ足し算的な演算が定義されて
追記 間違っていないことを示していただけました → 「Scalaに存在演算子を求めるのは間違っているだろうか」の解答例 - scalaとか・・・ さらにLensでも → 「Scalaに存在演算子を求めるのは間違っているだろうか」をLens/Prismで解いてみる - 独学大学情報学部 (間違っていないけど、そういう抽象化が適切とは言っていない) 精進せねば・・(´・_・`) 追記終わり。 あなたはそこにいますか CoffeeScriptには存在演算子?. があります。 これは、JSONのようなネストした構造で、かつ値が途中でnullになってるかもしれないけど一番内側の値が欲しい! ときに便利な仕組みです。 コードとしては obj = { e : { d : { c: { b: { a: { value: 1 } } } } } } # 存在演算子を使ってvalueにアクセス! obj?.e
前々からほしかったので時短で雑に作った。 https://github.com/matsu-chara/slack_user_avatar_emojis matsu_chara ユーザーだったら :m_atsu_chara: のような絵文字になる。(名前そのままだとメンションになってしまうため回避するためにアンダーバーを入れている。) 既に登録済みでも上書きとかされないので新規ユーザーが入ってくる度に流してもOK。ただしアイコンの更新は未対応。 追記: 誰かがアイコンを更新する度に手動で削除するのが大変だったので一旦emojiを削除してから登録するようにした。
HackがあればPHPでも型がつけられる!とか色々言っている割にインストールすらしてないありさまな状態から脱出すべく入門しました(´・_・`) ちなみにHackというのはジェネリクスや返り値の型指定など、PHPのタイプヒンティングを強化したような機能をもっているFacebookが作った言語です。 詳しくは以下を参照すると良いと思います( ⁰⊖⁰) Hack 新言語Hackで最強PHPerになろう! - Qiita Dockerで構築 いつものようにVagrantでやろうかなーと思ったのですが、 そろそろカジュアルにDockerを使えるようにならねばという気持ちもあったのでDockerで環境構築しました。(ちなみにhhvmはmacに対応していません。南無三) ちょうど同じようなことを公開してくださっている方がいたので、 Docker で Hack - Qiitaの記事をベースに始めました。
再びpandocとmarkdownネタ。 前回はこちら markdownからhtml生成できてすごい!となったんですが、 見栄え的にはGithub風になっていると落ち着くということで出来ないかどうか調べたところ出来そうだったので方法をメモ github.css github風のCSSを公開してくださっている方がいるので、ダウンロード Github Markdown CSS - for Markdown Editor Preview テンプレートを作成 C:\Users<ユーザ名>\AppData\Roaming\cabal\pandoc-1.11.1\data\templates のdefault.html5をコピーしてgithub.htmlなどの適当な名前にする。 headタグの中の適当なところにgithub.cssの中身をコピー markdownからhtmlを生成 > pandoc -
Apache Kafka Meetup Japan #1 at Yahoo! JAPAN - connpass Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集 from matsu_chara www.slideshare.net ザクザクとした発表になりましたが、これからKafkaを導入しようとか今導入してますという人たちにとって役立つ情報になると良いなと思っています。 RAIDについては、カーネルパニックにしちゃえば良いのではという意見も頂き色々進捗しそうです。 Brokerのヘルスチェックと組み合わせてやりたい・・メトリクスの可視化もしたい・・。 Scala研修テキストも公開されているので、 今回のも含めて、お仕事でやっていることが大体外部に公開できていることになりました。 こういう感じでオープンに仕事できるというのは良いことですね₍₍ (ง´・_・
結論 wrappers.protoが便利 背景 protobufでは値を省略したときに、その型で定められたデフォルト値が代入されます。 例えばstringを省略すると自動的に""を指定したことになり、「値が指定されなかった」のか「空文字列を明示的に入れた」のかを区別しないように書くことが求められます。 この仕様は便利なのですが、時には区別したいケースもあります。 このとき下の方式2, 3のようなテクニックを用いて未指定とデフォルト値を区別することができます。 message Example { // 1. ダイレクトに定義(デフォルト値と未指定を区別できない) string foo = 1; // 2. 専用のmessageを定義 message Bar { string value = 1; } Bar bar = 2; // 3. oneofで定義 oneof baz_option {
某会社の某アカウントシステムで使われているという継続モナドコントローラーですが、 今までいまいちよくわかっていなかったのですが友達に教えてもらってなるほど!と思ったので書き記します。 ActionCont 継続モナドコントローラー(ActionCont)については以下の記事で解説されています。 なぜPlayのコントローラで継続モナドを使うと便利なのか? PlayFramework - 継続モナドを使ってWebアプリケーションのコントローラーを自由自在に組み立てる - Qiita 本記事では「継続 = 何か残りの処理が呼べるやつ」という雑かつ不正確な認識でもActionCont便利じゃん!使ってみよ!と感じられることを目指すので、なんとなくの概要が頭に入っていればよい(はず)です。(なので、ActionContのメリットなどがもうわかってる人にとっては当たり前じゃん?みたいな内容です) Sc
プログラミングを学ぶ際に、プログラミング言語に関する論文を読む。 という概念を最近学んだので、いい感じにいい感じなやつを教えてもらって読みました。 メモ書き程度ですが、簡単に面白かったところを紹介します。 最初はサマリー書くぜー₍₍ (ง ˘ω˘ )ว ⁾⁾と思ってたけど、 大変すぎて大変だったのでやめておくことにしました。 しっかり理解してないと要約を書くのは難しいですね。(´・_・`) trait 読んだのはこちら。 http://scg.unibe.ch/archive/papers/Scha03aTraits.pdf traitが提案された論文で、traitが生まれた経緯と狙いについて書いてあります。 traitとmixinって似てない?っていうかmixinの方が良くなくないない? という方におすすめです。( ⁰⊖⁰) 論文では、単一継承や多重継承、mixin継承の問題点やtrai
基本的に以下からそのまま取ってきています。 ドキュメント Futures — Util 21.5.0 documentation コメント util/Future.scala at util-6.45.0 · twitter/util · GitHub 説明用のざっくりポインタとしてまとめる予定だったのに、あれもこれもと欲張ってしまった代物。(その割に全部あるわけではない。) playからfinagleに移行してきたりするとメソッド名が細かく違ったりするのに最初は戸惑いますが、Scala標準Futureとakkaのschedulerを使ったことがあれば、すぐ慣れつつ便利さを感じられると思います。 例ではThread.sleepを呼びまくっていますが、そのへんの事情はScala標準のFutureと同じなのでちゃんとやるときはFuture.sleepやtimer.doLaterなどを使ったほう
第二のドワンゴアドベントカレンダー10日目です。 昨日は @yyuさんのブロックチェーンを利用した公平なガチャでした。 公平なガチャシリーズは全部おもしろいのでおすすめです。 今回はCombiningTreeによる高速なカウンターを紹介したいと思います。 ベースはThe Art of Multiprocessor ProgrammingとScalable Concurrent Counting. 1994にある内容です。 高速なカウンター 1,2,3,...と数を数えることはよくあると思いますが、マルチコア環境で高速に数えたいケースについて考えてみます。 javaなどでは AtomicIntegerなどがよく利用されると思いますが、ここでは更にスケールするカウンターを考えてみたいと思います。 ComibiningTree スケールすると言っても、一つのアドレスを書き換えあうアプローチでは、
FOLIOアドベントカレンダー 9日目です。 昨日は quantroさんの バリュー投資とかグロース投資とかの整理 でした。 NewSQLを調べつつ最近はストレージ周りにも手を出してみたいバックエンドエンジニアの @matsu_chara です。 今回はFAST '17のBest PaperであるApplication Crash Consistency and Performance with CCFS を読んだので紹介や感想を書きたいと思います。 自分が面白いと思ったところを中心にしたり、個人的に調べた内容が入っていたりするので正確かつ完全な情報は上記論文や関連文献等を直接読んでいただければと思います。 ざっくり アプリケーションレベルでのCrash Consistencyの正確性を向上させるための仕組みを持ったファイルシステム CCFS(Crash-Consistent File S
FOLIOアドベントカレンダー2021 12日目です。 FOLIOではrefinedというライブラリを採用しているので、活用事例とその目的について考えていこうと思います。 お品書きは以下です。 refinedとは ドメイン知識の形式知化 契約を型で表すことによる認知漏れリスクへの対策 プラットフォームとしてのrefined まとめ refinedとは refined はScalaでrefinement typeを表現するためのライブラリで、Haskellの 同名ライブラリ のScala版として開発されました。 refinement type(篩型, ふるい型) はざっくりいうと、「値が0以上である」とか「長さが1以上である」といった制約を型で表現し、静的に保証するための概念で、1991年にFreemanらによってRefinement Types for MLで提案されました。 利用方法 r
Reladomoはゴールドマン・サックスが公開しているJava向けORMです。 https://github.com/goldmansachs/reladomo-kata にチュートリアルが公開されていたので触ってみました。 ちなみにReladomoもReladomo-KataもApache License 2.0です。 Chaining JavaのORMにも色々種類があると思いますが、Reladomoの特徴的な機能としてChainingが挙げられます。 Chainingという単語自体には色々意味があるようですが、Reladomoが持つChainingは監査のためにオブジェクトに対する変更履歴を全て保存し後から履歴を追跡出来るようにするための機能です。 監査用履歴は基本的には通常のアプリケーションから利用されることはあまりありませんが、履歴の保存や定期的な参照が必要になるようなユースケース
歌舞伎座.tech#9「異種プログラミング言語格闘勉強会」 - connpass で発表しました。 オープンな勉強会で発表したのは初めてだったので胃に穴が空きそうでしたが、なんとか乗り越えられました・・死にそう・・・(◞‸◟) ponyの知名度がちょっとでも上がれば幸いです。 Pony concurrency built into the type system from matsu_chara www.slideshare.net erlangのメッセージパッシングは全てデータコピーが発生すると表現したところがありましたが、誤りでした。 http://www.ponylang.org/papers/fast-cheap.pdfのイントロから引用したのですが、もう少し調べたほうが良かったですね。(論文に書いてあるからといって安心してはいけない的な教訓・・)*1 erlangでは特定のバイト
はてブロをmarkdownで書いているので、 せっかくなら他にも色々使いてーな( ´_ゝ`) と思ったら色々使えそうだったので色々まとめました。 目次 markdown hereでevernote, gmailを便利に pandocで文章フォーマット変換 sublimeでpandoc markdown here markdown hereはchromeやfirefoxの拡張機能です。 インストールはこちらから→http://markdown-here.com/get.html 入れると evernoteとかgmailでctrl+alt+mによってmarkdownで書いた文章に装飾が付きます。 (markdownから普通の文章に戻した後の再変換時にうまく変換されないときは全選択→ctrl+spaceでフォーマットを消すとうまくいきます。たまに変なフォーマットが残ってしまうらしい) 設定画面で
Typelevel quicksort in Scalaで、 型レベル自然数リストのコンパイル時クイックソートなるものが紹介されているので、 おもしろそうだなと思って実装してみました。 こちらの記事ではshapelessのHList実装を参考に作られているのですが、 今回は、色々な型の値をいくつでも入れられる型安全な“HList”を実装する - Qiitaで紹介されている HListの実装をベースに作成したものを使用しました。 細かい動作の説明を入れたり、REPLの実行例を入れたりしてたら、だいぶ長くなりそうなので分割2クールにしました。 コードはこちら( ⁰⊖⁰) GitHub - matsu-chara/HListQuickSort: コンパイル時クイックソート 目次 この記事 前準備 型レベル自然数 型レベル自然数の比較 次の記事 HList HListの分割 QuickSort 前
はろぽに〜₍₍ (ง´・_・`)ว ⁾⁾ Pony 0.3リリース 🎉 2016年8月26日にPony 0.3がリリースされました。 チュートリアルについてのブログを書いたときから大分経ったような気がするので、 最近のPony事情についてちょっとまとめようかなーと思います。 (ついでにチュートリアルについての記事はdeprecated的な文言を先頭に付けました。試してないですが多分色々動かないところがあると思います。( ◜◡‾)) Pony を取り巻く環境の変化 Main君爆誕 今年の5月ごろPonyのマスコットキャラクターであるMain君が生まれました。goで言うところのgopherポジションだと思います。 Introducing Main, the Pony Mascot. 最初は( ◜◡‾)???となったんですが、しばらく眺めていると謎の良さみが深まります。slackのemojiに
次のページ
このページを最初にブックマークしてみませんか?
『だいたいよくわからないブログ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く