Skip to content

Instantly share code, notes, and snippets.

View Shinpeim's full-sized avatar

Shinpei Maruyama Shinpeim

View GitHub Profile
@Shinpeim
Shinpeim / 000.md
Last active November 2, 2024 00:52
プロセスとかスレッドとかプロセス間通信とかについて書く場所

重要

サイズがあまりに大きくなってしまったので、gist ではなくて github 上で管理するようにしました。

https://github.com/Shinpeim/process-book

URL 変わっちゃうの申し訳ないんだけど、一覧性が高くなるのと pull req が受け取れるメリットのほうを取ります。せっかく読みにきてくれたのにひと手間かかっちゃってすみません。

この文書の目的

@Shinpeim
Shinpeim / 00.md
Last active October 31, 2024 05:59
Scala 入学式の資料

Better Java としての Scala

Hello World

  • src/main/scala/Main.scala
object Main {
  def main(args: Array[String]): Unit = {
    println("hello scala!")
@Shinpeim
Shinpeim / 005.md
Last active July 14, 2021 20:18
プロセスとかの話 : preforkサーバーを書く

重要

サイズがあまりに大きくなってしまったので、gist ではなくて github 上で管理するようにしました。

https://github.com/Shinpeim/process-book

URL 変わっちゃうの申し訳ないんだけど、一覧性が高くなるのと pull req が受け取れるメリットのほうを取ります。せっかく読みにきてくれたのにひと手間かかっちゃってすみません。

Niigata.ll 発表(?)資料 「Perl なめんな」

猫型です。Niigata.llの開催おめでとうございます。行けなくてくやしいです。資料だけここに公開します。タイトルは「Perlなめんな」です。dis られがちなオブジェクトシステムと例外機構の貧弱さについて現代的な Perl の視点から回答します。

「Perl は可読性が〜」とか 「Perl はオブジェクトシステムがぶっ壊れてる〜」とかうるせえよ CPAN なめんなって話

「素のPerlのオブジェクトシステムは貧弱すぎる」。その通りです、でも Mouse とかを使えば結構素直に書けるのです。

Mouseってなに

class Nyan
def replace_method(a, b)
(class << self; self end).module_exec do
alias_method "#{a}_backup", a
alias_method "#{b}_backup", b
alias_method b, "#{a}_backup"
alias_method a, "#{b}_backup"
end
end
import scala.util.Random
object Main {
def main(args: Array[String]): Unit = {
val a = new KlassA(new Random)
println(a.nextInt)
println(a.nextInt)
val b = new KlassB(3)
b.put
// 前提として:
// FizzBuzzをレイヤードアーキテクチャにする必要はあまり感じないが、
// それでも
// 「3の倍数のときは fizz が返る」
// 「5の倍数のときは buzz が返る」
// 「3の倍数かつ5の倍数のときは fizzbuzz が返る」
// 「3の倍数でも5の倍数でもないときはそのままの数字が返る」
// というロジックがdomain layerなのか
// usecase layerなのかを無理やり当てはめるのであれば……
s///;
my @bap = ('$_[++$_]->%* is a', +{ "hard" => "bap" }, "code");
sub hard { print
$_[++$_]->%*
}
hard @bap;
@Shinpeim
Shinpeim / Main.scala
Last active December 5, 2018 15:44
Scalaで組み込みクラスの直和型作るやつ考えてみてる
object Main extends App {
trait IntOrString{
val value:Any // ここつらい
}
implicit class MyInt(self: Int) extends IntOrString{
val value:Int = self
}
implicit class MyString(self:String) extends IntOrString{
val value:String = self
}
@Shinpeim
Shinpeim / 00.md
Last active December 3, 2018 05:52
Vue.js 入門

まずは環境構築するでヤンス

$ npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.

See `npm help json` for definitive documentation on these fields
and exactly what they do.