サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
掃除・片付け
matsu-chara.hatenablog.com
Freeモナド、難しいですよね(´・ω・`) ということで今回は、Freeモナドの「Freeの部分だけを味わっちゃう」コースを用意しました。 つまりFreeモナドではなくてFreeマグマ(マグマについては後述)とかFreeモノイドとかを見て、何となくFreeなんちゃかがどういう物なのか感じてみようということです。 全編、Free, but not as in beer or speech - Dan Piponiをフルにパク参考にしています。 もとはHaskellですが分かりやすい図が一杯載っているので、ぜひそちらも一緒に見てみてください。 マグマ マグマというのは、ざっくり言うと、「群から逆元を取り去った「モノイドから単位元を取り去った「半群から結合法則を取り去った「もの」」」」がマグマです。 もはや何も残っていないんじゃないかと思いますが、「とりあえず何か一つ足し算的な演算が定義されて
HackがあればPHPでも型がつけられる!とか色々言っている割にインストールすらしてないありさまな状態から脱出すべく入門しました(´・_・`) ちなみにHackというのはジェネリクスや返り値の型指定など、PHPのタイプヒンティングを強化したような機能をもっているFacebookが作った言語です。 詳しくは以下を参照すると良いと思います( ⁰⊖⁰) Hack 新言語Hackで最強PHPerになろう! - Qiita Dockerで構築 いつものようにVagrantでやろうかなーと思ったのですが、 そろそろカジュアルにDockerを使えるようにならねばという気持ちもあったのでDockerで環境構築しました。(ちなみにhhvmはmacに対応していません。南無三) ちょうど同じようなことを公開してくださっている方がいたので、 Docker で Hack - Qiitaの記事をベースに始めました。
追記 間違っていないことを示していただけました → 「Scalaに存在演算子を求めるのは間違っているだろうか」の解答例 - scalaとか・・・ さらにLensでも → 「Scalaに存在演算子を求めるのは間違っているだろうか」をLens/Prismで解いてみる - 独学大学情報学部 (間違っていないけど、そういう抽象化が適切とは言っていない) 精進せねば・・(´・_・`) 追記終わり。 あなたはそこにいますか CoffeeScriptには存在演算子?. があります。 これは、JSONのようなネストした構造で、かつ値が途中でnullになってるかもしれないけど一番内側の値が欲しい! ときに便利な仕組みです。 コードとしては obj = { e : { d : { c: { b: { a: { value: 1 } } } } } } # 存在演算子を使ってvalueにアクセス! obj?.e
Scala初心者がShapelessのHListでderivingをどうやるのかを学んだ話 - だいたいよくわからないブログでは、HListに対しての演算を定義すればcase classに対しての演算をいちいち定義する必要がない。(case classをHListに変換→HListで演算→演算後のHListをcase classに戻せばよい。)ということを紹介しました。 しかし、紹介したコードではcase classをHListにするためのfromとtoメソッドをいちいち手書きする必要がありました。これでは本末転倒ですので、今回はfromとtoの自動生成をマクロで行いたいと思います。 とりあえずbuild.sbtです。 name := "Iso" version := "1.0" scalaVersion := "2.11.6" libraryDependencies += "org.sc
Typelevel quicksort in Scalaで、 型レベル自然数リストのコンパイル時クイックソートなるものが紹介されているので、 おもしろそうだなと思って実装してみました。 こちらの記事ではshapelessのHList実装を参考に作られているのですが、 今回は、色々な型の値をいくつでも入れられる型安全な“HList”を実装する - Qiitaで紹介されている HListの実装をベースに作成したものを使用しました。 細かい動作の説明を入れたり、REPLの実行例を入れたりしてたら、だいぶ長くなりそうなので分割2クールにしました。 コードはこちら( ⁰⊖⁰) GitHub - matsu-chara/HListQuickSort: コンパイル時クイックソート 目次 この記事 前準備 型レベル自然数 型レベル自然数の比較 次の記事 HList HListの分割 QuickSort 前
プログラミングを学ぶ際に、プログラミング言語に関する論文を読む。 という概念を最近学んだので、いい感じにいい感じなやつを教えてもらって読みました。 メモ書き程度ですが、簡単に面白かったところを紹介します。 最初はサマリー書くぜー₍₍ (ง ˘ω˘ )ว ⁾⁾と思ってたけど、 大変すぎて大変だったのでやめておくことにしました。 しっかり理解してないと要約を書くのは難しいですね。(´・_・`) trait 読んだのはこちら。 http://scg.unibe.ch/archive/papers/Scha03aTraits.pdf traitが提案された論文で、traitが生まれた経緯と狙いについて書いてあります。 traitとmixinって似てない?っていうかmixinの方が良くなくないない? という方におすすめです。( ⁰⊖⁰) 論文では、単一継承や多重継承、mixin継承の問題点やtrai
みなさん、こんにちは。 今日は新春ということで、fizzbuzzについてお話します。 世の中には大きくわけて2つのfizzbuzzがあります。 一つ目はテスト書ける系fizzbuzzです。 もう一つはテスト書けない系fizzbuzzです。 今日はみなさんに併せて3種類のfizzbuzzの実装をお見せして、 テスト書ける系fizzbuzzにgeneratorを用いると、どのような利点が生まれるかご紹介します。 ちなみに研修でロジカルシンキングおじさんに生まれ変わったので、話し方がロジカルになりました。 ごちゃまぜfizzbuzz まずテスト書けない系fizzbuzz筆頭の普通のfizzbuzz。 <?php function fizzbuzz($n) { foreach (range(1, $n) as $i) { if ($i % 15 == 0) { print("FizzBuzz\n"
研究室向けシリーズその1。 研究室用のマニュアルの下書きです。 awk is 何 awkはファイルを行単位で処理することに特化した言語です。ファイル処理に特化したCくらいの認識でひとまずOK インストール windows版のawkはgawkと呼ばれてます。 1. Gawk for WindowsからComplete package, except sourcesと書いてある物をダウンロード 2. C:\Program Files (x86)\GnuWin32\binにpathを通す。 3. コマンドプロンプトでgawkと打って何か色々出てきたら完了です。 脇道:path通すって? コマンドプロンプトでexeなどを指定するとき、もちろんwindowsが特定できるようにしてあげないと実行することができません。windowsは何か実行ファイル等が指定された時、コマンドプロンプト上で自分が現在いる
画像を入れたりしてわりとがんばってQiita向けの記事を書いたけど、ちゃんと検索してみたら自分が紹介しようと思ってた奴がすでにほとんど紹介されててつらい( ⁰⊖⁰) 記事は書いてしまったので、こっちに残骸を残します。 Qiitaの紹介記事 Githubを劇的に使いやすくしてくれるChrome Extensions - Qiita GitHubユーザが入れるべきChrome Extensionまとめ - Qiita GitHub を使いやすくする Chrome Extension 5 選 - Qiita 自分が使っているもの Avatars for Github - Chrome ウェブストア TLにアイコンが乗るので、すぐに誰だか分かる、便利。 Do Not Merge WIP for GitHub - Chrome Web Store WIPが付いているプルリクエストのマージボタンを無効
この記事は FOLIO Advent Calendar 2023 - Adventar 9日目の記事です。 マネージメント技術の学び方 突然ですが、マネージメント技術ってどう学んでいますか? 特に新任のリーダーにとっては暗中模索だったり、とりあえず業務を回すのに精一杯でなかなか深掘りできないといったケースも多いのではないでしょうか。 今日はそんなマネージメント技術の学び方についてFOLIOで実施している取り組みを紹介します。 課題 新規にマネージャーになる場合、業務で利用するスキルセットが大きく変わることになります。 マネージャーのスキルセットは相互に関連があり個別には学びにくくインプットから実践までのハードルもあります。 このとき、何をどの程度学べばいいのかといった指針がないと新任マネージャーが徒手空拳で戦うことになってしまうという課題があります。 また、FOLIOのようなスタートアップ
みなさんPSR-2してますか。してませんか。しましょう。 PSR-2(日本語) PSR-1に準拠しなければなりません。 インデントには4つのスペースを使用し、タブは使用してはいけません。 行の長さに対してハードリミットがあってはいけません。ソフトリミットは120文字を上限とし、実際は80文字以内に抑えるべきです。 名前空間定義のあとには空行を挟まなければいけません。またuse定義ブロックのあとにも同様に空行を挟まなければなりません。 クラスの開き括弧は次の行に記述しなければなりません。また閉じ括弧は本文最後の次の行に記述しなければなりません。 メソッドの開き括弧は次の行に記述しなければなりません。また閉じ括弧は本文最後の次の行に記述しなければなりません。 アクセス修飾子は、全てのプロパティ、メソッドに定義しなければなりません。またabstractとfinalはアクセス修飾子の前に定義し、s
この記事ではvesparny/silex-simple-rest · GitHubを紹介します。 silex-simple-rest silex-simple-restはReadmeに A simple silex skeleton application for writing RESTful API. と書いてあるとおり、RestAPI作成の際に便利なスケルトンです。 これを使うことでキャッシュ・ログディレクトリの配置やHTTPヘッダの設定、JSONデータのパースなどAPI作成時の共通処理の記述を省略し、すぐAPI作成に取り掛かることができます。あと、このスケルトン通りに作ればコントローラのサービス化(http://silex.sensiolabs.org/doc/providers/service_controller.html)も自然にできるので、無駄なコントローラのインスタンスを
再び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 -
はてブロを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でフォーマットを消すとうまくいきます。たまに変なフォーマットが残ってしまうらしい) 設定画面で
このページを最初にブックマークしてみませんか?
『だいたいよくわからないブログ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く