はてなキーワード: SUBとは
DNSブロッキングってもしかしてもう始まってるのだろうか。生憎(一般コミック)に興味がないので、例の3サイトやらは使ってないから分からないが。そうだとしても、DNSが塞がれただけならIPアドレスを直打ちするか、hostsファイルを弄って正しい名前解決をさせればいいだけじゃないかなと思う。
ところで、そういう発想がポンと出てこないような低リテラシーなというか、情報弱者層がよく分からないままアホな事してるのを止めたい、ってパターナリズムは少し分かるところがある。何か高度なことをしようと思ったら、それ相応の学習をしなければならない。それが民主的な社会を維持するためには必須だから。人民が賢くあろうとしないと判断能力すら育たない。でも学んだ人間が、意思と思想をもってあえてルールを破ろうとする余地が一切残されていない社会は健全とは言い難い。もしこうしたブロッキングが進んで、そういう余地が残されなくなってしまったら、本格的に日本は社会主義国家とみなされるだろう。
私は、違法行為がなんの知識も思想もない人間の手の届くところまで降りてきていることが真の問題だと思っている。昔を思い返せば、マジコンにしろ、怪しげな中国企業が提供していた無料音楽アプリにしろ、漫画村にしろ、ああいうものを利用していたのは無知蒙昧な一般人層だ。本当のギークは、そんな二次三次放流の広告つきサービスなんかには目もくれず、WinMXだとか、Winnyだとか、今だとtorrentだとかのP2Pソフト、あるいはMegaやRapidgatorのような海外アップローダーだとか、そういう所で割れにリーチし、海外のなんちゃらHentaiやら、なんちゃらSharingやら、なんちゃらSubsのような、特に広告があるわけでもない、ガイジン有志の熱意と寄付で運営されている海外フォーラムやサイトを英語にめげずに巡回していたはずだ。そうしたサイト上で形成されたコミュニティーでは、同好の士が独自のポリシーを持って勝手にアニメカルチャーを広めている。功罪あれど、役人たちがクールジャパンと呼ぶものの実態はそうした活動によって広まっていった側面が決して小さくない。例えばアニメについてはrawはブラックだろうが、そもそも日本のアニメがきちんと海外配信に向き合ってこなかったこと、字幕を機敏につけられる体制がなくファンによる違法subに頼るしかない状態が続いていることが元凶になっている。ゲームのROMのような権利的に完全にアウトではあるがハッキングコミュニティと繋がっているものもあり、また海外のポルノ投稿サイトが最もブラウザの脆弱性を知り尽くし裏をかいて広告を表示させる技術力を持っていたりするのもそうだが、大きく捉えればコンピュータ技術の発展とウェブのアンダーグラウンドは切り離せない。そうした繋がりをパターナリズムによって断絶させようとするのなら、人間は健全な消費者になるどころか、ますます愚かで思想を持たない一般人で埋め尽くされるようになるだろう。低い者に合わせようとした結果だ。
そして、そうなった時代にコンテンツの未来はどうなるかというと、すべてが同人活動になっていくだろう。既に絵や漫画はtwitterやpixivを漁れば十分な量の娯楽が、絵師さんたちの手で自ら無料で公開されている。そこで絵師さんたちが求めているのは共感や評価であって、貨幣ではない。その傾向が加速して、コンテンツに対価を払うとか面倒くさいことは避けて、自給自足で楽しみ合おうじゃないか、という世界になるだろう。動画制作も、ゲーム制作も、より誰でも手軽に十分な品質のものが作れる環境が急速に整ってくるだろう。Vtuberの人気もそのコンテキストで見ることができる。技術環境さえ整って個人Vtuberがリッチな絵面になれば、より自由度の高い個人の方が強くなってくる。そして広告案件すらださずに伸び伸びと演じるキャラクターの方が好かれるようになってくる。そうやって貨幣でない評価基準に価値を見出し、「足るを知」った人たちによる狭小住宅ならぬ狭小エコノミーが多数派になる。経済的にみると泡沫のようなものが多種多様に出てくるだけだ。そこには国家が望むような経済的成長はないだろう。
ソーシャルブックマークの限界じゃないですかね。
似たようなシステムのredditも日本語圏は失速してしまいました。当時ニュー速Rというsubが立ち上がり、偶然にも人が集まったことで日本語圏が隆盛しました。設立当初のニュー速Rは増田の言う「リベラルで理想主義的な立場で、技術や社会を論じ」る場所として機能するようになり、非常に楽しい時間を過ごしました。
ですが、「弱者が声をあげやすくする」ことを金科玉条とするあの人たちが乗り込んできてから暗雲が立ち込めるようになりました。独りよがりな考えのもとに「貧困ネタ」を連日連夜Hotソート(はてブでいうホッテントリ)にスパムしたのです。私や私と似たような考えの人たちは日本語圏の美風を守るために抗いました。ですが日本語圏を取り仕切るモデレーターからしてあの人たちのシンパかあるいはボンクラしかいなかったので、なす術なく敗れ去りました。今ではラヴォスが現れた地球のように何もない抜け殻となっています。
日本語圏の隆盛から私が敗れ去るまでだいたい半年ほど、おそらくはてブの辿った歴史も時期の違いはあれ似たような内容ではないかと推測します。ソーシャルブックマークという場で、時事問題の論評を通して「技術や社会を論じ」ることの限界が露呈したように思います。時事問題というのは大なり小なり政治的です。故に時事問題の論評を通して「技術や社会を論じ」ることは政治の土俵に立つことを意味します。政治の土俵にはあの人たちのように、無理が通れば道理が引っ込むを地で行く魑魅魍魎が跳梁跋扈しております。したがって「リベラルで理想主義的な立場で、技術や社会を論じ」るなんて望みようもありません。
それでも「リベラルで理想主義的な立場で、技術や社会を論じ」たいのなら、いかに政治の土俵に立つことなく政治を語るかに腐心するのがよいのかなと思っています。
カルチャーって、「言葉」とか「絵」とか「民俗」とか、人間が生み出すもの。
上記のような、地域や民俗などによっても異なるそれぞれの「言葉」「絵」「民俗」などをベースに、新しく生まれてきているものがサブカルチャー。
だからsub=下位概念という接頭語が付いていると学生時代に教わったよ。
具体的には、吟遊詩人~クラシック音楽ぐらいまではカルチャー、流行歌はサブカルチャー、とか
神話~古典文学ぐらいまでがカルチャー、それ以降はサブカルチャー、とか、
単純に、学問として腑分けできるぐらい固定化されているものなどがカルチャー、流動的なものがサブカルチャーみたいに考えると分かりやすい。
use strict; use warnings; use feature 'say'; sub fz { my @pattern = @_; return sub { $pattern[(shift() - 1) % @pattern] }; } my $fizz = fz("", "", "fizz"); my $buzz = fz("", "", "", "", "buzz"); foreach my $i (1..100) { say ($fizz->($i) . $buzz->($i) || $i); }
# use 5.xxxが使えない罠。
ログイン間違って分野限定ブログ専用サブアカウントでブックマークしてへんなコメントを公開してしまった
このアカウントでははてなブックマークの使用を開始していなかったはずなのにどうしてこのサブアカウントが動作したんだ
いったいどのタイミングでログインするとはてなブックマークの使用開始確認ページをバイパスするんだ
……いや、いいや報告も検証も面倒だ
サブアカウント消そう
AというアカウントでログインしているとサブアカウントBのブログの編集ができないのはなんとかして欲しい
クッキーの有効範囲の関係でうまく情報共有できないのはわかるけどそれでもなんとかして欲しい
ああそうだ余談だけどはてなのサブアカウント登録はgmailのhoge+subの形式のメールアドレスが通るよ(すくなくとも現時点では)
プログラミングの問題だけど高校一年生までの数学の考え方で解決できる。嬉しい。
1 から順に数を数えていく。但し、その数が 3 で割り切れるならば数字の代わりに Fizz と、5 で割り切れるなら Buzz と言うゲーム。3 でも 5 でも割り切れる場合は、FizzBuzz の順に言う。
これをプログラミングするのがFizzBuzz問題です。
1から15までの例を考えてみる。
入力 | 出力 |
---|---|
1 | 1 |
2 | 2 |
3 | Fizz |
4 | 4 |
5 | Buzz |
6 | Fizz |
7 | 7 |
8 | 8 |
9 | Fizz |
10 | Buzz |
11 | 11 |
12 | Fizz |
13 | 13 |
14 | 14 |
15 | FizzBuzz |
入力と出力の関係を考えると、入力が定まれば、出力も一意に定まることが分かる。つまり、入力と出力の関係を関数にすることができる。この関数をf(x)とする。
関数f(x)は、入力が3の倍数なら"Fizz"、5の倍数なら"Buzz"、3と5の公倍数なら"FizzBuzz"、その他は入力値を返す。
公倍数は最小公倍数を整数倍した値なので、ある値が公倍数であるかどうか判断するには、最小公倍数で割ってみて、割り切れるかを調べることにする。
3と5の最小公倍数は15なので、15で試しに割ってみて、割り切れるかどうかを見る。
3と5の倍数の判定も、それぞれ、3と5で割り切れるかどうかを見る。
Perlは、上から順に命令を実行する命令型言語なので、3や5の倍数の判定の前に、15の倍数の判定を持ってくる。
逆にすると、15の倍数は3の倍数であり、5の倍数でもあるため、"FizzBuzz"が必要な所が"Fizz"や"Buzz"だけになってしまう。
use 5.024; use warnings; sub f { my ($x) = @_; if (($x % 15) == 0) { return "FizzBuzz"; } if (($x % 5) == 0) { return "Buzz"; } if (($x % 3) == 0) { return "Fizz"; } return $x; } foreach my $i (1..100) { say f($i); }
ryun_ryun
nao0990
charismanbou
nn1021
crapman
kono-tsuka
lettuce0831
GreenTopTube
dogear1988
cider_kondo
penguaholic
zyzy
ROYGB
hobo_king
ho4416
iku-sawa11
pew
houjiT
potekenpi
anpo-sumeragi
yunitaro
augsUK
arata2515
sugawara1991
miz999
youkass912
sny22015
technocutzero
sarubobox
world3
yosidayosio1108
yoppu7
takaboujp1122
neririumeneri
sou0509
Kitajgorodskij
yokobentaro
iwatako
miya_si2
conandaisuki
keisolutions
WARERO_006
satohikabass
rikunomaou
Uuu29
yoshimatsutakeshi
n-i-vandit0924
kamabokoo
yonenatu
makesfun1170
kanonote
reteria
mottii-cocoa
KAERUSAN
cenecio
yaki295han
roll8
ShakeOff
takesan30cm
takesan30cm
maxminkun
mtasam
esameo201611
bsrk31
katsuo_report
berlin1939
alivekanade
ktra
Fubar
kiichi55
koyhoge
zapperd
tomoya_edw
meeakat
warulaw
tSU_RooT
lavandin
siomaruko
atsupi0420
yztm
grizzly1
aoi_tomoyuki
plagmaticjam
nijitaro
r_riv
gunjoutarou
chabooooo
papasss
pertricks
dark
kuraruk
yuicuts
TechBisco
xevra
jmako
capsxen
ketudan
mobile_neko
T-men98
taccuma-jp
tonkotutarou
gustave_buzz
junk6
rosaline
lamiel123
cloudliner
satoshique
yoshinon
osugi3y
hiccha-ya-re
akikonian
amematarou
youco45
mcbiophys
yumenoa
yoko-hirom
mesotaro
watto
mythm
mocchi_rie
vanish_l2
Mofuyuki
tajimark
wisboot
gptsuchiya
s17er
touhu1018
Polyhymnia
shimarisugi
singo2nd
prosyu
metamix
kabatan001
rockfishing
timetrain
shira0211tama
mogmognya
k_gobo
shimokiyo
extra63
LaNotte
anoncom
bocbqcmn
Jcm
neogratche
akarin183
takatama
yoheimuta
ofayoyuly
w-yakyuuboy
cloudsalon
yukiko_tea
yuki1995jp
kobabiz
kumasi
blueradiobird
hogehoge223
masatygames
santambo
bg4kids
hanabiagaru
nomoneynofreedom
hiroti3
gorigori_GG
fuutaro00001
tanaboo
applebaka
master3954
maxa55
MoneyReport
kingqoo3
unnamable
benkyoumap
yukilingo
ikedayuuto
tettunn
akabaneyama150
tusagi
andshesaid
yonjyoudansi
kkvv
pojihiguma
kanother
tapazou
fuwa2730
Mediocrity
otakuchblog
kinako222
meganeshufu
toianna
dararinchan
bronson69
hitode99
hu_kaa
capek5c
kaomojiblog
RRRQ
s_dango
sakatsu_kana
shimashimanegigi
coconoo
pfassistant
nextfrontierym
make_usagi
goodrock
sf0vtnfx
Pagg_Beta
colorfullylife
fukai19930806347
high_grade_works
zorazora
tomoiku21century
aoikawano
TAKAMISAWA
syofuso
Erl
chancepapa
hakoroid
g8g7itbg
Ray-Honoka
btomotomo
upuptou
renkonreiko16
jrockford
rich7
masarin-m
repiragin
nekofantasy
shimma0413
aatanaka
necole_kidman
green1111
pavement1234
gggc
kuatazu
shinth1
sukekyo
taionK
kzymtn
hisawooo
mika522
seiyuDB
mugi-yama
junpei191
tikani_nemuru_M
taruhachi
c_lindenbaum
goingzero
yuriyuri14
jou2
nakoton
sharia
kuzudokuzu
north_god
nost0nost
fukken
yoiIT
B-CHAN
yP0hKHY1zj
oooooo4150
flagburner
washi-mizok
sato0427
miyadai454
k-noto3
kazgeo
leiqunni
dot
mobits
houyhnhm
wqv5mbs2
netcraft3
hamachang1111
bonpusan
lacucaracha
suzukidesu23
yutoma233
maruhoi1
snobbishinsomniac
Gl17
belka1009
sander
Utasinai
toronei
porimern
keino
hirobuu005
rjbook
qaroro
fc2no10
ha-in
nakajo
LINETRIO
bentencho
yukikeiichi
taguchizu
zetakun
re1life
http://anond.hatelabo.jp/20170126124834
お前にだけいい格好させるかよ
この話題は過去に2ちゃんに投稿したんだけ増田にも書いておく。
githubアカウントを凍結されたけど、「私はスパムではない」と連絡しても解除してくれなかった。
メインアカウント(以下Mainと呼ぶ)ではissueでバグ報告とソースコードのダウンロードのためにgit cloneする程度に利用。
サブアカウント(以下Subと呼ぶ)はMainとのフォークとプルリクの練習のために作成した。
ちなみにSubを登録してから何もせず、1年以上寝かせてから練習に使い出した。
凍結される原因になったと思われる内容
Subで登録したメールアドレスで、githubサポートにBOTとスパムではない事を伝えたけど、あなたを疑うとメールで返されて結局解除されなかった。
Mainも凍結されるのかと思ったけど、されなかった。ひょっとしたら第三者のリポジトリでissueを書いて貢献してたからだろうか。
githubに連絡をすれば凍結解除してもらえるという記事もあるが100%解除してくれるわけではない。
凍結してから初めて利用規約を読んだけど、無料アカウントを複数作成することを禁止することが明記されていた。
よくgithubで複垢を運用する記事を見かけるけど、これらの記事は規約違反を勧めているってことなんだよね。
わざわざ1サービスのアカウントを凍結されたことを記事にする人なんていないだろう。
有料アカウントと無料アカウントで練習してたら凍結されてなかったに違いない。
凍結されて分かったこと
Sub test() Dim re As New RegExp Dim ws As Worksheet Dim buff As Variant Dim i As Long 'initialize Set ws = ActiveSheet buff = ws.UsedRange ReDim Preserve buff(1 To ws.UsedRange.Rows.Count, 1 To 2) 'setting RegularExpression re.Pattern = ".*\((.*)\).*" re.IgnoreCase = True re.Global = True 'Get Information For i = LBound(buff, 1) To UBound(buff, 1) buff(i, 2) = re.Replace(buff(i, 1), "$1") buff(i, 2) = Replace(buff(i, 2), buff(i, 1), "") Next 'Paste ws.Range(Cells(1, 1), Cells(UBound(buff, 1), 2)) = buff End Sub
やや冗長かもしれないけど俺だったらこう書くなあ。(RegExpクラスを利用するための参照設定は忘れずに!)
ループでワークシートのセルにアクセスすると行数増えた時に使い物にならなくなるから、シートの値は必ず二次元配列に移して処理してるわ。
久々にプログラミングしたけどやっぱおもしれぇ!
http://tateyou.sub.jp/hb/hb.html 【 衝撃事実 】 これなーんだ? 答えを知ってしまうと 人生観が変わってしまう画像!
http://tateyou.sub.jp/qt/qt.html 【マジか?】 わずか5秒で 「嘘が上手」 か 「嘘が下手」 が分かる方法があるらしいwww
http://tateyou.sub.jp/kibi/kibi.html 【 話題の画像 】 気づいてしまうと思わず 悲鳴を上げてしまう写真!! 写真の秘密
http://tateyou.sub.jp/kb/kb.html 【 マジでヤバい 】 一枚の金髪美女の写真 何が怖いか分かりますか? 何も無い写真に見えますが… 真実はコチラ
http://tateyou.sub.jp/kg/kg.html 【 この画像何だか分かる!?】 3秒で分かったら芸術家 1分で分かったら普通の人 3分以上かかったら疲れているかも!! 正解はこちら
http://tateyou.sub.jp/nounen/nounen.html 【画像流出】 能年玲奈ちゃんの卒アル写真が 別人すぎると話題にwww 詳細はコチラ
http://tateyou.sub.jp/serina/serina.html 【 芹那が消えた理由!? 】 2014年に入って 消えつつある “ 芹那 ” その理由と、声&喋り方が 普通だったころの動画はこちら
http://tateyou.sub.jp/hebi/hebi.html 【 怖すぎ注意 】 猛毒ヘビの毒一滴が 人間の血液を 一瞬にして変えるさま! ▼動画はコチラ▼
http://tateyou.sub.jp/nyan/nyan.html 【 危機一髪 】 ワンコに追いかけられる ニャンコが魅せた!! 映画のワンシーンのような 逃走方法が話題wwww 動画はコチラ
http://tateyou.sub.jp/pf/pf.html 【カップルの下半身が入れ替わる超衝撃動画】 画像を見て下さい! 上半身だけになっています! 動画はコチラ
http://tateyou.sub.jp/hsa/hsa.html 【悲報】 橋本愛(18)が激太り!! 完全劣化だと話題に!! 画像はコチラ
http://tateyou.sub.jp/hira/hira.html 【 閲覧注意 】 平山あやがめちゃくちゃ 劣化してると話題に!! 画像はコチラ
http://tateyou.sub.jp/sexy/sexy.html 【セクシー美女画像】 驚異の的中率! 男性心を100%見透かす! 自分の心がどのように 見透かされているのか 知りたい方はコチラ
http://tateyou.sub.jp/hy/hy.html
http://tateyou.sub.jp/tb/tb.html 【 これはスゴい 】 『意外と知らない!! 効率のいい食べ方5選』 今すぐ動画をチェック!
http://tateyou.sub.jp/src/index.html
http://tateyou.sub.jp/pet/pet.html
http://tateyou.sub.jp/kando/kando.html 【 感動動画 】 YouTube再生回数3600万突破! 「子犬と馬の友情」 を描いた動画が大ヒット!! 動画はコチラ
http://tateyou.sub.jp/is/is.html
http://tateyou.sub.jp/5zukei/5zukei.html 5つの中から選んだ図形で 性格を診断するテストが めちゃくちゃ当たると話題!!
http://tateyou.sub.jp/nm/nm.html 【 衝撃 】 サザエさんの波平にそっくりすぎる声がYouTubeで公開され大反響!! その動画がコチラ
http://tateyou.sub.jp/ia/ia.html 【 放送事故 】 イッテQで放送事故www おっpいポロリwww 詳細はコチラ
http://tateyou.sub.jp/1gai/1gai.html *芸能人の意外な兄弟、姉妹を拝見! 『剛力彩芽の姉』 『小栗旬の兄』 『板野友美の妹』 『木村拓哉の弟』 『桜井翔の妹』etc・・・ 詳細はコチラ
http://tateyou.sub.jp/yrsg/yrsg.html 【 やりすぎ都市伝説 】で 放送された話題の心理テスト! 自分が一番大事にしているモノが 分かるらしい!? テストはコチラ
昔の三重野さん
http://www.logsoku.com/r/market/1212766612/
http://fx-history.com/2ch/market/1206350628/
http://www.yakigome.com/user_data/home.php?top=companyinfo&sub=&html=&site=home
http://nihonichi.info/company/index.html#03
マヌケな投資家を集めて黒豚オーナーを募っていたが破たんさせて集めていた資金は殆ど返却せず、
新たに会社を興して、現在は同じ場所で色んなお米やら罠の店を作って頑張っておられるのですね。
----------------------
まず、自分が今どこにいて、いつまでに、どこへ行くのか確かめる。
※ゴールの形を複数設定する。成長と努力のどちらも実感しながら進む。最大の成果・最低の合格ラインを想定する(ベストシナリオとワーストシナリオ)。理想は高く掲げる。でも思い通りにならないのが現実で、それでもたどり着けるところまで進む。
※ゴールした後のことを考える。目標達成で燃え尽きてしまわないために。油断しないために。反対に、挫折してもまた先を見据えて立ち上がる力にするために。
自己満足で終わらせないために、客観的な評価の仕方・基準を用意する。あるいは、評価してくれる人を探す。
カウントダウンをするために、締め切りの日を「○月○日何時」ときちんと設定する。
----------------------
----------------------
----------------------
----------------------
失敗したなら、計画を改善する必要がある。もっと細かく分解できる作業が必ずあるはず。チェックリストを洗い直す。達成した場合でも、もし「もう一度挑戦するなら」と考えてみる。もっと賢く、もっと早く達成するための工夫を止めない。
作業を記録するために進捗日誌をつける。進み具合を毎日必ず記録に残す。主観的でいいので、今日の達成度に数字を振る。数字を積み上げている実感が得られる。
内容の記録
【Webサーバを作る】http://d.hatena.ne.jp/kmaebashi/20130804/p1
use Fcntl;
use strict;
use Socket;
use threads;
use POSIX qw(strftime);
use File::Spec::Functions qw(rel2abs);
my $thread = threads->new(\&serverThread, "");
$thread->join;
my $ret;
my %hashmap=(
"htm" => "text/html",
"txt" => "text/plain",
);
$ret = $hashmap{$_[0]};
if ($ret eq "") {
return "application/octet-stream";
} else {
return $ret;
}
}
my $documentRoot = rel2abs("D:/var/www/html");
my ($line, $path, @tmp, $ext, $data, $absPath);
socket(SERVER, PF_INET, SOCK_STREAM, getprotobyname('tcp'));
bind(SERVER, sockaddr_in("8001", INADDR_ANY)) || die;
listen(SERVER, SOMAXCONN) || die;
while (accept(CLIENT, SERVER)) {
while (<CLIENT>){
$line = $_;
last if ($line eq "" || $line eq "\r\n" || $line eq "\n");
if (index($line, "GET") == 0){
$path = (split(/ /, $line))[1];
@tmp = split(/\./, $path);
$ext = @tmp[$#tmp];
}
}
print CLIENT "HTTP/1.1 200 OK\r\n";
print CLIENT "Date: " .strftime("%a, %d %b %Y %H:%M:%S GMT", gmtime). "\r\n";
print CLIENT "Server: Sever03.java\r\n";
print CLIENT "Connection: close\r\n";
print CLIENT "Content-type: ". getContentType($ext). "\r\n";
$absPath = rel2abs($documentRoot. $path);
if (index($absPath,$documentRoot)==0 && sysopen(FH, $absPath, O_RDONLY | O_BINARY)) {
while ($data = <FH>) {
}
close FH;
}
close CLIENT;
}
}
コアモジュールだけ使った。
元ネタのJavaコードはディレクトリトラバーサルになってたんで、一応対策を盛り込んだ。
といっても絶対に外向けに動かさないように。無いと思うけど。
いろいろツッコミくれるとうれしいです。
いや、ごめん。再帰というのは、木構造による再帰、でも、Switchによる再帰でも同じ。そのアルゴリズムで Call命令を使うのか?って事。
あとCでもswitchが嫌で かつ 再帰によるCall命令が許容されるなら、Treeに関数ポインタ持たせて、関数ポインタで評価関数呼び出せばいいじゃん。
単純に要素だけ書けば
struct leaf{
int (*eval)(leaf *);
};
でよかろ 値を入れるときにAddなら eval_add sub なら eval_sub を呼び出せばいい (データー構造と アルゴリズムの分離はCでもできる。)
どっちみち C++でも、子どものevalを親が呼ぶ 時点で call が呼ばれているから、それ再帰。
というかC++自体が こういう vtableのC実装から 生まれている実装なので C++でできて、Cで実装できないって、テンプレとかそういうのぐらいだから。
究極的にはvtalbe実装すればCでもできる。つか、昔のCのコードなんてVtableを第1引数として渡すようなものばっかだろ。
何が言いたいかというと、別に データー構造と アルゴリズムの分離は関数ポインタとVtableの実装によりCでもできる。
switchテーブルが巨大化するのも 小さいクラスが無数にあるのも どっちも同じ事だよ。
Swithならよい Classならよいってことはない。
問題を他人に押し付けられる感じが嫌なんだよね。
まったりと、自分の好きな課題だけに取り組んでいきたい。そういう風にして生きている。
プログラミングも同じで、自分の作りたいものだけを作って生きている。
それともう一つ不満なのは(或いは『自分に合ってない』と表現した方が適切なのかも知れない)、洗練されたデータ構造や設計の必要性が問題中に殆ど出現しない所。
これは多くの言語に対して同じ問題を提供するには仕方のない事かも知れない。でも個人的にはそれが不自由で仕方がなかった。
例えばC++における純粋仮想関数(インターフェイス)と継承を使った下記の様な「木」を表現した構造、まず出てこないでしょ?C++ではなくCならswitchテーブルを使った再帰関数で実現する必要があるし、これが言語間で共通な問題を隔てる原因にもなっている。
struct interface_tree{ virtual double eval() const = 0; virtual std::size_t subtree_num() const = 0; virtual interface_tree *subtree(std::size_t) = 0; virtual ~interface_tree(){} }; // expression tree, add struct tree_add : public interface_tree{ tree_add(std::size_t n, interface_tree **t){ subtree_[0] = t[0], subtree[1] = t[1]; } virtual double eval(){ return subtree(0)->eval() + subtree(1)->eval(); } virtual std::size_t subtree_num() const{ return 2; } virtual interface_tree *subtree(std::size_t i){ return subtree_[i]; } virtual ~tree_add(){ delete subtree_[0]; delete subtree_[1]; } interface_tree *subtree_[2]; }; // expression tree, sub struct tree_sub : public interface_tree{ tree_add(std::size_t n, interface_tree **t){ subtree_[0] = t[0], subtree[1] = t[1]; } virtual double eval(){ return subtree(0)->eval() - subtree(1)->eval(); } virtual std::size_t subtree_num() const{ return 2; } virtual interface_tree *subtree(std::size_t i){ return subtree_[i]; } virtual ~tree_add(){ delete subtree_[0]; delete subtree_[1]; } interface_tree *subtree_[2]; }; // expression tree, value struct tree_val : public interface_tree{ tree_val(double n_) : n(n_){} virtual double eval(){ return n; } virtual std::size_t subtree_num() const{ return 0; } virtual interface_tree *subtree(std::size_t i){ assert(0); } virtual ~tree_add(){} double n; }; // ...
It had been a little situation of one's before one of the many high-end camera makers learned the particular Live life Access manner with a DIGITAL SLR requested a good online video media picture after which you can created a way to help you listing the item. Olympus seemed to be hinting at the capability in Present cards 2006, as soon as E-330 (the very first video camera by means of survive viewing) is released. Nonetheless Nikon was towards the blog post while using the D90 along with Cannon is definitely soon after along with the just-announced Canon EOD 5D Mark II Battery.
Typically the 12. 3-megapixel D90 carries LARGE DEFINITION online video from a conclusion with 1280 back button 720 pixels at 27 frames/second using the understanding and also depth-of-field restrain which usually simply a DIGITAL SLR offer. Naturally, Nikon isn't going to space an expensive precedence about this skill (and not undertake most people, finding the software when alot more of the adjunct you'll take advantage of once in a while, than only a main objective just for obtaining that D90). But, because this can be a 'world first', Photography Analyze is going to tackle the application ahead of moving on that will alternative further important qualities.
Virtually no owner guide book was initially supplied with a analysis camera still (after some hassles) most of us made it possible to down load an important PDF FILE type from Nikon European union ?nternet site. Surprisingly, this manually operated exclusively devotes one-and-a-half of 270 pages of content for you to video clip producing tasks and approximately a couple thirds of the site to help you videos playback. Less a page can be specified up to a show frame proportions in addition to appear possible choices : the 120 websites following on from the primary arguments belonging to the video clip manner.
Picture Abilities
Training video in any DIGITAL CAMERA is really a important loan -- primarily for the Nikon D90 Battery cost. Beforehand, any time you required a fabulous video camera by using compatible contact lenses, which you were taking a look at round $7000 for just a unit which will would not quite possibly track record high-definition, widescreen picture. However the D90 presents way more for just a cheaper package price by providing visitors while using same sorts of manipulate in excess of centering, subjection and additionally depth-of-field like they have having a DIGITAL CAMERA digicam, combined internet site snap by using almost any Nikkor website.
But, the actual D90's online video media model is absolutely not fantastic. As movie can certainly sole often be captured throughout Are located Perspective application, you are jammed aided by the prohibitions this means that (see below). The actual noise is normally taped monaurally and then the video recording formatting is certainly AVI which will, even though it truly is best with a large number of updating functions, uses so much ram (roughly 400MB for minute). Within assessments, some 24-second cut saved for 1280 times 720 LARGE DEFINITION method for 176 kbps appeared to be 40. 7MB dimensions.
Amazingly, this high-end camera works iwth using the premier random access memory playing cards. SOME SORT OF 32GB SDHC should help you track record as much as sixty units for training video, even though a different reduction is definitely which will video plans will be available to personal training minutes for HARLEY-DAVIDSON function and 20 short minutes with typical quality.
Saddest of can be the possibility that any autofocusing procedure :Nikon D90 Charger as well as some other primary adjustments - are not to be implemented if you find yourself photographing online video media. You can actually place emphasis quickly well before taking any preview not to mention make use of the manual place emphasis wedding ring within the contact lens even while photographing. Although if the content steps near as well as from everyone as long as you're taking, blurring might be unavoidable.
Different works that need to be placed well before taking a good movie involve getting exposed compensation, vivid white stability in addition to tact surroundings. For anyone utilizing aperture-priority AE, you can actually transformation a aperture functions even though tracking your movie and as well lens quality in and additionally available - nevertheless it will be hazardous seeing that sticking to center is usually hard.
Well before beginning online video grab you have to find the wished-for audio mode from Dvd movie Controls sub-menu while in the firing navigation. 3 selections are offered: 1280 back button 720 (16: 9), 640 back button 424 (3: 2) not to mention 320 x 216 (3: 2). You too can change this reasonable producing at as well as out (the default setting up might be ON).
Most of online video media photographing pattern goes as follows:
1. Arranged this high-end camera to have Perspective way by simply hitting a LV tab.
step 2. Target about them just by half-pressing a shutter mouse if you are throughout autofocus form; also concentrate personally.
3. Marketing a O . K . key in the center from the arrow topper to get started producing.
check out. Prevent the theme presented plus centred throughout the taking progression.Nikon Coolpix S3100 Charger for anyone within information option, you can actually switch totally focus by hand while you step on the way to and / or clear of this issue. Cautious mainly vigilant while blasting close-ups when smallish differences within the place emphasis position can display simply because blurring on the content. (To confuse issues, you'll find it tough to ascertain if the appearance within the LCD is definitely pin-sharp through bright normal light while you can not use a viewfinder on Take up residence Check out manner. )
5. To cure documenting, advertising OKAY all over again.
Taking part in lower back taped video tutorials is simple. Mass media all the LV control key the next time for you to disengage Live life Watch consequently touch typically the review button in the software. Make use of the arrow mattress pad to pick out your snap you need to have fun with not to mention press RIGHT to begin the process preventing this video clip playback.
[概要]検索と保存性の問題で、PDFで保存、読む時にJPGに分離して読む。
→理由:JPGでは内部検索が出来ない。Leeyesの機能でガンマを変えて読めるため、PDF保存は、ややこしい事をせずに、ほぼデフォルトで行うことができる。
────────────────────────────────────────────
☆蔵書記録作業
●[ISBN_BarCodeReader]
URL:http://mhsodai.kazelog.jp/chalog/2009/11/webusb-96dd.html
とWEBカメラ UCAM-DLU130H を使って、書籍のバーコードを読み取りISBN番号を書き出しておく。
●[メディアマーカー]
にまとめて登録(登録 →一括登録)
●メディアマーカーの蔵書リストページをPDFでプリントし、PDF化しておく。(別にHTMLでもテキストでもいいけど)
────────────────────────────────────────────
☆スキャン作業
●本の解体
・表紙表裏・帯・見返しとカッターで切る。
URL:http://search.rakuten.co.jp/search/mall/%E5%A4%A7%E5%9E%8B%E3%83%9A%E3%83%BC%E3%83%91%E3%83%BC%E3%82%AB%E3%83%83%E3%82%BF%E3%83%BC/-/
で本をバラバラにする
設定:
#アプリ選択 タブ
・ScanSnapOrganizer 選択
#保存 タブ
・ファイル名の設定 →yyyyMMddHHmmss
#読み取りモード タブ
・読み取り面の選択 →両面読み取り
#ファイル形式 タブ
→他すべてデフォルト(OFF)
#原稿 タブ
・圧縮率1
→カラーページと白黒ページで設定を変えるなどは手間がかかるので、全部カラーでスキャンする。
●スキャン時に、紙詰まりを少なくする方法。
→S1500に紙を装填前に、中指の長さ程度、差し込む側の紙の中央を縦に山折りにする。こうすることで、紙詰まりが1/5程度に激減する。
────────────────────────────────────────────
☆データ保存
●ページを整える
ScanSnap Organizerで、編集したいファイルをダブルクリックすると、ScanSnap Organizer ビューアーが立ち上がる。
・いらないページを削除(ただし、偶数・奇数を守らないと、見開きで読みづらくなる)
・傾いてしまったぺージを修正
ScanSnap Organizer上のファイルを右クリック →開く、で、Adobe Acrobatで開く。
→文書 →OCRテキスト認識 →OCRを使用してテキスト認識
→すべてのページ
・日本語
→HDDに余裕がない場合は、検索可能な画像/最低(600dpi)に。ただし、その場合は[画像梱包]で画像を分離できなくなるので注意!
つまり、Acrobat以外で読めなくなる。
・ →OK
理由:
-[探三郎]
URL:http://www.geocities.jp/koutarou_y1926/sin3rou.html
●メディアマーカーの蔵書リストををPDF化したファイルを開き、ScanSnapOrganizer上でタイトルを変更する。
●Acrobatで開き、左右綴じ(左右開き)をチェックする。縦書きなら右綴じに変更する。
────────────────────────────────────────────
☆閲覧
●PDFそのまま閲覧可能(文字が大きい)なものは、Acrobatでそのまま読む(WXGAで見開き)
→まず、
で、「液晶画面用」に変更しておく。要するにアンチエイリアシングのことで、これをやっておかないと、とても読めたものではない。
Acrobatの画質を上げる。
「2Dグラフィックすアクセラレーションを使用」をOFF、それ以外全部ON。
●ほとんどのコミックと書籍は、jpgファイルになおしたほうがずっと読みやすい。
→理由は、Acrobatの絵の拡縮アルゴリズムよりも、Leeyesのほうが高画質の設定だから。
URL:http://www.vector.co.jp/soft/win95/writing/se377893.html
・「開梱」設定
-Origin優先 にチェック →よくわからないが一応
-BASE 0、 STEP 1
-Colmun 3
-jpgのチェックを外す(チェックが入っていると、再度エンコードをするので画質が落ちる)
→だが、起動ごとにいちいち設定しなおすのは面倒なので、以下の文章をメモ帳にコピーし、
「pic2pdf.ini」という名前で「C:\Program Files\pic2pdf」のフォルダ内に入れると、設定が保存される。
#-------------ここから
[SaveOptions]
UseingSaveFile=1
ConvertBmpToFax=0
ConvertBmpToJpeg=0
JpegCompressPer=85
MetaLoading=1
DisplayView=1
JepgImplant=1
NoOriginalName=0
WindowTitle=1
UseingDPI=0
OriginalDPIValue=100
UseingPaper=0
OriginalPaperValue=7
DobulePageRight=0
Centering=0
FixedPageSize=0
ShowOutThumbs=0
PortLandAngle=0
ViewFactor=2
PageType=0
ViewMenuBar=1
ViewToolBar=1
ViewWinowUI=1
NoProducer=0
NoTimeStamp=0
[PDFCrypt]
PrintPrivileges=0
CopyPrivileges=0
ModifyPrivileges=0
AnnotePrivileges=0
CryptStrength=0
[TakeoutOptions]
UseingSubDirectory=1
ReFileName=0
UseingOriginalName=1
NumericColmun=3
BaseNumber=0
StepNumber=1
OutputStyleBMP=1
OutputStyleFAX=0
#-------------ここまで
[Leeyes]
URL:http://mitc.xrea.jp/diary/020
で読む。(ドラッグ&ドロップ)
・イメージ→綴じ方向 で、綴じ方向を合わせる(横組みは左綴じ、縦組みは右綴じ)
・なぜか[画像梱包]で画像を抽出すると、ファイル名が逆順になるので、
表示→並び順→降順 にして昇順から降順に変える。(ファイル一覧の「名前」をクリックし、▽を△にしてもOK)
にだけチェックを入れ、
設定は
出力レベル:0-255
とする。
・オプション→設定の保存
で、設定ファイルを保存する。