したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |
レス数が900を超えています。1000を超えると投稿できなくなるよ。

ヒッキープログラミングスレ 2

1 (-_-)さん :2013/06/20(木) 03:58:01 ID:???
プログラミングの話題のスレ

質問・相談
初心者からプロまで
プログラミングに関することなら何でもOK

ヒッキーのプログラミングするスレ
http://ikura.2ch.net/test/read.cgi/hikky/1362050172/

プログラミングできる奴、一緒にアプリ作ろうぜ!!
http://ikura.2ch.net/test/read.cgi/hikky/1360671157/

ヒキ板情報技術部
http://ikura.2ch.net/test/read.cgi/hikky/1348106094/



前スレ
ヒッキープログラミングスレ
http://jbbs.livedoor.jp/bbs/read.cgi/internet/17286/1361821799/

2 (-_-)さん :2013/06/20(木) 04:00:54 ID:???
あとこれ、日本語フォルダ名の下に移動するとダメみたいね

3 (-_-)さん :2013/06/20(木) 04:02:41 ID:???
>>1
関連スレこれ忘れてた

プログラミング雑談 2013 Ver4.00
http://ikura.2ch.net/test/read.cgi/hikky/1366742736/

4 (-_-)さん :2013/06/20(木) 04:04:55 ID:???
しかしjarファイルの中身すごいファイル数だね・・・これは大変だわ作るの

5 (-_-)さん :2013/06/20(木) 04:28:40 ID:???
うーん、reversi.lispをちゃんと動くようにするのはちょいと無理かなあ・・・どこをどうすればいいのかサッパリ
あと純lispの論文読んでても思ったけど閉じ括弧とかが読み書きの上で曲者だねlispって
pythonのタブインデントのブロックとは大逆的な可読性の悪さがあるように思う
ただ演算子の優先順位とか覚える必要ないから計算式を記述するならlispのほうが間違いのない計算式を再現できそうだけど

6 (-_-)さん :2013/06/20(木) 04:38:49 ID:???
まぁタブインデントのブロックもあまりにもネストさせすぎると可読性が悪そうだが
タブサイズを2文字くらいだとブロックの区切りが微妙そうだし4文字だと超入れ子で読みにくそう
まぁPythonなんて書いたことも読んだことも無いから知らんけど

7 (-_-)さん :2013/06/20(木) 04:42:07 ID:???
そういや純lispを直そうと思ってたのにすっかり忘れてたわ(笑)
また明日にするか、もう寝る寝る、おやすみ

8 (-_-)さん :2013/06/20(木) 13:02:44 ID:???
lispの可読性に関してはemacsかそれに似たエディタを使えばほとんど解決するんだけどね

9 (-_-)さん :2013/06/20(木) 13:11:46 ID:???
エディタ次第か

10 (-_-)さん :2013/06/20(木) 13:12:26 ID:???
正直VB6のブロック構造のほうが可読性高いんじゃないかと思えてくる

11 (-_-)さん :2013/06/20(木) 13:13:13 ID:???
ただVB6はIF文とかFOR文のブロック構造でスコープは発生しないけどね

12 (-_-)さん :2013/06/20(木) 13:20:18 ID:???
動的スコープと静的スコープをなんとか作りあげた
ちょろっと変更するだけで足りたわ

(label x (quote 0)) (label a (lambda () x)) (label b (lambda () (cond ((label x (quote 1)) (a))))) (b) (a)
静的スコープに設定すると (b) => 0, (a) => 0
動的スコープに設定すると (b) => 1, (a) => 0
と昨日、改めて認識したとおりの結果になってホッとしたわ・・・
これでまた静的スコープやら動的スコープやらの認識間違いしてたらもう死にたいレベル・・・

13 (-_-)さん :2013/06/20(木) 13:24:18 ID:???
最初の(label x (quote 0))を抜いた
(label a (lambda () x)) (label b (lambda () (cond ((label x (quote 1)) (a))))) (b) (a)
でHPにアップしてあるスコープを間違った作りの純LISPでテストした結果と
今手元にあるやつで動的・静的の両方でテストしたやつでやはり結果が違った、
間違ってた奴 (b) => 1, (a) => Error
直した奴:静的 (b) => Error, (a) => Error
直した奴:動的 (b) => 1, (a) => Error

14 (-_-)さん :2013/06/20(木) 13:25:46 ID:???
こうしてみると一見動的スコープのように見えるのに最初に(label x (quote 0))を入れると
(label x (quote 0)) (label a (lambda () x)) (label b (lambda () (cond ((label x (quote 1)) (a))))) (b) (a)
間違ってた奴 (b) => 0, (a) => 0
直した奴:静的 (b) => 0, (a) => 0
直した奴:動的 (b) => 1, (a) => 0
と今度は静的スコープのように挙動するという・・・

15 (-_-)さん :2013/06/20(木) 13:30:58 ID:???
今回の変数管理の作り直しで変数の設定方法を3種類に増やしたんだが
グローバルスコープへの変数設定、バインドされてるところへの上書き(バインドされてない場合の挙動3種)、カレントスコープへの変数設定
最初LABELの挙動をバインドされてる変数の上書きにしたらアカンかったわwスコープの確認にならなくってw
だからlabelの仕様はバインド無関係にカレントスコープへの書き込みにしたのだが

16 (-_-)さん :2013/06/20(木) 13:31:43 ID:???
今レス書き込んでて気づいたが、bに引数でxを取るようにすれば解決したんじゃないかと思い始めたw

17 (-_-)さん :2013/06/20(木) 13:33:13 ID:???
(label x (quote 0)) (label a (lambda () x)) (label b (lambda (x) (a))) (b (quote 1)) (a)
あんのジョーだった・・・orz

18 (-_-)さん :2013/06/20(木) 13:37:01 ID:???
さて、問題はLABELの仕様をどうするかだな
戻り値を名前にするか設定値にするか、と
変数を設定する位置、常にグローバルへの書き込みか、カレントスコープへの書き込みか、バインドしてるスコープへの上書きか
バインドしてるスコープへの上書きでバインドされてない場合はグローバルとカレントのどちらのスコープへ新規に書き込むか
まぁ純LISPでなければそれぞれに特別式を定義してやればいいんだろうけどね

19 (-_-)さん :2013/06/20(木) 13:40:00 ID:???
今回のテストコードの動作具合からして、常にカレントスコープへの変数設定のほうが良さそうかな
LABELの戻り値は変数名かな、現存のLISP系の実装はどれも名前返すみたいだし

20 (-_-)さん :2013/06/20(木) 14:31:55 ID:???
labelの戻り値は値のほうが色々と応用が効きそう
setqは値を戻り値として返すんだけど
(while (< (setq i (+ i 1)) 10) ...)というコードかけるから結構便利だし

21 (-_-)さん :2013/06/20(木) 14:32:37 ID:???
まあ関数を定義する特殊形式としてみたら名前を返すほうがいいかな

22 Lilin :2013/06/20(木) 14:33:33 ID:HUnQu8lU
ん?一人か?
こっちのほうがまともそうだな。

23 (-_-)さん :2013/06/20(木) 15:18:58 ID:???
>>20-21
よくよく考えたら、論文のほうはLABELは値を返すみたいだったし、やっぱりそのように変更するよ
アドバイスありがとう

24 (-_-)さん :2013/06/20(木) 15:19:18 ID:???
>>22
Lilinは何か作ってるの?

25 (-_-)さん :2013/06/20(木) 15:51:00 ID:???
Special Formを特別式と読んでるサイトで始めにLISPについて勉強したから
Wikipediaでは特殊形式と書いてあって、2種類の呼び方があるのかと思ってたけど
そのサイトだけの固有の呼び方ぽいね、これからはちゃんと特殊形式って呼ぶわ

26 (-_-)さん :2013/06/20(木) 16:39:15 ID:orUJmIzs
lilin久しぶりに見たな
skypeはしてるの?

27 (-_-)さん :2013/06/21(金) 17:13:49 ID:???
純LISPのソースを整形とかしてたら、色々と問題点があることに気づいた・・・しにたい・・・orz

28 (-_-)さん :2013/06/21(金) 17:18:34 ID:???
あと名前付けの一貫性に欠ける・・・名前付け基準をせっていしないとダメかも・・・

29 (-_-)さん :2013/06/21(金) 18:29:25 ID:???
OracleのJava7u25が来てるとのこと

30 (-_-)さん :2013/06/21(金) 18:29:41 ID:???
誤爆

31 (-_-)さん :2013/06/21(金) 19:51:38 ID:???
gitの全機能の1割も使ってない気がして
gitからsubversionに移行するものいいかなと考える今日この頃

32 (-_-)さん :2013/06/21(金) 20:28:34 ID:???
公開の共同プロジェクトやってんのか

33 (-_-)さん :2013/06/21(金) 20:33:12 ID:???
いや、個人で
だからpush,pullとか使わないしもっと低機能でわかりやすいのがいいかなと思った

34 (-_-)さん :2013/06/21(金) 20:36:17 ID:???
共同開発って難しそうだな
仕様とかちゃんと事前に決めて
ここ俺作るからこの部分おまえ作ってみたいにちゃんと割り振らないといけないだろうし
設計がしっかりしてないとうまく動かなさそう

35 (-_-)さん :2013/06/21(金) 20:36:48 ID:???
>>33
個人でも使えたのか、ああいうのって何がどう便利なの?

36 (-_-)さん :2013/06/21(金) 20:57:18 ID:???
開発言語のコンパイラとかインタプリタとか配布してるサイトのデモやサンプルのコードやソースをちゃんと試したりしてるやついる?
あれってちゃんとひととおり見ればかなり能力アップしそう?

37 (-_-)さん :2013/06/21(金) 21:17:01 ID:???
>>35
RPGのセーブ機能みたいなもの
それよりももっと便利で前回のデータとの差分を見たりセーブしたときにメッセージを書いて思い出しやすくできる

38 (-_-)さん :2013/06/22(土) 00:07:07 ID:???
差分見られるのか
それは便利そうだな

39 (-_-)さん :2013/06/22(土) 00:08:34 ID:???
自前でdiffとか作ってみたいとは思ったことあるが
原理が難しすぎて俺には無理だわ
そもdiffアプリなんて無料でそこらじゅうにあるわけだから
自前で作る必要もないっちゃないんだがな

40 (-_-)さん :2013/06/22(土) 15:39:21 ID:???
(define a 'b)
(define f (lambda (x . y) (cons x y)))
としたとき
(f a a a . a) ってどういう結果になるの?リストの末尾がNILになってないからエラー?

41 (-_-)さん :2013/06/22(土) 15:44:45 ID:???
(define a 'b)
(define f (lambda (x . y) (cons x y)))
としたとき
(f a a a . a)これは下のいずれかになると予想してんだけど、よく分からんちん
・エラー
・(B B B . B)
・(B A A . A)

42 (-_-)さん :2013/06/22(土) 15:46:42 ID:???
仮引数にドットリストを渡すことがおかしいと思うの

43 (-_-)さん :2013/06/22(土) 15:50:43 ID:???
なんか日本語がおかしかったな
仮引数の中にドットを入れること自体がおかしいと思う
gaucheだとエラーが出た

44 (-_-)さん :2013/06/22(土) 16:19:26 ID:???
>>42-43
教えてくれてありがとう
どうやら仮引数のドットはScheme固有の書式のようだね
Common LispとEmacs Lispでは(x &rest y)と書くとのことなので改めて質問する
(define a 'b)
(define f (lambda (x &rest y) (cons x y)))
としたとき
(f a a a . a) ってどういう結果になる?

45 44 :2013/06/22(土) 16:32:40 ID:???
あ、答え自分で見つけられた、大丈夫、ありがとう

46 (-_-)さん :2013/06/22(土) 16:34:44 ID:???
lispの勉強が足りなかった
consセル(ペア)とかいうのとリストは定義が別だということを今知った

47 (-_-)さん :2013/06/22(土) 16:40:37 ID:???
最後がNILで終わるものだけが"リスト"として定義されるわけね、

48 (-_-)さん :2013/06/22(土) 17:38:26 ID:???
俺は面倒だったから仮引数のドット以降は切り捨てたリストとして扱ってる
これエラー出したほうがいいんだな

49 (-_-)さん :2013/06/22(土) 21:13:22 ID:???
lispコードを書いたときにうっかりミスで仮引数の指定を間違うことがありうるのなら必要かもね
でもlisp用のエディタというのを使うのなら間違いはそうそう起きないかもね
他の人たちに広く公開するのであれば確実に必要だろうけど

50 (-_-)さん :2013/06/23(日) 05:52:29 ID:???
純LISPのバグ取りや修正や整形や手直しの傍ら
evalについても色々自分で考えながらやってんだけど
evalを自分で考えだすのはちょっと難易度高そうだわ
(cons (label a (cons (label b 'xx) (label c 'yy)) (cons (cons a b) c))
みたいなバカみたいなコードあったらどう処理すりゃいいのかとか
そもIBM704でlabelがトップレベルでしか使えない特殊形式だとかいう制限とかありゃ気にならんのだが
仕様は知らんしなあ・・・他の一般LISPとはだいぶ仕様がかけなれてそうだし
(なにせ普及LISP方言にLABELという同様動作をする関数名がないし・・・

51 (-_-)さん :2013/06/23(日) 05:57:47 ID:???
>(なにせ普及LISP方言にLABELという同様動作をする関数名がないし・・・
日本語間違った
同様動作するLABELという名前の関数が存在しない、と言いたかった
まぁ普及LISP方言ではDEFINEという名前に変わってるらしいが
方言というくらいに仕様がまちまちすぎるのもやっかいだ
SchemeとCommonLispとEmacsLispでそれぞれ仕様違うし・・・
本当やっかいだわ,
まぁLISPに限った話じゃないけどな
ECMAScriptだって実装によって違い大きいし
JScriptとJavaScriptでは違うしな・・・

自然言語でも日本語も英語とか方言だらけだしな
英語なんかイギリス英語とアメリカ英語で違うし、

人工言語と自然言語、方言のややこしさではどちらのほうが上だろうか

52 (-_-)さん :2013/06/23(日) 05:59:13 ID:???
IBM704のLISPの仕様は論文をちゃんと読み込めば
eval再現するくらいなんだから仕様通りに再現してんだろうけど
(でなけりゃチューリング完全にならないやん)

53 (-_-)さん :2013/06/23(日) 06:02:40 ID:???
でもやっぱ英語は理解の壁があるわ・・・
プログラミング言語も自然言語も
語彙力とかそういうのが根底に必要だわな・・・
アプリ作りたくても実現する機能に何のライブラリのどのクラスやメソッド使えばいいとか、それは所謂自然言語の語彙力とかそういうもんに相当すると思うわ
知らなきゃ使えないという
人が使ってるのをググって調べることは出来てもその人が使ってる部分しか知ることができないかもしれないしね

54 (-_-)さん :2013/06/23(日) 06:08:22 ID:???
ひとまず、自分で最後までevalを考えてみるか
大した文章量あるわけじゃないから頑張って英語論文を読み解くか
どっちがいいだろうなあ・・・
効率や利益などを考えると後者のほうが圧倒的にお得なのは分かるんだがな
でも前者のほうはパズルや数学の問題を解くみたいな感じの面白さ楽しさがあるんだよね
とは言え大雑把とはいえ論文を少し読んだから、前者の方法でも完全に自力で解いたってことにはならんのだけどね
すでに論文からたくさんのヒントを得てしまっている
細かい部分をちゃんと読んでないから直接的な答えにならないだけであって・・・という感じ

55 (-_-)さん :2013/06/23(日) 06:10:52 ID:???
論文を読んでなかったらLABELの再現方法なんぞ全く見当もつかなかったろうしな
evalも引数を2つに分けるという発想すら至らなかっただろうな
本当、俺は脳みそレベルからして低いわ

56 (-_-)さん :2013/06/23(日) 06:11:58 ID:???
自分の脳みそバカレベルを考慮するなら
おとなしく辞書片手に論文を読むのが一番賢いやり方なんだろうなあ・・・

57 (-_-)さん :2013/06/23(日) 06:13:08 ID:???
発想力が足りなさすぎる
発想力というのは知識や経験などで培うものだからね
長年ヒキってる俺は経験不足だし、勉強嫌いでもあったから知識も不足
何もかもが足りないわ・・・

58 (-_-)さん :2013/06/23(日) 15:46:09 ID:???
ひとまず前に論文をさらっと読んだとき変数の実現アイデアぽいのを読み取ったので
おそらくかなりの劣化バージョンだが変数の実現コードを書いてみた


;変数のリスト
; ((ING . c) . (((1 2 3) . b) . (((x y z) . a) . (末尾NILの純リストならNILでもなんでも))))

;findvar 変数リストargsに変数名symbolがあればT、なければNILを返す
(label findvar (lambda (args symbol)
(cond
((not (atom args)) (cond
((not (atom (car args))) (cond
((atom (cdar args)) (cond
((eq (cdar args) symbol) (quote T))
((quote t) (findvar (cdr args) symbol))))
((quote t) (quote NIL))))
((quote t) (quote NIL))))
((quote t) (quote NIL)))))

;repvar 変数リストargsに変数名symbolがあれば一番手前にあるその変数の値をvalueに置き換えた変数リストを返す、なければ元の変数リストをそのまま返す
(label repvar (lambda (args symbol value)
(cond
((not (atom args)) (cond
((not (atom (car args))) (cond
((atom (cdar args)) (cond
((eq (cdar args) symbol) (cons (cons value symbol) (cdr args)))
((quote t) (cons (car args) (repvar (cdr args) symbol value)))))
((quote t) args)))
((quote t) args)))
((quote t) args))))

;delvar 変数リストargsに変数名symbolがあれば一番手前にあるその名の変数を削除した変数リストを返す、なければ元の変数リストをそのまま返す
(label delvar (lambda (args symbol)
(cond
((not (atom args)) (cond
((not (atom (car args))) (cond
((atom (cdar args)) (cond
((eq (cdar args) symbol) (cdr args))
((quote t) (cons (car args) (delvar (cdr args) symbol)))))
((quote t) args)))
((quote t) args)))
((quote t) args))))

;addvar 変数リストargsの一番手前に変数名symbol値valueの変数を追加する
(label addvar (lambda (args symbol value)
(cons (cons value symbol) args)))

;setvar 変数リストargsに変数名symbolがあれば値をvalueに置き換える、なければ新しく追加する
(label setvar (lambda (args symbol value)
(cond
((findvar args symbol) (repvar args symbol value))
((quote t) (addvar args symbol value)))))

;getvar 変数リストargsに変数名symbolがあれば一番手前にあるその変数の値を返す、なければシンボルERRORを返す
(label getvar (lambda (args symbol)
(cond
((not (atom args)) (cond
((not (atom (car args))) (cond
((atom (cdar args)) (cond
((eq (cdar args) symbol) (caar args))
((quote t) (getvar (cdr args) symbol))))
((quote t) (quote ERROR))))
((quote t) (quote ERROR))))
((quote t) (quote ERROR)))))

59 (-_-)さん :2013/06/23(日) 15:53:53 ID:???
論文のをさらっと読んだ感じだと
(eval e a) は
evalの引数を渡す部分のaに変数を追加していって再帰的に呼び出してるくさいので俺もそういう風に再現を考えてんだが
よくよく思えばこの変数の実現方法なら(eval c)という引数ひとつでもできそうな気がしてこなくもない
ていうかこれの実現にlabelを使えば変数をストックしておく変数を用意しとけば足りそうなのに引数として渡してるところを見ると
labelはトップレベルでしか使えないってことなのか、何らかの内側では宣言できないってことなのかな

60 (-_-)さん :2013/06/23(日) 15:55:30 ID:???
(cons (label a 'unko) a)
みたいな入れ子のlabelはエラーなのもしれんな・・・こればっかはIBM704のLISPの仕様書でも公開されてんと分からんな・・・

61 (-_-)さん :2013/06/23(日) 16:07:02 ID:???
しかしプログラムとして考えたときにlabelのようなものを入れ子で使えないシステムなんて使い勝手悪そうだし
やはり仕様を知るにはちゃんとしっかりと論文を読み解くしかないんだろうなあ・・・英語やだなあ・・・

62 (-_-)さん :2013/06/23(日) 16:56:28 ID:???
common lispのdefun, schemeのdefineはトップレベル以外でも使えるしlabelもそれでいいんじゃないの

63 (-_-)さん :2013/06/23(日) 18:06:20 ID:???
情報ありがと
やっぱトップレベル以外でも使えるのが普通だよね・・・・つまり再現難易度が高い・・・・トップレベルのみだったらevalも簡単になりそうなんだけど・・・むずいんだな

64 (-_-)さん :2013/06/23(日) 18:21:12 ID:???
ちょろっと試したら>>58のコード欠陥だらけじゃないか・・・作り直しだ・・・orz

65 (-_-)さん :2013/06/23(日) 18:24:21 ID:???
いや、後部につける純リストの引数を工夫すれば解決はするんだけどね・・・ようはevalでのlabelやlambdaの仮引数の実装の仕方次第・・・

66 (-_-)さん :2013/06/23(日) 18:28:11 ID:???
evalの関数内で変数の管理に変数を使わないのはevalの外で同名変数使ってたらアウトになるからなのかな
(label vars (addvar vars 'a 'value))
とか変数管理する変数作っちゃえばeval簡単に解決しそうなのに

67 (-_-)さん :2013/06/23(日) 18:29:37 ID:???
さすが大学の論文として発表されるだけあるわ・・・・やはり俺レベルじゃ次元が足りないのか
チューリング完全の証明レベルたけえ

68 (-_-)さん :2013/06/23(日) 18:43:16 ID:???
今気づいた>>58の通りに作ると変数はバインドされてるとこを書き換えるという設計になるな、
今の俺の純lispだとlabelの仕様はカレントスコープへの書き込みだからちょっと違うことになるな
IBM704がどうだろうとチューリング完全にするなら仕様と同じ動作せにゃならんから
どっちかを変えるかだな・・・・labelのほうの仕様を変えるか

69 (-_-)さん :2013/06/23(日) 18:44:31 ID:???
そうだな、Wikipediaの動的スコープのページの感じで考えるなら動的スコープならバインド変数を書き換えるのが妥当だよな

70 (-_-)さん :2013/06/23(日) 18:46:46 ID:???
labelの仕様をカレントスコープへの変数設置から
バインドがあればバインドの変更、無ければカレントに新規、という感じが良さそうか?
でも待てよ、それだと再帰関数とか作って内部でlabelとか使うと再帰先でどんどん値を変更されることになるのか・・・

71 (-_-)さん :2013/06/23(日) 18:52:05 ID:???
wikipediaの動的スコープの説明
>このとき参照されるのは、親子関係を親側に辿り、より近いブロックにある変数である
を考えると、必ずしもバインド先を書き換えるというわけではなさそうだな、
同名変数がいくつもあっても一番近いところのを参照するということはブロック形成時に同名変数を作れるという意味だし
labelでの設定はバインドじゃなくカレントスコープで良さそうだな、となると>>58の設計のほうを考えなおすべきなのか・・・

72 (-_-)さん :2013/06/23(日) 18:54:55 ID:???
変数リストにスコープの区切りになる目印的なものを入れて
getvarは目印を超えて変数を検索取得できて
findvarは目印を超えて変数を検索できないようにすればよさそうかな

73 (-_-)さん :2013/06/23(日) 19:00:06 ID:???
そうだな目印としてシンボルTを挟むとか
((abc . x) (efg . y) (qwer . z) T (hoge . x) (unko . y) T ((args)))
とかすれば出来そうかな
論文のほうはどうしてんだろ、もしかしてIBM704はバインド変数を変えるのだろうか

74 (-_-)さん :2013/06/23(日) 19:06:34 ID:???
さて、どうあがいても論文を読まなきゃ先にすすめない展開になってきたぞ・・・どうする俺

75 (-_-)さん :2013/06/23(日) 19:07:33 ID:???
今気づいたが>>66のやり方はバインド変数の書き換えじゃないと成り立たない考え方だったな・・・ナンテコッタイ

76 (-_-)さん :2013/06/23(日) 19:09:06 ID:???
論文のほうが>>66みたいなやりかたをしないのはlabelがバインド変数を書き換えないからか
逆にバインド変数を書き換えてしまうならevalを実行する前に同名変数がたまたま使われてたらヤバイわけだし
なーるほどねえ・・・

77 (-_-)さん :2013/06/23(日) 20:19:39 ID:???
思ったが何も論文みたいにevalを再帰させて実現する必要もないんだよな
evalが玄関口であればいいだけで実際に処理するのは別関数を作ってそれにやらせてもいいんだろうな
もう一度再設計してみっか・・・

78 (-_-)さん :2013/06/23(日) 20:26:17 ID:???
論文のeval書いてるページしか見てなかったけどあとのページとかザッと見てみたらIBM704の仕様とかについても触れてるくさかった
36bitのリスト構造だとかそんな感じの、ただそれらのページは本当文章だらけだから、読む気しねえ・・・

79 (-_-)さん :2013/06/23(日) 20:31:12 ID:???
evalを入口にして
名前を適当にexecとでもするか、戻り値として変数リストと実行結果をまとめたリストにするとかして
変数リストと合わせてexecを再帰的に実行とか、で行けそうかな
論文のやつよりはバカにデカいコードに仕上がりそうだけど、その方向性でやってみるか
純LISPの仕様も論文に合わせる必要はなく、チューリング完全を証明するためなんだから
再現できそうな仕様にすればいいんだよな

80 (-_-)さん :2013/06/23(日) 20:34:46 ID:???
evalで再現されるのは同仕様の一行LISPマシンのeval実行実行側とは別マシンということにすれば
eval実行側で設定されてる変数等はアクセスできなくても当然なわけだし
eval実行側から見れば別マシンであり見かけ上の静的スコープな呼び出しとlispコード実行ってことになるけど

81 (-_-)さん :2013/06/23(日) 20:38:57 ID:???
オーケー、指針は固まった、変数の保持方法は論文からヒントは得られたし、もう一度ゼロから設計しなおすぞ!おー!

82 (-_-)さん :2013/06/23(日) 20:41:01 ID:???
まー、ひとまず最初のステップとして純LISPの仕様をちゃんと厳格に設定し固定することが大事だな・・・

83 (-_-)さん :2013/06/23(日) 20:46:05 ID:???
何もIBM704に拘る必要は無かったんだな、近い仕様であればeval作るのが楽になるというだけで、
ただ問題はLAMBDAの仕様か、現状は戻り値に特別なデータ型(LAMBDA関数型)を定義してしまってるから
それだと再現性がなくなるから、純LISPのほうもLAMBDAは自身の本体を返すようにしたほうがいいのかな

84 (-_-)さん :2013/06/23(日) 20:52:03 ID:???
でもそうなるとLAMBDA周りの作りが大幅に変更になるし
静的スコープと動的スコープでの互換性を残してるけど、それが邪魔になるなあ
今は静的スコープとしても使えるようにLAMBDA関数型というデータタイプを作ることで対応してるけど
そもそのままのlambdaリストを返すとなると、
((cons (quote lambda) (quote ((x y) (cons y x)))) (quote a) (quote b))
で(B . A)というlambda関数実行が行われちゃうことになるんだけど、どうなるんだコレ

85 (-_-)さん :2013/06/23(日) 21:01:35 ID:???
評価対象のリストが来たら
先頭の要素がアトムなら
 変数として置き換えののち (システム関数や特殊形式は (LABEL ATOM (QUOTE ATOM)) みたいな自己参照変数とすればいいわけで)
 それがアトムなら
  対応する関数か特殊形式があるかをひととおりチェックし
 それがリストならLAMBDA関数リストかチェックする、
先頭要素がリストならLAMBDA関数リストかチェックする

とまあこんな仕様に作りなおすなら今回作った純LISPの大半を作り直さなきゃならんか・・・

86 (-_-)さん :2013/06/23(日) 21:07:44 ID:???
リストの先頭要素がアトムなら変数の置き換えを許容するなら
リストの先頭がリストならやはり評価後でなけりゃ矛盾するか

評価すべきリストの
先頭要素の評価後が
システム関数や特殊形式を表すアトムかLAMBDAで始まるリストかってことにすりゃいいのか
なるほど、なるほどね、先頭要素がLAMBDAのリストはそのまま返すだけんだからも無いないわけだし

こりゃ純LISPの丸々作り直しが必要になるわ・・・はぁ・・・

87 (-_-)さん :2013/06/23(日) 21:12:23 ID:???
まぁそんな難しい変更でもないし、また1週間くらいはかかるかな・・・

88 (-_-)さん :2013/06/23(日) 21:32:55 ID:???
今書いたことを考えると先日までとりかかってた俺製純LISPはLISPとしてはあまりよろしくない実装だったのかもしれないな

89 (-_-)さん :2013/06/23(日) 21:34:31 ID:???
lisp8.jsへの編集を放棄して新しいファイルで作成するか

90 (-_-)さん :2013/06/23(日) 22:33:36 ID:???
lisp8.js(v1.2.1)はそのまま完成型へ持っていく、また純LISPにならないので名前を正式にminimal-lispに変更し、目標の拡張方向であった数値や文字列を扱う機能を付与させていく
lisp8.js(v1.2.1)から派生させて新定義版純LISP(lisp13.js)を作る
新定義版lisp13.jsは完全動的スコープでチューリング完全性をテストすることのみに特化した仕様に作り変える

91 (-_-)さん :2013/06/23(日) 22:36:15 ID:???
またlisp8.jsの拡張の正確な方向性はまだ決まってないので今後考えることにする
(方向性とはCommon LispやEmacs Lisp や SchemeなどのどのLisp方言に合わせるか、または独自lisp方言に仕上げるか、というもの)

92 (-_-)さん :2013/06/23(日) 22:38:14 ID:???
"minimal lisp"でググったら当然ながら先に誰かが仕様してるようなので名称はまた後日に改めて考えることにする

93 (-_-)さん :2013/06/23(日) 22:46:03 ID:???
俺はやったるぞおおおおおおおおおおおお!!!!!!

94 (-_-)さん :2013/06/24(月) 00:20:01 ID:???
もうレス読むの疲れたし技量的にもアドバイス出来ないけど頑張れ
自分は今Lispで書く方に力を入れてる

95 (-_-)さん :2013/06/24(月) 03:38:24 ID:???
ごめんね、メモ的なこともここに書いちゃって・・・

96 (-_-)さん :2013/06/24(月) 14:23:51 ID:???
新しく定義しなおした純LISP、意外にもほんのちょこっと修正するだけでなんとかなった・・・よかった
あとはevalを考えるは

97 (-_-)さん :2013/06/24(月) 14:26:47 ID:???
新しく定義した純LISPだと
((cons (quote lambda) (quote ((x y) (cons y x)))) (quote a) (quote b))
でも動く
前バージョンのだとこれだと動作しない
この式に関する一般のLISPの挙動は不明だけどね
動作したほうがいいんなら前のバージョンも修正が必要なわけだが

98 (-_-)さん :2013/06/24(月) 14:30:32 ID:???
もちろん新定義ではこれでも動く
((quote (lambda (x y) (cons x y))) (quote ABC) (quote XYZ))

99 (-_-)さん :2013/06/24(月) 14:42:11 ID:???
新定義版だと
(label F (lambda (e a) ((cons 'LAMBDA (cons '() (cons (cons e a) ()))))))

(F 'CONS '('X 'Y))
(F 'EQ '('ABC 'ABC))
(F 'CAR '('(A B C)))
(F 'CDR '('(A B C)))
(F 'ATOM '('XYZ))
(F 'COND '(((EQ 'A 'B) 'HOGE) ('T 'UNKO)))
(F 'COND '(((EQ 'A 'A) 'HOGE) ('T 'UNKO)))
(F 'QUOTE '((A B C D)))
(F 'LABEL '(V '(X Y Z))) ; Fのスコープ内でのみVが定義される
(F 'LAMBDA '(() 'HOGE)) ; 定義のみ
((F 'LAMBDA '(() 'HOGE))) ; 実行

で簡易eval的な挙動もできてしまう・・・いいのかこの定義で・・・?

100 (-_-)さん :2013/06/24(月) 14:45:18 ID:???
(F '(LAMBDA (X Y) (cons (cons X X) Y)) '('ABC 'XYZ))

アカン、Fがevalになってもうた

101 (-_-)さん :2013/06/24(月) 15:03:15 ID:???
(label F (lambda (e a) ((cons 'LAMBDA (cons '() (cons (cons e a) ()))))))
(F
'(label subst (lambda (x y z) (cond ((atom z) (cond ((eq y z) x) ((quote t) z))) ((quote t) (cons (subst x y (car z)) (subst x y (cdr z)))))))
'((quote (X Y)) (quote B) (quote (A (B C) A B C)))
)
アカンでえ・・・これはチューリング完全と言えるのか・・・?evalを内包してるだけな感じ・・・?

102 (-_-)さん :2013/06/24(月) 15:05:15 ID:???
evalを実装してるようなもんだから、これは何か違うで・・・

103 (-_-)さん :2013/06/24(月) 15:07:44 ID:???
これはLAMBDAが万能すぎる関数にしすぎたんや・・・
純LISPを試す環境としては設計ミスや・・・lambdaとlabelとconsだけで全部やらかしてっぞ・・・・

104 (-_-)さん :2013/06/24(月) 15:10:08 ID:???
所謂実装がもともと持ってるeval関数にそのまま引数を渡して実行してもらったみたいな処理だからアカンのか

105 (-_-)さん :2013/06/24(月) 15:13:45 ID:???
まぁでもやろうと思えば論文みたいなコツコツevalも作れるだろうし、これでOKでいいか・・・な?

106 (-_-)さん :2013/06/25(火) 12:12:24 ID:???
プログラミングコード貼り付けスレ part1
http://jbbs.livedoor.jp/bbs/read.cgi/internet/13109/1370769621/

107 (-_-)さん :2013/06/25(火) 14:20:08 ID:???
眠い

108 (-_-)さん :2013/06/25(火) 21:38:08 ID:???
eval作るのあともうちょっとでできそう
やってみて思ったのが
今回JavaScriptで純LISPを作ったけど
今度は純LISPで純LISPを作るって感じなんだね・・・
evalというのをなんだか難しく考えすぎてたようだよ・・・

109 (-_-)さん :2013/06/25(火) 21:43:13 ID:???
JavaScriptで純LISP作ったのと同じ要領で純LISPで純LISPを作ればいいんだって今日eval考えてて気づいた
あとちょっとで出来ると思う
今んとこlambda関数の実行以外は何とか出来上がった
JavaScriptで純LISPを作るのと同じ要領で作ってるので
エラートラップがバカに多いのと、ちょいと設計が悪くて
エラートラップの真逆の条件処理で処理を進めたほうが有利な部分が多々でてきちゃった・・・
でも逆にすると、このテキストエディタだと可読性が落ちて修正とかしにくくなるから、今んとこ放置だけど
処理速度に問題があったときに見直そうと思う
とにかくエラートラップ大杉

110 (-_-)さん :2013/06/26(水) 00:25:31 ID:???
おっしゃ!めっさ遅いくてめっさ重いがevalが出来たぞ!

111 (-_-)さん :2013/06/26(水) 00:27:50 ID:???
軽くするには過剰なまでのエラートラップを排除すらいいんだけだが
どのくらい軽くなるのかまでは分からんな

112 (-_-)さん :2013/06/26(水) 01:15:54 ID:???
一応自分で作れたことに感動だわ・・・すげえ感動

113 (-_-)さん :2013/06/26(水) 02:41:36 ID:???
エラートラップをかなり削ったけど
まだ重いや
あとはlambda関数オーバーヘッドを減らすくらいか

114 (-_-)さん :2013/06/26(水) 03:06:33 ID:???
ほんの少しだけ軽量になった・・・もうこれ以上は無理ぽ

115 (-_-)さん :2013/06/26(水) 03:47:52 ID:???
軽量化でおよそ2倍くらいの実行速度にはなったが、やはり重い

116 (-_-)さん :2013/06/26(水) 04:01:24 ID:???
しかし、このevalは一行LISPだから
このeval内でevalを作るってのは無理そうだなあ
糞重そうだけどw

117 (-_-)さん :2013/06/26(水) 04:38:34 ID:???
純LISP (JunLISP)
http://www.geocities.jp/takeiteasy_idontthinkso/mysoft/js_minimal_lisp/index.html

もうこれで一応の完成ってことでいいよね・・・色々と疲れた

118 (-_-)さん :2013/06/26(水) 12:34:03 ID:???
eval上でeval実現させてみた
programという関数新たに追加して

最初にlisp15.txtの内容を走らせてから

(program (quote (

;;ここにlisp15.txtの内容コピペして

)) (quote NIL))

これを実行させたら時間かかったけど
ちゃんとテストコードのSUBSTが実行された

チューリング完全を確認でけたよ・・・

119 (-_-)さん :2013/06/26(水) 12:35:20 ID:???
まぁ実際はeval上っていうか実行実体であるexec関数上だけどね

120 (-_-)さん :2013/06/26(水) 12:37:10 ID:???
チューリング完全のテスト、なんだかデジャヴを感じるんだよね・・・なんでだろ?

121 (-_-)さん :2013/06/26(水) 15:02:29 ID:???
lisp8.js lisp13.jsで共通のバカミスを発見した・・・orz
期待動作が同じ動作をする関数を別名で定義して2つも使ってた・・・片方無駄定義・・・しかもすぐ隣で定義しているという・・・

122 (-_-)さん :2013/06/26(水) 15:51:43 ID:???
以前も再再現テストみたいなことをしたような記憶がある・・・
でも、まともなプログラミング言語的なものを作ったのは今回が初のはずだし・・・
何なんだろう、この既視感は。
覚えてないだけで以前に他の何らかの言語でこういうことをしたのかなeval上eval
それとも誰かがそれをしたという報告をネット上とかでしててをそれを読んだとかか?

123 (-_-)さん :2013/06/26(水) 16:20:49 ID:???
いくつかLISPを説明してるサイト見てみたけど
lisp8.jsを元に拡張するのは難しそう
根本設計が違うわ

124 (-_-)さん :2013/06/26(水) 16:28:51 ID:???
マクロとかも難易度高そうだし、逆クオートって何だよ逆クオートってさ、どう見ても作るの難しすぎだんろ
あとprintとかの出力系とかもそうだし、

125 (-_-)さん :2013/06/26(水) 16:35:29 ID:???
マクロとはこんな感じかな

(defmacro hoge (x y) (list 'cons 'x 'y))
(hoge 'a 'b)

↓ 引数のxとyを展開

(list 'cons ''a ''b)

↓ これを実行

(cons 'a 'b)

↓ これを実行

(a . b)

126 (-_-)さん :2013/06/26(水) 16:48:43 ID:???
ようは
(subst ''a 'x '(list 'cons 'x 'y))

127 (-_-)さん :2013/06/26(水) 16:49:54 ID:???
途中送信しちゃった
(defmacro hoge (x y) (list 'cons 'x 'y))
(hoge 'a 'b)

(eval (eval (subst ''b 'y (subst ''a 'x '(list 'cons 'x 'y))))

ってこととかな

128 (-_-)さん :2013/06/26(水) 16:59:35 ID:???
あ、でも引数を評価なしで処理するのか

129 (-_-)さん :2013/06/26(水) 17:07:53 ID:???
関数を使っての実現じゃ無理そう
マクロ用の処理を入れないとアカンか・・・

130 (-_-)さん :2013/06/26(水) 17:13:57 ID:???
マクロ以前に数値や文字列を扱えるようにせんとな・・・
つか純LISPの最小機能しか揃ってない超小規模なやつでも作るのにどんだけ時間かけたんだ・・・
このLISPを拡張していくとなると何年かかるか分からんな・・・

131 (-_-)さん :2013/06/26(水) 17:22:48 ID:???
ひとまず機能が増えたら修正しにくくなってしまうような部分を
この小規模LISPの状態で徹底に直していかないとな・・・スケールがでかくなって何が何やら分からんじゃ困るしな・・・

132 (-_-)さん :2013/06/26(水) 17:33:31 ID:???
おそろしいことが分かった
returnとかlambda関数とかのブロックを抜ける命令とかあんのかよ・・・そんなもん想定して作ってなかったわ・・・
他にもジャンプ命令くさいのあるし、これは丸ごと作り直さないとどうにもならん・・・
lisp8.jsの拡張とか夢のまた夢だったか・・・orz

133 (-_-)さん :2013/06/26(水) 17:39:29 ID:???
> 938 名前:(-_-)さん[sage] 投稿日:2013/06/19(水) 17:43:40 ID:???
> 実際に作ったlispでプログラミングしてるとちょくちょくバグが出てきてやな感じ
>
> >>937
> 両方使おうとしてるのか
> じゃあdefvarを使えるようにしないとダメだな


今更ながらにこのレスの意味を理解した、
Wikipediaの静的スコープを読んでたら、Common Lispは静的スコープと動的スコープを同時に実現できるという記述に今更ながら気づいた・・・

134 (-_-)さん :2013/06/26(水) 17:40:27 ID:???
Common Lispは静的スコープ固定だと勘違いしてたのと
静的スコープに対する勘違いもあることに気づいた・・・・・

135 (-_-)さん :2013/06/26(水) 17:42:02 ID:???
まだスコープの勘違いがあったとは・・・自分の愚かさに情けないと思うよ・・・うう・・・
>>117の純LISPは完成はしてないってことだな・・・静的スコープの実装ミスが解消されてないんだから・・・

136 (-_-)さん :2013/06/26(水) 17:44:43 ID:???
まさかCommon Lispが静的と動的を共存させてたなんて・・・
動的スコープの説明のとこで動的スコープ使うのは古典LISPだけだと勝手に思ってたわ・・・

137 (-_-)さん :2013/06/26(水) 17:45:31 ID:???
もう一つ思い至ったが
よくよく考えたら>>117は動的スコープに設定してあるから静的スコープの設計ミスは一応は影響無かったわ

138 (-_-)さん :2013/06/26(水) 17:46:35 ID:???
プロセッサ全体を動的スコープにするか静的スコープにするかの切り替え機能を入れてるだけだから
Common Lispとはまた違うわな

139 (-_-)さん :2013/06/26(水) 17:48:29 ID:???
defvarで宣言した変数は、宣言したその変数だけ動的スコープな振る舞いをするのな・・・異なるスコープ概念の共存とかプログラマは混乱したりいないのか・・・

140 (-_-)さん :2013/06/26(水) 17:50:27 ID:???
あきらかにWikipediaの静的スコープのところを読み間違えてたというか勘違いしてたというか、本当恥ずかしいわ・・・ああ・・・俺ってばセンスのかけらもないって感じ・・・うう・・・

141 (-_-)さん :2013/06/26(水) 17:51:33 ID:???
何事においても理解力が悪すぎる・・・
理解力の悪さは本当致命的だわ・・・

142 (-_-)さん :2013/06/26(水) 17:54:55 ID:???
静的と動的の共存とか考えただけで混乱してくるわ、ってことは俺の理解がまだ足りないから混乱するってことだよな・・・Common Lisp使いはすげえわ・・・

143 (-_-)さん :2013/06/26(水) 17:55:35 ID:???
もし俺がCommon Lispなんかでプログラム組んだらバグだらけの最悪のコードに仕上がりそう・・・

144 (-_-)さん :2013/06/26(水) 18:05:34 ID:???
現在実装したlambdaの処理で考えると
(A)動的スコープの変数コンテナ
(B)静的スコープの変数コンテナ
(C)lambda関数で作られたスコープの変数コンテナ
の3種を作って

変数への参照が発生した場合は
(C) → (A) → (B) の順番で変数の有無をチェックする

そのlambda関数内で別のlambda関数を呼び出したときのスコープの変化は・・・
(A)と(C)は親子関係になって子である(C)が新たな(A)となり
(B)はそのlambda関数が捕らえてるスコープの変数コンテナに置き換わって
(C)は新たに変数コンテナが生成される

という具合か

145 (-_-)さん :2013/06/26(水) 18:18:37 ID:???
じゃあlambda関数宣言時のクロージャはどのスコープを捕縛すればいいのか
変数単位で捕縛を決めるとなると
lambda関数宣言時にlambda関数のボディ部を精査する必要があるが、ボディ部内で宣言される変数とかも考慮しないといけないし、それは面倒
となると現在のスコープの変数コンテナを捕縛する必要があるが
ボディ内で宣言されている静的スコープの変数は(C)と(B)を辿るわけだが
うーむ、親子関係で父と母がいるみたいに親が2人いるという関係を作ればいいのか?
(C)は(A)とも親子関係だが(B)とも親子関係、なので変数探索は(C)を通して行えばいいという感じか
じゃあ現在のスコープである(C)をlambdaが捕縛したとして
変数検索はどうするんだ・・・?
スコープを抜けるたびに(C)と(A)が親子関係を切っていけばいいのかな
(B)としてロードされたとき(B)は静的な親とは親子関係を継続してるから探索ルートとして有効で
動的な親とは親子関係を切ってるからそちらからの探索はできない、

146 (-_-)さん :2013/06/26(水) 18:23:24 ID:???
それとも
existDynamicVaialbe(name)
existLexicalVaiable(name)
という二つのメソッドでも作るか?そのほうがいいか
入口の(C)はexistVariable(name)でメソッドで
(C)が動的親(A)にexistDynamicVariable(name)で問い合わせをして、自身になければそのさらに上の動的親にexistDynamicVariable(name)で再帰的に問い合わせ続けてグローバルまで
静的親(B)にexistLexicalVariabel(name)で問い合わせをして、自身になければさらにその上の静的親にexistLexicalVariable(name)で再帰的に問い合わせ続けてグローバルまで
をすればいいのかな

なんか違うな

147 (-_-)さん :2013/06/26(水) 18:27:03 ID:???
ひとまず2度探索することになるから
C.existVariable(name) としたならまず自身の現在スコープ内で変数検索をかけて
DynamicVariables.existName(name) とか動的スコープ変数の名前をリストから問い合わせて
あれば動的親にexistDynamicVariable(name)、無ければ静的親にexistLexicalVariable(name)で問い合わせる
という感じかな・・・?

148 (-_-)さん :2013/06/26(水) 18:34:44 ID:???
(C)の現在スコープ内で
lambda関数の宣言が入ったら、(C)はlambda関数呼び出し時に親になる契約をするという感じか
また別のlambda関数の呼び出しが入った場合は(C)はそのタイミングで(C)自身は次の動的親になり、関数から抜けたら子が親を切る
ネストはどうする?
ネストに入ると(C)はそのネストの動的親子・静的親子関係を結ぶけど、ネストから抜けたら動的親子だけ関係を切るという感じか

親子関係は常に子が親を識別する関係で、親側が子を把握するわけではない、
親は子が何人いるかは不明、子からすれば親の人数は動的親と静的親の2人いることになり、
動的親とはすぐに関係を切る、静的親の方はご先祖さまで把握できる、ということか

149 (-_-)さん :2013/06/26(水) 18:40:55 ID:???
動的親は常に新しいスコープ直前のスコープと親子関係を結び
静的親はネストか関数かで親の取り方が異なり、ネストなら直前のスコープ、関数なら関数が捕縛するスコープ

150 (-_-)さん :2013/06/26(水) 18:43:55 ID:???
そして親なしのスコープはグローバルスコープさんだけ
他はグローバルスコープさんをご先祖様に持つ静的親が常に存在し
グローバルスコープさんをご先祖様に持つ動的親が自身の活動中だけいる

うーむ、うまくまとまらんな

151 (-_-)さん :2013/06/26(水) 18:47:18 ID:???
ひとまずCommon Lispのスコープを真似るとしたらこんな感じか

152 (-_-)さん :2013/06/26(水) 19:02:07 ID:???

リスト 動的変数名一覧 = new リスト();
スタック 現在のスコープ保持 = new スタック();
変数コンテナ グローバルスコープ = new 変数コンテナ();
変数コンテナ 現在のスコープ = グローバルスコープ;

class 変数コンテナ {
リスト 変数リスト = new リスト();
変数コンテナ 静的親 = null;
変数コンテナ 動的親 = null;
method get(変数名) {
if (変数リスト.exist(変数名)) {
return 変数リスト.get(変数名);
} else if (動的変数名一覧.exist(変数名)) {
return 動的親.get(変数名);
} else {
return 静的親.get(変数名);
}
}
}

method intoNestScope() {
現在のスコープ保持.push(現在のスコープ);
変数コンテナ 新しいスコープ = new 変数コンテナ();
新しいスコープ.静的親 = 現在のスコープ;
新しいスコープ.動的親 = 現在のスコープ;
現在のスコープ = 新しいスコープ
}

method intoFunctionScope(関数) {
現在のスコープ保持.push(現在のスコープ);
変数コンテナ 新しいスコープ = new 変数コンテナ();
新しいスコープ.静的親 = 関数.捕縛スコープ;
新しいスコープ.動的親 = 現在のスコープ
現在のスコープ = 新しいスコープ;
}

mothod outofNestScope() {
現在のスコープ.動的親 = null;
現在のスコープ = 現在のスコープ保持.pop();
}

method outofFunctionScope() {
現在のスコープ.動的親 = null;
現在のスコープ = 現在のスコープ保持.pop();
}


イメージ的にはこんな感じか?

153 (-_-)さん :2013/06/26(水) 19:03:30 ID:???
インデントが死んでた


リスト 動的変数名一覧 = new リスト();
スタック 現在のスコープ保持 = new スタック();
変数コンテナ グローバルスコープ = new 変数コンテナ();
変数コンテナ 現在のスコープ = グローバルスコープ;

class 変数コンテナ {
 リスト 変数リスト = new リスト();
 変数コンテナ 静的親 = null;
 変数コンテナ 動的親 = null;
 method get(変数名) {
  if (変数リスト.exist(変数名)) {
   return 変数リスト.get(変数名);
  } else if (動的変数名一覧.exist(変数名)) {
   return 動的親.get(変数名);
  } else {
   return 静的親.get(変数名);
  }
 }
}

method intoNestScope() {
 現在のスコープ保持.push(現在のスコープ);
 変数コンテナ 新しいスコープ = new 変数コンテナ();
 新しいスコープ.静的親 = 現在のスコープ;
 新しいスコープ.動的親 = 現在のスコープ;
 現在のスコープ = 新しいスコープ
}

method intoFunctionScope(関数) {
 現在のスコープ保持.push(現在のスコープ);
 変数コンテナ 新しいスコープ = new 変数コンテナ();
 新しいスコープ.静的親 = 関数.捕縛スコープ;
 新しいスコープ.動的親 = 現在のスコープ
 現在のスコープ = 新しいスコープ;
}

mothod outofNestScope() {
 現在のスコープ.動的親 = null;
 現在のスコープ = 現在のスコープ保持.pop();
}

method outofFunctionScope() {
 現在のスコープ.動的親 = null;
 現在のスコープ = 現在のスコープ保持.pop();
}

154 (-_-)さん :2013/06/26(水) 19:04:53 ID:???
あーこれだとグローバルスコープさんで変数を検索する際に ぬるぽ しますねえ

155 (-_-)さん :2013/06/26(水) 19:07:25 ID:???
インデント入れても全角文字のコードは読みづらいな・・・日本語プログラミング言語が流行らないわけだわ

156 (-_-)さん :2013/06/26(水) 19:13:18 ID:???
コンストラクタのオーバーロードを使えば
変数コンテナのnewのときに関数かネストかを区別できそう
あとはスコープ抜けたときのメソッドも変数コンテナ側につけて
グローバル位置に宣言してる一覧とかグローバルさんを変数コンテナclassのstaticなメンバとして使えばOKな感じか
まぁjavascriptでは無理だろうが

157 (-_-)さん :2013/06/26(水) 22:05:26 ID:???
un

158 (-_-)さん :2013/06/27(木) 01:02:54 ID:???
あるテキストデータのP文字目からQ文字目において

1byte半角がM種類で総文字数がU文字 (0 <= M <= 256, 0 <= U)
2byte全角がN種類で総文字数がV文字 (0 <= N <= 256, 0 <= V)

0 < (M + N) <= 256
0 < M ⇔ 0 < U
0 = M ⇔ 0 = U
0 < N ⇔ 0 < V
0 = N ⇔ 0 = V
0 < (U + V)

TABLE_SIZE := (M + N) + (M + (N * 2)) > 0
BYTE_SIZE := U + (V * 2) > 0

(BYTE_SIZE - V) + TABLE_SIZE < BYTE_SIZE
→ TABLE_SIZE < V
→ 1 < V / TABLE_SIZE

R := V / TABLE_SIZE

P文字目から数えてRを最大にするQ文字目を探す

159 (-_-)さん :2013/06/27(木) 03:19:07 ID:???
The Java? Tutorials
http://docs.oracle.com/javase/tutorial/

JAVA覚えようぜ

160 (-_-)さん :2013/06/27(木) 20:03:57 ID:???
ごめん「プログラミング言語を勉強する」という道は既に通ったんだ
新しい言語を覚えるときは既に知ってる知識との差分で済ませられるから3日もあれば出来るようになるし

161 (-_-)さん :2013/06/28(金) 17:10:57 ID:???
規制されちった

162 (-_-)さん :2013/06/28(金) 19:54:48 ID:???
てひひ

163 (-_-)さん :2013/06/28(金) 22:14:15 ID:???
一般的に新聞や雑誌やコンテストに作品(文章や詩歌や絵や音楽やプログラム)を投稿したりするときって、
著作権の一部を新聞社や出版社や主催者側に移譲するなりの約束事項や契約みたいなもんあるじゃん
それで投稿・応募した作品を著作権者の自由にできないこと(自分で頒布や販売とか)多いじゃん、(ひこにゃんなんかいい例)
ideoneとかcodepadやsourceforgeとかgithubとかってそういう事項あったりしないの?

164 (-_-)さん :2013/06/28(金) 22:27:28 ID:???
知らんがな
ggrks

165 (-_-)さん :2013/06/28(金) 22:31:19 ID:???
避難所まで荒らす気か

166 (-_-)さん :2013/06/29(土) 15:51:57 ID:???
コーディング規約って何だ?

167 (-_-)さん :2013/06/29(土) 16:00:24 ID:???
分からない用語はググりましょう

168 (-_-)さん :2013/06/29(土) 16:14:07 ID:???
コールスタックを遡って例外を投げる

169 (-_-)さん :2013/06/29(土) 16:30:35 ID:???
実際に問題が起こったことはあるよ
だから大事なソースはライセンスをきっちり決めて書いといたほうが後々面倒なことが起こらずに済む

170 (-_-)さん :2013/06/29(土) 20:00:17 ID:???
404 名前:デフォルトの名無しさん[sage] 投稿日:2013/06/29(土) 18:59:40.27
命名規則に話が集中しているのはそこがあまりにタコだと実装のレビューをしようにも読む方が
無駄な努力を強いられて嫌になるから。Tableクラスだけでもなかなかの忍耐が必要。

一人で書き捨てするコードならともかく、人に読んで貰うなら命名規則や慣用は要尊重。
無知を言い訳したオリジナリティーの発揮は単に有害。初心者こそ模倣から始めるべき。

・適切なクラス名やメソッド名が解らないのであれば既存のライブラリのAPIから似たような
 ことをしているクラスやメソッドの名前を探して真似をする。
・適切なコメントの付け方が解らないのであれば既存のライブラリのソースコードを調べて
 (クラス名に.javaとつけてググればいくらでもヒットする)真似をする。JavaにはJavaDoc
 形式というコメントの付け方が定義されていて、これ以外の独自コメント形式は単に迷惑。
・適切な変数名が解らなければ既存のライブラリのソースコードを調べて(以下略)

解らなければまず調べよう。
初学者ほど何故か調べない、真似をしない、コンパイル時のエラーメッセージも読まない不思議。

171 (-_-)さん :2013/07/01(月) 00:07:07 ID:???
phpにbuilt-inのウェブサーバがあるなんて知らなかった!
ウェブサーバーなんてインストールいらなかったんや!

172 (-_-)さん :2013/07/01(月) 00:12:16 ID:???
PHP -S localhost:8000


http://localhost:8000/index.php
とかで見られたお!

173 (-_-)さん :2013/07/01(月) 00:15:08 ID:???
あのLISPで2chブラウザとか作っちゃうのかい?

174 (-_-)さん :2013/07/01(月) 00:24:57 ID:???
流石にあれで2chブラウザは㍉
LISPのコードをpythonに変換してバイトコンパイルとか考えたけど('A`)マンドクセ

175 (-_-)さん :2013/07/01(月) 00:47:57 ID:???
そっか、どうせなら全国公開できるLISPを作っちゃえばいいのにと思ったけど
既存のプログラミング言語って1人で作りあげてるもんって中々ないもんね
そりゃ無理か

176 (-_-)さん :2013/07/01(月) 00:50:00 ID:???
やっぱプロジェクトでたくさんの人で共同開発しないと面倒すぎるもんね
俺なんてたった5つの関数と4つの特殊形式のあわせて9つの機能しかないLISP作るのにひぃひぃ言ってるのに
世の中そううまくいかないもんだね

177 (-_-)さん :2013/07/01(月) 00:58:27 ID:???
2chブラウザ自体は作ったことあるんだけどGUIにTk使ってて見た目ダサいしなんか詰めが甘かったな

178 (-_-)さん :2013/07/01(月) 01:30:37 ID:???
作ったことあんのか、そりゃすげえな・・・
俺も作ってみたいとは常々思ってはいるんだが
いかんせん色々と難しそうで後回しだぜ

179 (-_-)さん :2013/07/01(月) 01:54:21 ID:???
C#かVB.NETでテキストブラウザとか作ってみたいんよねえ
どうやって作りゃいいのか勉強しないといけんけど

180 (-_-)さん :2013/07/01(月) 19:21:43 ID:???
<tag>...</tag>に従って色つけたり字の大きさを変えたりすればいいんでない?

181 (-_-)さん :2013/07/01(月) 23:01:45 ID:???
うーん分からん、勉強まだ開始してないしまだ全くの無知レベルだから想像もつかんわ

182 (-_-)さん :2013/07/01(月) 23:03:39 ID:???
テキストブラウザはw3mを使ったことあるけど、あれよりはも少しレイアウトがどうにかなるような感じのがいいけど
w3mとか偉大すぎるテキストブラウザを超えたいとかちょっと無謀すぎる目標だけどね(笑)

183 (-_-)さん :2013/07/01(月) 23:08:04 ID:???
w3mを使ったのはFreeBSD上でだけなんだけど
PCが悪かったのかインストールの仕方が悪かったのか
まともなGUI環境を作れなかったから普通のブラウザが何一つ起動しなかったので
やむなしにktermだったか忘れたけどGUIターミナルからw3mを使ってた
普通にマウスも使えたし、画像も表示できるし、あれすごかったわ

184 (-_-)さん :2013/07/01(月) 23:10:40 ID:???
ktermじゃなくてrxvtとかいうやつだったかな?
とにかく日本語に対応してるターミナルを使ってた

185 (-_-)さん :2013/07/02(火) 02:36:33 ID:???
せっかくインストールしたことだし
PHPかPerlあたりで便利そうなスクリプトでも考えて書いてこうかな
VBScriptやJScript(JavaScript)でやるのはちょい不便に感じるし
コマンドプロンプトのバッチコマンドだけでやるのは限界が大きいし
JavaやCで作るという方法もあるんだろうけど
Cで色々処理するのは(プログラミングが)難しそうだし
Javaでもいいんだけど、色々と面倒が増えるし
PHPは使い慣れてていいんだけど
Perlはどうだろう、この際覚えてみるかなあ
まぁただPHPにしろPerlにしろ使うときは毎度環境変数のPATHを通さないといけんけどね
インストールフォルダ名にバージョン名とか入れちゃってるからシステムに登録するとバージョン上げるときに面倒だし
いっそJDKをインストールしたときみたいにフォルダ名からバージョン番号を潰すか?
いやいや、それは無理だ、PHPとPerlはバージョン番号を把握しきれんからな
JavaだとVMのアップデートで広く告知されるからいいけど
PHPやPerlとか一般人が直接扱わないもんなんか自分でチェックせなあかんし
RSSとかいう機能はウザいから使いたくないし、バックグラウンドジョブは増やしたくないからタスクやクローラーとか使いたくないし

186 (-_-)さん :2013/07/02(火) 03:00:39 ID:???
PHP、Perl
 インストールフォルダにバージョン番号を入れてるので更新のたびにシステム環境変数の書き換えは面倒(管理者権限昇格作業は面倒)
 手動インストールなのでスクリプトファイルとして登録されてない(手動でやるのはかなり面倒なのでする気もない)のでクリックでは実行できない
 バッチファイルにスクリプトを起動する記述を入れればクリック実行も可能ではある
 ライブラリが強く、かなり色んな作業ができる

VBScript、JavaScript(JScript)
 Windowsに最初から入ってる、wsfというファイル形式を使えばVBScriptとJavaScriptを混合した柔軟なスクリプトが書ける
 制限も多く出来る作業に限界があるように感じる、またHTML上で使うのとは仕様がやや異なるらしく別途勉強が必要
 エクスプローラ側のエラーメッセージが具合悪くデバグしにくい、引数がいらなければクリックで実行することも可能

コマンドプロンプトバッチ
 出来る事は少なく使い勝手悪い反面、比較的シンプルな記述で作業はできる、各種スクリプト使うよりファイル操作は速い気がする
 引数がいらなければクリックで実行することも可能

Java
 CUIアプリは作れるものの、クリックで実行はできない、がバッチファイルにJavaを起動する記述を入れればクリック実行も可能
 各スクリプトやCみたいに平らに書いてくことが出来ず、いちいちクラス作ってかなきゃならん、非常に面倒
 ライブラリは豊富ではあるが、テキスト処理系にやや難あり(UTF-8のBOMが扱えない等)なので作業処理用に向いてないかも
 修正のたびにコンパイル作業が必要

C、C++
 なんでも出来るスーパー言語ではあるが、それを組み上げるのは至難極まる
 コンパイルが必要で手間、ライブラリは探せばあるかもしれんが使うには調整が必要な場合もあり
 面倒や手間が多すぎて手軽気軽に使えるもんじゃない、動的メモリやポインタが一番怖い、最悪パソコンがぶっ壊れる?

VB.NET C#
 未修得の言語な上にIDEが糞重くてあまり使う気しない、いずれ勉強するつもりではあるが
 手軽気軽に作業スクリプト書くのには向いてない

VB6
 どうもCUIアプリは作れないぽい、対応文字コードの問題でテキスト処理には不向き、時代遅れ言語である

187 (-_-)さん :2013/07/02(火) 03:07:50 ID:???
PHPはサイト用にはちょいとだけ使ったが
ファイル操作系はUnix系が準拠でWindowsのスクリプト処理にはあまり向いてないんじゃないかと感じた

しかしPerlは全然使ったことないのでゼロベースからの勉強になる、非常に手間である

VBSとJSがHTMLとWSで仕様が違うのが慣れの問題で使い勝手が悪く感じる、
何ができて何ができないのか仕様の違いをさらうのは非常に手間、ゼロベースからの勉強のほうがマシなくらい
特にVB6とVBSの違いなども壁となっている、些細な違いを意識しながらコードを書くのはキツイ
英国英語と米国英語を使い分けるようなもん、混乱しやすいのでむしろ危険

188 (-_-)さん :2013/07/02(火) 03:10:54 ID:???
忘れてたがWindows PowerShell とかいうのもあるが
まず糞重い、スクリプトファイルには証明書発行が必要、 コマンドプロンプトのバッチコマンドやUnixのシェルとはまた仕様が異なり使い勝手も悪い
何のメリットも感じられない

189 (-_-)さん :2013/07/02(火) 03:31:09 ID:???
ひとまず作りたい作業スクリプトがありそれを実現するのに俺が把握してる範囲ではPHPが最適そうなのでPHPでやってみるは

190 (-_-)さん :2013/07/02(火) 12:58:15 ID:???
Cとxlibでプログラミング楽しいよ
なにか作りたいものを作るのにはもっといい物があるけどそれ自体が目的なら結構良い

191 (-_-)さん :2013/07/02(火) 13:55:03 ID:???
xlibとは古風な...
ルートに描画する壁アプリ位しか使い道思いつかん

192 (-_-)さん :2013/07/02(火) 15:14:32 ID:???
やっぱりxlibは不便すぎるな
車輪の再発名のオンパレードだし荷が重い
unixというかlinuxでC/C++でGUIプログラミングするならgtkなのかな

193 (-_-)さん :2013/07/02(火) 15:56:11 ID:???
やっぱりしんどいんだ
GtkとQtが主流だよね
入ってるのだと他はxfeがFOXを、dilloがFLTKを使ってる位か
後はwxWidgetsとかGNUSTEPとかかな

俺はfreepascalのLCLでGUIいじってたけど、
ScrollBoxやIMのバグが気になって他のGUIライブラリ探してる最中

194 (-_-)さん :2013/07/02(火) 15:58:23 ID:???
なんかマイナーなものばかり使ってるね

195 (-_-)さん :2013/07/02(火) 16:18:59 ID:???
入れてるだけで、たまにしか使わないよ ->xfe,dillo
freepascalはポインタに変なもの入れてもコンパイルエラーで弾いてくれてCより親切だしlazarusは便利だった

196 (-_-)さん :2013/07/02(火) 19:23:11 ID:???
GtkインターフェースからQtインターフェースに変えたらバグ回避できた
これからもLCLでいいや

197 (-_-)さん :2013/07/02(火) 19:26:08 ID:???
GUIプログラミングってつまらなくてなかなか身につかない
もうjavaのswingで妥協しようかな

198 (-_-)さん :2013/07/02(火) 19:36:32 ID:???
freepascalってなんか魅力的だな
しかし需要も供給もない少ない気がするけど大丈夫なのかな

199 (-_-)さん :2013/07/02(火) 20:19:31 ID:???
最新版には及ばないけどdelphi(VCL)との互換性のおかげで結構情報は落ちてるよ。
embarcaderoが日本語でAPIドキュメントとか書いてくれてるし

200 (-_-)さん :2013/07/02(火) 21:08:18 ID:???
今は新しいこと覚える気分じゃないというか慢性的な肩こりで体がダルい
LISPインタプリタを一応完成させてから脱力感でやる気が出ない

201 (-_-)さん :2013/07/03(水) 00:44:58 ID:???
俺は今、純LISPが一区切りしたということにしてPHPでのサイト作りのほうやってるぜい

202 (-_-)さん :2013/07/03(水) 17:25:17 ID:???
なんだかんだでtcl/tk

203 (-_-)さん :2013/07/09(火) 01:48:40 ID:???
Mozilla、C/C++に似た新たなプログラミング言語「Rust 0.7」をリリース | SourceForge.JP Magazine
ttp://sourceforge.jp/magazine/13/07/08/143000

どんなもんなんだろね

204 (-_-)さん :2013/07/09(火) 02:01:57 ID:???
Sleipnir166に替わるブラウザが欲しいがOperaがWebkit使うとかで期待できなくなった
自前でブラウザ作るのって難しいのかな
マイナーなブラウザとかならたくさんありそうだが、どうなんだろうな

205 (-_-)さん :2013/07/09(火) 13:39:19 ID:???
俺も真新しいものを開発して世間から注目されたい

206 (-_-)さん :2013/07/13(土) 04:24:56 ID:???
PHPでのサイト作りサボりすぎ・・・まーた中途で止まってしまった

つかレン鯖のほうがPHPのバージョンが古いままなのに気づいた
どうもセーフモードを使いたいらしい
セーフモードはPHP5.4で非推奨でPHP5.5で完全に削除されてるからどうもアップデートしないようだ
俺が問題視してたmysql関連はphp5.5で削除のメソッドだからアップデートされないのならmysqliかpdoに書き換えるとかしなくていいかなって
面倒だし

207 (-_-)さん :2013/07/13(土) 04:25:42 ID:???
ちなみに手元のWindowsとLinuxにインストールしたのがPHP5.5だからセーフモードとか再現できなかったりもする・・・

208 (-_-)さん :2013/07/13(土) 04:26:23 ID:???
まー古いバージョンをダウンロードしてインストールしなおせばいいんだけどね

209 (-_-)さん :2013/07/14(日) 03:34:38 ID:???
親がそろそろブチ切れそう・・・早いとこPHPのサイト完成させないと、完成させる前に家を追い出されるかパソコン没収されそう

210 (-_-)さん :2013/07/14(日) 22:49:10 ID:???
その言い方ならPHPのサイトを完成させれば追い出されていいのか

211 (-_-)さん :2013/07/14(日) 23:19:51 ID:???
まー追い出されたら死ぬしかないが
そのPHPのサイトを利用してるみんなの役に立てれば
もう思い残すことはないかなーって感じかな

212 (-_-)さん :2013/07/14(日) 23:22:13 ID:???
さめがめのゲームの歴史を知っておどろいた
日本人が作ったゲームなんだな
今までさめがめってどんなゲームか知らんかったけど
ハンゲームのセイムパズルとかその他別名で遊んだことあったルールだった
すんげえ驚いた

いつか自分でも作ってみたいなさめがめ

213 (-_-)さん :2013/07/14(日) 23:29:44 ID:???
今から作れば明日の早朝には完成してるだろ

214 (-_-)さん :2013/07/14(日) 23:39:04 ID:???
何年か前にぷよぷよぽいの作ったけど
連結したのを消す処理って難しい
ペイントの塗りつぶし系のアルゴリズムと同じなんだろうけど
その手のアルゴリズムをちゃんと調べて実装したことないからなあ

215 (-_-)さん :2013/07/14(日) 23:40:08 ID:???
塗りつぶしはそれはそれで作ったことあるけど作り方悪くて処理時間かかるし、領域が大きいとすぐスタックオーバーフローしたなあ(笑)

216 (-_-)さん :2013/07/14(日) 23:41:31 ID:???
まーぷよぷよとかさめがめはそう広い領域じゃないからスタックオーバーフローを気にする必要ないし、ヘボい自前アルゴリズムでも処理時間は少ないからダイジョウブっちゃそうだけど

217 (-_-)さん :2013/07/14(日) 23:44:34 ID:???
ぷよぷよ程度なら4方向を見て再帰的に調べていけば簡単に実装できた気がする
再帰呼び出しの回数も数回で済むし

218 (-_-)さん :2013/07/14(日) 23:44:42 ID:???
今んとこグラフィック処理系のゲームですぐ作れるのはVB6くらいかな・・・
他の言語ではN88-BASICやQBASICならコード起こせるかもしれんけど、環境はもう無いし

219 (-_-)さん :2013/07/14(日) 23:46:28 ID:???
>>218
freebasicって言うのがQBASICと互換性があるらしい

220 (-_-)さん :2013/07/14(日) 23:47:39 ID:???
>>219
あまりごちゃごちゃインストールしたくなかったから
古いBASICライクの言語が色々あるのは知ってるんだけど
入れてないんだよ・・・

221 (-_-)さん :2013/07/14(日) 23:50:41 ID:???
JAVAやVisual Studio2010も入れてるし、Borland C++コンパイラやOpen Watcom C++も入れてるから
VB6以外でもグラフィックス処理系を作る環境はあるっちゃあるんだが、これらでのGUI開発が無いから一晩では到底無理だし、1か月はかかるわ
VB6で作るなら徹夜もすれば1週間もかからずに出来ると思うけど

222 (-_-)さん :2013/07/14(日) 23:53:53 ID:???
HTML上でもJavaScript系も手の込んだことはしたことないからHTML5のCanvasも含めてかなりの勉強が必要だし
まー醜くTABLEタグとIMGタグの大量配置で作ることも可能かもしれんが、こないだうpったライフゲームみたいに文字コードでやる手もあるかもしらんが

223 (-_-)さん :2013/07/15(月) 00:13:09 ID:???
>>217
そこが一番難しいポイントだわ
得点とかつけずにシンプルにただ消してくだけなら簡単だろうけど
得点つけたり、消えるのに演出つけたりするんなら色々考えなけりゃならんし・・・

224 (-_-)さん :2013/07/15(月) 02:51:14 ID:???
1時間20分で即席のさめがめは一応でけた・・・

225 (-_-)さん :2013/07/15(月) 02:52:42 ID:???
JavaScriptで昔作ったライフゲームと同じ■の文字で構成
得点もなけりゃゲームオーバー判定もないし
再挑戦するならページリロードという
めちゃくちゃ手抜きだがな

226 (-_-)さん :2013/07/15(月) 02:53:54 ID:???
しかもこれ、ちょっと古めのPCやヘボJSエンジンだと酷くなりそうなくらい処理方法が悪い

227 (-_-)さん :2013/07/15(月) 03:00:26 ID:???
Operaだと気にならないがIE9だと少々もたつく
そしてFireFoxだと謎のテキスト整形がなされてゲームができない・・・

228 (-_-)さん :2013/07/15(月) 03:01:48 ID:???
原因わかった・・・FireFoxだとHTMLのエンコードがShift_JISだと認識されなかったせいぽい・・・
metaタグで指定しないとダメか

229 (-_-)さん :2013/07/15(月) 03:03:05 ID:???
おー、FireFoxはOperaよりも軽快に動いた

230 (-_-)さん :2013/07/15(月) 03:04:47 ID:???
しかし酷いコードだな
即席で設計もなしに作ったから全部平らに書いてて本当酷いわ

まぁ、ただ作ってみて分かったのは
さめがめ というゲームは仕組み的には結構シンプルなのな

231 (-_-)さん :2013/07/15(月) 03:09:19 ID:???
多少の手直しすれば得点とゲームオーバー判定とリロードなしでの再スタートも簡単に入れらるかな・・・それやるとさらに1時間かかりそうだが

232 (-_-)さん :2013/07/15(月) 03:48:03 ID:???
おk、ゲームオーバー、得点、再スタート実装した

233 (-_-)さん :2013/07/15(月) 04:08:12 ID:???
プレイして出るバグがあるな
ダブルクリックというか超連続クリックするとエラー出るけど
これはJavaScriptの仕様をちゃんと理解してない俺の問題か

234 (-_-)さん :2013/07/15(月) 04:12:03 ID:???
ダメだわ、この作業ゲー
ひたすらやり続けてしまう、中毒性高杉
ハイスコアとか作ってないしスコアも気になるわけじゃなく
ただただひたすらこの単調な作業ぽい行為をやり続けてしまう
危ない

235 (-_-)さん :2013/07/15(月) 04:15:41 ID:???
http://www.geocities.jp/takeiteasy_idontthinkso/mysoft/js_samegame/index.html
一応うpた

236 (-_-)さん :2013/07/15(月) 04:31:07 ID:???
本当このゲーム毒だわ、面白いとかいう感情すら沸いてないのに夢中になる・・・さめがめ・・・恐ろしい子!
あっちゃこっちゃのゲームサイトで使われるわけだな、たしかに俺も昔、ヤフーゲーでハマってた時期あったけど!
テトリス以上にヤバいゲームだわ

237 (-_-)さん :2013/07/15(月) 04:32:43 ID:???
ちょっと自分のガラケーのアプリ用に作ってみようかなとか思っちゃったじゃないの

238 (-_-)さん :2013/07/15(月) 04:36:02 ID:???
ゲーム全般で言えることだけど、UI作るのが一番面倒なんだよね
JSなんかは単純な作りにすればHTMLタグでぶっこめばいいだけだけど
ガラケーのアプリとかWindowsのGUIアプリとかクリックイベントだのオブジェクトだの面倒くさい作業が大杉や・・・

239 (-_-)さん :2013/07/15(月) 04:51:44 ID:???
どのゲームよりもシンプルな感じがするし
VB.NETとC#とJava-SwingとJava-Appletでの俺の課題アプリにしようかな

240 (-_-)さん :2013/07/15(月) 04:53:44 ID:???
Lispもちゃんと勉強すれば以前DLさせてもらった
http://jbbs.livedoor.jp/bbs/read.cgi/internet/17286/1361821799/970
でも作れるかも?

241 (-_-)さん :2013/07/15(月) 04:55:37 ID:???
Flashでのも作ってみたいかなあ・・・Haxeとswfmill&mtascとFlexSDKの三種あるけど、Flashコンテンツ作るのにどういう差異があるのだろうか

242 (-_-)さん :2013/07/15(月) 04:56:40 ID:???
しかし、まーた脱線してしまったよ、PHPのほうの完成を急ぎたいのに・・・ああ・・・俺ってダメな奴・・・

243 (-_-)さん :2013/07/15(月) 05:02:25 ID:???
まーたやってしまった・・・ブロックを詰めるのが一瞬すぎて正しく詰めてるのかちょっと疑問だなあ・・・
やってて思ったが、もしかすると間違った処理してるかもしれん、確認する方法を考えないと

244 (-_-)さん :2013/07/15(月) 13:32:57 ID:???
>>240
一応グラフィック機能あるけどキーボードからの入力に対応してないよ

245 (-_-)さん :2013/07/15(月) 13:38:43 ID:???
これってマウスで遊ぶゲームじゃないの

246 (-_-)さん :2013/07/15(月) 13:47:29 ID:???
ならできるね

247 (-_-)さん :2013/07/18(木) 04:34:55 ID:???
スコープが分からないだって?ほれ


「スコープ」 〜マンガでプログラミング用語解説 (1/5):CodeZine
ttp://codezine.jp/article/detail/7176

248 Lilin :2013/07/18(木) 21:43:56 ID:NjUYpf8c
OOP分からん(´・ω・`)

249 (-_-)さん :2013/07/18(木) 21:46:31 ID:???
なにか色々作って経験積めば自然にわかるようになるよ
勉強だけじゃなくて

250 (-_-)さん :2013/07/18(木) 22:44:03 ID:???
面倒見の良い画像収集スクリプトを気合入れて作ってたらwgetとgrepで十分なことに気づいて燃え尽き症候群みたいになったわ

251 (-_-)さん :2013/07/19(金) 00:00:20 ID:???
Javaの&と&&の違いとか把握してなかった、やばいやばい

boolean a = false;
if (true || (a = true)); System.out.println(a);
if (true | (a = true)); System.out.println(a);

boolean b = false;
if (false && (b = true)); System.out.println(b);
if (false & (b = true)); System.out.println(b);

252 (-_-)さん :2013/07/19(金) 23:39:23 ID:???
>>250
俺も最近画像収集プログラム組んでたから気になるわ
スクレイピング?

253 (-_-)さん :2013/07/19(金) 23:44:49 ID:???
>>252
うん
指定した拡張子のurlを抽出してそれをまとめてダウンロードするスクリプト
途中で失敗したらそこからやり直せるようにしたり指定したディレクトリに保存できたり
広告を除外するためにしきい値以下は保存しないようにする機能をつけた

254 (-_-)さん :2013/07/20(土) 00:10:45 ID:???
>>253
がんばってるな。
問答無用で画像をダウンロードする感じなのかな。
俺はエロ画像掲示板から、投稿された画像だけを取得するプログラムを組んだけど、
サイトによっては、適当なリクエストを送ると弾かれてしまうみたいで、
汎用性の高いプログラムは組めなかった。

255 (-_-)さん :2013/07/20(土) 00:14:28 ID:???
>>254
サイトの形式によって処理を別けないと駄目かもしれないね
google画像検索の結果とか

256 (-_-)さん :2013/07/20(土) 21:59:57 ID:???
JCOM規制キタワ〜

257 (-_-)さん :2013/07/21(日) 05:37:11 ID:???
規制かよ
二週間しかできなかったわ

258 (-_-)さん :2013/07/22(月) 01:27:37 ID:???
最近ダレてれる
何か新しいテーマとか思いつきたい
創作意欲が湧かない

259 (-_-)さん :2013/07/22(月) 01:28:03 ID:???
×創作意欲
○制作意欲

260 (-_-)さん :2013/07/22(月) 03:10:41 ID:???
メモ

Data URI scheme - Wikipedia
http://ja.wikipedia.org/wiki/Data_URI_scheme

261 (-_-)さん :2013/07/22(月) 03:12:50 ID:???
JavaScriptで任意のテキストファイルを含んだzipファイルデータを生成しData URI schemeでダウンロードさせられないものか、考えてみるぞん

262 (-_-)さん :2013/07/22(月) 03:14:16 ID:???
ぐぐってみたらIE9はダメなのか・・ぐぬぬ・・・

片鱗懐古のブログ: 色んなデータをデータURIスキームで埋め込んでみる
ttp://pieceofnostalgy.blogspot.jp/2012/12/uri.html

263 (-_-)さん :2013/07/22(月) 03:20:11 ID:???
なんと、JSZipというライブラリで既にこの世に存在してるのか、それ使えばいいだけなのか・・・

264 (-_-)さん :2013/07/22(月) 03:21:32 ID:???
JSZip: JavaScript zip class
http://stuk.github.io/jszip/

どのみち
ZIPのデータURIスキームにIE9が対応してないんじゃなあ・・・orz

265 (-_-)さん :2013/07/22(月) 03:22:41 ID:???
data Protocol
http://msdn.microsoft.com/en-us/library/cc848897(VS.85).aspx

おのれ・・・ゆるさんぞMS

266 (-_-)さん :2013/07/22(月) 03:28:55 ID:???
zipファイルをishに変換するという手立てもあるか?

267 (-_-)さん :2013/07/22(月) 03:32:27 ID:???
ベクターにishのソースコードがあったからダウンロードしたら
オールアセンブリだった件・・・

これは読めねえよ・・・

268 (-_-)さん :2013/07/22(月) 03:33:38 ID:???
MAKEFILE見るとcomファイルを生成するようだが
16bitマシンとか古い規格のもんだから仕方ないっちゃないんだろうが・・・

269 (-_-)さん :2013/07/22(月) 03:36:42 ID:???
こんな長大アセンブルを1人でやってのけるとか
化け物かよ・・・

270 (-_-)さん :2013/07/22(月) 03:39:15 ID:???
ファイルフォーマットの説明あるか
アセンブリコード読まなくても再現は作れるかもしれんが
複雑すぎだわ

271 (-_-)さん :2013/07/22(月) 03:41:52 ID:???
普通にzipファイルを表すbase64のコードをテキストファイルとしてDLさせるほうが賢いか

272 (-_-)さん :2013/07/22(月) 03:56:53 ID:???
ok、JSZipだけ使う

ソース見たが、これを自分で作ろうとは思えんわ
素直にライブラリ使わせて頂きますん

273 (-_-)さん :2013/07/22(月) 03:58:03 ID:???
まー本当欲しいのはtarみたいにファイル結合させるだけのでいいんだけど、もう面倒だし

274 (-_-)さん :2013/07/22(月) 04:03:57 ID:???
問題はライセンスだな、MITLとGPLv3ということだが・・・うーむ

275 (-_-)さん :2013/07/22(月) 04:06:43 ID:???
日本語訳があったの忘れてた

メモ

オープンソースライセンス - Open Source Group Japan Wiki - Open Source Group Japan - SourceForge.JP
ttp://sourceforge.jp/projects/opensource/wiki/licenses

276 (-_-)さん :2013/07/22(月) 04:08:37 ID:???
GPL長過ぎ・・・・読むの面倒

277 (-_-)さん :2013/07/22(月) 04:11:29 ID:???
デュアルライセンス - Wikipedia
ttp://ja.wikipedia.org/wiki/%E3%83%87%E3%83%A5%E3%82%A2%E3%83%AB%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9

デュアルライセンスとは 〔マルチライセンス〕 【dual-license】 - 意味/解説/説明/定義 : IT用語辞典
ttp://e-words.jp/w/E38387E383A5E382A2E383ABE383A9E382A4E382BBE383B3E382B9.html

ok、ちぃおぼえた
デュアルライセンスだから片方にだけ従えばいいのか
条文短いMITライセンスで使うとするか

278 (-_-)さん :2013/07/22(月) 04:15:42 ID:???
しかしライブラリとしてファイルそのまま使う場合
どこにライセンスとやらを書いておけばいいんだ?
scriptタグで埋め込んだすぐ下にコメントタグに入れて書いとけばいいのか?

279 (-_-)さん :2013/07/22(月) 04:26:15 ID:???
それにしてもこのJSZipを作った人すげえな、マジすげえわ・・・次元が違いすぎる・・・俺小者すぎ

280 (-_-)さん :2013/07/22(月) 04:31:44 ID:???
jQueryについて質問です。MITライセンスは著作権表記が必須のようですが、ソフトウ... - Yahoo!知恵袋
ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1166970851

うーむ、この質問と同様にjsファイル内にある著作権表示だけでOKなのかな
それならjszip.jsをアップしてそのまま使うだけでいいのかな

281 (-_-)さん :2013/07/22(月) 04:32:52 ID:???
ふむ、それでよさそうだな、よし、それで作ってみるか

282 (-_-)さん :2013/07/22(月) 04:35:29 ID:???
ライセンスって複雑だなあ・・・

283 (-_-)さん :2013/07/22(月) 04:40:13 ID:???
【License】ライセンス総合【利用許諾】
http://toro.2ch.net/test/read.cgi/tech/1266247461/430

284 (-_-)さん :2013/07/22(月) 04:42:56 ID:???
ライセンス書いてあるファイルの中身をjszip.jsの冒頭にコメントブロックで追記しときゃいいか

285 (-_-)さん :2013/07/22(月) 04:44:21 ID:???
それともプログラムの動作に影響しないコメントでも追加したら改変に該当するのかな
全体のテキストとしての著作権なら確実に書き換えることになるわけだし
コードの部分だけの著作権なのかな、ライセンス難しいな

286 (-_-)さん :2013/07/22(月) 04:47:26 ID:???
まーMITにしろ著作権表示すりゃ改変OKなんだっけか、それならコメントブロックでライセンス条文のファイル内容書き込むくらいはどうってことないよな
うん、そうしよう

287 (-_-)さん :2013/07/22(月) 22:06:11 ID:???
http://ikura.2ch.net/test/read.cgi/hikky/1362050172/524

ほんとだ、アマゾンでオライリーで検索かけてキンドル版に絞ったら0円のがちらほら
なんで0円?

288 (-_-)さん :2013/07/22(月) 22:14:56 ID:???
でもこれPCからじゃ見れなさそうな
グーグルからアンドロイドSDKのアンドロイドのエミュ上で見るのか?

289 (-_-)さん :2013/07/22(月) 22:33:57 ID:???
んん?
Amazon.co.jpには見当たらないが
Amazon.comにはKindole for PCとかいうアプリがあるぞ?

290 (-_-)さん :2013/07/22(月) 22:37:20 ID:???
なんと、Amazon.comのKindle for PCはAmazon.comのアカウントにしか対応いてないと・・・!?
Amazon.co.jpのアカウントでゲットしたもんはダメとか・・・アカンわ

291 (-_-)さん :2013/07/22(月) 23:17:33 ID:???
Kindle出版プログラムのプレビューアとかで見られないのかな

292 (-_-)さん :2013/07/22(月) 23:44:45 ID:???
なるほど、Amazon.comでも0円で提供されてるじゃん

293 (-_-)さん :2013/07/22(月) 23:45:02 ID:???
0円じゃなかった$0.00

294 (-_-)さん :2013/07/22(月) 23:48:39 ID:???
ひとまずAmazon.comに登録した
いまKindle for PCをインスコ中

295 (-_-)さん :2013/07/22(月) 23:49:50 ID:???
ワロタw
Kindle for PC普通に日本語表示されたw

296 (-_-)さん :2013/07/22(月) 23:58:27 ID:???
いざ購入しようとしたら問題発生・・・電話番号いるのかよ・・・

297 (-_-)さん :2013/07/23(火) 00:17:30 ID:???
やめた、登録わからん

298 (-_-)さん :2013/07/23(火) 00:38:37 ID:???
つか輸入税っていうか関税はどうなるんだ?
Amazon.comで0ドルとはいえ、電子書籍でも関税とか輸入税がかかるのか?

299 (-_-)さん :2013/07/23(火) 01:07:30 ID:???
テキトー住所でいけたわ

300 (-_-)さん :2013/07/23(火) 01:23:27 ID:???
o'reillyで出てきた無料の電子書籍片っ端からDLってて
よく見たら、専門書以外のo'reillyって名前の著者の小説とかもあったようだ・・・

301 (-_-)さん :2013/07/23(火) 01:41:58 ID:???
てゆーか、オライリーじゃなく
普通にプログラミングのカテゴリにtop 100 Free みたいなのあって
色々使えそうなのがあるんだが

302 (-_-)さん :2013/07/23(火) 01:48:02 ID:???
BIBLOGRAPHYってのは書籍紹介本なのか

303 (-_-)さん :2013/07/23(火) 01:49:06 ID:???
Windows8プログラミングのとSQL Serverプログラミングってのが丸ごとあるぞ

304 (-_-)さん :2013/07/23(火) 01:53:02 ID:???
ワロタw
リナックスのコマンドリファレンスの日本語版がamazon.comで$0.00だったw
しかもタイトルがlinuxじゃなくてrinakkusuだったww

305 (-_-)さん :2013/07/23(火) 01:53:45 ID:???
オーマイゴッド!その日本語書籍はkindle for pcじゃDLできないとか・・・オーノー!

306 (-_-)さん :2013/07/23(火) 01:55:01 ID:???
リナックスコマンドはネット繋いでないときは分からんくて困るしな
manでコマンドの使い方は調べられてもどんなコマンドあるか一覧で見られるのが本の強みか

307 (-_-)さん :2013/07/23(火) 02:15:41 ID:???
ちな、コミックも探してみたが無料コミックは一冊しかなかった、ページめくってみるとピカチュウが出てきたんだが版権大丈夫なんかこのコミック

308 (-_-)さん :2013/07/23(火) 02:55:00 ID:???
英語読むのだるいが、それ以上に電子書籍というのを読むのがつらい
2chのスレを見るのもHPとかみるのもどうってことないけど
青空文庫もそうだが電子書籍ってなんでこうも読みにくいんだか

309 (-_-)さん :2013/07/23(火) 03:04:45 ID:???
無料電子書籍のプログラミング関連のを一通り見てみたけど大したこと書いてない感じかな・・・
俺みたいなプログラミング初心者には無用の長物って感じだった

310 (-_-)さん :2013/07/24(水) 01:05:01 ID:.mJSB0Lc
ゲーム作りってプログラミング能力じゃねえのな
面白いゲームのアイデアとか出せる奴が才能だわ

311 (-_-)さん :2013/07/24(水) 22:50:45 ID:???
PHPはスクリプトファイルとして使っても結構便利だな

312 (-_-)さん :2013/07/24(水) 22:51:22 ID:???
ただ、PHPでもShift_JISのダメ文字はダメだった・・・やはりVB6か

313 (-_-)さん :2013/07/24(水) 22:53:18 ID:???
addslashesでクオートしようとしたら見事にダメ文字に引っかかった
しかたないからmbstringの置換で対処しようとしたら以外にてこずった、

314 (-_-)さん :2013/07/24(水) 22:56:58 ID:???
まー本当にダメなのはShift_JISの仕様のほうなのだがな

315 (-_-)さん :2013/07/26(金) 04:06:35 ID:???
なぜJavaScriptでテストコードを書くのか? (1/3):CodeZine
ttp://codezine.jp/article/detail/7257

316 (-_-)さん :2013/07/26(金) 04:09:06 ID:???
記者の眼 - 80年代パソコン少年がプログラミング教育に思うこと:ITpro
ttp://itpro.nikkeibp.co.jp/article/Watcher/20130724/493744/?top_pu

317 (-_-)さん :2013/07/26(金) 16:38:26 ID:???
現在PHPのPDOでSQLiteに挑戦中

318 (-_-)さん :2013/07/26(金) 16:57:34 ID:???
SQLiteのマニュアルのページ面白い
図でコマンドの使い方説明って今まで見たことない
俺にとってはこういう説明の仕方は初見なのですごく斬新に感じる

319 (-_-)さん :2013/07/26(金) 17:25:45 ID:???
SQLiteのマニュアル見ててさらなるデータベースの勉強になったMySQLも使いこなせてなかったことに気づいた

320 (-_-)さん :2013/07/26(金) 17:30:20 ID:???
データベースってまだまだ奥が深そうで
使いこなせるという次元には至らなそう

321 (-_-)さん :2013/07/26(金) 17:38:44 ID:???
SQLってアプリごとにステートメント構文違うし
同じアプリの中でもエンジンによって使えるステートメント構文違ったりするし
難しいね
今んとこ MySQL SQLite ApacheDerby(JavaDB) はちょろっと使ったことあるけど
流行りのPostgreSQLとかMariaDBとかは全然分からないし
MS SQL Serverとかも分からんし

仕事とかでデータベースのプログラミングしてる人とか大変そう

322 (-_-)さん :2013/07/26(金) 17:40:07 ID:???
まー趣味でやってる分、好きなDBを使ってりゃいいんだろうけどさ

323 (-_-)さん :2013/07/26(金) 17:43:28 ID:???
エンジンの選択とかも結構大事ぽいし
MySQLでもMyISAM使うかInnoDB使うかとかあるし
それぞれ利点・欠点・得手不得手があるようだし
データベース、奥が深いわあ

324 (-_-)さん :2013/07/26(金) 17:47:06 ID:???
PDOはPDOのメソッドとかの使い方は変わらなくても
SQLは使うDBなどに合わせなきゃならんから
PDOが有用かとういうと、あんまそんな気がしない
まーこれは俺がデータベースで大したことしてないせいなのかもしれないけど

325 (-_-)さん :2013/07/26(金) 17:49:37 ID:???
データベースドライバ変わればDNSだけ変えればそのまま使えるかというととんでもない、全てのSQL文も見直さなきゃならないという
それでもメソッド等の修正がいらなくなるだけマシなのか
ネイティブメソッドとか使ってると全部書き換えなきゃならんし
まー趣味でやってる分、データベースを変えるってことは無いだろうけど

326 (-_-)さん :2013/07/26(金) 17:51:23 ID:???
それにしてもシフトJISって糞だわ、本当糞だわ・・・日本オンリー仕様とか糞すぎ

327 (-_-)さん :2013/07/26(金) 17:51:44 ID:???
まー2chもシフトJISだけどね

328 (-_-)さん :2013/07/26(金) 17:53:20 ID:???
PHPのコードに文字列で日本語使うときダメ文字が入ってるかなんて分からんし本当糞だわ

329 LILIN :2013/07/26(金) 23:27:57 ID:COPkfwzM
そういや、去年辺り流行ったJavascriptはWebSite作るのにどのくらいまでやるのがいいのだろ。
なんかサーバーサイドまでJavascriptとかあったけど、そこまでやるべきかね。

330 LILIN :2013/07/26(金) 23:31:42 ID:COPkfwzM
PHPをWebページ作成用のスクリプト言語とみるか、HTTPサーバー上で動くアプリケーション・サーバーと見るかで全然違うと思う。
その文字コードとかプレゼンテーション層でやるようなことやセッション層でやるようなことも出来るんでは。
上位レイヤーのゲートウェイと考えれば。

331 (-_-)さん :2013/07/26(金) 23:49:20 ID:???
レンタルサーバーに上げてるPHPはUTF-8使ってるよ
このWindowsマシン上で使うスクリプトとしてのPHPでシフトJISが障害になってるだ

332 (-_-)さん :2013/07/26(金) 23:53:15 ID:???
node.jsとかいうサーバーサイドJavaScriptと言っても結局のとこCGIとかでPHPやPythonやPerl使う代わりにJavaScriptという言語で動的ページが作れるってだけなんしょ?
サーバサイドスクリプトもっと色々出てこないかな

333 (-_-)さん :2013/07/26(金) 23:54:38 ID:???
ウェブサイト作るのに流行ったJavaScriptってHTML5に従ったスマホ向けサイトのかな
JITコンパイラとか使ってるとはいえスクリプト言語で色々出来るなんてすごい世の中になってきたなあ

334 (-_-)さん :2013/07/26(金) 23:56:09 ID:???
時代がLispに追いついてきた

335 LILIN :2013/07/26(金) 23:58:49 ID:COPkfwzM
php.ini弄れよ。
http://php.net/manual/ja/mbstring.configuration.php

336 (-_-)さん :2013/07/27(土) 00:09:49 ID:???
>>335
そんな設定項目あったのか知らんかったわ
ありがと

337 (-_-)さん :2013/07/27(土) 00:19:26 ID:???
せっかく教えてもらったけんど全部SJISにしてみたけど効果なかったわ
foo.php
<?php
echo 'ソ';
?>

C:\>php.exe foo.php

普通にエラーだった

338 (-_-)さん :2013/07/27(土) 00:20:39 ID:???
そういやphp.iniを編集するのにバックアップ取らずいきなり編集しちまったわ。この癖、気を付けないとな

339 (-_-)さん :2013/07/27(土) 00:23:47 ID:???
インストールしたときに多少弄ったけど、よくよく見直したらちゃんと日本語向けのデフォルト値があちこちにちりばめられてんのな、親切設計だわ

340 (-_-)さん :2013/07/27(土) 00:37:46 ID:???
php.iniを見てたらzend.multibyteという気になる項目あったからググったらビンゴだった
スクリプトのエンコードはこれをいじるらしい

341 (-_-)さん :2013/07/27(土) 00:49:01 ID:???
php.iniに
zend.multibyte = On
zend.s/cript_encoding = SJIS   ←スクリプトの英語スペルがNGワードらしい
mbstring.internal_encoding = SJIS

の設定でシフトJISで書いた>>337のスクリプトが動いた

342 (-_-)さん :2013/07/27(土) 00:56:26 ID:???
ただこれ設定したら逆にレンタルサーバーに上げるほうのUTF-8で書いてるPHPのほうが全部アウト・・・

343 (-_-)さん :2013/07/27(土) 00:57:50 ID:???
php.iniの使い分けとか面倒だし
シフトJISスクリプトを諦めますん

344 (-_-)さん :2013/07/27(土) 00:59:40 ID:???
あー、一応>>341のをSJIS, UTF-8って併記すりゃ動くのか、ほーなるほどね

345 (-_-)さん :2013/07/27(土) 01:02:15 ID:???
動いたと思ったら動いてなかった・・・パースエラーが起きないだけで両方で文字化けするようになっちまった・・・

346 (-_-)さん :2013/07/27(土) 01:04:13 ID:???
仮想環境のlinux上で扱えばどうだろう

347 (-_-)さん :2013/07/27(土) 01:18:07 ID:???
いや、もう面倒だしシフトJISスクリプトを諦めるよ
あとレンタルサーバーのPHPは5.3系で
俺のPCのWindowsに入れてるのがPHPが5.4系
俺のPC上の仮想Linux上のPHPが5.5系らしく
全部バージョンがバラバラだよ、俺バカぽい

348 (-_-)さん :2013/07/27(土) 01:38:07 ID:???
php5.3系を入れなおすわ・・・

349 (-_-)さん :2013/07/27(土) 02:45:55 ID:???
PHP5.5を入れてみたらMSVCR110.dllが無いとかエラー出やがった・・・おのれ・・・
PHP5.3はビルトインサーバー無いからテストに使えないじゃないか・・・くそう・・・仮想Linuxのほうにインストールするしかないか・・・

350 (-_-)さん :2013/07/27(土) 04:15:57 ID:???
eclipseって管理者権限なのか・・・

351 (-_-)さん :2013/07/28(日) 00:04:07 ID:???
VB6とIEコンポーネントでタブブラウザに挑戦ぽ

352 (-_-)さん :2013/07/28(日) 16:42:39 ID:???
Java (TM) 2 SDK ドキュメント
http://docs.oracle.com/javase/jp/1.4/

java日本語

353 (-_-)さん :2013/07/29(月) 00:25:21 ID:???
ゲームのFPS、フレームパーセコンド、1秒あたりの全描写回数

354 (-_-)さん :2013/07/29(月) 00:26:07 ID:???
30fpsなら
1秒間に30回、画面全部が書き直される

60fpsなら
1秒間に60回、亜面全部が書き直される

355 (-_-)さん :2013/07/29(月) 00:35:03 ID:???
VB6とWebBrowserコントロールでのMDIタブブラウザ作成、断念

一部処理がうまくいかずどうしようもない

356 (-_-)さん :2013/07/29(月) 00:40:13 ID:???
一部開かないページがあってね
だから断念

357 (-_-)さん :2013/07/29(月) 00:42:27 ID:???
.netに移行しよう

358 (-_-)さん :2013/07/29(月) 00:45:07 ID:???
普段ブラウザSleipnir166を使ってるんだけど
IEやFireFoxやOperaで自分が良く使ってる機能を全部実装させたかったけど
IEを使うWebBrowserコントロールじゃやっぱ限界があったわ

まー以前からスクリプトオフとかアクティブXオフとか出来ないのは分かってたんだが
ダウンロードしたHTMLソースをDOMで弄って該当タグ丸ごと除けばいいんじゃね?とか思ったけど
HTMLソースをうまく弄れなかったし

MDIタブブラウザで、ドーナッツだかアンドーナッツだかのIEコンポーネントブラウザと雰囲気似たような感じになっちまったし

359 (-_-)さん :2013/07/29(月) 00:47:06 ID:???
>>357
WebBrowserコントロールの限界だと思うから
たぶんだがVB.netでも同じような限界があると思うねん

360 (-_-)さん :2013/07/29(月) 00:49:39 ID:???
自前ブラウザエンジン作るくらいのレベルじゃないと
俺にとって都合のいいブラウザ作るのは無理ぽげ
FireFox(Geckoだっけ?)とかChrome(WebKit?)とかのブラウザエンジンを使ったブラウザもあるけど
あれってどうやって作ってんのかね、それぞれのとこにライセンス料でも払ってブラウザエンジンの使用方法とかの資料もらってんのかね

361 (-_-)さん :2013/07/29(月) 00:51:17 ID:???
普通にqtとかで使えるよ

362 (-_-)さん :2013/07/29(月) 00:52:02 ID:???
>>361
マジか、ちょいとググって調べてみるは

363 (-_-)さん :2013/07/29(月) 00:56:26 ID:???
Wikipediaで軽く調べてみた

QtはQtWebKitというやつか

あとWebKitとGeckoは両方ともオープンソースライセンスがついてるみたいだな
ある程度は自由に使えるってことか

問題は開発言語か、これは好みの問題なんだろうけど

364 (-_-)さん :2013/07/29(月) 00:58:29 ID:???
The WebKit Open Source Project
ttp://www.webkit.org/

Gecko - Mozilla | MDN
ttps://developer.mozilla.org/ja/docs/Mozilla/Gecko


Geckoのほうの説明文は日本語化されてるから
Geckoのほうから試してみようと思う

365 (-_-)さん :2013/07/29(月) 01:01:02 ID:???
日本語のほうのページはリンク切れだった・・・orz

366 (-_-)さん :2013/07/29(月) 01:23:25 ID:???
どっちも英語であまり分からんかったが
Geckoは導入方法は不明のままだったが、言語はC++を指定のようで・・・
WebKitはもっとイミフで元がApple用だからかMac上での開発資料は豊富だけど・・・という印象、Cygwinが必要なのか・・・
扱いやすさではQtを使ったQtWebKitでやるのが最も現実的のようだな

367 (-_-)さん :2013/07/29(月) 01:26:59 ID:???
AdobeAIRとGTK+にもWebKitがあるようだが・・・どのみちおのみち、言語の習得が必須か

368 (-_-)さん :2013/07/29(月) 01:32:42 ID:???
まぁまぁ使ってるVB6ならともかく
他の言語は薄い入門書程度かそれの中途程度のレベルしかないし
アプリ開発経験が乏しすぎる俺が悪い

369 (-_-)さん :2013/07/29(月) 01:35:07 ID:???
つかdigia社のHPが糞重い・・・これは俺のとこの回線が悪いのか、PCスペックが悪いのか、Sleipnir166が悪いのか、IEエンジンが悪いのか、どれなんだよ・・・

370 (-_-)さん :2013/07/29(月) 02:06:57 ID:???
Download Qt, the cross-platform application framework | Qt Project
ttp://qt-project.org/downloads

ひとまずQtをダウンロードしてみるわ

371 (-_-)さん :2013/07/29(月) 02:09:51 ID:???
digia社のHPからだと名前なり会社名なり連絡先なり登録必要なのに
このページだと何故それいらずにダウンロードが出来るのか、意図が不明だな

372 (-_-)さん :2013/07/29(月) 02:16:12 ID:???
このQt-ProjectのWikiは日本語があるのか、便利だなこれは

373 (-_-)さん :2013/07/29(月) 02:18:11 ID:???
と思ったら、やはり全ページで日本語対応というわけじゃないのね・・・
つーか日本語ドキュメントまるっと用意してくれるOracleJavaさんが太っ腹なだけなのかもねん

374 (-_-)さん :2013/07/29(月) 02:20:09 ID:???
DirectX SDKは前にインストールしたからANGEL版のQtを入れればいい感じか

375 (-_-)さん :2013/07/29(月) 02:33:44 ID:???
どうやらWindowsのOpenGLが糞という世界プログラマ常識があるようだね
OpenGLがグラフィックス関連のものとしか認識なかったけど
なんか色々とややこしそうだな

376 (-_-)さん :2013/07/29(月) 02:35:14 ID:???
なるほど、OpenGLは3Dグラフィックス描くためのものなのか
じゃあ俺に縁がなかったのは納得だ、3Dグラフィックなんて扱おうだなんて思ったことないし

377 (-_-)さん :2013/07/29(月) 02:46:53 ID:???
良く読んだ感じだとOpenGLを使わないならOpenGL版を使えってことなのかにゃQt5は

378 (-_-)さん :2013/07/29(月) 03:31:01 ID:???
Qt5はダウンロードサイズが504MB・・・インストールするとどれくらいになるんだろうか・・・少し不安だ・・・

379 (-_-)さん :2013/07/29(月) 20:31:24 ID:???
http://jbbs.livedoor.jp/bbs/read.cgi/internet/17286/1375090982/2
明日

380 (-_-)さん :2013/07/30(火) 02:02:40 ID:???
書き込めないのか・・・まー時々しか書き込まないから影響少ないけど

381 (-_-)さん :2013/07/31(水) 02:21:03 ID:???
2chの本スレのほう変な話題で伸びててワロタ

382 (-_-)さん :2013/07/31(水) 09:25:54 ID:???
ああいう人は飽きるまでほっとくしかない

383 (-_-)さん :2013/07/31(水) 17:04:13 ID:???
まだ飽きてないみたいだぞ

384 LILIN :2013/07/31(水) 21:49:37 ID:WJRDLpMs
ひとりだとなかなかやる気がわかん(n´・ω・`)-3ふにゅ

385 (-_-)さん :2013/07/31(水) 23:11:13 ID:4/EtY7ws
俺もパソコン好きだからプログラミングやってみたいと思った事はあるんだけど
何からやったらいいんだろ。
家にperlとmysqlとphpの入門書あるけどなんで買ったのかわからない
win7で快適に無料で環境整えられてググりながら学べる言語でお勧めなに?
なんでもいいから教えて

386 (-_-)さん :2013/07/31(水) 23:14:30 ID:???
pythonおすすめ

387 (-_-)さん :2013/07/31(水) 23:31:33 ID:???
プログラミング言語決めるより先に
何を作りたいのか決めるべき

既に決まってるのなら余計なお世話なレスになるけど

まだ決まってないのなら
シンプルそうな適当なアプリなりゲームなりを目標に決めてとりかかるべき

Windows付属ゲームのマインスイーパを自分でも作ってみたい、メモ帳作ってみたいとか、ペイント作ってみたいとか
何か一つ目標となる課題を作ったほうがいい

プログラミング言語で作る目標が無いっていうプログラミング言語の勉強は
小中学校でやってきた勉強と同じだよ
何のために勉強してるのか分からずただ漠然と勉強してくだけ、つまらないし飽きる
将来の為とか進学のためとか言われて勉強してたかもしれないけど、そんな理由でしっくりきた奴なんてほとんどいないんじゃないのか
目標・目的地の見えない勉強なんてつまらないし、すぐ飽きるし、続かない、これは俺の経験則だから、他の人に当てはまるかどうかは知らんが

漠然とした勉強なんて

388 (-_-)さん :2013/07/31(水) 23:35:05 ID:4/EtY7ws
やっぱり作りたいものを作ったほうがいいのか
将棋がすきだから棋譜再生ソフトとか対戦できるゲーム作りたいと思ったんだけど
どの言語なら無料で環境整えられてググりながらできるかな。
まったく分からないから教えてください

389 (-_-)さん :2013/07/31(水) 23:36:43 ID:???
perlとmysqlとphpということはウェブ上のアプリか

390 (-_-)さん :2013/07/31(水) 23:42:48 ID:???
一応たいていの言語なら無料のコンパイラとかあったりするからなあ、初心者向きな言語って何だろ

391 (-_-)さん :2013/07/31(水) 23:46:45 ID:???
「言語名 将棋」でググればそれ関係の情報は大雑把には得られると思うけど
「PHP 将棋」 「Perl 将棋」 「Java 将棋」 「VB 将棋」 「C# 将棋」 「JavaScript 将棋」 「python 将棋」
とか

俺はプログラミング覚えた経緯が特殊だから初心者向きな言語とかは分からんなあ

392 (-_-)さん :2013/07/31(水) 23:49:26 ID:???
「将棋 プログラミング 入門」とかでググると出てくるのは、ある程度プログラミング知識があることを前提としたのが多いね

393 (-_-)さん :2013/07/31(水) 23:50:39 ID:???
Windows Vista以降だと、開発環境の実行に管理者権限が必要なことが多いよ

394 (-_-)さん :2013/08/01(木) 00:01:43 ID:zIiGoVwU
C++で作ってる人が多いらしいからC++触ってみる事にするよ。
高校でC++でトグルスイッチ押してどのランプがどうゆうふうに点滅させる
とかやったけどもう覚えてないな
これって開発環境無料で整えられるんだっけ?
高校にはterapadで作ってたけどgpadのほうがいまどきでいいのかな。

395 (-_-)さん :2013/08/01(木) 00:02:43 ID:???
CUIアプリ(コンソールアプリ)でシンプルな将棋を作るなら
入力と出力(表示)と計算(将棋のルールの再現)のシンプルな構造にまとまるから
プログラミングの概念を理解するのにはいいかもしれない
実用レベルにはほど遠いだろうけどね

CUIの入力や出力はシンプルだから初心者が覚えるのは比較的楽だとは思う
ただCUIアプリを作れる言語となると
C言語やC++やC#やJavaあたりかな
VBでも作れるのかな

GUIアプリやウェブアプリだと
入力や出力(表示)の部分がより複雑になる

GUIならいきなり将棋アプリじゃなく
GUIでの入力や出力(表示)の仕方を簡単なものから別途勉強していく感じかな
GUIで作りやすいならVBやC#とかかな、Visual Studio Expressエディション
GUIアプリの作り方を説明してるサイトもあるだろうと思う

ウェブアプリならHTMLを知る必要がある
簡易なページ作成から勉強していく感じになるかな
糞構造で作るならHTMLのGETやPOST送信とPHPかPerlなどのCGIの組み合わせだけでも将棋はイケるかもしれないけど
アクティブな感じにするならJavaScriptも覚えたほうがいいし
デザインに凝るならCSSも覚えたい
ウェブアプリならPHPやPerlの入門書が役に立つだろうけど
PHPやPerlなどのCGI等を動かすためのウェブサーバーが必要だから、ウェブサーバーの知識もいるかも

396 (-_-)さん :2013/08/01(木) 00:04:49 ID:???
トグルスイッチやランプというと組み込み系なのかな
組み込み系とパソコンアプリだと多少勝手が違うらしいから気を付けてね

397 (-_-)さん :2013/08/01(木) 00:08:36 ID:???
TeraPadやgPadなどのテキストエディタ使うのもいいけど
Visual Studio ExpressエディションみたいなコンパイラとIDE(統合開発環境)が整ったやつ使ってみるのもいいんじゃないの

398 (-_-)さん :2013/08/01(木) 00:11:33 ID:???
アプリを使う側からすれば
GUIアプリやウェブアプリのほうが直観的に操作できるけど

アプリを作る側からすれば
GUIアプリやウェブアプリは結構大変

399 (-_-)さん :2013/08/01(木) 00:19:11 ID:zIiGoVwU
いろいろありがとう
ウェブアプリを作るには初心者には完成までの過程があまりにも長いから
CUIアプリを頑張って作ってみる事にするよ。
最後はウェブアプリで将棋対戦できるところまで挫折しなければ頑張ってみる
使った事ないけど統合開発環境を触ってみるよ。

400 (-_-)さん :2013/08/01(木) 00:20:56 ID:???
C++の無料のは俺が知る限りでは
CygwinやMinGWでのgccのコンパイラ
Borland C++ 5.5 Compilerのコンパイラ
Open Watcom C++のコンパイラ&IDE (英語)
MicrosoftのVisual Studio Expressエディションのコンパイラ&IDE (2010や2012とかバージョンがいくつかあった気がする)

かな

401 (-_-)さん :2013/08/01(木) 00:25:26 ID:???
GUIアプリやウェブアプリだと将棋の駒の画像とか、凝るなら将棋盤の画像とかを用意しなきゃならんしね
誰かがフリー素材で提供してるかもしれないからそれ使えば自分で描く必要はないけど
フリー素材でもライセンス(著作権)があるから作ったアプリを他人に公開するならそれを気を付けなければならないのと
加工が許されないフリー素材なら駒のサイズとかフリー素材そのままのサイズを考慮して作る必要があるね

402 (-_-)さん :2013/08/01(木) 00:26:57 ID:???
知ってるかもしれないけど、一応言っとくと
GUIアプリってウィンドウアプリのことね

403 (-_-)さん :2013/08/01(木) 00:29:25 ID:???
長々とレスしてしまってすまないね
もっと簡潔に説明できるといいんだけど
いかんせん日本語力が弱くて、簡潔に分かりやすく手短に説明することができない
俺はプログラミングより先に日本語を勉強したほうがいいかもしれない・・・

404 (-_-)さん :2013/08/01(木) 00:36:25 ID:zIiGoVwU
全然知らなかったよ。初心者というよりは入門者だからね
高校でやってた事は忘れちゃったし
凝ったものはいつか作りたいけど勉強のやる気の持続に将棋持ち出してるだけだから
素材は使わないで昔のローグみたいに全部アルファベットと記号でどうにかするよw

405 (-_-)さん :2013/08/01(木) 00:40:25 ID:???
昔読んだC言語の入門書には将棋の駒を並べてくだけのプログラミング練習用のサンプルコードみたいのがあったな

406 LILIN :2013/08/01(木) 00:41:36 ID:4gzvGHNk
言語はなんでもいいよ。とりあえず触るっていうのが第一選択。
ゲーム作りたいと思ってF#触ってようが問題ない。

407 (-_-)さん :2013/08/01(木) 00:42:04 ID:???
そうだね、回答レスする前に、どの程度の予備知識があるのか訊いてから回答すべきだったかもね、俺ちょいせっかちだから、すまん

408 (-_-)さん :2013/08/01(木) 00:44:09 ID:???
GUIアプリで作るなら凝るなら駒を置く音とかBGM付けるとかもあるね
効果音(SE)やBGMもフリー素材とか昔はネット上あちこちに転がってたなあ
フリー素材扱ったサイトのまとめサイトみたいなのもあったし
インターネット初期の頃だったかな

409 (-_-)さん :2013/08/01(木) 00:45:28 ID:???
今はアプリ作ったり、ホームページ作ったりする人が減った気がするからフリー素材提供してるとことかも減ってそう

410 (-_-)さん :2013/08/01(木) 00:48:43 ID:???
CUIもGUIも作れるJAVA、JAVAならJAVAアプレットでウェブも対応!サーバーサイドならサーブレットもあるし!JAVA最強伝説

411 (-_-)さん :2013/08/01(木) 00:49:26 ID:zIiGoVwU
いろいろありがとう
少しずつやってくよ
フロイトさんの精神分析学入門読んで寝ます。
ありがとうございました

412 (-_-)さん :2013/08/01(木) 00:49:57 ID:???
ガラケーのアプリやアンドロスマホのアプリもJAVA!ほんと最強すぎるJAVA!至高のJAVA!俺たちがJAVAだ!

413 (-_-)さん :2013/08/01(木) 00:51:18 ID:???
「定数」って「ていすう」と読むのかと思ってたけど「じょうすう」って読むらしいね
読み方で意味が違ってくる単語だとか

414 (-_-)さん :2013/08/01(木) 00:52:35 ID:???
日本語だと紛らわしいから「コンスタント」とでも言おうか

415 (-_-)さん :2013/08/01(木) 00:55:49 ID:???
うーむ、ググると「ていすう」が圧倒的に多いのだが
俺が今日読んだ雑誌(日経ソフトウェア)には「ていすう」は間違いで「じょうすう」が正しいと書いてあった

416 (-_-)さん :2013/08/01(木) 01:00:54 ID:???
そういやJavaFXはどうなったんだろう

417 (-_-)さん :2013/08/02(金) 18:25:01 ID:???
>>410
でもjavaにはcursesライブラリがないね

418 (-_-)さん :2013/08/04(日) 01:46:04 ID:???
また規制されたわw

419 (-_-)さん :2013/08/04(日) 01:48:21 ID:???
OS上なりに構築されたVM上で動くのがJavaであって
cursesってそういう次元でやることじゃないんじゃないの・・・?

420 (-_-)さん :2013/08/04(日) 01:52:40 ID:???
cursesってCUIのグラフィカルな操作のことなのか

421 (-_-)さん :2013/08/04(日) 01:55:10 ID:???
ピュアJavaじゃ達成は無理そうだねcurses
外部ライブラリはあるようだけど・・・残念JAVA!!

422 (-_-)さん :2013/08/04(日) 02:06:07 ID:???
しかしだ、PureJavaで作れないとは言っても外部ライブラリ使えば出来るんだから、やはりJAVAに不可能は無いってこった

423 (-_-)さん :2013/08/04(日) 05:23:12 ID:???
Webエンジニア、急募! 選考期間の短縮進む − @IT自分戦略研究所
ttp://jibun.atmarkit.co.jp/lcareer01/rensai/front/51/01.html

424 (-_-)さん :2013/08/04(日) 13:12:02 ID:???
一つの言語に固執するのは良くない

425 (-_-)さん :2013/08/04(日) 13:26:59 ID:???
やっぱりcommon lispがいいよ
手続き型・関数型・OOP全ての概念をサポートしてる
得にOOPはJavaなんか目じゃないほどの機能をサポートしててすごいからね

426 (-_-)さん :2013/08/04(日) 19:57:16 ID:???
MIDP用にHTMLのパーサを考えるために
RFCとやらのHTMLの定義を見てたんだが
コメントタグの定義って俺が認識してたもんと違った
しかもその定義に厳密だとスクリプトタグ内の
デクリメントや>の比較演算士とかがヤバい

427 (-_-)さん :2013/08/04(日) 20:04:41 ID:???
HTML複雑すぎだわ
簡単なHP作るのに覚えればいい最低限の知識とはレベルが違いすぎる、ハンパなく難しい

428 (-_-)さん :2013/08/04(日) 20:06:14 ID:???
SGMLとかDTDとかXMLとかXHTMLとか
HTMLもバージョンがいくつかあったり
もう何がなにやら・・・しかも英語文章ばかりなうえ文章長い、非公式日本語訳もあるようだけど、やはり文章長い、説明長過ぎ
読む気しねえ・・・

429 (-_-)さん :2013/08/04(日) 20:07:56 ID:???
だいたいHTML文書の冒頭に
<!DOCTYPE HTML とかつけなきゃならんなんて今日初めて知ったぞ
これ省略するのはイレギュラーな記述だが一応ブラウザ側が対応してることもあるってだけかよ

430 (-_-)さん :2013/08/04(日) 20:11:56 ID:???
マークアップ言語って何だよ・・・ったく

431 (-_-)さん :2013/08/06(火) 04:27:49 ID:???
しおり

明日はこのページから読む

On SGML and HTML (ja)
http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/intro/sgmltut.html

432 (-_-)さん :2013/08/06(火) 20:26:23 ID:???
寝る前に
HTML 4 Document Type Definition
http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/sgml/dtd.html
だけ読んだんだが
HTMLの文法がよく分かった
インラインとブロックに関する部分も、HTMLに関して俺はかなり間違った記述を今までしていたようだ

433 (-_-)さん :2013/08/06(火) 20:31:44 ID:???
文法ていうか構文ていうかマークアップとしての記述というか

434 (-_-)さん :2013/08/06(火) 20:34:00 ID:???
ただこれじゃ、タグ名と属性名&型と内包可能タグ名しか分からないから
ちゃんと>>431を読んでかなきゃダメってのが分かった
dtdってあくまで記述上の法則というか定義というか

435 (-_-)さん :2013/08/06(火) 20:36:53 ID:???
DTDの記載内容はHTMLパーサを作るのに必要な知識では無かった
ただ今までのHTMLファイル作成への見直しを考えさせてくれる良い物ではあった
こういうシステマティックな記述は分かりやすくて好きだ

436 (-_-)さん :2013/08/06(火) 20:39:12 ID:???
まー、HTML文書はちゃんと専用エディタとか使って作ればルール違反な文章が出来たりはしないんだろうけど
俺は普段、普通のテキストエディタでHTML文書作るからルール違反だらけかもしれん
それを考えると間違った文でもちゃんと表示してくれるブラウザすげーー!!って気持ちになる

437 (-_-)さん :2013/08/06(火) 20:47:35 ID:???
パーサ作るにはタグ記述の基本ルール的なものを知る必要がありそう
今必要な知識は>>431には入ってない
タグの開始< <! <? <[ にはどういう違いがあるのかとかそういう記述ないし

438 LILIN :2013/08/06(火) 22:52:53 ID:e3iCNEsk
<! DOCTYPE html> <- html5
<?            <- php
<[            <-CDATE(xml)

439 (-_-)さん :2013/08/07(水) 00:03:07 ID:???
各タグ開始記号のルールについてはこれから調べる予定だけど
<!DOCTYPEはHTML2.0からあるみたいだよ

440 (-_-)さん :2013/08/07(水) 00:04:48 ID:???
HTMLもXMLも?SGMLから派生したようだから?SGMLについて調べてみるわ

441 (-_-)さん :2013/08/07(水) 00:18:05 ID:???
doctype宣言でdtdを指定しないものはhtml5になるって話か

442 (-_-)さん :2013/08/07(水) 00:20:47 ID:???
英語版Wikipediaのほうがhtmlもsgmlも細かく書いてあるけど・・・

443 (-_-)さん :2013/08/07(水) 00:30:14 ID:???
タグ記号<や>の記述ルールを書いてある文書を何とか見つけたい
DTDにしろSGMLにしろHTMLにしろXMLにしろ共通して使われるタグ記号の<と>の記法について書いてある文書

444 (-_-)さん :2013/08/07(水) 00:34:52 ID:???
<? Processing instruction. Terminated by >.

<![ Marked section. Marked sections are
deprecated. See the SGML standard for
complete information.

<! Markup declaration. HTML defines no short

445 (-_-)さん :2013/08/07(水) 00:35:26 ID:???
<!-- Comment

&# Character reference

& Entity reference

</ End tag

<! Markup declaration

]]> Marked section close (an error)

< Start tag

446 (-_-)さん :2013/08/07(水) 00:43:53 ID:???
タグの記法はこのあたりのがそうなのか?

Performance, Implementation, and Design Notes (ja)
http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/appendix/notes.html#notes-invalid-docs

447 (-_-)さん :2013/08/07(水) 01:03:29 ID:???
>>444-445
<! ←マーク付け宣言
<!-- ←コメント
<![ ←マーク区間
<? ←処理命令

448 (-_-)さん :2013/08/07(水) 01:28:23 ID:???
結構難しいなこれ、真新しいレンダリングエンジンが開発されないわけだ
超絶面倒

449 LILIN :2013/08/07(水) 05:02:46 ID:mb3k8WFo
タグは基本独自に定義されてるんじゃないの、
それが、w3cやansi、osi、jis、rfcなどなど共通規格を定めないと不便だよって集団が基準を作ってるだけで。

450 (-_-)さん :2013/08/07(水) 05:18:13 ID:???
そういうものなのか、世の中なかなか難しいな

451 (-_-)さん :2013/08/07(水) 16:06:09 ID:???
http://ikura.2ch.net/test/read.cgi?bbs=hikky&amp;key=1362050172&amp;st=10&amp;to=20&amp;nofirst=true
http://ikura.2ch.net/test/read.cgi?bbs=hikky&amp;key=1362050172&amp;st=10&amp;to=20
http://ikura.2ch.net/test/read.cgi?bbs=hikky&amp;key=1362050172&amp;st=30&amp;to=30
http://ikura.2ch.net/test/read.cgi?bbs=hikky&amp;key=1362050172&amp;ls=30

うーむ

452 (-_-)さん :2013/08/07(水) 17:00:56 ID:???
2ch専ブラで使える風掲示板を作ろうと思うと結構難しいな

453 LILIN :2013/08/07(水) 21:59:30 ID:mb3k8WFo
名無しはJavaerか?

454 (-_-)さん :2013/08/08(木) 00:33:09 ID:???
Javaなら標準でHTMLやXMLパーサ入ってるじゃん

455 (-_-)さん :2013/08/08(木) 02:48:03 ID:???
javariならAmazonのDMでよく見る

456 (-_-)さん :2013/08/11(日) 23:23:52 ID:5rAxF0G.
また規制された

457 (-_-)さん :2013/08/13(火) 00:56:23 ID:???
MIDPでHTMLを処理するためにDOMを入れてみようと思って
オラクルのAPIリファレンスを見ながらorg.w3c.domのインターフェースを入力していってたんだけど
昨日、あることに気づいて、それまでかけた時間がまったくの無駄になった

jdkのインストール先にsrc.zipってのがあってJavaの大元ソースコードがあるのは知ってたんだけど
中身のないインターフェースのコピーだからそこから丸ごとコピってくればいいというのをマジでそれで一発だった
しかし90%以上を既に手入力でやってたので、それまでの数十時間が無駄になった・・・

458 (-_-)さん :2013/08/13(火) 00:58:17 ID:???
まーそんなインターフェースなんぞ使わずに独自のシステム作ればいいんだけどね
それに車輪の再開発みたいなことしないでググればMIDP用のライブラリがいくらでも転がっているんだろうけどね

459 (-_-)さん :2013/08/13(火) 04:22:55 ID:???
MIDP、つまりガラケー用のアプリを作ってんだが
どうもガラケーは電話会社的にはオワコン市場扱いなんだな、新機種が出てないとか
俺が持ってるこのガラケーが壊れたら
俺が作ったアプリは使えなくなるのか・・・残念極まりない
ゲーム系はJavaAppletとかSwingに移植しやすいような設計を心掛けるしかないな
ただJavaAppletはちょろっとはやったことあるけど
SwingはHelloWorldくらいしかやったことないからなあ・・・

460 (-_-)さん :2013/08/13(火) 17:46:09 ID:???
テキストエディタ「Vim 7.4」リリース | SourceForge.JP Magazine
http://sourceforge.jp/magazine/13/08/13/133000

きたー!!

461 (-_-)さん :2013/08/13(火) 18:03:59 ID:???
Apache Flex使ってる香具師いる?便利?

462 (-_-)さん :2013/08/13(火) 18:57:40 ID:???
Duke, the Java Mascot
http://www.oracle.com/us/technologies/java/duke-424174.html

dukeかわいい

463 (-_-)さん :2013/08/13(火) 18:59:17 ID:???
ニュース - SunがJavaのマスコットDukeも“オープンソース化”,こちらはBSDライセンス:ITpro
http://itpro.nikkeibp.co.jp/article/NEWS/20061114/253554/

464 (-_-)さん :2013/08/13(火) 19:00:48 ID:???
【レポート】Dukeが女性に? - OSS化されたJavaマスコットの"旅"を追う | 開発・SE | マイナビニュース
http://news.mynavi.jp/articles/2007/04/03/null/index.html

Dekeかーいーよー

465 (-_-)さん :2013/08/13(火) 19:40:25 ID:YywKLUsk
痒い

466 (-_-)さん :2013/08/13(火) 20:23:17 ID:???
ぽりぽり

467 (-_-)さん :2013/08/13(火) 20:28:25 ID:YywKLUsk
星たべよ

468 (-_-)さん :2013/08/13(火) 20:33:00 ID:???
ぱくぱく

469 (-_-)さん :2013/08/13(火) 20:58:40 ID:???
GlassFish
Apache Tomcat
Jetty
GWT (Google Web Toolkit)
JBoss

470 (-_-)さん :2013/08/14(水) 23:29:12 ID:???
GitHubとかSourceForgeとかって個人でも使えるんだっけk

471 (-_-)さん :2013/08/15(木) 17:05:21 ID:???
org.w3c.domの実装は面倒臭いから DOM Level 2 と DOM Level 3 は実装しないことにしたは

472 (-_-)さん :2013/08/19(月) 23:55:37 ID:???
また規制を受けてしまった

473 (-_-)さん :2013/08/20(火) 20:34:50 ID:???
登大遊 - Wikipedia
http://ja.wikipedia.org/wiki/%E7%99%BB%E5%A4%A7%E9%81%8A

すげえなこの人・・・俺より年下だし・・・

474 (-_-)さん :2013/08/24(土) 16:51:55 ID:???
最近プログラミングやってないわ

475 (-_-)さん :2013/08/24(土) 23:22:54 ID:???
C++出来る人ってすごいと思うわ
本スレの人たちすごすぎ
C言語なんて入門書のサンプルコードが精いっぱい

476 (-_-)さん :2013/08/25(日) 17:04:17 ID:???
2ちゃん型掲示板のbbs.cgiのフローを考えてみた


POST送信かチェック

referをチェック

書き込みのIPを取得

規制IPかチェック

bbsがサーバー管理上の板名かチェック

time時間が過去の時間かチェック

SETTING.TXTの読み込み(サイズチェックや名無し取得などのため)

FROM mail MESSAGEのサイズをチェック

FROM mailの不正文字(制御文字)を取り除く\nや\tなど(あるいはエラーとするか)

mailにsageが含まれているならチェック

FROM mailは省略可能

bbs time MESSAGEは省略不可

subject submit="新規スレッド作成" ならスレ立て
key submit="書き込み" ならレス書き込み
それ以外はエラー

・新規スレッド作成のみ

DBのBBSテーブルのkey順ソートで過去3件以内に同一IPによるスレ立てが無いことを確認
subjectのサイズをチェック
subjectの不正文字(制御文字)を取り除く \nや\tなど (あるいはエラーで処理中止)
keyを生成
DBのBBSテーブルにkeyがあるかチェック (存在する場合はエラーで中止)
subjectをHTMLエスケープ
DBのBBSテーブルにレス数0で新規登録
登録項目は bbs key subject レス数 スレ順位(最大値+1)

・レス書き込みのみ

DBのBBSテーブルから key のスレの存在チェック、レス数が1000に達してないかもチェック
DBのスレッドテーブルのtime順ソートで10件以内に
 同一IPによる書き込みがいくつあるか、最終書き込みはいつかをチェック

・レス書き込み・新規スレッド作成共通

FROM内を名前(name)とトリップ(trip)に分離

nameをHTMLエスケープ

tripを計算

MESSAGEをそれぞれHTMLエスケープする

MESSAGE内の改行記号を<BR>に変換

アンカーをリンクに変換

IDを生成

該当スレdatに整形書き込み
整形は ^name </b>trip<b><>mail<>日付 ID<> MESSAGE <>$ をkey.datの末尾に書き込む
DBのスレッドテーブルに登録
 登録項目は bbs key レス番号 IP 削除済かどうか 復元用に FROM mail time ID MESSAGE も保存するか
DBのBBSテーブルのレス番をインクリメント、mailにsageが含まれてないならスレ順位を最大値+1に
 またレス数が1000に達したら1001も書き込む


DBのスレッドテーブルからスレッド一覧をスレ順位の大きい順にソートして取得し整形しsubject.txtに上書き
整形は ^key.dat<>subject (レス数)$

スレッド一覧のhtmを生成

新しいスレッド一覧のindex.htmを生成
SETTING.TXTやhead.txtなどからも参照しながら

477 あぼーん :あぼーん
あぼーん

478 あぼーん :あぼーん
あぼーん

479 (-_-)さん :2013/10/24(木) 00:01:09 ID:???
2ちゃんねるヒッキー板プログラミングスレwiki
http://www54.atwiki.jp/projecthikky/

480 (-_-)さん :2013/11/27(水) 02:23:47 ID:???
ヒッキーのプログラミングするスレ 3
http://ikura.2ch.net/test/read.cgi/hikky/1385486137/

481 (-_-)さん :2013/12/13(金) 01:43:31 ID:???
リリン規制されたのか
カワイソス

482 LILIN :2013/12/13(金) 06:32:31 ID:rc5S0.Xk
キューを書き直しちぅ
https://github.com/LilinYume/Labo/blob/master/DataStruct/Que.cpp

483 (-_-)さん :2013/12/13(金) 18:46:13 ID:???
おお!ちゃんとキューらしくなってるのな!すげえ

484 (-_-)さん :2013/12/14(土) 20:11:36 ID:???
リリンって北国に住んでるのか

485 LILIN :2013/12/17(火) 19:32:35 ID:5eVSYBF2
ありがと(*´ェ`*)

486 (-_-)さん :2013/12/19(木) 16:24:03 ID:???
リリンは頑張っていて偉いね
ぼくは全然だよ・・・

487 LILIN :2013/12/20(金) 04:29:36 ID:ipB077JQ
私もわずかなやる気らしきもので動いてるだけだよ・・。

488 (-_-)さん :2013/12/20(金) 16:53:11 ID:???
それでもすごいよ・・・

489 LILIN :2013/12/21(土) 22:48:52 ID:65dtkNFI
Skypeで一緒に勉強しようずヾ(o゚ω゚o)ノ゙ プニプニ

490 (-_-)さん :2013/12/21(土) 22:49:33 ID:???
マイクもマイク差す穴もないから無理

491 (-_-)さん :2013/12/23(月) 02:24:31 ID:???
するスレのほうでツイッター晒してる人がリリンをフォローしてるね

492 (-_-)さん :2013/12/23(月) 17:19:23 ID:???
twitterの使い方がよく分からない
相手にフォロー(?)していいか聞きたい場合どうすればいいん?

493 (-_-)さん :2013/12/23(月) 17:42:52 ID:???
自己解決しました

494 LILIN :2013/12/24(火) 05:45:02 ID:1NRkk.rE
Dropboxにいろいろ書いてみたぞー。
https://www.dropbox.com/sh/92ale3taj6y9hds/N7XGQui_4e

495 (-_-)さん :2013/12/24(火) 19:21:41 ID:???
すごい・・・いろいろやってるね
ドロップボックスってプログラミングのコードの色付けとかもできるだね
知らなかったよ

496 (-_-)さん :2013/12/28(土) 00:47:29 ID:???
if文間違ってたのか、どんまい

497 LILIN :2013/12/28(土) 10:48:31 ID:vjyQwREM
ヒープがぬっこわれるぞゴルァ
https://dl.dropboxusercontent.com/u/89243087/StringClass.cpp

498 (-_-)さん :2013/12/28(土) 18:11:43 ID:???
まえスレでdeleteはポインタがNULLを示してるなら何もしないって書いてあったよ

499 (-_-)さん :2013/12/28(土) 18:14:55 ID:???
delete [] は配列として確保したメモリを解放しなきゃいけないから
コンストラクタ mystring( const mystring &obj ) に書いてある
data = new char('\0'); は配列になってないんじゃないの

500 (-_-)さん :2013/12/28(土) 18:17:12 ID:???
ヒープが壊れる原因だけど、文字列の長さのメモリを確保するときは 終端文字 '\0' の1文字分多く確保しなきゃいけないよ

void mystring::set_val( const char *val )
mystring mystring::operator=( mystring &obj )
mystring mystring::operator=( const char *val )

のそれぞれの関数内で呼び出されてる new char[] は1文字分メモリが足りてないよ

501 (-_-)さん :2013/12/28(土) 18:19:47 ID:???
あと、 mystring mystring::operator=( mystring &obj ) でもちゃんと終端文字 '\0' を入れないと前に確保されたdataでは終端文字以外が入ってるかもしれないし

502 (-_-)さん :2013/12/28(土) 18:20:50 ID:???
new char[] のとこが1個分メモリが足りないと書いたけど
それに合わせて直前の if 文 も変えないといけないね

503 (-_-)さん :2013/12/28(土) 18:21:35 ID:???
>>502は無し、>>502は問題なかった、ちょっと勘違いした

504 (-_-)さん :2013/12/28(土) 18:25:39 ID:???
とにかく、僕が見て気づいた直すべきと思われるポイントをまとめると (>>498-501 をまとめると)

●コンストラクタ mystring( const mystring &obj ) での new char('\0') とサイズ1の配列の宣言 new char[1] に直す

●下記関数での new char [] のとこの配列サイズに +1 を書き足す
void mystring::set_val( const char *val )
mystring mystring::operator=( mystring &obj )
mystring mystring::operator=( const char *val )

●関数mystring mystring::operator=( mystring &obj ) の関数を抜ける前に文字列の最後を示す '\0' を代入する

の以上3点だね

505 (-_-)さん :2013/12/28(土) 18:26:21 ID:???
ヒープが壊れるというのは引数なしのコンストラクタのせいではないと思うよ

506 (-_-)さん :2013/12/28(土) 18:31:51 ID:???
ああ、よく見てなかった、int mystring::length() ってヌル文字分までカウントするのか それなら >>500は問題なかったね、ごめんよ

507 (-_-)さん :2013/12/28(土) 18:33:31 ID:???
NULL文字までカウントするなら逆に data[ count ] = '\0'; の部分が問題だね、 countが指す場所はメモリの外になるよ、

508 (-_-)さん :2013/12/28(土) 18:37:22 ID:???
>>498-507までのことをまとめると

●コンストラクタ mystring( const mystring &obj ) での new char('\0') とサイズ1の配列の宣言 new char[1] に直す

●下記関数での data[ count ] = '\0'; の挿入場所が 1個分ズレてるので -1 する
void mystring::set_val( const char *val )
mystring mystring::operator=( const char *val )

●関数mystring mystring::operator=( mystring &obj ) の関数を抜ける前に文字列の最後を示す '\0' を代入する


の3点

509 (-_-)さん :2013/12/28(土) 18:39:45 ID:???
>>498-507までのことをまとめると

●コンストラクタ mystring( const mystring &obj ) での new char('\0') とサイズ1の配列の宣言 new char[1] に直す

●下記関数での data[ count ] = '\0'; の挿入場所が 1個分ズレてるので -1 する (つまり data[ count - 1 ] = '\0'; だね )
void mystring::set_val( const char *val )
mystring mystring::operator=( const char *val )

●関数mystring mystring::operator=( mystring &obj ) の関数を抜ける前に文字列の最後を示す '\0' を代入する(つまり data[ obj.length() - 1] = '\0'; だね)


の3点

510 (-_-)さん :2013/12/28(土) 18:41:21 ID:???
ああ、そうかlength()がヌル文字までカウントするなら最後3番目の話はいらないのか>>501もなしだわ、
俺どうもせっかちで、よくコードを見ないで

511 (-_-)さん :2013/12/28(土) 18:42:10 ID:???
>>498-510までをまとめると

●コンストラクタ mystring( const mystring &obj ) での new char('\0') とサイズ1の配列の宣言 new char[1] に直す

●下記関数での data[ count ] = '\0'; の挿入場所が 1個分ズレてるので -1 する (つまり data[ count - 1 ] = '\0'; だね )
void mystring::set_val( const char *val )
mystring mystring::operator=( const char *val )

の2点だけ問題

512 (-_-)さん :2013/12/28(土) 18:44:38 ID:???
また少し勘違いしてた値のコピーのとこのコード while( *data++ = *val++ ); はヌル文字までしっかりコピーしてるね、>>511もまたちがう・・・

513 (-_-)さん :2013/12/28(土) 18:46:04 ID:???
>>498-511までをまとめると

●コンストラクタ mystring( const mystring &obj ) での new char('\0') とサイズ1の配列の宣言 new char[1] に直す

●下記関数での data[ count ] = '\0'; の挿入場所が 1個分ズレていて場合によっては確保したメモリの外側のデータを書き換えてる
void mystring::set_val( const char *val )
mystring mystring::operator=( const char *val )
直後の while( *data++ = *val++ ); でヌル文字までコピーしてるから data[ count ] = '\0'; のコード丸々削除してもいいと思う

の2点だけ問題

514 (-_-)さん :2013/12/28(土) 18:48:44 ID:???
>>497

>>513が僕の最終的な意見です、>>498-512はスルーしてください・・・

515 (-_-)さん :2013/12/28(土) 18:54:04 ID:???
あと
デストラクタ ~mystring(){ if( data ) delete [] data; }
で data が NULLポインタであっても delete [] data; 呼び出しは安全らしいので if 文は無くてもいいらしいですよ

516 (-_-)さん :2013/12/28(土) 18:57:28 ID:???
ヒープが壊れるとのことですが>>513の2番目の部分の確保したメモリ外への書き込みが原因なのではないかと私は推測します(違ってたらごめんなさい)

517 (-_-)さん :2013/12/28(土) 19:05:33 ID:???
訳が分けらないよ

518 LILIN :2013/12/29(日) 03:52:48 ID:KnAS5adQ
ありがとお(´・ω・`)

解決したお
https://www.dropbox.com/s/uenhjp31qb3a858/StringClass.cpp

519 LILIN :2013/12/29(日) 03:55:02 ID:KnAS5adQ
>>511
data[ count - 1 ] = '\0'; の部分だった。

520 (-_-)さん :2013/12/29(日) 06:59:59 ID:???
data = new char('\0'); のとこも修正したほうがいいんじゃないの

data = new char('\0'); は char 1個分のメモリを確保する、 (1個分なのでサイズとかは記憶されない)
data = new char[1]; は char 1個分のメモリを確保して、配列のサイズも記憶する(たとえ1個分でもサイズを記憶する)

delete data; だと char 1個分のメモリを解放する
delete [] data; だと 記憶された配列のサイズ分の char のメモリを解放する

だったはずだから
リリンのコードだと
data = new char('\0'); したものを delete [] data; で解放してるから、まずいコードなんじゃないかと思うにゃん

521 (-_-)さん :2013/12/29(日) 07:13:36 ID:???
newとdeleteの挙動は本当にそれであっているのだろうか

522 (-_-)さん :2013/12/29(日) 07:16:07 ID:???
僕もプログラミング始めたばかりのころはパソコン初心者でもあったよ
まぁ昔はパソコン自体も今よりもだいぶヘボかったから出来ることも少なくはあったけど

523 (-_-)さん :2013/12/29(日) 10:50:01 ID:???
自己紹介乙

LILIN ?@ririn_yume

今の時季すげぇww
お前はまずパソコン教室行って来いってひとが
「プログラミング放送」しまくっとるw

524 (-_-)さん :2013/12/31(火) 05:54:09 ID:???
おし!MIDletエミュ上でもテストしてみたがちゃんとgzipファイルを解凍でけた!

525 (-_-)さん :2013/12/31(火) 05:55:31 ID:???
まさかこのタイミングで規制されるとは思わなかった・・・

526 (-_-)さん :2013/12/31(火) 06:00:28 ID:???
gzipの圧縮のほうもやってみるかはどうしよう
レコードストアのサイズは小さいから圧縮して保存できたらそれがいいんだろうけど

527 (-_-)さん :2013/12/31(火) 06:11:33 ID:???
そういえばこの完成した解凍器はGZIPヘッダをチェックするCRCの部分がちゃんと出来てるかは未確認なんだよなあ・・・・
手持ちのgzipファイルにはたまたまヘッダチェックが無いからな・・・うーむ、まだまだ安心はできまいか

528 (-_-)さん :2013/12/31(火) 06:19:11 ID:???
2ch全鯖規制されたから
プログラミングが捗るかもしれん
僕やったね!

529 LILIN :2014/01/05(日) 06:02:12 ID:ogXIYZZI
すとりんぐ・くらすを書き換えています。
https://www.dropbox.com/s/80guvhw46q79c00/String.cpp

530 (-_-)さん :2014/01/05(日) 19:34:02 ID:???
アロケータとか何か難しそうなことやってんのね
俺アロケータとか全然分からんちん

531 LILIN :2014/01/06(月) 05:16:54 ID:Etd8Xc6Y
継承書いてみたかったから、書いたけど、意味ない気がしてきた。

532 (-_-)さん :2014/01/07(火) 21:10:34 ID:???
継承ってよくあるサンプルの動物クラスを猫クラスに継承とかそういうのじゃダメなん

533 (-_-)さん :2014/01/07(火) 21:57:05 ID:???
また2ch全鯖規制に巻き込まれたよ・・・今度こそプログラミングに集中できるかな・・・はぁ・・・

534 (-_-)さん :2014/01/08(水) 04:43:02 ID:???
ワロタ、
Windowsのアクションセンターというアプリで何やらメッセージ出てると思って開いてみたら
Trojan.PWS.Legmir.AD / W32.Ahlem.A@mm というウィルスが検知されたという、
怪しいサイトとかアクセスした覚えないから詳細開いてみたら、当時作ってて暴走した自作プログラムだったw

535 (-_-)さん :2014/01/08(水) 04:45:37 ID:???
言語はC/C++で、どうもsystem()関数を呼び出したのに反応したくさい?

536 (-_-)さん :2014/01/08(水) 04:50:55 ID:???
ググったら定番の現象のようだな・・・


プログラムをコンパイル後、「Trojan.PWS.Legmir.AD / W32.Ahlem.A@mmが発見されたと表示される。
http://social.technet.microsoft.com/Forums/ie/ja-JP/c3383de2-f6bc-482c-a13d-69f088a55829/trojanpwslegmirad-w32ahlemamm?forum=windowsvistaja

537 (-_-)さん :2014/01/08(水) 04:53:16 ID:???
どうも名前が1文字の実行ファイルが悪いのか・・・?でも何度も色々やってるけど引っかかってるの2件だけなんだよな、イミフ

538 (-_-)さん :2014/01/08(水) 04:56:25 ID:???
「Trojan.PWS.Legmir.AD / W32.Ahlem.A@mmが検出されました」|果て
http://ameblo.jp/55335533553355335533/entry-11089442076.html

この記事だとまた違う感じだなあ・・・結局のところ何が問題なのか分からんな

539 (-_-)さん :2014/01/08(水) 05:00:31 ID:???
つか、よくよくアクションセンターのメッセージを読んだら
セキュリティ対策ソフトをインストールしろと出てるのな・・・っておいおいMSEたん使ってるんだぞおめえんとこの自社ソフトじゃねえか!
この場合、MSEのほうでは検知してなかったんだが、どちらの反応のほうが正しいんだろうか・・・

540 (-_-)さん :2014/01/08(水) 05:03:38 ID:???
暴走した自作プログラムが(何故かアクションセンターで)誤検知されただけだからメッセージを削除しといたわ

541 (-_-)さん :2014/01/08(水) 05:05:02 ID:???
っていうかユーザ権限で削除できるってどうなんだ、てっきり管理者モードを要求されるかと思ったのだが・・・Windows恐ろしいな

542 LILIN :2014/01/08(水) 05:06:39 ID:6C/WQ0xw
MSEにWindows Update以上のセキュリティを期待できるのかという、疑問。

543 (-_-)さん :2014/01/08(水) 05:14:23 ID:???
ウィルス名の後半部が何なのかは分かったが・・・メール送信コードなんて微塵も入ってないのだが・・・


サブジェクト欄や添付ファイル名に「SARS」をかたるウイルスが出現
http://internet.watch.impress.co.jp/www/article/2003/0521/sars.htm

544 (-_-)さん :2014/01/08(水) 05:14:58 ID:???
>>542
そんなにダメな子なのかMSEたんは・・・

545 LILIN :2014/01/08(水) 05:27:20 ID:6C/WQ0xw
考えてみるんだ!WindowsMeにSが付いた姿を。

546 (-_-)さん :2014/01/09(木) 00:55:40 ID:???
MEを知らないからよく分からない

547 (-_-)さん :2014/01/09(木) 22:14:40 ID:???
2ch規制で専ブラ開発のモチベがガタ落ちだじぇ・・・まぁまだ板一覧の取得に苦戦中だが

548 (-_-)さん :2014/01/10(金) 04:49:11 ID:???
PersonalForge Blog連携機能
https://sourceforge.jp/docs/PersonalForge%2FBlog

この機能が機能してない気がする・・・

549 (-_-)さん :2014/01/10(金) 05:09:45 ID:???
Gitブック読もうと思ってたのにもうこんな時間か
また今度読むわ

550 (-_-)さん :2014/01/12(日) 03:52:20 ID:???
もう俺、VB6は卒業かなVS2010(C#)に大分慣れてきた
まぁ慣れてきたとはいえC#ではVB6ほどのお手軽感は未だ感じぬがな
C#も入門書か入門サイトで漏れてる知識を補完したいところ

551 (-_-)さん :2014/01/12(日) 03:54:49 ID:???
そういえば大学在学中は結局あんまプログラミングはしなかったなあ
卒後の既卒になってからかな、プログラミングの知識やスキルの大幅向上は・・・
プログラミングは小学の頃から触れてたのに大学卒業までの俺のプログラミング人生は一体何だったのかって感じくらいだ・・・

552 (-_-)さん :2014/01/12(日) 03:57:30 ID:???
まぁ小中高まではベーマガでN88BASICとか古いBASIC系のシングルプロセス・シングルスレッドのゲームのコードばっか追いかけてたし
大学でデータ構造とアルゴリズムとかOSとかCPU・アセンブリなどの授業とか受けたのも今の俺があるための重要な経験だったけど

553 (-_-)さん :2014/01/12(日) 04:00:53 ID:???
高校〜大学くらいまでにC言語の本をちょろっと自学してみたけどあんまよく分かってなかったけど
結局、大学の授業でC言語やるまでほとんど理解できなかったな
ただその授業がC言語の網羅じゃなくデータ構造やアルゴリズム理解の架け橋的な授業だったからC言語もあまりよく知らなかったけど
C言語についての理解を深めたのはこの半年くらいか

554 (-_-)さん :2014/01/12(日) 04:03:25 ID:???
残念なのは今日の理解レベルを高校時代あたりに遂げたかったことくらいか・・・今の時点でこのレベルの理解だと全然遅い・・・

555 LILIN :2014/01/12(日) 04:04:11 ID:8EiR9ss.
おれよりオッサンやな。

556 LILIN :2014/01/12(日) 04:05:01 ID:8EiR9ss.
LinuxでC/C++のコンパイラ欲しいのだけど、なにがいいやらさっぱりわからん。

557 (-_-)さん :2014/01/12(日) 04:06:41 ID:???
色々たくさん作ったり発表したりするなら今のレベルの知識・理解を高校時点で成し遂げ、大学在学中に色々作って・・・とかそういう感じにしたかったな・・・
職歴なし、バイト歴なし、30過ぎたオッサンの今じゃ、夢も希望もないよ・・・今のレベルの知識・理解ですらプログラミングの初歩の域を出ていないというのに・・・
根本的に頭が悪すぎる、理解力が弱すぎる・・・

558 (-_-)さん :2014/01/12(日) 04:07:59 ID:???
>>556
Linuxは良く知らんけどメジャーなgccじゃダメなの?

559 (-_-)さん :2014/01/12(日) 04:09:08 ID:???
LinuxやBSD系ってソースからビルドしてアプリをインストールするときって大体gccを使うんじゃないの?

560 (-_-)さん :2014/01/12(日) 04:15:49 ID:???
WindowsXPの期限が切れる前にLinuxに乗り換えたとかそういう感じかな

561 (-_-)さん :2014/01/12(日) 04:19:53 ID:???
こゆのとか参考にしたらどう

Windowsプログラマに贈るLinuxプログラミング入門 - 第6回 LinuxでC/C++言語のコンパイルを試す:ITpro
http://itpro.nikkeibp.co.jp/article/COLUMN/20080627/309666/

562 (-_-)さん :2014/01/12(日) 04:25:42 ID:???
こんな情報もあるよ

Linux上で稼働するオープンソースの開発ツール--見過ごせないもの10選 - builder by ZDNet Japan
http://builder.japan.zdnet.com/tool/20390778/

563 (-_-)さん :2014/01/12(日) 04:48:00 ID:???
そういやVirtualBoxに構築したLAMPサーバーもう1年くらい動かしてないなあ・・・

564 (-_-)さん :2014/01/12(日) 04:52:29 ID:???
たまにLinux使いたくなるけど
どうにかOSを交互に使えるPCとか作られないのかね
既存のデュアルブートではなく、それぞれ休止モード(ハイバネート)みたいな感じでPCの再起動なくOSを切り替えるとか出来たらいいのに

565 LILIN :2014/01/12(日) 05:10:32 ID:8EiR9ss.
おお(・∀・)
ありがとう。

566 LILIN :2014/01/12(日) 05:11:30 ID:8EiR9ss.
2台のPCをひとつの筐体にいれれば完璧(どやぁ

567 LILIN :2014/01/12(日) 05:17:52 ID:8EiR9ss.
gccとエクリプスが無難かなぁ。

568 (-_-)さん :2014/01/12(日) 05:17:59 ID:???
>>566
その発想は無かった
つまりディスプレイ・キーボード・マウスなどの外部ハードウェアを共有するってことか

569 (-_-)さん :2014/01/12(日) 05:21:02 ID:???
初めは無難どころでいいんじゃないの

570 (-_-)さん :2014/01/12(日) 05:33:39 ID:???
いつかLFSでLinux環境の構築やってみたいな

571 (-_-)さん :2014/01/13(月) 04:52:04 ID:???
mt9937arという疑似乱数生成コードをJavaScriptに移植を試みたが
どうも具合が悪い、正しい結果が出ないばかりかブラウザごとに出力が違うという・・・

572 (-_-)さん :2014/01/13(月) 06:52:20 ID:???
ふう、なんとか移植できた、結局Longクラスを自前で用意して対応した・・・
どうも左シフトが厄介物らしく、左シフトで負数になってたのが原因ぽかったけど
それをどう書き直せばいいのか分からんかったから、こういう結果に・・・

573 (-_-)さん :2014/01/14(火) 00:40:38 ID:???
少し整形したが、演算を自前クラス経由でやるから遅いこと遅いこと
JavaScript上での整数のビット演算についてちゃんと調べて自前クラスなしでやらんとな・・・

574 (-_-)さん :2014/01/14(火) 04:02:34 ID:???
2chブラウザの開発意欲が・・・だるい・・・なんせ規制されてるわけだしもう疲れた

575 (-_-)さん :2014/01/14(火) 04:29:10 ID:???
ちょっと専ブラ作るのは(体力的・精神力的な意味での)難易度が高かったようだ・・・
もう10才若ければ数日間打ちこむとか出来るのだが・・・数日に1回2〜3時間くらいしか作業してないから遅々として進まん・・・

576 LILIN :2014/01/15(水) 05:41:57 ID:DdkSr.OE
規制解除して欲しいね(´・ω・`)

577 (-_-)さん :2014/01/15(水) 10:40:54 ID:???
うん、全くだ

578 (-_-)さん :2014/01/15(水) 12:44:41 ID:???
LILINはここに封じ込めておくべき

579 (-_-)さん :2014/01/17(金) 19:16:18 ID:???
それは酷い

580 (-_-)さん :2014/01/18(土) 03:53:46 ID:???
麻雀ばっかやってて2chブラウザ超停滞中・・・

581 LILIN :2014/01/18(土) 05:31:24 ID://I6evj6
||Φ|(|´|゚|ω|゚|`)|Φ||

582 (-_-)さん :2014/01/18(土) 19:23:02 ID:???
わろた

583 (-_-)さん :2014/01/19(日) 03:13:14 ID:???
リリンはVS2013使ってるのかー
進んでるねー

584 (-_-)さん :2014/01/19(日) 05:10:08 ID:???
リリンって言語は何が使えるの?

585 (-_-)さん :2014/01/22(水) 14:51:02 ID:???
ヒッキーのプログラミングするスレ 4
http://ikura.2ch.net/test/read.cgi/hikky/1390340542/

586 (-_-)さん :2014/01/23(木) 01:06:13 ID:???
プログラミング雑談 2014
http://ikura.2ch.net/test/read.cgi/hikky/1390405980/

587 LILIN :2014/01/25(土) 09:22:42 ID:iV5UY9VQ
怖いお(´・ω・`)

JPCERT コーディネーションセンター セキュアコーディング
http://www.jpcert.or.jp/securecoding/

588 LILIN :2014/01/25(土) 09:24:05 ID:iV5UY9VQ
趣味でも仕事でも「動きゃいい」がいっぱいありそうだお(´・ω・`)

589 (-_-)さん :2014/01/25(土) 13:41:56 ID:???
俺は「美しさ」を最優先する

590 LILIN :2014/01/25(土) 15:37:37 ID:iV5UY9VQ
ほう。

591 (-_-)さん :2014/01/25(土) 20:37:14 ID:???
>>587-588
ま、でも結局「動きゃいい」だしな

592 LILIN :2014/01/25(土) 20:42:23 ID:iV5UY9VQ
まあな。

593 (-_-)さん :2014/01/25(土) 20:47:33 ID:???
最近はAOJばっかやってるわ

594 (-_-)さん :2014/01/25(土) 23:59:23 ID:???
たまにやると頭の体操になっていい

595 (-_-)さん :2014/01/26(日) 03:58:03 ID:???
もうずっと専ブラ作りが滞ってるわ・・・板一覧取得さえ作れてないとは・・・

596 (-_-)さん :2014/01/26(日) 05:03:58 ID:???
ts

597 (-_-)さん :2014/01/31(金) 02:41:09 ID:???
ファイル名の交換ができるスクリプトを考えてるなう
簡単に言えば連番名のファイル名で3番と4番の順番を間違えてファイル名をつけたとき
ささっと交換できたらいいなーって

598 (-_-)さん :2014/02/01(土) 00:27:24 ID:???
#!/bin/sh
mv $1 tmp
mv $2 $1
mv tmp $2

こんな感じ?

599 (-_-)さん :2014/02/01(土) 02:19:26 ID:???
そんな感じ

600 (-_-)さん :2014/02/02(日) 20:06:51 ID:???
>>564

KVMスイッチ - Wikipedia
http://ja.wikipedia.org/wiki/KVM%E3%82%B9%E3%82%A4%E3%83%83%E3%83%81

601 LILIN :2014/02/03(月) 18:42:10 ID:kaBHLj8U
なにかを学ぼうとする理由がみつからない。

602 (-_-)さん :2014/02/03(月) 20:31:39 ID:???
じゃあ理由が見つかるまで息抜きでもするといいよ

603 LILIN :2014/02/03(月) 20:32:41 ID:kaBHLj8U
なんかおもしろげなサイト教えてもろーた

http://qiita.com/

おいら
http://qiita.com/ririn_yume

604 (-_-)さん :2014/02/03(月) 22:48:47 ID:???
面白そうなサイトだね
プログラマ向けの交流専用サイト

605 (-_-)さん :2014/02/03(月) 22:49:19 ID:???
書き途中で投稿してしまった
あとで見てみようと思う

606 (-_-)さん :2014/02/03(月) 22:59:45 ID:???
https://qiita.com/about
>Qiitaとは
>Qiitaは「プログラミングに関する知識を記録、共有する最適なサービス」です。

ほほう

607 (-_-)さん :2014/02/03(月) 23:22:48 ID:???
Mac向けを意識して作られてるぽいのと
無料サービスとは明記されてないのが少々気にかかるね

608 (-_-)さん :2014/02/03(月) 23:26:15 ID:???
これは登録せずに閲覧だけしようかな閲覧制限は無さそうだし
便利そうな情報が揃ってるし

609 (-_-)さん :2014/02/03(月) 23:28:44 ID:???
こういうアカウントで個人を特定できるような紐付けが気にいらない

610 (-_-)さん :2014/02/03(月) 23:31:54 ID:???
GitHubアカウントで登録できるというから連携させてみたらGist投稿権が付与されたくさいから即連携切ったわ

611 (-_-)さん :2014/02/03(月) 23:33:56 ID:???
https://qiita.com/tags
このタグ一覧ページから有用そうな情報をかいつまんで見るだけで十分
登録するメリットがよくわからん

612 LILIN :2014/02/04(火) 00:11:23 ID:sqqKMNT.
おお、タグの一覧があるのか。

613 LILIN :2014/02/04(火) 00:22:24 ID:sqqKMNT.
"プログラマのための技術情報共有サービスQiita[キータ]が提供する、
プログラマのためのキャリア構築支援サービスです。"

コピーライト2014-

どうやらこの手のサービスが最近流行みたいね。
コードIQにしろパイザの亜種だが、
いずれにしろ新規の企業にパイプがあると思えんからどっかの枝かな。

https://career.qiita.com/

614 (-_-)さん :2014/02/04(火) 00:23:16 ID:???
そんなことしてる間にプログラミングやればいいのに

615 (-_-)さん :2014/02/04(火) 00:26:19 ID:???
キータ・キャリアは提携先企業に仕事丸投げくさくね

616 (-_-)さん :2014/02/04(火) 00:27:52 ID:???
キータ自体はキータ・チームという有料サービスで稼ぐみたいだよ
リリンが登録したキータのサービスはキータ・キャリアやキータ・チームの金が入るサービスのための宣伝なんだろうね

617 (-_-)さん :2014/02/04(火) 00:35:44 ID:???
CodeIQやpaizaから雇用につながるとはとても思えん

618 LILIN :2014/02/06(木) 15:14:01 ID:CzCDI7Ns
各桁を取ってみたがベクターがいいのかな(´・ω・`)
https://www.dropbox.com/s/ydrfz4pv01iq2o0/slice_digit.cpp

619 (-_-)さん :2014/02/06(木) 15:32:27 ID:???
そうだねベクターのほうがいいかもね
それみたいに固定配列でやるなら桁数を関数の戻り値でやらないと何桁の数字か分からないんじゃないの

620 (-_-)さん :2014/02/13(木) 05:40:47 ID:???
2chブラウザ作りが完全に止まってるお

621 LILIN :2014/02/16(日) 14:50:16 ID:PKEScj7w
 ∧_∧
 (`・ェ・´) グッ
  0  0
  |  |
  ∪∪

622 (-_-)さん :2014/02/16(日) 14:57:46 ID:???
モーニン

623 (-_-)さん :2014/02/18(火) 20:48:57 ID:???
jcom規制でまた書き込めん

624 LILIN :2014/02/19(水) 21:54:14 ID:W.naAIpk
どうしていいのかよくわからん。
http://qiita.com/ririn_yume/items/fa4ea40cba2f8b52c715

625 LILIN :2014/02/19(水) 21:54:39 ID:W.naAIpk
徐々にパッチワークになってきたから問題を分解しよう(´・ω・`)

626 (-_-)さん :2014/02/19(水) 22:31:04 ID:???
C++とか難しそうな言語やってるんだね

627 LILIN :2014/02/20(木) 06:07:33 ID:DuUTKHiE
 ∧_∧
 (`・ェ・´) グッ
  0  0
  |  |
  ∪∪

628 (-_-)さん :2014/02/20(木) 19:35:17 ID:???
グッときちゃったのね

629 (-_-)さん :2014/03/16(日) 06:15:18 ID:???
「純LISP」でググったら引っかかるかなと思ってみたけやっぱ無理か

630 (-_-)さん :2014/03/16(日) 06:26:49 ID:???
少し遊んでしまった
ほとんど使わない慣れない言語のインタプリタって楽しい

631 (-_-)さん :2014/03/17(月) 03:54:39 ID:???
[0] null
[1] atom(symbol)
[2] pair(list)
[3] nil

632 (-_-)さん :2014/03/17(月) 04:00:17 ID:???
[0] reference
[1] atom(symbol)
[2] pair(list)
[3] nil

633 (-_-)さん :2014/03/17(月) 04:07:15 ID:???
[0] reference
[0][memory address]

[1] atom(symbol)
[1][0] symbol
[1][0][symbol characters][0]
[1][1] string
[1][1][string chracters][0]
[1][2] number(integer)
[1][2][integer value]
[1][3] number(float)
[1][3][float value]

[2] pair(list/cons cell)
[2][car data][cdr data]

[3] nil

634 (-_-)さん :2014/03/17(月) 04:16:49 ID:???
[0] reference
[0][memory address(4byte)][0]

[1] atom(symbol)
[1][0] symbol
[1][0][symbol characters][0]
[1][1] string
[1][1][string chracters][0]
[1][2] number(integer 4byte)
[1][2][integer value][0]
[1][3] number(float 8byte)
[1][3][float value][0]

[2] pair(list/cons cell)
[2][car data[...]][cdr data[...]][0]
e.g. (A . (B . CD)) -> [2][1][0]['A'][0][2][1][0]['B'][0][1][0]['C']['D'][0][0][0]

[3] nil
[3][0]

635 (-_-)さん :2014/03/20(木) 02:47:16 ID:???
末尾0は余計か

[0] reference
[0][0] memory
[0][0][memory address(4byte)]
[0][1] system function
[0][1][function ID(2byte?)]

[1] atom(symbol)
[1][0] symbol
[1][0][symbol characters][0]
[1][1] string
[1][1][string chracters][0]
[1][2] number(integer 4byte)
[1][2][integer value]
[1][3] number(float 8byte)
[1][3][float value]

[2] pair(list/cons cell)
[2][car data[...]][cdr data[...]]
e.g. (A . (B . CD)) -> [2][1][0]['A'][0][2][1][0]['B'][0][1][0]['C']['D'][0]

[3] nil
[3]

636 (-_-)さん :2014/03/25(火) 03:04:24 ID:???
C言語系じゃないと無理そうだなあ

637 (-_-)さん :2014/04/05(土) 04:04:50 ID:???
http://judge.u-aizu.ac.jp/onlinejudge/solution.jsp?pid=ALDS1_6_C#0
アルゴリズムの実装の仕方で速度勝負をしないボクは卑怯

638 (-_-)さん :2014/04/05(土) 07:32:58 ID:???
ズルすぎる

639 (-_-)さん :2014/04/21(月) 06:59:13 ID:???
ヒキ板落ちてて書き込めない読めないよー

640 (-_-)さん :2014/04/28(月) 07:36:26 ID:???
次スレ

プログラミング雑談 2014 Ver2.00
http://ikura.2ch.net/test/read.cgi/hikky/1398638050/

641 (-_-)さん :2014/05/05(月) 11:51:19 ID:???

整数リテラル = @"%d+"@

小数リテラル = @"%d*\.%d+"@

文字リテラル区切り = $'

文字リテラル = 文字リテラル区切り + @"."@ + 文字リテラル区切り

数値リテラル = 整数リテラル | 小数リテラル | 文字リテラル

文字列リテラル区切り = $"

文字列リテラル = 文字列リテラル区切り + @".+"@ + 文字列リテラル区切り

リテラル = 数値リテラル | 文字列リテラル

数値変数 = @"[A-Za-z_][A-Za-z0-9_]*"@

文字列変数 = @"[A-Za-z_][A-Za-z0-9_]*\$"@

変数 = 数値変数 | 文字列変数

符号 = "+" | "-"

算術単項演算子 = "++" | "--"

ビット単項演算子 = "~"

論理単項演算子 = "!"

前置単項演算子 = 符号 | 算術単項演算子 | ビット単項演算子 | 論理単項演算子

後置単項演算子 = 算術単項演算子

算術二項演算子 = "+" | "-" | "/" | "*" | "%"

ビット二項演算子 = "&" | "|" | "^" | ">>" | "<<" | ">>>" | "<<<"

論理二項演算子 = "&&" | "||"

比較演算子 = "==" | "!=" | ">=" | "<=" | "<" | ">"

算術代入演算子 = "=" | "+=" | "-=" | "*=" | "/="

ビット代入演算子 = "&=" | "|=" | "^="

論理代入演算子 = "&&=" | "||="

代入演算子 = 算術代入演算子 | ビット代入演算子 | 論理代入演算子

二項演算子 = 算術二項演算子 | ビット二項演算子 | 論理二項演算子 | 比較演算子 | 代入演算子

三項演算式 = 式 + "?" + 式 + ":" + 式

項種 = リテラル | 変数 | "(" + 式 + ")" 

項 = 項種 | 単項演算子 + 項種 | 項種 + 単項演算子

式 = 項 | 式 + 二項演算子 + 式 | 三項演算式

642 (-_-)さん :2014/05/21(水) 06:52:09 ID:41P3smIs
空欄以外のメ欄が0でIDが出るってことは
メ欄のチェックはPHPならempty()とかを使ってるってことか?>したらば

643 (-_-)さん :2014/05/21(水) 06:52:41 ID:???
どれ

644 (-_-)さん :2014/05/21(水) 06:52:56 ID:???
どうだ

645 (-_-)さん :2014/05/21(水) 06:53:13 ID:???
それ

646 (-_-)さん :2014/05/21(水) 06:53:29 ID:???
これなら

647 (-_-)さん :2014/05/21(水) 06:54:09 ID:???
empty()では無さそうだな
単純に空欄以外に0でもID表示できるってだけか

648 <font color=red>hoge</font> :2014/05/21(水) 06:54:46 ID:???
どれ

649 </font><font color=red> :2014/05/21(水) 06:55:07 ID:???
セキュリティダイジョブかチェキなう

650 (-_-)さん :2014/05/21(水) 06:55:49 ID:???
流石に大丈夫だったか

651 (-_-)さん :2014/05/21(水) 07:12:24 ID:???
<font color=red>ts</font>

652 (-_-)さん :2014/05/21(水) 07:13:31 ID:???
ts

653 (-_-)さん :2014/05/21(水) 07:23:54 ID:???
<JBBS FONTCOLOR=#0000FF>
したらばには色を変えるコマンドがあるのサ

654 (-_-)さん :2014/05/21(水) 07:32:58 ID:???
2chサーバーってちょくちょくリブートかけるらしいけど
そんなに不安定なのか?

655 ◆LeonWOMusI :2014/05/21(水) 07:51:33 ID:???
プログラミング停滞中
もうダメぽ

656 (-_-)さん :2014/05/21(水) 18:06:11 ID:???
専ブラはやめたのか

657 (-_-)さん :2014/05/22(木) 00:33:20 ID:???
JBBS FONTCOLOR=#0000FF>ts

658 (-_-)さん :2014/05/22(木) 00:33:53 ID:???
ts

659 (-_-)さん :2014/05/22(木) 04:28:56 ID:???
リリンのツイートなくて心配だ

660 (-_-)さん :2014/05/22(木) 21:50:14 ID:???
ヒキ板落ちすぎや

661 (-_-)さん :2014/05/23(金) 08:16:54 ID:???
>>551
> 既卒になってからかな、プログラミングの知識やスキルの大幅向上は・・・

働いて向上したの?

662 (-_-)さん :2014/05/23(金) 18:06:19 ID:???
>>661
働いたことないよ
卒後ずっとヒキ

663 (-_-)さん :2014/05/23(金) 23:32:51 ID:???
>>656
完全にご破算
以前にあのうpろだに上げた時点で終了

664 (-_-)さん :2014/05/25(日) 08:14:27 ID:???
JaneStyle使ってるけど
スレ開くたびに全レスのNG処理や書き換えやURLの設定などやってるらしく、URLや安価が多いスレ開くと重い

仮に新しい専ブラを開発するとき、この点をどうしたらよいだろうか

最後にスレ開いた時点からのNG設定の追加・削除だけを追うってのは難しそうだし(特に削除)
ReplaceStrやらImageViewURLReplaceやらの処理もだるい
安価やリンクの処理も面倒そう

上2つは前回の状態から設定に変化なければ新着レスにだけ適用すればよさそうだけど
うーむ

665 (-_-)さん :2014/05/26(月) 06:18:39 ID:???
iostream プログラミング

http://msdn.microsoft.com/ja-jp/library/22z6066f%28v=vs.120%29.aspx

666 (-_-)さん :2014/05/28(水) 07:07:26 ID:???
第2回 コンテナの仕組みとLinuxカーネルのコンテナ機能[1]名前空間とは?:LXCで学ぶコンテナ入門 −軽量仮想化環境を実現する技術|gihyo.jp … 技術評論社
http://gihyo.jp/admin/serial/01/linux_containers/0002?ard=1401228118


これは知らなかった
おもしろい

667 (-_-)さん :2014/05/30(金) 07:41:16 ID:???
http://www.javainthebox.net/laboratory/J2SE1.5/MiscAPI/SupplementaryChar/SupplementaryChar.html

うーむ、難しいお

668 (-_-)さん :2014/05/30(金) 07:54:29 ID:???
http://ideone.com/4CxEeT

うーむ、Unicodeとやらは絵文字もあるのか

669 (-_-)さん :2014/05/30(金) 07:56:33 ID:???
あえてCodePointを使う場面っていうと
表示する可能性のある1文字を切り出したいときか

670 (-_-)さん :2014/05/30(金) 08:02:29 ID:???
あとは文字数カウントをlength()じゃなくcodePointCount()を使わなきゃならんのか
遅そう

671 (-_-)さん :2014/05/30(金) 08:05:26 ID:???
http://gaishimo.hatenablog.com/entry/20101112/p1

うお、文字数カウントに使えんじゃないかcodePointCount()
手間手間だあ

672 (-_-)さん :2014/05/30(金) 08:08:24 ID:???
http://www.ibm.com/developerworks/jp/ysl/library/java/j-unicode_surrogate/

ランダムで文字を抜きだしとかそういう可能性もあったか
おのれ

673 (-_-)さん :2014/06/08(日) 06:55:46 ID:???
Lispのやったのもう1年前なのか・・・あっというまだな

674 (-_-)さん :2014/06/08(日) 14:10:31 ID:???
未だにlispインタプリタ書いてるよ俺
成長してねえ

675 (-_-)さん :2014/06/11(水) 06:01:05 ID:???
がんばってるんだね

676 (-_-)さん :2014/06/11(水) 11:56:23 ID:???
頑張ってここまで書いた

http://ideone.com/PgYNk6

677 (-_-)さん :2014/06/11(水) 12:14:21 ID:???
ちなみに>>674とは別人

678 (-_-)さん :2014/06/24(火) 03:10:31 ID:???
>>676の続き書いてたけど途中を酷く間違ってしまった
まさかLispに任意ジャンプができる処理があるなんて知らなかった
現行の再帰で順次処理してくやりかたじゃスマートにジャンプ処理でけない・・・
再帰じゃなく状態遷移とスタックで処理を進めるように組むべきだった・・・
俺の数十時間を返せと俺にいいたい

679 (-_-)さん :2014/06/24(火) 03:11:34 ID:???
あまりにもLispを知らな過ぎたことが今回の俺の敗因だ・・・

680 (-_-)さん :2014/06/24(火) 03:13:13 ID:???
適当なLispの実装で遊ぶことが必要だったんだな
ほとんど知らんものを9割以上想像ふまえて作ろうってのがそもそも間違いだったんだ

681 (-_-)さん :2014/06/24(火) 03:15:11 ID:???
プッシュダウン・オートマトンってやつや

682 (-_-)さん :2014/06/24(火) 03:29:48 ID:???
うう、しかしだ、状態遷移とスタックでの実装は相当複雑になるなよなあ・・・
でも現在の再帰実行だとちょっと大きめのLispコードとか走らせるとすぐメモリ不足になりそうだしなあ・・・
末尾再帰の最適化もやってないからLispで再帰コードなんか走らせたらやばそう・・・
やはりというか、俺の才能の無さをひしひしを感じるは

683 (-_-)さん :2014/06/24(火) 03:31:48 ID:???
ひとまず、この再帰実装のままでジャンプ系を組んでみるか…酷い事になりそうだが、作り直すのは面倒だしな

684 (-_-)さん :2014/06/24(火) 03:38:54 ID:???
いちおう並行して状態遷移で組む場合の状態遷移のパターンも考えてみるか

685 (-_-)さん :2014/06/24(火) 03:41:31 ID:???
才能のある奴なら既存の実装のコード見て見たりとかして真似たりとかしてどんどん成長してくんだろうなあ
なんとか自分だけで考えてやろうってのは無能な証拠
プログラミングなんて知識量勝負なところあるのに色んな実装やコードを見て知識を増やそうとしないんだもんな
俺にとってプログラミングは趣味未満のただの暇つぶしだな完全に

686 (-_-)さん :2014/06/24(火) 03:46:21 ID:???
言葉の表現のミス、コードは見るものじゃなく読むものだな
コードを読むことはそれなりに楽しいんだけどね
でも頭に浮かんだアイデアを実現・再現してくほうがもっと楽しいから
他人のコードを読む機会を捨てまくってるというとこもあるし

687 (-_-)さん :2014/06/24(火) 03:47:50 ID:???
プログラミングを覚え初めの頃のほうがコードを読んでたなあ
その処理をどうやって実現してるのかすごく気になって熱心に読んでたなあ

688 (-_-)さん :2014/06/24(火) 03:51:00 ID:???
あの頃は、さすがに10代という若い年齢だったから出来たのかもなあ・・・

689 (-_-)さん :2014/06/24(火) 13:21:31 ID:???
別に継続も末尾再起もなくても大丈夫
schemeは必須だけどcommon lispにその仕様は無い

690 (-_-)さん :2014/06/25(水) 16:56:20 ID:???
実行時文解釈ならバッククオートは大した問題じゃないけど事前文解釈だとバッククオートの扱いがやっかいだ

691 (-_-)さん :2014/06/25(水) 17:01:23 ID:???
バッククオート外し

`(a b ,c 'd (e f) ,(cons 'a 'b) (cons 'c 'd) z)

(list 'a 'b c ''d (list 'e 'f) (cons 'a 'b) (list 'cons ''c ''d) 'z)

692 (-_-)さん :2014/06/25(水) 17:07:40 ID:???
中々複雑

`(a b (c . d) e ,(cons a `b) f)
(list 'a 'b (cons 'c 'd) 'e (cons a 'b) 'f)

`a
'a

`(a . b)
(cons a b)

`(a b c d . e)
(cons (list 'a 'b 'c) 'e)

693 (-_-)さん :2014/06/25(水) 17:08:29 ID:???
訂正

`(a . b)
(cons 'a 'b)

694 (-_-)さん :2014/06/25(水) 17:25:25 ID:???
@がやっかいか

`(a b ,@c d)
(append (list 'a 'b) (append c (list 'd)))

`(a b ,@c)
(append (list 'a 'b) c)

695 (-_-)さん :2014/06/25(水) 17:30:35 ID:???
訂正

`(a . b)
(append (list 'a) 'b)

`(a b c d . e)
(append (list 'a 'b 'c) 'e)

696 (-_-)さん :2014/06/25(水) 19:42:18 ID:???
`(a b (c . d) e ,(cons a `b) f ,@g h ,@k)
` => [start of back quote]
( => [back quote target is list]
(list
a => (list 'a
b => (list 'a 'b
( => (list 'a 'b (list
c => (list 'a 'b (list 'c
. => [least list close]
(list 'a 'b (list 'c)
[least list remove and save]
(list 'a 'b
[add append]
(list 'a 'b (append
[return saved list]
(list 'a 'b (append (list 'c)
d => (list 'a 'b (append (list 'c) 'd
) => (list 'a 'b (append (list 'c) 'd)
e => (list 'a 'b (append (list 'c) 'd) 'e
, => [start of non quote]
( => [non quote target is list]
(list 'a 'b (append (list 'c) 'd) 'e (
cons => (list 'a 'b (append (list 'c) 'd) 'e (cons
a => (list 'a 'b (append (list 'c) 'd) 'e (cons a
` => [start of back quote]
b => [back quote taget is atom]
(list 'a 'b (append (list 'c) 'd) 'e (cons a 'b
[end of back quote]
) => (list 'a 'b (append (list 'c) 'd) 'e (cons a 'b)
[end of non quote]
f => (list 'a 'b (append (list 'c) 'd) 'e (cons a 'b) f
, => [start of non quote]
@ => [non quote target is expand]
[least list close]
(list 'a 'b (append (list 'c) 'd) 'e (cons a 'b) f)
[least list remove and save]

[add append (closing +1, all=1)]
(append
[return saved list]
(append (list 'a 'b (append (list 'c) 'd) 'e (cons a 'b) f)
g => [expand target is atom (must refer list)]
(append (list 'a 'b (append (list 'c) 'd) 'e (cons a 'b) f) g
[end of expand and non quote]
[add list]
(append (list 'a 'b (append (list 'c) 'd) 'e (cons a 'b) f) g (list
h => (append (list 'a 'b (append (list 'c) 'd) 'e (cons a 'b) f) g (list h
, => [start of non quote]
@ => [non quote target is expand]
[least list close]
(append (list 'a 'b (append (list 'c) 'd) 'e (cons a 'b) f) g (list h)
[least list remove and save]
(append (list 'a 'b (append (list 'c) 'd) 'e (cons a 'b) f) g
[add append (closing +1, all=2)]
(append (list 'a 'b (append (list 'c) 'd) 'e (cons a 'b) f) g (append
[return saved list]
(append (list 'a 'b (append (list 'c) 'd) 'e (cons a 'b) f) g (append (list h)
k => [expand target is atom (must refer list)]
(append (list 'a 'b (append (list 'c) 'd) 'e (cons a 'b) f) g (append (list h) k
[endo of expand and non quote]
[add list]
(append (list 'a 'b (append (list 'c) 'd) 'e (cons a 'b) f) g (append (list h) k (list
) => (append (list 'a 'b (append (list 'c) 'd) 'e (cons a 'b) f) g (append (list h) k (list)
[end of back quote]
[add closings(all=2)]
(append (list 'a 'b (append (list 'c) 'd) 'e (cons a 'b) f) g (append (list h) k (list)))

697 (-_-)さん :2014/06/26(木) 13:16:50 ID:???
LISPとかってスコープ内で一度変数の値が定義されたら中身が変更されるのは間違いだと思うなの
だからひたすら関数の戻り値を使いまわすような設計でコーディングすべきなの

698 (-_-)さん :2014/06/26(木) 13:37:29 ID:???
正格でない評価、所謂遅延評価ってのは面白いな

699 (-_-)さん :2014/06/26(木) 13:41:12 ID:???
たしかに毎度引数を全部使うわけでない関数やメソッドが存在するなら遅延評価のほうが速度が向上しそうな感じはする

700 (-_-)さん :2014/06/26(木) 23:30:29 ID:???
オレオレリスプ風言語の途中経過
http://fsm.vip2ch.com/-/hirame/hira044177.png

701 (-_-)さん :2014/06/26(木) 23:58:12 ID:???
forをマクロってみた
http://fsm.vip2ch.com/-/hirame/hira044185.png

702 (-_-)さん :2014/06/27(金) 18:43:04 ID:???
>>691-696
ttp://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node190.html#BACKQUOTE

703 (-_-)さん :2014/08/30(土) 21:44:27 ID:LaoNbrFk
int i;
int sum = 0;
for (i = 1; i <= 5; i++) {
  sum += i;
}
print(sum);


PROGRAM1 START
     LAD GR0,0   ; 1c
     LAD GR1,1   ; 2c
     LAD GR2,10   ; 3c
     LAD GR3,1   ; 4c
FOR_S   CPA GR1,GR2  ; 5c, 10c, 15c, 20c, 25c, 30c
     JPL FOR_E   ; 6c, 11c, 16c, 21c, 26c, 31c
     ADDA GR0,GR1  ; 7c, 12c, 17c, 22c, 27c
     ADDA GR1,GR3  ; 8c, 13c, 18c, 23c, 28c
     JUMP FOR_S   ; 9c, 14c, 19c, 24c, 29c
FOR_E   CALL PRINT   ; 32c
     RET      ; 33c
     END

※ラベルPRINTの位置にはGR0の値を出力するプログラムがあるとする


int i = 1;
int sum =0;
sum += 1;
sum += 2;
sum += 3;
sum += 4;
sum += 5;
print(sum);


PROGRAM2 START
     LAD GR0,0   ; 1c
     LAD GR1,1   ; 2c
     ADDA GR0,GR1  ; 3c
     LAD GR1,2   ; 4c
     ADDA GR0,GR1  ; 5c
     LAD GR1,3   ; 6c
     ADDA GR0,GR1  ; 7c
     LAD GR1,4   ; 8c
     ADDA GR0,GR1  ; 9c
     LAD GR1,5   ; 10c
     ADDA GR0,GR1  ; 11c
     CALL PRINT   ; 12c
     RET      ; 13c
     END


1命令1クロックで処理されるとすると
前者は33クロック、後者は13クロック
2倍以上の差が出る

704 (-_-)さん :2014/08/30(土) 21:45:42 ID:LaoNbrFk
for文とはとてもコストの高い処理だということが分かる

705 (-_-)さん :2014/08/30(土) 21:47:48 ID:wVfBml9k
後者のソースのint i = 1;の1行がいらなかった(アセンブリには反映されてないので問題ないが)

706 (-_-)さん :2014/08/30(土) 21:49:33 ID:LaoNbrFk
おろ?ID変わった?

707 (-_-)さん :2014/08/30(土) 21:51:30 ID:LaoNbrFk
後者はもっと短縮できるようだ

PROGRAM3 START
     LAD GR0,0   ; 1c
     LAD GR0,1,GR0 ; 2c
     LAD GR0,2,GR0 ; 3c
     LAD GR0,3,GR0 ; 4c
     LAD GR0,4,GR0 ; 5c
     LAD GR0,5,GR0 ; 6c
     CALL PRINT   ; 7c
     RET      ; 8c
     END


わずか8クロックw
for文の4分の1になったw

708 (-_-)さん :2014/08/30(土) 21:52:56 ID:LaoNbrFk
同様に前者もi++にGR3を使わず
LAD GR1,1,GR1
を使えば1クロック分減るな

709 (-_-)さん :2014/08/30(土) 21:58:33 ID:LaoNbrFk
まぁ実際はGR0〜GR2の退避・回復の処理が頭とケツにつくから
前者は+6クロック、後者は+1クロックか

710 (-_-)さん :2014/08/31(日) 00:10:24 ID:YM8vwInw
最適化したら定数をprintするだけになりそう

711 (-_-)さん :2014/08/31(日) 02:39:42 ID:n1WuGYLw
最適化ってすげえんだな

712 (-_-)さん :2014/09/01(月) 18:03:26 ID:???
どうやって解析してんだろうね

713 (-_-)さん :2014/09/05(金) 02:11:02 ID:???
パスワード 

→ ハッシュ化 → 一部を保存、これの一致でログインを確認

→ パスワードを使いデータを暗号・復号する

714 (-_-)さん :2014/10/01(水) 22:58:28 ID:???
末尾再帰ってC言語系ならreturnが目印で探しやすいけど
Lispだとどこが戻り値になるのか分かりづらい気がする

715 (-_-)さん :2014/10/02(木) 00:52:12 ID:???
プリエンプションってよくわかんねえ

716 (-_-)さん :2014/10/02(木) 01:02:13 ID:???
http://monoist.atmarkit.co.jp/mn/articles/0506/28/news112_2.html

図解の記事でもよくわかねえや

717 (-_-)さん :2014/10/02(木) 01:12:07 ID:???
疑問点がやっと解決した
CPUにはタイマー割り込み機能がついてんの知らなかった
カーネル側でマルチタスクをスイッチングするとか言っててどうやってやってんだと悶々としてたが

718 (-_-)さん :2014/10/02(木) 01:14:25 ID:???
タイマー割り込みのような機能がハードウェア側にないと実現できねえよなと思ってたのに
何を読んでもカーネルでやってるOSでやってるソフトウェア的にやってるとかしか書いてなかったから
CPUにはタイマー割り込み機能は存在してないってことだと思って、マジでどうやってんだと思ってたわ

719 (-_-)さん :2014/10/02(木) 01:18:18 ID:???
確かにタスクだのプロセスだののスイッチングの具体作業自体はソフトウェア的にやってるだろうが
スイッチングのきっかけはハードウェア的処理なんだからそこにも触れて書いてくれよって思うわ

720 (-_-)さん :2014/10/02(木) 01:23:58 ID:???
http://sourceforge.jp/projects/linux-kernel-docs/wiki/2.3%E3%80%80%E3%83%8F%E3%83%BC%E3%83%89%E3%82%A6%E3%82%A7%E3%82%A2%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%E5%87%A6%E7%90%86

今度これ読んでおく

721 あぼーん :あぼーん
あぼーん

722 (-_-)さん :2014/10/09(木) 17:49:29 ID:???
日本語でおk?

723 (-_-)さん :2014/10/09(木) 18:11:11 ID:???
a

724 (-_-)さん :2014/12/09(火) 00:08:38 ID:???
今日わかったこと
C#においてクラスと構造体は似て非なるもの
C++の感覚では使えない

725 (-_-)さん :2014/12/10(水) 05:28:06 ID:???
http://qiita.com/horimislime/items/84fa431460c8d39f37e6
http://qiita.com/awakia/items/5fad0c454ddc7b478ff1
http://qiita.com/FiNGAHOLiC/items/34312c5cbd4989fa192c
http://qiita.com/ririn_yume
メモ

726 (-_-)さん :2014/12/18(木) 01:18:56 ID:???
第28回 Perlの構文解析器の作り方と応用例(1):Perl Hackers Hub|gihyo.jp … 技術評論社
http://gihyo.jp/dev/serial/01/perl-hackers-hub/002801

おもしろそうなの発見

727 (-_-)さん :2014/12/18(木) 01:22:18 ID:???
プログラマー向けのQ&Aサイト「Stack Overflow」、日本語版が一般公開 -INTERNET Watch
http://internet.watch.impress.co.jp/docs/news/20141217_680681.html


日本語キター!

728 (-_-)さん :2015/01/10(土) 04:16:40 ID:???
まだ落ちてるのんか

729 (-_-)さん :2015/01/12(月) 21:01:00 ID:???
今夜はトップコーダーに挑戦だ

730 (-_-)さん :2015/01/12(月) 23:25:27 ID:???
13日午前1時かららしいSRM?とかいうの

731 (-_-)さん :2015/01/12(月) 23:29:16 ID:???
22時からエントリー開始してたみたいだな
今SRM645に参加登録した

732 (-_-)さん :2015/01/13(火) 02:37:49 ID:???
ダーメだったわ
全然分からんかった
難しすぎだわ

733 (-_-)さん :2015/01/13(火) 20:17:10 ID:???
ttp://fsm.vip2ch.com/-/hirame/hira062987.png
次のSRMを受けたらどんどんRateが下がって行きそうな予感…
引き際が肝心ということでコレを俺の最高記録とする!

734 (-_-)さん :2015/01/13(火) 20:22:29 ID:???
世界中のプログラマでTopCoderをやっている人は何割程度だろうか
その何割で黄色や赤色のとこの人が数千人いるわけだから
TopCoderやってない人も含めればすごいプログラマって世界中に何万といるんだろうなあ…

そして灰色や緑色のあたりがどこにでもいるようなレベルの範囲なんだろうけど
TopCoderに参加してる人だけで数万人になるから
TopCoderに参加してない人も含めたらこのレベル域のプログラマは世界で数百万人以上いるってことだよな…

735 (-_-)さん :2015/03/13(金) 15:56:45 ID:???
書き込めるけど見られない
マジでdat取得だけ仕様変更か

736 (-_-)さん :2015/03/13(金) 19:13:07 ID:???
専ブラを自作するのはしんどいなあ

737 (-_-)さん :2015/03/14(土) 23:52:25 ID:???
仕組み自体は難しいもんじゃないけど
いかんせん組むのが非常に面倒臭いのが難点

738 (-_-)さん :2015/03/17(火) 14:57:38 ID:???
https://www.jpcert.or.jp/java-rules/vna02-j.html

ふむふむ

739 (-_-)さん :2015/03/17(火) 18:10:59 ID:???
専ブラ作ろうと必死らこいてみたが
javaのスレッドの仕組みあたりで苦戦中

変に凝るから時間がかかってしまう
凝らない仕様にしてれば今頃は半分くらいは完成してたはず
凝ったせいで1ミリも進んでない

740 (-_-)さん :2015/03/17(火) 18:12:54 ID:???
javaのスレッドの仕組みを理解するための実験的なコード書いては実行してを繰り返してばかりでダメぽ
機能はswingのhtml表示できるというJEditPaneを色々実験してて
実験のコードばかりで
専ブラの実装コードは1ミリも書かれてない・・・

741 (-_-)さん :2015/03/19(木) 18:13:56 ID:???
やる気が途絶えてしまった

742 (-_-)さん :2015/03/19(木) 20:20:21 ID:???
redditの仕様の大きさに比べたら2ch用ブラウザはすごく楽に思える

743 (-_-)さん :2015/03/19(木) 22:02:14 ID:???
15年くらい前のサイトだからね2chは
そらしょぼいわ

744 (-_-)さん :2015/03/19(木) 23:35:27 ID:???
Javaのチュートリアルに日本語版があるとは知らなかった

Javaチュートリアル
https://docs.oracle.com/cd/E26537_01/tutorial/

745 (-_-)さん :2015/03/19(木) 23:37:16 ID:???
うげ・・・日本語版は目次ページだけか・・・

746 (-_-)さん :2015/03/24(火) 17:16:03 ID:???
専ブラ開発停滞中

747 (-_-)さん :2015/03/24(火) 18:39:05 ID:???
一年以上前から言ってないかそれ

748 (-_-)さん :2015/03/24(火) 19:56:13 ID:???
言ってない
これは古い専ブラでスレが見れなくなってから考えだしたから

749 (-_-)さん :2015/03/24(火) 19:57:03 ID:???
ただ何かしらの停滞と挫折はしょっちゅうやってはいる

750 (-_-)さん :2015/03/24(火) 21:36:13 ID:???
最近はしたらばとredditを見てて.netはもう無いものと思ってるわ
専門板もネチネチした荒らしがいるから見ない方が精神衛生上良いし

751 (-_-)さん :2015/03/24(火) 22:14:12 ID:???
人の多い板はともかく
それ以外の板は一気に過疎感じがするね

752 (-_-)さん :2015/04/03(金) 21:27:47 ID:???
各所の過疎が進みすぎて
専ブラ開発の意欲が失せてきた・・・

753 (-_-)さん :2015/04/23(木) 04:23:50 ID:???
構想いていた専ブラの仕様に穴があるの気づいた・・・
まぁ停滞してから1ヶ月経つけどほとんど何も出来てない段階だから
仕様変更は問題ないけど
どう仕様を変えるかのアイデアがまだない・・・

754 (-_-)さん :2015/04/23(木) 18:30:49 ID:???
スクレイピングとかいうので実装しようと思ってたのに
ダメになる可能性があるらしい・・・



2ch.net専用ブラウザの開発者の皆さまへ ★20 [転載禁止]?2ch.net
http://anago.2ch.net/test/read.cgi/software/1427376861/

755 (-_-)さん :2015/05/01(金) 20:15:56 ID:???
980超えると24時間書き込みが無いだけでスレ落ちるとか厳しすぎてワロタ

756 (-_-)さん :2015/05/02(土) 03:11:33 ID:???
【スレタイ】ヒッキーのプログラミングするスレ 6
【本文】
前スレ
ヒッキーのプログラミングするスレ 5
http://hello.2ch.net/test/read.cgi/hikky/1404022118/

避難所(2ch鯖落ちや規制などの時)
ヒッキープログラミングスレ 2
http://jbbs.livedoor.jp/bbs/read.cgi/internet/17286/1371668281/


2ちゃんねるヒッキー板プログラミングスレwiki
http://www54.atwiki.jp/projecthikky/

プログラムの公開用アップローダー
http://ux.getuploader.com/hikkyp/

757 (-_-)さん :2015/05/02(土) 03:43:55 ID:???
うげ、このアップローダのURLは今はRock54対象か

758 (-_-)さん :2015/05/03(日) 23:00:00 ID:wIrj73.w
ヒッキーのプログラミングするスレ 6 [転載禁止](c)2ch.net
http://hello.2ch.net/test/read.cgi/hikky/1430661582/

759 (-_-)さん :2015/05/03(日) 23:12:25 ID:???
>>758


760 (-_-)さん :2015/05/08(金) 00:26:11 ID:???
メモ
http://www.oracle.com/technetwork/jp/java/javase/documentation/api-jsp-316041-ja.html

761 (-_-)さん :2015/05/24(日) 17:56:28 ID:???
向こうのスレの専ブラのアイデア
面白いと思うけどプロキシの形で既存2chブラウザに渡せば終わりそうな
それだと専ブラ自体は対応できない細かな問題が出るかな
でもそのために一から作るのもなんか動機が弱くて結局頓挫しそう

762 (-_-)さん :2015/05/24(日) 18:00:46 ID:???
ツリー型に関してはスラドやredditを見てて思ったけどあまりいい形に思えない
複数の書き込みに対してレス出来ないし見難いしアンカーの連鎖でよさそう

763 (-_-)さん :2015/05/24(日) 22:20:38 ID:???
禿同

764 (-_-)さん :2015/06/06(土) 17:00:46 ID:???
ネット通信覚えるぞ!
メモ

TCP/IPアレルギー撲滅ドリル
http://www.atmarkit.co.jp/ait/articles/0302/01/news001.html

765 (-_-)さん :2015/06/06(土) 18:36:58 ID:???
さっそくプロキシっぽいの作ってみた

https://paiza.io/projects/fIe-08l1BiBzIqFI9eNriw

766 (-_-)さん :2015/06/06(土) 18:38:48 ID:???
ほんとうはちゃんとリクエストの内容みてHTTPとかプロトコルチェックしてプロトコルごとに対応しなきゃならんのだろうけど
ひとまず、HTTPリクエストが来ること前提でw

767 (-_-)さん :2015/06/06(土) 19:04:17 ID:???
単なるWEBサーバーやんけ

768 (-_-)さん :2015/06/13(土) 06:11:28 ID:???
メモ

Processingで学ぶ 実践的プログラミング専門課程
第18回  UML(1) ユースケース図
http://gihyo.jp/dev/serial/01/practical-programming-with-processing/0018

769 (-_-)さん :2015/06/18(木) 03:38:26 ID:???
メモ

Perl Hackers Hub
http://gihyo.jp/dev/serial/01/perl-hackers-hub

770 (-_-)さん :2015/06/23(火) 04:43:54 ID:???

●餌

初期:
 餌は十数個ランダムに配置される

投下:
 任意のタイミングで任意の位置に餌を発生させることができる

移動:
餌は全く移動しない


●生物

初期:
 生物は経験値ゼロの満腹状態の個体が十数体ランダムに配置される

向き:
生物には向きが存在する

視界:
  生物は前方に対して左右それぞれ最大45度の計90度の視界を有する
  真横や後方を認識することはできない
  視認可能距離は無限大とする

可能行動:
 生物には右腕を左腕が存在しそれを動かすことによって行動する
 右腕前かき   前方左斜め(前方左45度)に1単位進む、体の向きが移動前の左斜め前方向を前方とする向きに変わる
 左腕前かき   前方右斜め(前方右45度)に1単位進む、体の向きが移動前の右斜め前方向を前方とする向きに変わる
 右前+左前   1単位前進

感情:
 快 不快

快:
 空腹時以外
 
不快:
 空腹時
 
状況:
 視界にある最寄の餌との距離

経験:
 状況に対して行った可能行動をキーとしてそれによっての最寄の餌との距離変化を値とする情報群
 行動するたびに値が更新されていく

快時:
 可能行動を一切行わない

不快時:
 経験皆無・・・可能行動のいずれかをランダムに行う
 経験多少・・・未経験の可能行動のいずれかをランダムに行う
 経験十分・・・最寄の餌との距離がもっとも減少する可能行動を行う、同程度のものが複数ある場合はいずれかをランダムに行う

摂食:
 空腹時に餌を接触することによって瞬時に餌を完食する
 同一の餌に2匹以上の空腹の生物が同時に接触した場合はいずれか1つの個体のみが摂食を行える
 その場合、摂食を行える個体は空腹時からの経過時間が最も短い個体に決定される、経過時間が同じ個体が2匹以上いる場合はそのうちからランダムに決定される

満腹:
 空腹時に餌1個を摂食することで満腹になる
 満腹になると感情が快になる
 
空腹:
 満腹時から一定時間が経過すると空腹状態になる
 空腹になると感情が不快になる

死亡:
 空腹時から一定時間が経過すると生物は死亡する
 死亡以降、死体は餌として扱われる

771 (-_-)さん :2015/06/23(火) 04:44:59 ID:???
訂正

状況:
 視界にある最寄の餌との方向と距離

772 (-_-)さん :2015/06/23(火) 05:15:31 ID:???
発展

寿命と交配を設ける

残り寿命が閾値を超えたら交配行動を求め行動する
最寄の個体に接近し強制交配を行う、交配した両個体はそこで死亡(ただし餌とはならず消滅する)
交配により子個体が2個体発生する。親の両個体から経験を半分ずつ受け継ぐ。経験はランダムに選出される。
受け継ぐ経験はランダムに選出されるため子個体はそれぞれ異なる経験を持つ個体となる

773 (-_-)さん :2015/06/23(火) 05:41:06 ID:???
メモ

「HTTP/2」がついに登場! 開発者が知っておきたい通信の仕組み・新機能・導入方法
http://codezine.jp/article/detail/8663

774 (-_-)さん :2015/06/23(火) 05:47:20 ID:???
SPDYにしろHTTP/2にしろ
そんな糞重いサイトなんか消えてなくなれってしか思わんわ
無駄に動的コンテンツとか動的読み込みとか要らんちゅうの
軽量ページの遷移だけでなんとかしてほしいわ

775 (-_-)さん :2015/08/27(木) 04:29:03 ID:???
Java

Pattern.quote(String)

https://paiza.io/projects/1wPSZNGBSwZ8c1w2QfQnLw

776 (-_-)さん :2015/09/01(火) 04:43:28 ID:???
メモ

注目高まる人工知能--押さえておきたい用語21選
http://japan.zdnet.com/article/35068871/

777 (-_-)さん :2015/09/22(火) 06:07:41 ID:???
https://paiza.jp/poh/joshibato/matsue-ruby

コードゴルフ難しい

778 (-_-)さん :2015/10/12(月) 04:31:59 ID:???
覚悟決めたgzipのdeflate圧縮アルゴリズム実装をするぞ

779 (-_-)さん :2015/10/12(月) 05:22:16 ID:???
うう、gzipのdeflat圧縮の解除の処理を実装したの2年前だし
そのコードを眺めてたが、昔の俺は出来る奴だったんだな・・・
コード何を書いてるのかよくわからんし・・・deflateの知識を完全にド忘れしてて理解不能に近いわ・・・

780 (-_-)さん :2015/10/12(月) 05:38:20 ID:???
やべえわ、deflate圧縮の再勉強が必要なレベルだわ・・・それはダルすぎ・・・覚悟消滅

781 (-_-)さん :2015/10/12(月) 05:52:52 ID:???
DEFLATE
https://tools.ietf.org/html/rfc1951

ZLIB
https://tools.ietf.org/html/rfc1950

GZIP
https://tools.ietf.org/html/rfc1952

782 (-_-)さん :2015/10/12(月) 05:55:42 ID:???
翻訳版

DEFLATE
http://www.futomi.com/lecture/japanese/rfc1951.html

ZLIB
http://www.futomi.com/lecture/japanese/rfc1950.html

GZIP
http://www.futomi.com/lecture/japanese/rfc1952.html

783 (-_-)さん :2015/10/12(月) 05:56:54 ID:???
色々な翻訳載せてるこの人は神だわ

英語技術文書日本語訳
http://www.futomi.com/lecture/japanese/index.html

784 (-_-)さん :2015/10/12(月) 06:11:29 ID:???
うん、前回もこの日本語訳で学習したような気がする
原文のほうはちょろっと眺めてみたが見た覚えが全くない
2年前の俺は英語文章を読む気概は無かったようだ

785 (-_-)さん :2015/10/12(月) 06:21:53 ID:???
カスタムハフマンで圧縮はしんどそう
ハフマン符号表を独自に生成(あるいは事前用意)でやるんだろうけど
ある程度のサイズ(ブロックというやつか)読み込んだデータのヒストグラム取って大きな偏りがある場合は
カスタムハフマンで超圧縮できたりしたらすごいんだろうけど
事前用意ならある程度データの偏りがあることが分かってるデータ形式を取り扱うときとかかな
どのみち面倒や

786 (-_-)さん :2015/10/12(月) 06:25:39 ID:???
ただ固定ハフマンだとほとんど圧縮できなさそう
同じ連続データが頻出するようなデータ形式じゃないと固定ハフマンより非圧縮ブロック使うほうがいいし
本気で圧縮を考えるならカスタムハフマン使わざるをえないのか・・・

787 (-_-)さん :2015/10/12(月) 06:28:14 ID:???
ハフマン符号の生成法自体は書いてあるけど
カスタムハフマンだと符号表の圧縮もしなきゃならんし、何よりブロックフォーマットが面倒

788 (-_-)さん :2015/10/12(月) 06:31:24 ID:???
前回は伸張処理だったから固定ハフマンの内容について深く考えなかったけど
やたらめったら同じ連続データが頻出しない限り固定ハフマンを使う価値ねえわ
普通のテキスト文書を圧縮なら単純に頻出文字のビット数抑える目的のカスタムハフマン作るほうが断然いいな

789 (-_-)さん :2015/10/12(月) 06:39:36 ID:???
固定ハフマンは3バイト(24bit)以上一致すると半分以下のに減らせる感じではあるが
html文書の圧縮とかなら2文字以上タグやパラメータ名が頻出したとしても
タグやパラメータ名なんて文書全体の大した割合じゃないし、固定ハフマンだとちょろっとしか圧縮できないな
俺がいまこのスレで連投してるレスだって連続データ多くないだろうし
ただヒストグラムで頻出検査しても微妙そうではあるが

790 (-_-)さん :2015/10/12(月) 06:52:14 ID:???
だいたい半分に圧縮か
http://ideone.com/4kiJcR

791 (-_-)さん :2015/10/12(月) 06:59:50 ID:???
Javaでもだいたい半分か・・・
http://ideone.com/PXzrny

アッカーン

792 (-_-)さん :2015/10/12(月) 07:02:17 ID:???
半分というのは素晴らしい成績なのか微妙なのか判断つかんな・・・

793 (-_-)さん :2015/10/12(月) 07:10:10 ID:???
PHPは他の圧縮形式もサポートしてるから
後で比較してみるかな

794 (-_-)さん :2015/10/13(火) 07:32:04 ID:???
ふむ
https://paiza.io/projects/-D3AYAjkYK36g5yiYpEG_g

795 (-_-)さん :2015/10/14(水) 06:24:15 ID:???
Deflateは固定ハフマンを使うのなら

最大で258バイトを13ビット(2バイト弱、距離1バイトの1バイトを258バイト分繰り返し)〜26ビット(4バイト弱、距離32Kバイトから258バイト分のコピー)に圧縮できる

3バイト(24ビット)を参照で圧縮する場合は
最小12ビット(2バイト弱、距離1の1バイトを3バイト分繰り返し)〜24ビット以上は圧縮の意味がないので23ビットまでで
23ビットは距離約8Kバイトまでの参照

796 (-_-)さん :2015/10/14(水) 06:45:25 ID:???
ZLIBで使われるAdler32

下位バイト、s1 はバイトデータの総和に1を足したもの
上位バイト、s2 はバイトデータの先頭からの部分和に1を足した物の総和

RFCで紹介されてるコードはループ毎に素数65521で割って効率が悪いので(どんなCPUでも剰余算は効率が悪い)
ある程度足し合わせた状態を素数65521 で割って計算していくほうが効率がよい
ある程度足し合わせた状態がs1とs2のオーバーフローしないギリギリまで求めたい
既にあるadler32の値をupdateで更新するときに
s1とs2にが最も早くギリギリの値になるのはs1とs2の初期値が最大でバイトデータ全部が0xFF(255)のとき
s1とs2は最終的に素数65521 の余りとして算出されるため最大値は双方ともに65520
s1の最大値は簡単に 65520 + n * 255
s2は初項65520の交差255の等差数列の和の総和として表現できる

等差数列の和は
初項 a[0] 交差 d 、a[i+1] = a[i] + d
a[0]からa[n]までの和S[n] = (n+1)*a[0] + d*(n+1)*n/2

その総和なのでs2 = S[0] + S[1] + ... + S[n]
= (1+2+..+(n+1))*a[0] + d*(2*1 + 3*2 + 4*3 + ... + (n+1)*n)/2
=(n+1)*(n+2)*a[0]/2 + d*(2*1 + 3*2 + 4*3 + ... + (n+1)*n)/2

なんかs2はすさまじい桁になりそう

797 (-_-)さん :2015/10/14(水) 06:51:13 ID:???
adler32の下位s1上位s2ともに2バイト
符号有int型(4バイト)で計算するとなると31ビットまで使える
32ビットが4Gだから31ビットはその半分の2G、20億?
6万ちょっとから20億までは随分と離れてる気がするけど
s2はすぐに到達してしまうようだ、(いくつかのAdler32の実装を見るとそんな感じ)
ライセンス回避のためかみんなちょろっとずつ実装の仕方や数値を変えているようではあった
Adler32の効率いいコードを実装しようとすると面倒そうだな

798 (-_-)さん :2015/10/14(水) 22:43:49 ID:???
yukicoderなんかで無駄時間使ってしまった

799 (-_-)さん :2015/10/14(水) 22:44:43 ID:???
yukicoderで★1の問題を解くのが適度に時間潰しに向いててついついハマってしまう

800 (-_-)さん :2015/10/14(水) 22:45:17 ID:???
★2以上だと難しくて解けないけど
★1くらいだと俺の脳みそだと適度に悩んで答えが出せるから楽しい

801 (-_-)さん :2015/10/14(水) 22:46:29 ID:???
さっさとdeflateの圧縮アルゴリズムを実現するロジックを考えねば

802 (-_-)さん :2015/10/14(水) 23:00:59 ID:???
まず
転送用バッファ(処理済みデータ)
保留バッファ(圧縮するかしないか、圧縮するなら固定ハフマンかカスタムハフマンかを考察中・解析中のデータ)
入力バッファ(まだ解析対象になってないデータ)

転送用バッファは処理済みデータの要求があったときにコピーするデータ
未処理データがまだ残っており転送用バッファが空になったとき保留バッファの解析・考察をして圧縮処理を施し転送用バッファにコピーする
保留バッファが一定サイズ未満になったとき入力バッファからデータをコピーしてくる

圧縮は最大258バイトの長さを縮められるから保留バッファはそれ以上のデータは保持しておいたほうがいい
非圧縮ブロックは64KiBまでの長さにできるから、保留バッファを64KiBにするって手もあるのかもしれんけど
非圧縮ブロックは長さ情報を頭に挿入しなきゃならんし
所謂アスキー文字の値127以下の文字ばかりなら固定ハフマンでも8bitで格納だから
バイト境界を意識しなきゃならん非圧縮ブロックを使うなら値128〜255が多いデータのときでほどよく分布してる場合か
偏りがあるなら距離長さの対象になるかもしれんし
そうでなくても同じデータが頻出するならカスタムハフマンで頻出値を8bit未満に符号化できるかもしれんし

803 (-_-)さん :2015/10/14(水) 23:11:29 ID:???
カスタムハフマンを使うときは符号表も圧縮して挿入しなきゃならんから
符号表分のバイト数を加えても超圧縮できるときじゃないとメリットないよなあ
たぶん数十バイトから百数十バイトくらい余分に使うのかな
頻出データが5bitくらいになったとしても相当な頻度での量がないと圧縮効果は薄そう

804 (-_-)さん :2015/10/14(水) 23:35:08 ID:???
2chのスレとかだとあっという間に数百キロバイト超えるのな
1レスごとの書き込み量の多いスレだと100レス行く前に32Kに達するし
1レスごとの書き込み量の少ないスレだと200〜300レスくらいで32Kに達する

32KiBで参照して圧縮するわけだけど
2chのスレみたいなテキストベースは32KiBも調べる必要なさそう
2KiBくらいでも十分かも

バイナリデータだと32KiBという短い距離だと早々同一のバイト列は出てこなさそう
ビットマップの単色が頻繁に続くってことならやはり32KiBも参照する必要はないし
TrueColorだと1マス4バイトくらいか?32KiBだと大雑把に8000マスくらいか?
横1024の画像データならたった8ラインにも満たない・・・
もっと遠いとこに似たような色の並びがあったとしても参照できないし
deflateが圧縮業界で雑魚な感じなのか

805 (-_-)さん :2015/10/14(水) 23:41:29 ID:???
うん?テキストベースを2KiBだとちょっと少ないか
アスキー文字なら1バイト文字だけどunicodeとかマルチバイト文字は
1000文字で2000バイト超えたりするわけだから
2chの1レスは2000文字くらい書けたりするわけだ、大半は全角文字だから2バイト文字で4000バイトは超える
荒らしとかの ああああああああああああああああああ みたいな連続文字は簡単に圧縮対象だけど
例えば名無しデフォルトが多くメ欄はsageが多く、日付は同じ日のレスもそれなりあることを考えると
10KiBくらいは参照したほうがよさげか

806 (-_-)さん :2015/10/14(水) 23:55:49 ID:???
RFCにある圧縮処理の実装の仕方の参考情報を元に
頭悪い俺がロジックを考える(ひとまず自力だけで考える)

まず32KiBの参照
RFCにあるのは3文字(バイト)分のキーで距離マップを作るといいとある

保留バッファ中のX番目のデータの評価を終えて次のバイトに行くときに
X-2、X-1、Xの3バイトをキーとして処理を終えたデータ分も含めた総バイト位置の配列を値としてマップしていく
この場合はX-2番目のデータの総バイト位置を値の配列の最後尾に加える
んで
次のX+1番目のデータの評価のときX+1、X+2、X+3をキーとしてマップから探し出して
一致するものがあれば距離の近い順(最後尾)のほうからデータ列の一致をチェックしていく
繰り返しデータが発生するのはその参照したデータを走査していく際にX+1番目の手前であるX番目に到達してしまったとき
そのときに参照距離の最初に戻って繰り返し一致していくか判定するわけだ

807 (-_-)さん :2015/10/15(木) 00:02:10 ID:???
距離マップにひたすらマッピングしてくと、とんでもないデータ量になりかねない(キーは最大2の24乗にもなるし)
つまり32KiB超えた分は適宜削除しなきゃならない
そこでキューを使う、キューにマップするキーと配列に追加する値のセットを挿入していき、
キューのサイズが32KiBを超えたら先頭のキューのものをマップから削除する

これは効率悪そう

問題は、評価対象は保留バッファであり、32KiBの参照は転送用バッファに入れられた処理済データの分も含むわけだ
しかも保留バッファを順に走査していくと32KiBの参照は保留バッファ内にも持つ必要が出てくる

つまり、処理済データ32KiB分を保持するマップとキュー、
そして保留バッファの情報を保持するマップとキューが必要となる

うん、効率悪そう

808 (-_-)さん :2015/10/15(木) 00:07:04 ID:???
カスタムハフマンによるリテラル値の符号化による圧縮を考える場合は
評価対象である保留バッファの0〜255の値のヒストグラムを作り、
頻出順に並び替えてハフマン符号表を生成し、ヒストグラムの個数と符号化後のビット数を掛けて和すると圧縮サイズになるって感じか
それとは別に符号表のサイズも考慮せにゃならんが

809 (-_-)さん :2015/10/15(木) 00:13:59 ID:???
ブロック区切りは保留バッファごとじゃなく
直近の処理済データでブロックを終わらせなくていいのなら継続と言う感じかな
ブロックのサイズ制限があるのは非圧縮ブロックのみだが
非圧縮ブロックは先頭にブロックサイズを入れなきゃならんから
直近の処理済データが非圧縮ブロックならそこでブロックは終わってなければならない

保留バッファにあるデータを評価した結果
最後の処理済の継続ブロック(すなわち固定ハフマンかカスタムハフマン)と同じブロックでよいのなら
そのまま符号化データを転送用データにぶっこんでいけばいいし
違うブロックのほうがいいのならブロック終端の256の符号をぶっこんでから
新しいブロックを作る必要があると

810 (-_-)さん :2015/10/15(木) 00:23:39 ID:???
ここで1つ問題がある
ブロックは最後のブロックにはそれを示すフラグを入れる必要があるわけだ
複数のブロックで構成することを事前に想定しているのならいいが
全体を1ブロックだけ(1つの処理方法だけ)で構成するとなると
ブロックの先頭にあるフラグビットに最終ブロックのフラグを立てなければならない

入力データの全てが保留バッファに完全に収まるというのなら、あるいは入力データの全サイズが一定サイズ以下なら
単一ブロックと決め付けて処理するのもアリかもしれんが

そうでない場合は問題だな
入力データの終端まで来て、あ、やっぱ単一ブロックでよかったわってなっても今更ブロックのフラグの変更は無理だし
苦肉策を要するならデータの無い終了フラグのためだけのブロックを作るというのも一つの手か
非圧縮ブロックならLEN=0にして3bit+4byteで35bitか
固定ハフマンブロックなら、3bit+7bitで10bitでこれが一番妥当だな
カスタムハフマンは・・・3bit+色々byteあってこれはダメなパティーン
固定ハフマンの10bitの終了ブロック作りゃいいだけだから、まぁいいのか

811 (-_-)さん :2015/10/16(金) 18:23:36 ID:???
脱線してVirtualBoxに入れてたUbuntu14ちゃんをアプデしたらぶっ壊れた件w
aptitude update でパッケージリスト更新して、かなり久しぶりだからかすごい量のアプデがあったけど
気にせず aptitude upgrade ぽーん!とやったらぶっ壊れたw
途中でinitramfsが失敗してるようで一時領域が不足してポポポーン!
cpやmkdirが失敗しまくリングなメッセージ多発してショッキングだったは
同じく久方ぶりにアプデしたdebian6ちゃんは平然とやってのけたのに!(ヤバそうなメッセージはチラホラあったような感じではあったけど!)
どちらも常に上書き保存設定にしてたから前の状態に復元できないという!(せっかく仮想環境使っている意味がないことをしている俺!!)
そもそもこんな低スペックPCでVirtualBoxを動かすってのが無理があるんだ!

812 (-_-)さん :2015/10/16(金) 18:28:52 ID:???
うーん、どうしようか
大昔にDLったUbuntu14ちゃんのインストールディスクイメージちゃんでUbuntuちゃんを再インストールするか
でもそれだと結局大量のアプデ地獄が
だからといってヘボ回線だから更新されてるかもしれないインストールディスクイメージのDLはしんどいしな
え?失敗を調査して手動で修復?無理無理、なんか6万件近いアプデが入ったみたいだしそんなん無理や!

813 (-_-)さん :2015/10/16(金) 18:31:32 ID:???
そもそも何でubuntuちゃんをVirtualBoxに入れたのか記憶にすらない・・・
あ、思い出したわ、Mono VisualBasicを試すためだったな

814 (-_-)さん :2015/10/17(土) 03:08:28 ID:???
今日も今日とて脱線してCygwinの更新とyukicoderやってたは
ダメぽ

815 (-_-)さん :2015/10/17(土) 03:09:30 ID:???
昨日のyukicoderのコンテストの★2の問題が解けなかったわ…
やはり★1の問題を解くのがいいわ

816 (-_-)さん :2015/10/18(日) 06:23:04 ID:???
今日もyukicoderに没頭してしまった
とうとう通常問題の★1は全部解き終わってしまった
★2の問題に取り組むか、gzip処理を作る続きをするか(続きも何もガワしか作ってないがな)

817 (-_-)さん :2015/10/19(月) 04:38:45 ID:???
方針
ひとまず固定ハフマンを使って圧縮して一時バッファに突っ込む
ある一定サイズの入力データを読み終えた時点で
そこまでのデータを非圧縮ブロックとして扱ったときの8割(?)程度以下に圧縮できていれば一時バッファを確定出力データとして送る
そうで無いときはその部分のヒストグラムを調べ使用されてない値が一定数(5割くらい?)以上あればカスタムハフマンの符号表を作り
カスタムハフマンで符号表含めて8割程度以下になるならカスタムハフマン採用
そうで無い場合は3つのケースで最もデータサイズが小さくなるものを採用

818 (-_-)さん :2015/10/19(月) 04:46:17 ID:???
うーむ、一時的な圧縮データである一時バッファを作らず
変換パターン(アルファベット値と距離長さの値)を保存しておけば
カスタムハフマンの符号表での圧縮サイズ測りやすいか?
カスタムハフマンを使う場合は2通りの圧縮手法が考えられる
単純にビット数の小さい連続リテラル値としての圧縮と
固定ハフマンと距離長さをメインにする同じ変換パターンでの圧縮と
後者の場合はデータ値(0-255)のヒストグラムじゃなく変換アルファベット値(0-287)のヒストグラムにする必要があるな
前者の場合は0-255のヒストグラムが必要になるな

819 (-_-)さん :2015/10/19(月) 04:55:54 ID:???
カスタムハフマンはもう1つパターンがあったか
確定データの最後がカスタムハフマンブロックならそのカスタムハフマンの符号表を使えるというパターン

前からのカスタムハフマンの符号表を使うか、今回解析したデータ列から生成できるカスタムハフマン符号表を使うか

前の符号表使う問題点としてはヒストグラムが異なるデータ群のものになるってことか
ハフマン符号表の生成法の復習をまだしてないからよく分からんが
前のデータ群になかったデータ値・アルファベット値が出てきたらちょっとややこしそう
出現する値の種類は変わらなくても分布が変われば圧縮効率が極端に落ちるだろうし
確定済みのデータ群のカスタムハフマン符号表を使うメリットが出てくるケースはすごく限定されそう

820 (-_-)さん :2015/10/19(月) 04:58:34 ID:???
前のカスタムハフマンを使うメリットは符号表データを新たに埋め込む必要がないってところくらいか
あくまで前のデータ群とヒストグラムの類似性が高いときだけの限定的用途にしかならんか

821 (-_-)さん :2015/10/19(月) 04:59:33 ID:???
ひとまずハフマン符号表の生成ロジックの復習をしないと
カスタムハフマンを適用する基準すら設けられない

822 (-_-)さん :2015/10/19(月) 05:07:52 ID:???
まぁでも一応圧縮ロジックの概要は掴めた気がする

対象データの一定サイズ分を距離長さ圧縮のアルファベット値に変換したパターンを生成
(パターン生成時についでに固定ハフマンでの圧縮サイズ(ビット数)も計算していく)
非圧縮時、および前回確定データがカスタムハフマンならそれ使用時のサイズも算出
この時点で非圧縮の8割以下が生成できるならそれでいいんじゃね?的な判定
ダメぽそうなら
この解析中データ限定のカスタムハフマン符号表を生成を考える
ヒストグラムの分布的に具合が悪そうならカスタムハフマン符号表の生成はなしに現時点での最小サイズになるものを採用
分布の偏りに見込みを感じたらカスタムハフマン符号表を生成して圧縮後サイズを算出
ここまでの中で一番最小のサイズに収まるものを採用

823 (-_-)さん :2015/10/19(月) 05:12:52 ID:???
非圧縮ブロックのサイズ算出時に気をつけることは
前回確定データがハフマン符号による圧縮してる場合はブロック終了値を先頭に挿入する必要がある
そして非圧縮ブロックの開始ビットを入れ、バイト境界までのビット飛ばしに続きデータの長さ2バイトと確認用2バイトが加わると
バイト境界まで飛ばすのは多くて7ビットくらいだからブロック開始フラグに1バイト使ったとみなしてもいいかもしれない
前回のハフマンのブロック終了値が何ビットかもちょっと関係するか固定ハフマンだと大したビットサイズじゃないが
カスタムハフマンを使ってる場合は何ビットになるか検討もつかないな長大になるかもしれんし

824 (-_-)さん :2015/10/19(月) 05:16:04 ID:???
非圧縮ブロックが最小になるケースは
データ値がほぼ全てが存在していて、出現頻度もほとんど変わりなく、かつ長さ距離での参照可能な類似データがほとんど存在しない
そんなデータ

圧縮済みデータとかが入力データとして来たらそういう分布になってるだろうな

825 (-_-)さん :2015/10/19(月) 05:19:56 ID:???
圧縮済みデータをわざわざ圧縮処理かけるなんて無駄すぎるから普通しないだろうけど
圧縮済みデータを何らかのフィルタリング加工したら追加圧縮可能な分布にはなりえるかもしれんな
deflateは32kb単位の参照窓しか持たないから32kbを超えるような形で類似データが発生するようなデータ郡だと
データを並び替えて類似データを32kb以内に連続させるというフィルタリングをすれば更なる圧縮がかけられそうだな

826 (-_-)さん :2015/10/19(月) 05:42:45 ID:???
うっうー
RFCのDEFLATEの文書にあるのはカスタムハフマンの符号長リストから符号表を復元する方法だった件
ヒストグラムから符号表作るのはハフマンさんの著書を読めとか書いてあるうう

827 (-_-)さん :2015/10/19(月) 05:43:41 ID:???
いちおーう
Wikipediaのハフマン符号のページにもアルゴリズムは書いてあるけども!

828 (-_-)さん :2015/10/19(月) 06:09:14 ID:???
符号表を圧縮する符号表は
アルファベット値が0〜18の符号表で
アルファベット値の符号長は最大7bit、
この符号表(0-18)でカスタムハフマンの符号表(0-257/285)の符号長リストを圧縮している
最初に来るのがリテラル値(0-286)の符号長リスト、これを元にリテラル符号表を復元
続くのが距離(の符号長(距離の拡張ビット数に相当するものと思われる)
その後に続くのが長さの符号長(長さの拡張ビット数に相当するものと思われる)

う・・・ん?距離符号と長さ符号の符号長の解釈これで正しいのか?
昔実装したInflate処理でそこをどのようにしたか全く記憶に残ってないな・・・まぁコードを見直せばいいだけだが
拡張ビット数ってことじゃないと距離と長さを表せないわけだし
うーん、確信が持てない

自前実装したInflateで一応カスタムハフマンで符号化されたデータの復号には成功したが
そのカスタムハフマンの符号化で距離・長さが使われてなかったら分からんな

うーん、分からんくなってきた
もしかすると昔実装したInflateのカスタムハフマンの距離と長さの復号は間違ってる可能性があるかもしれん

面倒くせえな、面倒くせえ

829 (-_-)さん :2015/10/19(月) 06:15:26 ID:???
ハフマン符号化はwikipediaので何となく分かった
出現頻度で頻度0を除いた配列作ってソートして
小さい順から2つ取り出して木にして和した値をさっきの配列に挿入してソート
同様に小さい順から2つ取り出して木にして和した値を配列に挿入してソート

まぁソートはコスト高いから配列全要素1走査O(n)で最小値と2番目を取り出すのは可能だからそれで取り出せばいいかもだけど

830 (-_-)さん :2015/10/19(月) 06:23:42 ID:???
拡張ビット数ではないぽげだな
リテラル・長さのアルファベットの符号長リストが続いて
距離符号の符号長リストが続く

固定ハフマンだと距離符号の符号長は全部5bit固定って話なのか

831 (-_-)さん :2015/10/19(月) 06:25:14 ID:???
おーけーおーけー
昔書いたInflate実装のコードは読みにくさ抜群だったけど
それのおかげでカスタムハフマンのことが分かった

832 (-_-)さん :2015/10/19(月) 06:27:48 ID:???
気になるのはRFCのDEFLATEでハフマン符号表を作るのは複雑だからハフマンの著書を読めとあるが
Wikipediaで説明されてるロジックは別に複雑でもなんでもないんだよなあ
Wikipediaのはあまり圧縮効率が良くない生成法なのかな?

833 (-_-)さん :2015/10/19(月) 06:30:34 ID:???
あー英語版のWikipediaのほうみたらやっぱりそうだった
日本語版のWikipediaは圧縮効率は二の次なロジックがシンプルな生成法のほうだわ

834 (-_-)さん :2015/10/19(月) 06:43:20 ID:???
うーむ、どうも違うな
英語版wikipediaで紹介されてる一方のほうは日本語版wikipediaと同じだけど
もう一方はソートされてると2つのキューを使ってO(n)で終わる処理が作れるみたいな感じぽい?

まず第1のキューに全葉をつっこんで
第1のキューか第2のキューかあるいは両方から小さい値の節を2つ取り出す、和して第2のキューに突っ込む、これを繰り返す
という感じか

835 (-_-)さん :2015/10/19(月) 06:46:39 ID:???
あー!これらはベーシックテクニックの項目に紹介してあるシンプルな方法ってだけのようだ!
英語版を下にスクロールすると他の手法について簡単に紹介が書いてあったわ
紹介だけでロジック書いてるわけでは無さそうだから
場合によっては特許アルゴリズムの可能性もあるってことだな

836 (-_-)さん :2015/10/19(月) 06:48:45 ID:???
いや、待てよ、アルゴリズム書いてあるぽいか・・・?
ベーシックテクニックの項と違って分かりやすく整形された文章になってないだけで詳しく書いてある感じか・・・?
ちょっと読むのはしんどそうだな
なんで日本語wikipediaではそれ書いてないんだ!

837 (-_-)さん :2015/10/19(月) 06:50:38 ID:???
読むのしんどそうだが何よりも特許の有無も判別せにゃならんのか
アルゴリズム開発者の名前も書いてあるのあるけど特許調べるの面倒そうだなあ

838 (-_-)さん :2015/10/19(月) 18:53:24 ID:???
さて、wikipediaに書いてあるいくつかのアルゴリズムについてさっそく読むぞ!

https://en.wikipedia.org/wiki/Huffman_coding

839 (-_-)さん :2015/10/19(月) 19:05:27 ID:???
n-ary Huffman codingはハフマンさん自身が提唱したアルゴリズムらしいが

840 (-_-)さん :2015/10/19(月) 19:08:30 ID:???
情報圧縮と特許  
http://www.entis.jp/eridev/doc/cnp_ace/

特許とか面倒くせえなあ・・・

841 (-_-)さん :2015/10/19(月) 19:14:53 ID:???
日本語版wikipediaには特許の問題はないとか書いてあるが
>>840を読む限りではハフマン符号のフォーマットに関して特許が無いとあるだけで
ハフマン符号を生成する方法そのものは特許に関わる可能性があるとかどうとか
英語版wikipediaには特許については一切触れてないし
面倒くせえ

842 (-_-)さん :2015/10/19(月) 19:26:25 ID:???
特許庁のHPで「ハフマン Huffman」で検索したら1000件以上ヒットした・・・うげえ

843 (-_-)さん :2015/10/19(月) 19:28:44 ID:???
もしかすると俺が実装したDeflateの圧縮解除処理も何らかの特許に触れる可能性が微レ存?
競技プログラミングなんか全然な頭の悪い俺の非効率極まりないだろうコードでも引っかかったりするのだろうか

844 (-_-)さん :2015/10/19(月) 19:33:55 ID:???
特許庁のHPクソうぜええ
別窓で個々の特許見れねえ

845 (-_-)さん :2015/10/19(月) 19:36:17 ID:???
特許のフォーマット糞すぎい!
全部言葉で説明するとか分かりにくすぎい!
擬似コードで示せるように法改正しろよ糞が

846 (-_-)さん :2015/10/19(月) 23:17:33 ID:???
ダミだ・・・日本語サイトからじゃwikipediaにあるハフマン符号化のロジックが特許フリーなのかどうかの根拠が出てこない
特許庁の膨大な特許データ漁る以外方法はなさげ

847 (-_-)さん :2015/10/19(月) 23:19:44 ID:???
ハフマン符号化は特許大丈夫とか言ってるサイトはどこも根拠なく言ってやがる、どいつもこいつも又聞きレベルで大丈夫と言ってるだけ

848 (-_-)さん :2015/10/19(月) 23:21:57 ID:???
まぁ正確にハフマン符号というフォーマットには特許が無いとだけ言明してるサイトもあるにはあるが
符号化テーブルの生成法については実装がうんぬんとぼやかし気味

849 (-_-)さん :2015/10/19(月) 23:24:13 ID:???
大事なのは実装だろうが!特許に引っかからない実装方法こそ、特許フリーな実装方法にこそ意味があるってのに

850 (-_-)さん :2015/10/19(月) 23:25:45 ID:???
いや、まぁ俺も無駄に拘ってるのは意味も無いといえば意味ないがな

851 (-_-)さん :2015/10/19(月) 23:30:59 ID:???
特許になっているってことは実装方法が公開されてるわけだから
権利者に無断でその方法を使って商売しちゃならんぞってことなんだろ、特許ってたぶん
特許になって公開されてるアルゴリズムやらロジックはそれを紹介するだけでは罪にはならない感じなのか知らんが
wikipediaや個人サイトでその手法を紹介するのは可能なわけだ、その気になれば誰だって特許庁のHPから見れるわけだしな

問題は紹介されてるからってそれを実装してみたら特許に抵触したってことがありうるって話だ

852 (-_-)さん :2015/10/19(月) 23:31:39 ID:???
そんなこと個人レベルで気にするやつなんて普通いないし、俺が頭おかしいだけなのは分かる

853 (-_-)さん :2015/10/19(月) 23:36:49 ID:???
ただ単にちょっと気なっているだけなのではあるが
そこんとこに素人にも分かりやすく説明してるサイトを見つけられない俺が無能すぎるわけだ

854 (-_-)さん :2015/10/20(火) 00:01:21 ID:???
面倒になってきた
特許について調べんのやめやめ

855 (-_-)さん :2015/10/20(火) 00:09:57 ID:???
https://en.wikipedia.org/wiki/Huffman_coding#n-ary_Huffman_coding

n-aryハフマンアルゴリズムは{0,1,..,n-1}のアルファベットを
メッセージをエンコードするため、そしてn-aryツリーを組み立てるために使う。
このアプローチはハフマン氏の論文の中で彼によって考えられた。

856 (-_-)さん :2015/10/20(火) 00:28:32 ID:???
同じアルゴリズムが適用される
as for n=2のときのバイナリコード
そのn以上の可能性のシンボルがまとめてとられる場合を除いて
ちょうど2以上の可能性のかわりに

俺の英語力!??

857 (-_-)さん :2015/10/20(火) 00:29:40 ID:???
たぶんベーシックテクニックで書かれてるロジックに対して言及されてるんだろうけど

858 (-_-)さん :2015/10/20(火) 00:32:23 ID:???
たぶん、probableは「可能性」じゃなく「確率」「確率分布」あたりを意味してるのかな

859 (-_-)さん :2015/10/20(火) 00:38:27 ID:???
おそらく
ベーシックテクニックの2分木のような感じでN分木が処理される
的なことを言っているセンテンス
2分木が小さいほうから2個取り除いて処理するのを
N分木では小さいほうからN個取り除いて処理する
ということをたぶん言っている

860 (-_-)さん :2015/10/20(火) 00:46:08 ID:???
注意
2より大きいnから
全てでないソース単語のセット
ハフマン符号からn-aryツリーを適切に形成できる

861 (-_-)さん :2015/10/20(火) 00:54:18 ID:???
nが2より大きい場合、ソース単語の一部からなる集合は
ハフマン符号のためのn-aryツリーを適切に形成できる
ということです

862 (-_-)さん :2015/10/20(火) 00:54:55 ID:???
しっくりこない

863 (-_-)さん :2015/10/20(火) 00:56:40 ID:???
この場合、追加の0確率の場所ホルダーが必ず追加される

864 (-_-)さん :2015/10/20(火) 00:57:36 ID:???
場所ホルダーじゃなくプレースホルダー?

865 (-_-)さん :2015/10/20(火) 01:00:08 ID:???
機械翻訳だと
追加しなければなりません
だな、受動形で本来の主語が抜けてるから主語はyouってことでyou must addが must be added になったって感じか

866 (-_-)さん :2015/10/20(火) 01:02:43 ID:???
さらなるプレースホルダを追加しなければならない
どんなプレースホルダかというと、0確率、すなわちヒストグラム取って個数0になった文字(値)のためのってことあたりか

867 (-_-)さん :2015/10/20(火) 01:10:02 ID:???
その理由は
ツリーは1短縮のために1つのnを形成しなければならない
バイナリコードの場合はこれは1短縮するための1つの2である
そして
どんなサイズのセットでもそんな短縮を形成できる

868 (-_-)さん :2015/10/20(火) 01:14:27 ID:???
もし、ソース単語の数がn-1で割った余り1と一致する場合、
ソース単語のセットは適切なハフマンツリーを形成するだろう

869 (-_-)さん :2015/10/20(火) 01:20:02 ID:???
英語圏の人が読めば分かる英文であっても
英語圏じゃない人間が読むと解釈に困る英文は存在する
どんな外国語も教科書どおりな真面目でお堅い文法どおりで使われているわけでない
俺の書く日本語だって、日本語を少し齧ったくらいの外国人では読むことは辛いだろう

日本の受験英語の英文は何と文法どおりで読み易い英文なんだ!クソ教育万歳だぜ

870 (-_-)さん :2015/10/20(火) 01:20:36 ID:???
生きた英語を教えろや
英語のサイトが全然読めんだろーが!!

871 (-_-)さん :2015/10/20(火) 01:22:29 ID:???
n-aryの説明の部分を書いた奴が感覚的に書いてるせいで非英語圏の人間が分からないんじゃあああああああ

872 (-_-)さん :2015/10/20(火) 01:24:29 ID:???
まぁもともと言語別にwikipediaのページは存在するし、他言語を使う人間が読むことを想定してないってのはあるだろうな
だいたい一般有志が編集しまくるwikipedia、よみやすい文章を書くエキスパートでもスペシャリストでもないしな
俺が期待しすぎたんや

873 (-_-)さん :2015/10/20(火) 01:26:30 ID:???
俺に競技プログラマみたいなセンスがあれば、かけらレベルでもあれば
この微妙な説明文からでもアルゴリズムやロジックを予想できたかもしれんが
センス皆無だからな
無理ゲー

874 (-_-)さん :2015/10/20(火) 01:28:44 ID:???
もう面倒だしベーシックテクニックにあるキューを2つ使う方法で実装するわ
俺の勘違いかもしれんが、雰囲気からしてn-aryってのはdeflateには使えなさそうな気がするし

875 (-_-)さん :2015/10/20(火) 01:37:26 ID:???
ということで
ハフマン符号の形成からして
>>817で考えてた未使用5割以上とかいう考え方はあまり効果的な発想じゃなさそう
出現頻度の偏りが極端であればカスタムハフマンの効果があるって感じかな
0-255のほぼ全てが分布していても特定の値だけ極端に頻出してたらそれを1bitあたりに符号化すれば超縮む、みたいな?

876 (-_-)さん :2015/10/20(火) 01:39:38 ID:???
逆に0-255のほとんどに分布してて偏りがあまり無ければカスタムハフマンはほぼ意味なし
偏り無くても未使用が5割以上あれば8bit表現から7bit表現に圧縮できるかもしれないし検討する価値は出てくるかもだが

877 (-_-)さん :2015/10/20(火) 05:29:26 ID:???
ひとまず性能度外視でdeflate実装してみっか

878 (-_-)さん :2015/10/20(火) 05:55:20 ID:???
ひとまずもう寝る時間で時間足りないから
今夜やるわ

879 (-_-)さん :2015/10/25(日) 05:52:17 ID:???
うう、脱線しまくりんぐで全然進んでないよぉ

880 (-_-)さん :2015/10/25(日) 05:53:05 ID:???
昨日はAtCoderのABCに参加しちゃったし
今日はCodeforcesに参加しようかとか脳裏によぎっちゃったり

881 (-_-)さん :2015/10/25(日) 05:53:41 ID:???
最近は録画するアニメも増えたからそれで時間を費やすようになったし
もうダメダメだよぉ〜

882 (-_-)さん :2015/11/03(火) 00:54:28 ID:???
今日まで1ミリも進んでない!?

883 (-_-)さん :2015/11/03(火) 00:55:06 ID:???
2週間近くもサボりサボってるは!

884 (-_-)さん :2015/11/04(水) 17:36:04 ID:???
brainf*ck
メモリ上のどこに何のための値をセットするか決めることが大事
つまり通常はコンパイラさんがやってくれる変数をメモリのどこに配置するかを自分で配置するイメージ

http://ideone.com/cDQlG9

885 (-_-)さん :2015/11/04(水) 17:42:11 ID:???
3*4の計算して表示
1つ目のメモリに3*4の答えを入れる
3を4回足す、を行えばよい
今回は2つ目のメモリにカウンタを入れる

>++++[<+++>-]

これで1つ目のメモリに12が入ったはず

886 (-_-)さん :2015/11/04(水) 17:43:51 ID:???
brainf*ckの文字出力は文字コードなので
12を表示するのは大変そう
12という値から'1'の文字コードと'2'の文字コードを順に生成して出力せにゃならん

887 (-_-)さん :2015/11/04(水) 17:47:38 ID:???
12から'1'を生成するには
12を10で割って商を求める必要がある

う・・・む・・・

888 (-_-)さん :2015/11/04(水) 17:51:54 ID:???
brainf*ckによる値のコピー
1つ目のメモリの値を2つ目のメモリにコピーする
コピーの際に一時的に3つ目のメモリを使う

[>+>+<<-]>>[<<+>>-]

最初の [>+>+<<-] は1つ目のメモリの値の数だけ2つ目と3つ目の値を増加させる、1つ目のメモリはカウンタの役割になる
次の >>[<<+>>-] は3つ目のメモリの値をカウンタにして1つ目のメモリの値を復元してる

889 (-_-)さん :2015/11/04(水) 18:03:28 ID:???
brainf*ck
2つのメモリの値を足し算

1つ目のメモリの値と2つ目のメモリの値の和を3つ目のメモリに入れる
4つ目のメモリを一時的に使う(1つ目と2つ目のメモリ復元のため)

[>>+>+<<<-]>>>[<<<+>>>-] これは一つ目のメモリを3つ目4つ目にコピーし1つ目を復元するまで

<<[>+>+<<-]>>[<<+>>-] これは2つ目のメモリに移動して、2つ目のメモリを3つ目に足しこむのと4つ目にコピーして、2つ目のメモリを復元するまで

合わせるとこうなる
[>>+>+<<<-]>>>[<<<+>>>-]<<[>+>+<<-]>>[<<+>>-]

890 (-_-)さん :2015/11/04(水) 18:05:12 ID:???
brainf*ck
2つのメモリの値を足し算

1つ目のメモリの値と2つ目のメモリの値の和を1つ目のメモリに入れる
足し合わせる2つの値を保持する必要ない場合はもっと簡潔に書ける

>[<+>-]

これだけ、2つ目のメモリをカウンタとし1つ目のメモリを増やせばいいだけ

891 (-_-)さん :2015/11/04(水) 18:07:44 ID:???
brainf*ckは常にポインタの位置=メモリの位置=どの変数を見てるかを意識すればよい

892 (-_-)さん :2015/11/04(水) 18:24:38 ID:???
引き算は・・・どうなんだろうな
仕様をちゃんと調べてないから0から引くとアンダーフローエラーでも起こすのか?それとも255になるだけか?
C言語の整数型だと後者のように循環するから、たぶんbrainf*ckもそんな感じかなあ

引き算の法則をちゃんと把握しないと条件分岐ができないからなあ

条件分岐はゼロか否かだけだから難しいなあ

893 (-_-)さん :2015/11/04(水) 18:27:16 ID:???
brainf*ck
メモリの値をリセット

1つ目のメモリの値を0にする

[-]

簡単

894 (-_-)さん :2015/11/04(水) 18:27:56 ID:???
まぁ値が循環するのなら [+] でも0にはなるか

895 (-_-)さん :2015/11/04(水) 19:44:52 ID:???
brainf*ck
値が0かどうか

1つ目の値が0かどうかを調べる
例のごとく2つ目に値をコピー
3つ目にフラグとして1回インクリメント
2つ目の値がゼロでないなら3つ目のデクリメント
3つ目の値がリセットされてないなら1つ目の値は0ではない
面倒な

[>+>+<<-]>>[<<+>>-]   2つ目にコピー (この時点で3つ目は0、ポインタは3つ目)
+                3つ目をインクリメントでフラグ
<[>-<[-]]           2つ目が0でないなら3つ目をデクリメントで2つ目リセットしてループ抜ける(ポインタは2つ目に)
>[- 〜 ]            3つ目が0でない=1つ目が0 なので 〜 の処理をする

なんという面倒な処理

896 (-_-)さん :2015/11/04(水) 19:46:03 ID:???
〜の中は値を変化させたいメモリに移動して値変化させてまた3つ目にポインタを戻すしょりになる

897 (-_-)さん :2015/11/04(水) 19:49:25 ID:???
brainf*ck
値が非0かどうか

まぁこれは簡単、フラグいらない
1つ目の値が非0か調べる
1つ目の値を2つ目にコピーして2つ目の値を判定すればいいだけ

[>+>+<<-]>>[<<+>>-]  1つ目の値を2つ目にコピー
<[[-] 〜 ]        2つ目に移動して 2つ目の値がある=1つ目は非0 で 〜 の処理を行う

当然ながら 〜 は他のメモリにポインタ移動して値いじって2つ目にポインタを戻す処理

898 (-_-)さん :2015/11/04(水) 19:55:33 ID:???
フラグを駆使すれば大小比較も可能か?

899 (-_-)さん :2015/11/04(水) 20:04:24 ID:???
brainf*ck
2つの値を比較

うーん、複雑すぎてちょっと思考無理

900 (-_-)さん :2015/11/24(火) 05:06:03 ID:???
うーん、しばらく放置してたせいでDeflateのことまた忘れかかってる・・・うおおおおおおおおおおおお

901 (-_-)さん :2015/11/24(火) 05:06:43 ID:???
しばらくっていうか1ヶ月以上放置じゃねえかwwwwww

902 (-_-)さん :2015/12/15(火) 03:16:55 ID:???
メモ
http://www.gnu.org/licenses/license-list.ja.html

903 (-_-)さん :2016/01/05(火) 05:40:47 ID:???
次スレ立ててきた

ヒッキーのプログラミングするスレ 7
http://hanabi.2ch.net/test/read.cgi/hikky/1451939980/

904 わたあ ◆dRaGonNY3U :2016/01/07(木) 00:13:25 ID:???
てすつ

905 ◆dRaGonNY3U :2016/01/07(木) 00:22:31 ID:???
ハンドルネームがカッコよくなりました
今年はいよいよヤバくなり脱ヒキを親・兄弟から強要されるかもしれましぇん
今月一杯はプログラミングに集中したほうがいいカモノハシ

906 ◆dRaGonNY3U :2016/01/07(木) 00:27:28 ID:???
最後にこのコテつけたの3年前か
随分経つにゃあ

907 ◆dRaGonNY3U :2016/01/07(木) 00:46:44 ID:???
ひとまずネットサーフィンしてからプログラミング始めるとしますかにょ

908 ◆dRaGonNY3U :2016/01/10(日) 04:01:57 ID:???
今日学んだこと
https://developer.mozilla.org/ja/docs/Mobile/Viewport_meta_tag

スマホ向けサイト作るときは
metaタグのviewportでwidth=device-widthとinitial-scale=1を設定しとけばよさそう

909 ◆dRaGonNY3U :2016/01/31(日) 08:44:24 ID:???
Deflateの実装少し進めた
疲れたは

910 ◆dRaGonNY3U :2016/02/17(水) 23:41:59 ID:???
その少し進めた実装が間違ってたのすぐ気付いたのに修正する気力が起きずもう半月以上

911 ◆dRaGonNY3U :2016/03/02(水) 00:52:50 ID:???
https://en.wikipedia.org/wiki/Lists_of_programming_languages

メモ

912 ◆dRaGonNY3U :2016/03/02(水) 00:54:59 ID:???
こっちのほうが見やすいかも
https://en.wikipedia.org/wiki/Category:Lists_of_programming_languages

913 ◆dRaGonNY3U :2016/03/12(土) 22:52:34 ID:???
CODEVS終わったら絶対Deflateやっぞ!

914 ◆dRaGonNY3U :2016/04/26(火) 17:44:32 ID:???
CODEVS終わったのにDeflateに取り掛かってない件

915 ◆dRaGonNY3U :2016/05/06(金) 23:47:03 ID:???
我も30代ナリ

916 ◆dRaGonNY3U :2016/05/13(金) 03:47:46 ID:???
今日のTCOで最下位取ったは!オレすげえ!

917 ◆dRaGonNY3U :2016/05/14(土) 06:58:36 ID:???
paiza.ioってhtml表示とjson表示とを組み合わせればj自分のサイト持ってなくても簡易WEBゲームとか作れそうな気がする

json表示の
https://paiza.io/projects/wfiPqFb6BhQ6Dimn8HV7-w
https://out.paiza.io/projects/wfiPqFb6BhQ6Dimn8HV7-w/output.json

html表示の
https://paiza.io/projects/gpg8TWh9bgtvSADUop-Uaw
https://out.paiza.io/projects/gpg8TWh9bgtvSADUop-Uaw/output.html

918 ◆dRaGonNY3U :2016/05/14(土) 07:04:33 ID:???
paiza.ioは会員登録してればいくらでも書き換え可能だし
json書き換えて追加ステージとか追加アイテムとか色々と出来そう
簡易WEBゲームに向いてる感じがする!
まぁサーバーサイドの処理が出来るようなゲームは無理だが
超簡素なブラゲー

919 ◆dRaGonNY3U :2016/08/13(土) 04:11:45 ID:???
まさかガラケーの気づいた問題点に

920 ◆dRaGonNY3U :2016/08/13(土) 04:12:29 ID:???
auのガラケーで毎月の無料通信料1000円でいつもガラケーで2chとか見るけど

921 ◆dRaGonNY3U :2016/08/13(土) 04:14:27 ID:???
パケット通信料、1パケット0.216円
1パケット128バイト
1000円は578キロバイトくらいしか通信できない
毎月578キロバイトとか無理

922 ◆dRaGonNY3U :2016/08/13(土) 04:15:35 ID:???
オープンアプリ自体の通信制限が1日あたり3メガバイトだから月で578キロバイトとか余裕ではあるけど

30日間で合計578キロバイトしか使えないとか通信アプリ系は作れない!!

923 ◆dRaGonNY3U :2016/08/13(土) 04:17:06 ID:???
オープンアプリの保存領域(レコードストア)が最大32キロバイトまでというクソ小さい

2ch専ブラとか無料通話分では微妙!

924 ◆dRaGonNY3U :2016/08/13(土) 04:19:03 ID:???
実際はauからのメールマガジンも届くしアプリだけで1000円分使うわけじゃないし
考え物だな

925 ◆dRaGonNY3U :2016/08/13(土) 04:21:24 ID:???
旧2ch専ブラだとgzip圧縮でスレデータ取り込めたけど
新体制2chでdat形式は許可取らないと取得できないし
ケータイ用のc.2ch.netならサイズ小さいけど、いつまで提供されるか定かじゃないし

926 ◆dRaGonNY3U :2016/08/13(土) 04:25:32 ID:???
キョープロとかできるアプリ作ってみようかと思ってたけど
俺のガラケーでの通信制限からするとムリスンナ系

927 ◆dRaGonNY3U :2016/08/13(土) 04:28:12 ID:???
gzip解凍処理は完成してるからweb取得がgzipは良いのだが
gzip圧縮処理は未完成だが32キロバイトしかない保存領域にgzipで圧縮してもさほど効果なさそう
1スレあたり直近10レス保存でも結構バイト数嵩みそう

928 ◆dRaGonNY3U :2016/08/13(土) 04:30:09 ID:???
1文字が2バイトだとすると32キロバイトは3万2千バイト、1万6千文字の保存が可能か…結構ゆとりある・・・?

929 ◆dRaGonNY3U :2016/08/13(土) 04:32:53 ID:???
ひとまず作ってみてエミュレータ上で実際のサイズとか確認してみればいいとは思ってたけど
やる気おきない

930 ◆dRaGonNY3U :2016/08/17(水) 03:10:50 ID:???
競プロは俺をダメにする
ただひたすら競プロの問題にだけ向き合っていればいいという状況は現実逃避にちょうど良すぎてダメ
何も出来なくなる
競プロは本当ダメ

931 ◆dRaGonNY3U :2016/08/30(火) 02:53:57 ID:???
http://be.2ch.net/user/894238129
久々にログインしたら1000ポイントあったBEポイント全部消えてた件

932 ◆dRaGonNY3U :2016/08/30(火) 03:01:04 ID:???
酷いぽげ

933 ◆dRaGonNY3U :2016/09/02(金) 01:55:50 ID:???
何一つ完成させられないまま終わろうとしている・・・

934 ◆dRaGonNY3U :2016/09/02(金) 01:56:25 ID:???
競プロで暇つぶすくらいが俺のプログラミングの限界なのかもしれない・・・

935 ◆dRaGonNY3U :2016/09/15(木) 09:43:52 ID:???
>>117をコンソールライクにしてみた

https://out.paiza.io/projects/FowHIF-5FHPkcxQikPXV7Q/output.html

936 ◆dRaGonNY3U :2016/09/15(木) 10:06:20 ID:???
>>935のスクショ
https://pbs.twimg.com/media/CsW0iDRVYAAiDMf.jpg

937 ◆dRaGonNY3U :2016/09/15(木) 18:18:42 ID:???
replaceEntitiesにバグあったので修正した

938 ◆dRaGonNY3U :2016/09/16(金) 02:43:52 ID:???
https://out.paiza.io/projects/gzJ-3EwY81hdQQI4EvOmlg/output.html
ローカルストレージを簡単にお試してみた

939 ◆dRaGonNY3U :2016/09/16(金) 03:51:04 ID:???
>>938
同一ドメインでデータ共有とかやべえな
https://out.paiza.io/projects/jJ7E0lDy--0UBFdeseF4Xw/output.html

940 ◆dRaGonNY3U :2016/09/16(金) 03:55:05 ID:???
ドメインつうか鯖名?

941 ◆dRaGonNY3U :2016/09/17(土) 04:54:49 ID:???
スマホのPCとつなぐ安物のUSBケーブルの中が断線しかかってるぽさげ
オワタ

942 ◆dRaGonNY3U :2016/09/25(日) 04:43:30 ID:???
探索木だと左に小さいの右に大きいのという感じで割り当てるけど
ヒープ木ってやつは上に小さいの下に大きいのという割り当てな感じなんかな
あいまいな記憶
ググるべし

943 ◆dRaGonNY3U :2016/09/25(日) 05:27:23 ID:???
https://paiza.io/projects/tlu_W__wcfCXjY-k9kWQew

うろ覚えのまま適当に実装してみたヒープソート

944 ◆dRaGonNY3U :2016/09/25(日) 05:49:09 ID:???
なるへそ
ヒープ実装簡単だ

945 ◆dRaGonNY3U :2016/09/25(日) 05:51:32 ID:???
再帰で実装したけど末尾再帰だし
ループに直すのもそう難しくなさそう

946 ◆dRaGonNY3U :2016/09/25(日) 05:54:33 ID:???
ループに直すの簡単だった
再帰呼び出しのとこを引数に再代入するだけだった
ループ文分のネストが深くなったのがアレだが

947 ◆dRaGonNY3U :2016/09/25(日) 06:06:18 ID:???
wikipediaったらフィボナッチヒープという難しそうなヒープがあることを知った

948 ◆dRaGonNY3U :2016/09/25(日) 06:08:58 ID:???
https://en.wikipedia.org/wiki/Fibonacci_heap#Summary_of_running_times

俺が組んだバイナリヒープとやらは挿入やマージがウンコらしい

949 ◆dRaGonNY3U :2016/09/25(日) 06:19:09 ID:???
なるほど
deleteMinで配列最後尾を配列先頭に持ってくる性質を使えば
別途配列用意しなくてもソートできるのか
へー

950 ◆dRaGonNY3U :2016/09/27(火) 02:59:30 ID:???
やべえ、スマホのケーブルガチでイカレてる
新しいのを何とかして入手しないと・・・

951 (-_-)さん :2016/10/26(水) 04:45:08 ID:???
C++11/14/17 の機能のサポート (Modern C++)
https://msdn.microsoft.com/ja-jp/library/hh567368.aspx

memo

952 (-_-)さん :2016/10/27(木) 01:03:54 ID:???
Comparison of programming languages - Wikipedia
https://en.wikipedia.org/wiki/Comparison_of_programming_languages


めも

953 ◆dRaGonNY3U :2016/11/01(火) 03:36:45 ID:???
VB6から決別しようと思う
遅い

954 ◆dRaGonNY3U :2016/11/25(金) 07:24:13 ID:???
Brainf**kの雑なジェネレータ

ジェネレータ(Ruby製)
http://ideone.com/IqB38d

ジェネレータで作ったコードをBrainf**kで動かしたやつ
http://ideone.com/dXY3GW

955 (-_-)さん :2016/12/02(金) 06:31:13 ID:HlMrTJu6
ヒッキーのプログラミングするスレ 8 (旧 プログラミング雑談 in HIKIKO) [無断転載禁止]c2ch.net
http://hanabi.2ch.net/test/read.cgi/hikky/1480625781/l50

956 (-_-)さん :2016/12/24(土) 20:05:19 ID:???
競プロ Goで
https://gist.github.com/anonymous/cf6ac50b9c03b2cbdc78f2fcda83acae

957 (-_-)さん :2016/12/24(土) 20:31:12 ID:???
ちょっと変更
https://gist.github.com/anonymous/999589f5fc30a41f2b04b9e182cdce61

958 ◆dRaGonNY3U :2017/02/16(木) 03:10:20 ID:???
ダイナミックスコープがいいのかと思ってたけど
レキシカルスコープのほうが型推論とか出来て本当はよいのだろうなあ・・・

959 (-_-)さん :2017/03/05(日) 18:46:30 ID:aO7s6P36
ヒッキーのプログラミングする掲示板
http://jbbs.shitaraba.net/computer/44607/

960 ◆dRaGonNY3U :2017/03/11(土) 06:04:35 ID:???
次スレ

ヒッキーのプログラミングするスレ 9 (旧 プログラミング雑談 in HIKIKO)
http://hanabi.2ch.net/test/read.cgi/hikky/1489179773/l50

961 ◆dRaGonNY3U :2017/03/12(日) 05:48:22 ID:???
Haskell PlatformのインストーラDLしたはいいが
ウィルスチェックが終わらねえ・・・チェック終わったファイル数が19万以上になってるんだが・・・どうなってんのHaskell・・・

962 ◆dRaGonNY3U :2017/03/12(日) 05:55:28 ID:???
もう50分近くスキャンしてる・・・最小構成のほうのインストーラ使えばよかったかも・・・
最小構成のはパッケージ自分でcabalやstack使って入れろってあって難しそうに感じたから一通りセットのHaskell Platformを選んだのだが・・・

963 ◆dRaGonNY3U :2017/03/12(日) 06:03:00 ID:???
おかしい、インストール済みの古いほうはファイル数1万1千程度しかないぞ・・・
まぁインストーラが200MBだから内包ファイル数が25万超えても不思議はないっちゃないが・・・
テキストファイルばっかなら圧縮率パネエからな・・・
実際インストール済みの古いほうはテキストファイル多いし・・・

964 ◆dRaGonNY3U :2017/03/12(日) 06:03:57 ID:???
ああ、インストール済みの古いほうで使ったインストーラは110MBだ・・・今回の半分くらいしかないのか・・・

965 ◆dRaGonNY3U :2017/03/12(日) 06:04:51 ID:???
やっとスキャン終わった・・・ファイル総数26万弱・・・どんだけファイル入ってんだよ・・・
こないだ削除した集めに集めた俺のえろがぞうのファイル総数以上じゃねえか・・・

966 ◆dRaGonNY3U :2017/03/12(日) 06:05:38 ID:???
これインストールの空き容量条件大丈夫かな・・・何GBになるか分からんぞこりゃ・・・

967 ◆dRaGonNY3U :2017/03/26(日) 03:49:51 ID:???
真・スレッドストッパー ‐ 通信用語の基礎知識
http://www.wdic.org/w/WDIC/%E7%9C%9F%E3%83%BB%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89%E3%82%B9%E3%83%88%E3%83%83%E3%83%91%E3%83%BC

雑な実装だなあ・・・

968 ◆dRaGonNY3U :2017/05/14(日) 05:32:14 ID:???
https://community.topcoder.com/longcontest/?module=ViewProblemStatement&amp;rd=16928&amp;pm=14599
http://www.topcoder.com/contest/problem/AbstractWars/manual.html

一人ゲームとしても楽しめそう

969 (-_-)さん :2017/05/14(日) 10:24:05 ID:IyYhfjso
CodinGame面白い

970 (-_-)さん :2017/05/20(土) 18:59:40 ID:/v1WFq6s
最近ネット回線不安定すぎ
誰かが回線を占有する通信してるに違いないと踏んでる

971 (-_-)さん :2017/06/20(火) 11:11:20 ID:???
最近プログラミングする気が起きない。

972 (-_-)さん :2017/09/10(日) 22:59:57 ID:hP02AlLI
ヒキ板でプログラミングスレ乱立わろた

973 (-_-)さん :2017/09/10(日) 23:01:20 ID:hP02AlLI
無駄に4つもあるw

ヒッキーのプログラミングするスレ10(旧 プログラミング雑談 in HIKIKO)
https://matsuri.2ch.net/test/read.cgi/hikky/1495307533/l50

ヒッキーのプログラミングするスレ (共同作業)
http://matsuri.2ch.net/test/read.cgi/hikky/1491250289/l50

ヒッキーの競技プログラミングするスレ
https://matsuri.2ch.net/test/read.cgi/hikky/1497629027/l50

ヒッキーのまったりプログラミングするスレ
https://matsuri.2ch.net/test/read.cgi/hikky/1505021721/l50

974 (-_-)さん :2017/09/10(日) 23:05:09 ID:hP02AlLI
そういやしたらば上に別のプログラミングスレできたのな

ヒッキーのプログラミングする掲示板
http://jbbs.shitaraba.net/computer/44607/

975 (-_-)さん :2017/09/10(日) 23:07:54 ID:???
プログラミングは戦国乱世になったのだ

976 (-_-)さん :2017/09/11(月) 01:29:15 ID:???
ひきぷろ氏はアウトプットしたくてウズウズしていらっしゃるようで

977 (-_-)さん :2017/09/27(水) 02:51:04 ID:???
ヒッキーのプログラミングするスレ11(旧 プログラミング雑談 in HIKIKO)
https://matsuri.2ch.net/test/read.cgi/hikky/1506447943/l50

978 (-_-)さん :2017/12/21(木) 03:51:38 ID:3MQnPHjM
SECDマシン - Wikipedia
https://ja.wikipedia.org/wiki/SECD%E3%83%9E%E3%82%B7%E3%83%B3

Lispkit Lisp - Wikipedia
https://en.wikipedia.org/wiki/Lispkit_Lisp

979 (-_-)さん :2018/01/25(木) 19:25:07 ID:WhPXv.Nw
RustでWindowsのGUIアプリをコンパイルするとき指定するもの
#![windows_subsystem = "windows"]

https://mag.osdn.jp/17/06/09/163000
https://github.com/rust-lang/rfcs/blob/master/text/1665-windows-subsystem.md
https://users.rust-lang.org/t/solved-console-window-still-opens-when-using-windows-subsystem-windows/11318

RFCによるとこれでもいけるらしい
rustc foo.rs --crate-subsystem windows


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら



掲示板管理者へ連絡 無料レンタル掲示板