Skip to content

Instantly share code, notes, and snippets.

@hayajo
hayajo / lib::MyApp::CLI
Last active December 25, 2015 13:58
MojoliciousでCLIの実装例
package MyApp::CLI;
use Mojo::Base qw/Mojolicious::Command/;
# 他にサブコマンド間で共通の処理があれば実装する
# sub util_foo { "foo" }
# ...
1;
@hayajo
hayajo / mojolicious-jsonp.pl
Last active December 25, 2015 01:39
MojoliciousでJSONPの簡単なサンプル
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
$( function() {
$('#hello').click(
function() {
$.ajax({
url: "http://localhost:3000/hello.js",
type: "GET",
@hayajo
hayajo / myapp.pl
Created October 2, 2013 03:03
Mojoliciousで確認画面をともなう画面遷移の実装例
#!/usr/bin/env perl
use Mojolicious::Lite;
get '/' => sub {} => 'index';
post '/' => sub {
my $self = shift;
# is valid?
if ( $self->param('text') eq 'hoge' ) {
@Shinpeim
Shinpeim / 00.md
Last active January 16, 2020 13:08
Scala 入学式の資料

Better Java としての Scala

Hello World

  • src/main/scala/Main.scala
object Main {
  def main(args: Array[String]): Unit = {
    println("hello scala!")

もっとScala!

基本的なデータ構造 List

immutable なやつと mutable なやつがある。基本的に immutable なやつを使うべき。

scala.collection.immutable.List

最初からimportされてるので List で呼び出せる

@Shinpeim
Shinpeim / 00.md
Created September 28, 2013 04:07

Better Java としての Scala

Hello World

  • src/main/scala/Main.scala
object Main {
  def main(args: Array[String]): Unit = {
    println("hello scala!")
@hayajo
hayajo / MyValidator.pm
Last active December 20, 2015 12:09
FV::Liteのラッパー
package MyValidator;
use strict;
use warnings;
use parent 'Exporter';
use FormValidator::Lite;
use Clone qw/clone/;

go 1.1 scheduler

where

src/pkg/runtime proc.c asm_*.s

design

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

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

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

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

Mouseってなに

@methane
methane / gist:4748822
Created February 10, 2013 07:45
GOMAXPROCSについてのメモ
gogoutineてGOMAXPROCSを設定しない限りはシングルスレッドなんですねえ。
GOMAXPROCSはもうちょっとだけ複雑です。
同時に動けるgoroutineの数の制限なのですが、
read などのブロックするかもしれないシステムコールを発行する場合、発行前に「現在実行中のゴルーチン数」をデクリメントして、
システムコールから返ってきたらそれをインクリメントします。
で、デクリメントした時に、他に動けるスレッドがいなかったらスレッド起動して、他のgoroutineが動けるようにします。
他のスレッドがすでにあって眠っていたら、それを起こしてgoroutineを実行させます。
なので、ブロックする処理としない処理を混ぜてもいい感じに動くのです。
で、その、スレッドを作ったり起動したりするのが実はちょっとだけ重いので、ベンチマーク結果を良くするためにはその処理が走らないように、