Skip to content

Instantly share code, notes, and snippets.

View yyamano's full-sized avatar

Yuji Yamano yyamano

View GitHub Profile
#%RAML 1.0
title: API with Types
types: # global type definitions that can be reused throughout this API
User: # define type named `User`
type: object
properties:
firstName: string
lastName: string
age:
type: integer
@yyamano
yyamano / devel_bazel_Makefile
Created December 19, 2018 02:37
It doesn't work yet on macos
# $NetBSD$
# Download a distribution archive (-dist) for bootstrap.
# See https://docs.bazel.build/versions/master/install-compile-source.html#bootstrap-bazel
DISTNAME= bazel-0.20.0-dist
PKGNAME= bazel-0.20.0
CATEGORIES= devel
MASTER_SITES= ${MASTER_SITE_GITHUB:=bazelbuild/}
GITHUB_RELEASE= ${PKGVERSION_NOREV}
EXTRACT_SUFX= .zip
@yyamano
yyamano / gist:603b6934cafb68d63278f2739bc21c5e
Created January 10, 2018 09:39
ngx_mruby SIGSEGV with the latest mruby
Program received signal SIGSEGV, Segmentation fault.
0x0000000000584ed5 in mrb_vm_exec (mrb=mrb@entry=0xbf3dd0, proc=<optimized out>, proc@entry=0xcb8680, pc=<optimized out>)
at /home/vagrant/ngx_mruby/mruby/src/vm.c:1854
1854 JUMP;
Missing separate debuginfos, use: debuginfo-install glibc-2.17-106.el7_2.6.x86_64 nss-softokn-freebl-3.16.2.3-13.el7_1.x86_64 openssl-libs-1.0.1e-51.el7_2.5.x86_64 pcre-8.32-15.el7_2.1.x86_64 zlib-1.2.7-15.el7.x86_64
(gdb) bt
#0 0x0000000000584ed5 in mrb_vm_exec (mrb=mrb@entry=0xbf3dd0, proc=<optimized out>, proc@entry=0xcb8680, pc=<optimized out>)
at /home/vagrant/ngx_mruby/mruby/src/vm.c:1854
#1 0x000000000058af46 in mrb_vm_run (mrb=0xbf3dd0, proc=0xcb8680, self=..., stack_keep=<optimized out>)
at /home/vagrant/ngx_mruby/mruby/src/vm.c:935
;; http://yanok.net/2010/07/mew34utf-8.html
(defun use-utf-8-for-jisx0213(ecsdb)
(let ((cs (nth 0 ecsdb))
(enc (nth 1 ecsdb)))
(if (equal enc (intern "iso-2022-jp-3"))
(list (nth 0 ecsdb) 'utf-8 mew-charset-utf-8-encoding mew-charset-utf-8-header-encoding t)
ecsdb)))
(setq mew-cs-database-for-encoding (mapcar 'use-utf-8-for-jisx0213 mew-cs-database-for-encoding))
(add-to-list 'mew-field-spec '("^\\(ARC-Seal\\|ARC-Message-Signature\\|ARC-Authentication-Results\\):$" nil))

ビルドシステムのリファクタリング

  • ビルドシステムが複雑で辛いのでなんとかしたい
    • mrubyとnginxはそれぞれ独自のビルドシステムを持っており、ngx_mrubyはそれをつなぐモジュールなので仕方ないけど…
    • まだよくわかってないことが多い
  • build.sh と test.shのコードが重複
  • 環境変数と引数指定の混在をどうにかしたい
  • ダイナミックモジュールとスタティックモジュールのビルドの整理。
    • configure後は切り替えれないが、Makefileの中には切り替えているコードもある
  • 再ビルド、生成したファイルの削除などが思ったようにいかないことがある。未調査。
ngx_http_core_access_phase(ngx_http_request_t *r, ngx_http_phase_handler_t *ph) の中で、サブリクエストの場合、ハンドラをスキップしている。
if (r != r->main) {
r->phase_handler = ph->next;
return NGX_AGAIN;
}
diff --git a/src/main/java/org/raml/parser/loader/FileResourceLoader.java b/src/main/java/org/raml/parser/loader/FileResourceLoader.java
index 5ec1e11..883b5bd 100644
--- a/src/main/java/org/raml/parser/loader/FileResourceLoader.java
+++ b/src/main/java/org/raml/parser/loader/FileResourceLoader.java
@@ -42,12 +42,15 @@ public class FileResourceLoader implements ResourceLoader
@Override
public InputStream fetchResource(String resourceName)
{
- File includedFile = new File(parentPath, resourceName);
+ File includedFile = new File(resourceName);
# Taken from embulk/lib/embulk/guess/csv.rb
def array_avg(array)
array.inject(0.0) {|r,i| r += i } / array.size
end
def array_variance(array)
avg = array_avg(array)
array.inject(0.0) {|r,i| r += (i - avg) ** 2 } / array.size
end
@yyamano
yyamano / affirmation
Created May 21, 2015 05:37
MuleSoft Contributor Agreement Acceptance by Yuji Yamano
I, Yuji Yamano, have read and do accept the MuleSoft Contributor Agreement
at http://www.mulesoft.org/legal/contributor-agreement.html
Accepted on Thu May 21 2015 14:37:22 GMT+0900 (JST)