Hatena::ブログ(Diary)

そんな話はいつでもできる このページをアンテナに追加 RSSフィード

ひま〜じ〜ん! きっと何者にもなれないfu7mu4が告げる!

2017-01-15 I’m an alien, I’m a legal alien I’m a Jamaican in New York

[][] hackerrankについて

hackerRank (https://www.hackerrank.com/) というプログラマの遊び場があってCommon Lispも遊べるという謳い文句があった気がした。

ところがチュートリアルの 30 Days of Codeのいくつかの課題lisp での回答を受け付けないようになっている。

しかたがないと perl で回答を進めていくと、perlダメ課題がある。

なんだかがっかりである

2016-12-30 だって本当はcrazy

[] なんか達成感

大掃除はじめました。

続きを読む

2016-12-21 Mostly whenever you’re around me

[] macOS Sierra 10.12.2 にアップグレードした

macOS Sierra 10.12.2 にアップグレードした。

バックアップをとってからアップグレードしたんだが、アップグレードあと1分から終らなかった。30分ぐらいたっても残り1分のままだったので、あきらめて電源ボタンを長押しして電源オフして、それから電源オンしたらちゃんと起動した。

いやーこわかった。

2016-12-18 砂場のお城 缶蹴り 滑り台

[] CentOS6 でも Webappsをリモートデバッグしたい

Linux上のTomcat でのWebappsをリモートデバッグするには、

/usr/share/tomcat6/bin/startup.sh

exec "$PRGDIR"/"$EXECUTABLE" start "$@"

から

exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@"

に変更するらしいのだけれども、CentOS6等で yumを使ってインストールした場合デーモン(Windowsユーザーにとってはサーバー)仕様インストールされてしまうため、こういったファイルはない。

それではどうやってするのか、というのを調べていたら、

ubuntu場合、/etc/default/tomcat6 なるファイルに、

JAVA_OPTS="${JAVA_OPTS} -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"

といったふうに記載するらしい。

CentOS6では /usr/share/tomcat6/conf/tomcat6.conf が該当するファイルのもよう。

あとで試す。

それはいいとして、vagrant/ansibleではどう書くのがいいのかな?

[] ansible から呼出すシェルスクリプトの羃等性

ansibleから呼出すシェルスクリプトで羃等性を確保するには、実行フラグにあたるファイルタッチする。


- name: hoge 
  shell: /vagrant/hoge.sh
  args:
    creates: /vagrant/hoge.log
#!/bin/bash
# do hoge as root 


# do something


touch /vagrant/hoge.log

このフラグファイルを共有フォルダ上にして、これで羃等性が一部確保できたが、

Vagrant destroy実行時に削除しなければならなくなってしまう、と悩んでいた。

もっとよい方法はないものかと、聞いてみると、そのフラグファイル仮想マシン内におけばよいとのこと。

なるほどー。

2016-12-04 It is not unusual

[] if にできなくて switch にできること

C言語 Advent Calendar 2016を書く人が少ないので5日目に飛びいり参加しました。

さて switch 文は if で置き換えられるからいらない子と思われているかもしれませんがif文で実現できない、switch 文というものが実はあります。

それはループへの割り込みです。

forループ中に case句をわりこませてみましょう。

#include <stdio.h>

int main(int argc, char *argv[]){
  int t = 0;
  switch (t){
    for(int j=0;j<3;j++){
  case 1:
    printf("t=1 :%d\n",j);
  case 0:
    printf("t=0 :%d\n",j);
    }
  }
  return 0;
}

これは case が ラベルであって、文ではないからです。

構造プログラミング以前に文法がつくられただけはありますね。

どう有効利用する文法なんでしょうかね。

では、gccコンパイルし実行してみます。

gcc --version

gcc (MacPorts gcc5 5.4.0_0) 5.4.0

Copyright (C) 2015 Free Software Foundation, Inc.

This is free software; see the source for copying conditions. There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

gcc -Wall -Wextra test1.c -o testgcc5.o
./testgcc.5.o

t=0 :1

t=1 :2

t=0 :2

では、clangでもコンパイルと実行をしてみます。

clang --version

Apple LLVM version 8.0.0 (clang-800.0.42.1)

Target: x86_64-apple-darwin16.1.0

Thread model: posix

InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

clang test1.c -o testclang.o
./testclang.o

t=0 :0

t=1 :1

t=0 :1

t=1 :2

t=0 :2

あれれ?

[] iOS 10.1.1 でアップデートエラー

iPhone7 を MacbookのiTunes 経由でアップデートしたら不明なエラー32と表示されて

iPhoneの電源も切れなくなった???

Lightningケーブル抜いて

Lightningケーブルを再び接続

それからiTunesが工場出荷状態に戻しますというのでOKすると

前のバックアックに戻りました。

2016-12-03 Violently happy Cause I love you

[][] Emacs Advent Calender 2016 二日目をジャックしました。

Emacs Advent Calendar 2016の二日目が時間切れだったので代わりに投稿しました。

lemの紹介です。これは Lisp 製のEmacsクローンです。

lisp 処理系インストールからややこしいといわれていましたが、

それは過去の話です。roswell で始めてみましょう。

まずこれがあることを確認してください。

  • libcurl v3 or v4
  • automake
  • libcurl header

まず、roswell は gitからcloneします。

git clone -b release https://github.com/roswell/roswell.git
cd roswell
sh bootstrap
./configure
make
sudo make install

さて、これで、/usr/local/bin/に rosインストールされます

ros をつかって lem をインストールしてみましょう。

初回起動で sbcl とか quicklisp とか ライブラリやらなにやらがインストールされるかもしれませんが。

ros install cxxxr/lem

それで、lem は ~/.roswell/bin/ にインストールされますので、

パスをとおすか直で起動してみてください。

./roswell/bin/lem

さあ、素の lem は爆速ですよ。

f:id:fu7mu4:20161203124419p:image

さあ、.emacs.d/init.el を lem設定ファイルの ~/.lemrc に移植していくんだ

Common Lispだけどね!

設定ファイルの参考例です。

https://gist.github.com/masatoi/2afff1144a8acaae24a16b275dcfccea

[] サプライチェーン向けのOSSポリシー策定基準 OpenChain の紹介

法律 Advent Calendar 2016 の2日めはもうとっくに過ぎていましたが、勝手に参加します。

OpenChain をご存知でしょうか?

OpenChain は Blockchain の技術ですがここでは、Linux Foundation傘下のOpenChainの話です。

オープンソースを商用のものに出荷する際に、そのサプライチェーンオープンソースライセンスをただしく管理できているのかどうかは、 発注側には気になるところだと思います

オープンソースライセンスにはさまざまな種類があり、それぞれのライセンス理解組織としてただしく扱えていなければ、著作者による訴訟などといったトラブルを避けられません。

ここで登場したのが OpenChain Conformance Specificationです。

この仕様は、各サプライチェーンが策定すべき、OSSの取り扱いポリシー基準です。

この基準にしたがって、OSSポリシーを策定し遵守すれば、OpenCHain Conformance と主張できます

このOpenChain認証を主張している、サプライチェーンは、オープンソースポリシーの扱いについて最低レベルはクリアしていると判断できます

OpenChain COnformance Specification は今年2016年4月リリースされたばかりです。サプライヤーのみなさまは発注元がOpenChainについて問合せを受ける前に一度ご確認なさってはいかがでしょうか?

2016-11-22 Please let me know that it’s real

[] Vagrant + Ansible / Winにぴったりの端末

Vagrant + Ansible / Windows にぴったりのターミナルソフトじゃないかなと思ったのがSourceTreeに付属ターミナル

なんせ vissh も あるんだよ。

ただし putty/plinkSSH-Agent てめーはダメだ。

たまに、Vagrant ssh を混乱させたり、Virtual BoxSSH を混乱させたりするから、な。

VAGRANT_LOG=debug vagrant up

しなければわからなかったよ。ふぅー。

Read the top page of this blog in English (Translated by Google) ここの文章は無断リンク(トラックバック含む)、無断引用可。トラックバックは無断で削除することもあります。 All code on this blog without some notation is released Creative Commons 0 v1 or MIT License.