「MongoDB」を含む日記 RSS

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

2023-01-26

VPS自宅サーバーにインストールしたいSaaS代替Webアプリ38選

シェアウェア(という表現はおいておいてのやつ。https://anond.hatelabo.jp/20230124045812)の記事面白かったので、自分の得意分野の領域でいろいろ紹介します。

基本的に、SaaSサービスは便利だけど、あれもこれもと契約していったらサブスク破産するので、

ものによってはセルフホストした方がいいと思ってる派。

Dropbox/GoogleDrive/box代替

NextCloud

もともとownCloudっていうDropbox代替があったんだけど、そこから分派して今も機能開発が続いている。

興味深いのはLAMP構成なので、VPS自宅サーバーじゃなくても、レンサバで動くのがいいよね。

データ保存領域オブジェクトストレージ(S3互換)も利用できるので、例えばWasabiなんかと契約してお安く済ませてしまうのも全然アリかと。

Trello代替

Wekan

最近カンバンシステムって、単体で使うんじゃなくていろんなアプリの中で使われる印象なので、今更Trelloだけ使いたい、なんてニーズはないかもだけど、

そこまで複雑でなく小規模なプロジェクトとかだと、意外とTrelloだけでいいよね、みたいなこともあるかな

そういう時は、これを使うといいかも。

Slack代替

Mattermost

ちょっとUI雰囲気が違うだけで、まんまSlackです。絵文字の追加もできるし、APIもあるし。人によって好き嫌い分かれるスレッド機能も、まあ、あのスレッド機能のまま。

その他のSlack代替選択肢
  • Rocket.chat
  • Zulip

この2つは使ったことないので、名前だけ挙げておきます

Zapier/IFTTT/Make代替

n8n

n8nと書いてnodemationと読ませるらしい。初見殺しすぎんだろ。

Zapier使ったことある人はすぐわかると思います

ZapierやIFTTT無料枠あるけど、あれもこれもやり出すとすぐ無料枠埋まっちゃうので、これ結構いいと思うんだけどな。

その他のZapier/IFTTT/Make代替
  • Huggin
  • Windmill

kintone代替

Exment

kintone使ってる会社増えてると思うんだけど、まだまだ1ユーザー1500円ってのは高いので、零細企業は導入し辛いと思う。

で、それの代替になるのがExment。UIがkintoneとは少し違うので代替と言い切れないかもしれないが、

やれることはkintoneのソレと全く同じなので、用途代替はできる。

開発も日本企業なので、UI日本語化されている。LAMP構成なので、レンサバでも動くよ!

Airtable代替

NocoDB

そもそもAirtableって何やねんって人もいるかもしれないけど、kintoneとGoogleスプレッドシートをいいとこ取りして、Trelloとガントチャートを足した感じ。

これのOSS版です。結構再現度高いので良い感じ。

ZoomGoogleMeet・Microsoft Teams代替

Jitsi

これもまあまあいい感じでZoom再現してますZoomの方が新機能の追加早いけど、Jitsiも頑張って追いついている感じです。

ただ、やる内容が複数人でのリアルタイム動画配信なので、サーバースペック回線スペックはまあまあ必要なので要注意。

BigBlueButton

こちらは使ったことないんだけど、よりオンライン授業向けらしい。

Calendly代替

Cal.com

最近よく見かけるようになった、オンラインミーティングとかの予定をブッキングさせるSaaS

あれのはしりがCalendlyで、日本でもいくつかそれのSaaSができてますね。

あれらも無料枠だと1カレンダーだけしかできなかったりするんだけど、これなら好きなだけブッキングさせられます

Intercom、Zendesk代替

Chatwoot
Papercups

ECサイトとか、Webマーケティングを重視してるサイトによくある、画面右下に吹き出しアイコンがあって、チャットウインドウがぴょこっと出てくるやつ。

日本ではWeb接客とか言われてるけど、あれの代表的SaaSがIntercom。Zendeskは、どちらかというと内部ツール向きかな。

これのOSS版がChatwootとPapercups。自社サイトWeb接客入れたいけど、費用抑えたい、って時にどうぞ。

Backlog/Asana代替

OpenProject

この手のツールがないと仕事にならないという人も多いと思います

これまでだとRedmineがそれのOSS版的立ち位置でしたが、さすがにイマドキあのUIはないなぁ、と。

OpenProjectは、Microsoft Projectの代替イメージしてるみたいですが、

ガントチャートカンバンデフォルトで使えるので、BacklogやAsanaの代替にはちょうど良いでしょう。

ただ、そんな高度なことしてるわけではないのに、サーバー要求スペックちょっと高めなのでご注意を。

Google Analytics代替

Matomo

UA廃止GA離れが始まってるとも聞きますが、疎開先として有名。

PHPで動くので、PHPWordPressでできたサイトに一緒に入れちゃってもいいと思う。

HeadlessCMS関連

HeadlessCMSは、データ表示を持たず、フロントエンドAPIを通じてデータを渡すタイプCMSのこと。

このジャンルでは、SaaSだとContentfulが有名だけど、OSSでもいろいろある。

Strapi

Node.js製。歴史があるので、結構いろんなことができる。

WordPressのGutenbergエディターを取り込んだプラグインなんかもある。

User認証も持ってるので、CGM的なサイトを作ろうと思ったらできなくもない。

Directus

これもNode.js製。利用できるDBが幅広く、既存データベース活用できる。

なので、既にPostgresSQLとかでデータを持ってるんだけど、

非エンジニアにもデータを触らせるためのフロントエンドが欲しい、ってニーズに良いかも。

こちらもUser認証デフォルトで持ってる。

Cockpit CMS

PHP製。SQLiteMongoDBで利用可能MySQL/PostgreSQL使えないのがちょっと残念。

Shopify代替

Medusa.js

近年、本腰入れて自社ECサイトをやろうと思うと必ず選択肢に上がるShopify。

インテグレートパートナー向けのエコシステムも充実してるので、取り組み始めるエンジニアシステム会社も多い。

ヘッドレスコマースや越境ECには向いているものの、これをセルフホストしたい、というニーズに応えたのがmedusa.js

ざっと見てみただけだけど、モダン構成で、今時のフロントバックエンドを分けた構成でやりたい、というのには向いている。

プラグインmedusa-marketplace.jsというのもあり、Amazon的なマーケットプレイスも実現可能

Figma代替

Penpot

昨年、Adobeに買収され、デザイナーたちを驚愕させたFigma

先日はAdobe XD終了のお知らせとなり、UIデザイナーたちの不安は募るばかり。

そんな提供企業に振り回されたくないなら、このPenpotでUIデザインしよう。

Figmaほど機能実装はされていないが、まあまあ一通りのことはできる。

Figma代が嵩むとお嘆きの制作会社なんかは、一考の余地あるんじゃなかろうか。

Google Form代替

Oh My Form

企業によっては、コンタクトフォームをたくさん作りたいという会社もある。

例えばセミナーを頻繁に開く企業だったりとか、

人材採用フォーム職種別に細かく分けたい(しかも頻繁に募集職種が変わるとか)

などの要望によって、GUIフォームを作りたい局面がある。

Google Formで大体解決しそうだけど、それをGoogleに頼りたくないならこちら。

まあまあ機能豊富なので、人によってはGoogleFormよりもこちらを好むかも。

Gmail代替

Mailu

DockerベースWebメールUI。送受信に必要ものを、丸っとDockerで用意してくれているので便利。

SalesForce/HubSpot代替

SuiteCRM
Mautic
Erxes

HubSpotは、いわゆるMarketing AutomationCRMを一体にしたツール無料枠もあるが、かなり限定されている。

上記でいうと、Erxesが単体で一番近い機能を持っている。

MauticはMarketing Automationよりの機能が多く、ユーザーサイト上での回遊をビジュアル化してくれたりする。

SuiteCRMはザ・CRMという感じ。SalesForceデフォルトで使う感じに近い。

ツールが分かれてしまうのは辛いところだけど、それぞれにAPIがあるので、うまく繋げられると強力なツールになってくれるはず。

Sendgrid/Mailgun代替

Postal

Webサービス作ってると、メールの通知や一斉配信などがあると思う。

通常これらはSendGridや、AWS SESなどで処理すると思うが、これらにもOSS代替がある。

PostalDockerメール周りのもの全部用意してくれているので、かなり楽。

Jimdo/Wix代替

Microweber

WordPressモダンにしたような感じで、EC機能デフォルトでついてる。マルチサイトも標準。

Jimdo/Wix代替と書いたが、もちろん自分サイトをMicroweberで作ってもいいが、

自前ホスティングして、JimdoWixのようなサービスを始めることもできる。

テンプレートをいくつか作っておいて、Stripeを仕込んでおけば、今日からあなたJimdo/Wixのような事業を始められるわけだ。

STUDIO/Webflow代替

Webstudio

JImdo/WixSTUDIO/Webflowは一緒くたに語られがちだが、明確な違いがある。

前者はプリディファインドなブロックGUI構成するのに対し、後者DOM要素ベースで構築していく。

まりよりHTML/CSSによる細かなデザインコントロールがしやすく、Webデザイナーが親しみやすい。

それのOSS版がWebstudio。まだアルファ版だが、フロントエンドはそれなりによくできているので、

バックエンドを自前で用意してStripeを仕込んでおけば、今日からあなたも(以下略

Facebook代替

friendica

Facebookなんか使わねーよ、っていう人も多いかもしれないが、

特定コミュニティの中でコミュニケーション取るには、FacebookUI機能は優れていると思う。

なので、サークルとか同窓会、あと自治会とかPTAなんかにいいんじゃないだろうか。

LAMPなので、レンサバでもいけると思う。

Netflix代替

Jellyfin

Netflix代替って、Amazon Primeとかじゃねーの、と思われるのかもしれないが、そうではなくて、

あなたNetflixみたいな商売したいならこれを使うといいよ、というのがJellyfin。

いや、そんな商売しないよ、と思うかもしれないが、

使いようによっては、おじいちゃんおばあちゃん向けの子動画配信サービスとして構築するとか、

Stripeと連携して、劇団バンドオリジナル配信サイトを構築するなんかも面白いと思う。

YouTube/Vimeo代替

PeerTube

今更誰もYouTubeVimeoの後追いをしようとはしないでしょうが

複数ユーザーから動画のアップを受け付けて、それを閲覧したい用途もあると思う。

例えば、軽音部で複数バンド練習風景を録画したのを定期的にアップしたりとか。

学習塾で、授業の録画を授業ごとにアップしていったりとか。

YouTube Live/Facebook Live/ニコ生/Twitch代替

Owncast

ZoomGoogle Meetのような双方向ではなく、一対多の一方通行配信

個人的には、企業のウェビナーツールとしての可能性を感じる。(Zoomのウェビナープランとか高いもん)

メールワイズ/Re:lation代替

FreeScout

つのメールドレス複数人運用したい時のツールメールワイズとRe:lationどちらも日本SaaS

FreeScoutはOSSだけど、海外製。一応日本語化もされてるっぽい。

ECサイト顧客問い合わせや、営業チームのプライマリ対応なんかに良いと思う。

Bubble代替

Budibase
AppSmith
ToolJet

Bubbleってなんぞ? という人のためにお伝えしておくと、ノーコードベースWebアプリ開発ツール

データエンティティ設計したら、自動的CRUDを作ってくれて、フォームを配置するというような感じ。

Bubbleはそれ系の老舗で、歴史が長い分ノウハウも溜まっており、連携できるサービスも多い。

ただ、ベンダーロックインされるし、季節的なキャンペーンとかでは、アプリ使用しない期間もサブスク費用がかかる。

Budibaseは、Bubbleの思想に一番近い感じ。凝ったUI必要なければ、ざっくりコレでなんでも作れちゃう

AppSmithも同じような感じだが、これはDBをあらかじめスキーマ定義しておかないといけないところが若干不便かな。

ToolJetはルーティングURL概念がなく、本格使用を諦めたんだけど、最近アップデートしたらしいので、そこのところどうなってるかまた確認ときたい。

他にもこの手のやつあったら、いろいろ教えて欲しい。単純に好きなので。

「こういう用途のやつ、ある?」みたいな質問も歓迎。

見つかったら追記します。

2022-05-05

anond:20220504211823

>「Cloud Firestore」「Amazon DynamoDB」「MongoDB Atlas

>↑俺、全部知らない。。。

>けど、こうしたDBは総じて高いよね?

パブリッククラウドエアプかよ

個人開発程度なら無料枠で収まる場合多いぞ

2022-05-04

個人WEB開発を15年くらいやってる者ですが

この記事を見てびっくりした。

https://laiso.hatenablog.com/entry/nope-sql

個人開発のコストDB次第」

まずビックリしたのは「DBってそんなにお金かかる?」という点。

もちろんDBストレージCPUメモリを食うのは分かる。

でもVPSならそんなにコストからんだろう?

俺は1日100万PVほどのエロサイト運営しているが、WEBサーバ1台、DBサーバ1台、画像サーバ2台で動いているぞ?

VPS4台で月額6000円くらい。

次にビックリしたのは、個人開発なのに難しそうなDBサーバを使っている事。

「Cloud Firestore」「Amazon DynamoDB」「MongoDB Atlas

↑俺、全部知らない。。。

もちろん、こうしたDBサーバ必要性は分かるのよ。

稼働率、安定性、拡張性などなど。

でもそれって、大規模サイト向けじゃない?

そもそも個人開発で必要なの?

個人サイトでそこまでシビアになる事ある?

そりゃー、本業でこうしたDBを使っていて、それを個人でも~、ってのは分かる。

けど、こうしたDBは総じて高いよね?

ふつうVPSでよくない?

最後ビックリしたのが「安いSQL」が、全然安くない点。

>Render $7/month〜

Fly.io $6.88/mo

>PlanetScale $29/mo

>Supabase $25/mo

比較先として Heroku $25/mo

うん高いね😂

VPSでよくない?

そもそもだけど、個人サイトの初期なんて、VPSですらオーバースペックじゃない?

ふつうさくらレンタルサーバでよくない?

まとめ

やたら難しそうなDBが増えたよね。

なんだかカッコいいし、業務必要だし、トレンドなのはわかる。

けど、個人サイトにおいて「それが最適なの?」と言われると、95%くらいのサイトで「違うよね」となる。

個人サイトなら「さくらVPS」「conoha」「さくらレンタルサーバ」などで事足りる。

アダルトなら「GMOVPS」もしくは「mixhost」。

十分じゃね?

追記

あと、「メンテナンス時間コストトレードオフも」って書かれてたけど。

DBメンテナンスって何かある?

バックアップとか?

それならcronで自動化しとけばよくね?

俺は、DBメンテナンスって意識するほどしたことない。

ほっといても勝手に動いてくれる。

2022-03-18

何故パスワード文字数制限があるのか

仮説1:平文保存している

DB設計する場合パスワードカラムを何文字にするか決めなければならない

MySQLならvarchar(10)みたいな感じだ

これを最大2万文字かにできなくもないが、DB容量を圧迫するといった理由で8文字10文字限定していてもおかしくはない

MongoDBのようなオブジェクトDBなら別だがSQL系のDBならこの理由が最もあてはまりそうに思う

同様の理由文字種にも制限をかけてそう(UTF-8とか送られたら面倒)

仮説2:テストができないか

境界テストとしては最大文字数を試さないといけないが無制限だとそれができなくなる

100文字テストするとなると、仕様としては100文字限界ということになって文字制限をかけることになる

ただ、それなら8文字とかで制限している理由として弱い気がする

仮説3:過負荷の防止

制限ということは極端に言うと1GBのパスワードを受け付ける、ということになる

1GBのハッシュ値計算するのはブラウザ側になるのだが、1GBのハッシュ値計算が重くて使えない、という苦情が来るかも知れない

ただ、これも1000文字かにしてしまえば良くて、8文字にしている理由にはならない

仮説4:何も考えていない

ウォーターフォール実装する場合に上位レイヤでの仕様を決めるのはプログラマーでない場合が多く

定型エクセル仕様書に「パスワードの最大文字数」というセルがあって、そこにデフォルトで8という数字が入っている

上位レイヤで仮にそこに100とか1000とかの数字を入れたとき、下位レイヤで何が起こるかわからない

仮に何か起きた場合は書いた人の責任になるから触らない

触らないことで問題が起きてもその人の責任にはならない

まりそこに8と書いた人が現代にいるのではなく、誰も決定していないか文字制限が起きている

下位レイヤでの実装側は平文保存の危険性を十分に理解しているのでハッシュ値(とソルトなど)を格納する

多分、仮説4だと思うが、仮説1でないことを信じたい。

2022-01-26

cURLlog4j問題質問がされる件

オープンソースcURLの作者、某大企業から「24時間以内にこの質問に答えるように」との無礼なメールを受け取る - Publickey について思ったことをつらつらと。

概要

log4shell と呼ばれる脆弱性が 2021 年 12 月にあった。これは Java というプログラミング言語プログラムする際に、動作ログを記録するのに非常によく使われるライブラリ log4j にとても危険脆弱性があった。なにがそんなに危険かっていうと

マインクラフトサーバが乗っ取られたとか被害も有名。詳細は Piyolog さんの Log4jの深刻な脆弱性CVE-2021-44228についてまとめてみた - piyolog あたりを参照。

そんなわけで即座に影響範囲脆弱性のない新しいバージョンになっているか調べろ!って IT 関連企業はとてもバタバタしていた。

という背景の中、オープンソースソフトウェアである cURL の作者にとても失礼な log4j問題に関する質問メールが送られてきて、「サポート契約すれば即座に教えてあげますよ」ってかっこいい返しをして盛り上がっている。

cURL とは

cURL (https://github.com/curl/curl]) はオープンソース(以下 OSS)の通信ライブラリコマンドラインツールLinux などのサーバからファイルダウンロードしたりするのにとてもよくつかわれるライブラリ

C言語で書かれている。

ライセンスMIT を参考にした独自ライセンス https://curl.se/docs/copyright.htm]

つっこみどころ

OSS基本的に無保証提供される。そのことはライセンスに明記されている。

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

そんな OSS に対して、

あなたがこのメールを受け取ったのは、■■があなたが開発した製品採用しているためです。私たちはこのメールあなたが受け取ってから24時間以内に、お読みいただいた上でご返答いただくよう要求します」 

といった上から目線メール開発者に送るというのは、IT 企業として無知にもほどがあるといったところ。加えて log4shell 問題名前のとおり log4j脆弱性なので Java でかつ log4j を使ってなければ影響はないのに、C言語でかかれた cURL に問い合わせているので問題を全く理解していない。(Java の j が消えるので log4shell という命名はどうなんだというのは個人的にある。つーか Poodle とか Spectre とかファンシー名前つけてあそんでんじゃねーとも思う。)

しかも緊急性の高い脆弱性に今ごろ質問?って感じ。

なお cURL はどうやら開発者Daniel Stenberg 氏が wolfSSL というところを通じて商用サポート提供しているらしい。 https://curl.se/support.html]

ということで、「サポート契約を結んでいただければ、喜んですべて速やかにお答えしますよ」 というのはネタでもなんでもなく、普通対応

でもこの返しかっこいいしあこがれちゃう

そしてブログに書いてある2回目の返信で、David名前を間違えられたのに対して、Fotune 500 の巨人ということで "Hi Goliath," と返しているのも最高にクールですね。

なんでこんなメールが送られてくるのか

あくま経験想像だけど

こういうフローが事前に規定されていて CVE とか問題が検知されると発動する。このとき担当大丈夫です!って回答するときエビデンス証拠)を求められるのだけど、クソな情セキは自社の担当言葉を信用せず、開発会社からの言質をとれ!って命令するので、くそメールスパムされるという背景があったりする。(担当無知だったりイケイケだと、とにかく下請けやらせればいいというパターンももちろんある)

そして情セキも経営層に報告するのに必要で、経営が0リスク信者だと報告が大変なのはわかる。わかるがそれを説得するのが情セキの仕事やで。

加えて担当レベルになると大手は「そんなん下請けやらせればいいだろ」ってマインドのところが多く、上から目線かつ丸投げすることが多いように思う。

理由

もちろん担当者はピンキリからこうとは限らないけど比較的多い印象。

ま、これ今回 Daniel Stenberg 氏が公表たからばずってるだけで、日本でもしょっちゅう行われているし、Hacker News みると海外でも一般的ムーブのようです。 LogJ4 Security Inquiry – Response Required | Hacker News

ほんと IT 業界地獄だな!

小さいところは

とかであんまり上から目線でこない感じはするけど、これはあくま個人資質なのでやべー人はやべーです。オラオラ系の中小とかやっぱいます。でもこんな細かいことはあんまり聞いてこない。(個人の感想です

この手のメールになんでカチンとくるのかって言えば

ということで、皆ちゃん保守サポート契約して、契約範囲質問しような!

そして金払ってても相手人間なんで、お互い敬意をもって接しような!

その他諸々

Public Key でこの件にからめて記載されている奴について

OSS「faker.js」と「colors.js」の開発者自身ライブラリ意図的改ざん 「ただ働きはもうしない」

https://www.itmedia.co.jp/news/articles/2201/11/news160.html]

ちな、これ詳しくないんだけど、OSS 作者が 「もうただ働きで支援をするつもりはない。これを機に、私に6桁ドルの年間契約書を送るか、プロジェクトを分岐させて他の人にやってもらうかしてほしい」 というのもよくわからないんだよなぁ。

火事財産失ってむしゃくしゃしてやったのかなんなのか。人気 OSS になったのに全然金にならんぜ!ってのが辛いのはわかる。が、OSSライセンス的に支援義務としてやる必要はないので、そんな義務的になってる報告は無視してええんちゃうんと思ってしまう。今回みたいにサポートフィーよこせみたいなスキーム必要だったのかもしれない。

あと個人開発で、善意でこれ便利だろ?って公開しているものに対して、辛辣言葉の心ないバグ報告やら改善要望は心には刺さるので辛いのはある。それで辞めてしまう人も居る。

ブコメフリーライドって書いている人が居るけど、MIT ライセンスでだしてんだから OSS理念である自由ソフトウェアという意味で、再配布、改変、利用は自由でいいんだよ。イヤなら MIT 以外のライセンスでだせばよい。古くは MySQL の Dual ライセンス最近Redis とか Mongo みたいに。

ただ、金欲しいとか大体 Donation 募集したりするとかやってると思うんだけど、そういうのもあったのかなかったのかがよくわからにぃ。ポートフォリオになるので、採用にはつかえるんじゃないのかね?

じゃなきゃ GitHub に Public でコード公開しないと思うんだけどな。いまいちピンとこないのであんまり言及しない。

RedisMongoDB、Kafkaらが相次いで商用サービス制限するライセンス変更。AWSなどクラウドベンダによる「オープンソースのいいとこ取り」に反発

https://www.publickey1.jp/blog/19/redismongodbkafkaaws.html]

で、商用ライセンス問題。これ今回のくそムーブ問題じゃないのここに並べられるのに非常に違和感がある。なんか OSS大企業対立を煽るようなミスリードを誘っているように感じてしまう。

大手クラウドベンダOSSライセンスに則って利用・改変するのは問題がない。つーか儲かってるから金よこせっていうのはちょっと違うんじゃないかなと思う。

オリジナルを開発した会社リスペクトされず、商業的に儲からないってのは、心情的、道義的、人気的にどうなの?クラウドベンダも金払ってあげれば良いんじゃないの?とは思うよ。(2社は協業したけど)

ただ、オープンソースで公開するということは次のような利点を求めてするこって、それがイヤならプロプラで良いわけさね。

Apache License 2.0 とかのライセンスOSS として公表しているものの利用をフリーライド表現するのも、それがなんか嫌儲Evil ってのはちょっと判断できないかなぁ。

大手が自社でメンテできてしまう(できるようにする)というのは経営戦略であり、開発元がクローズにするってのも経営戦略。罵り合い合戦ちょっとなぁという感じ。

OSS理念的に改修した分は元のソースもっとフィードバックしろよってのはあるけど AGPL とかで出してないんだよなぁ。

この辺は賛否両論色々あるので気になったら調べてみて。

以上。ご査収ください。

2021-02-12

NHK取材に来るの一言で、社内のおっさん・・・

DynamoDB VS MongoDB vs keyvaluestore VS ただのPythonスクリプト(数行)

  

                             ↑何も考えずにベタに処理してS3からStore/Loadするだけのスクリプト@とおりすがりのプロの犯行

 

                   ↑ よくわからない すごいの

 

         ↑ オープンソースですごいやつ 

 

  ↑ 天下のAmazonさんのAWSの超すごいやつ

2019-04-17

若者応援おじさんの思い出

https://twitter.com/MAEZIMAS/status/1113114798672113665

若者説教する老害は二流。

一流の老害は「君たちこそが真のニュータイプだ」とか言って、若者自分既得権益確保のための鉄砲玉にする。

…いやマジ本当に、若い人気をつけてね。若者説教おじさんは、せいぜいまだ極限の不愉快ですむけど、若者応援おじさんに乗せられると最悪人生詰むので…

というツイート流行っているので、私が遭遇した若者応援おじさんについて書こうと思う。

当時の私は親との折り合いがつかず、学力もそこそこあったし、勉強もしていたのにも関わらず大学に進学せずにフリーターをしていた。実家を出たかったし、大学にも進学したかたから金の工面が当面の目標だった。そんなとき出会ったのが若者応援おじさんのAさんである。Aさんはバブルの頃に就活をしていて、まだインターネットやパーソナル・コンピュータというのが流行る前から電子工作プログラミングをやっていた人だった。実際、経歴を聞いてみると10回以上転職を繰り返しているものの、有名企業(今にして思えば、カビ臭いSIerだが)で部長をしていたことがあって、年収が1700万ぐらい稼いでいたこともある人だった。

最初出会ったとき自分が如何にすごいかということを熱心に語っていた。80年台後半ぐらいのコンピュータ開発の大型プロジェクトに関わっていたとか、セキュリティ専門家とか、今までに触ったことのあるプログラミング言語が300個を超えるとか。でも、当時の技術的なトレンド(MongoDBRuby on Rails、AngularJSとか)についての知識が限りなく少なく、「フレームワークなんてその場で覚えればいい」みたいなタイプだった。中学生の頃にラジオ工作したとか、はんだごてで電子回路設計したとか、そういう話は熱心にするのに、Bram Moolenaarの名前を知らなかったりした。要は、最近プログラマがどういう関心やインセンティブプログラミングやってるかを知らずに、過去の栄光を語ってるようなタイプだったと思う。

まぁ、それでも、その人のコネで中規模程度のSIer入社して、そこそこいい感じの待遇だったように思う。当時の私の技術力は『わかりやすJava入門』『たのしRuby』を一通り終わらせて簡単言語仕様を把握したぐらいでろくにコードも書いたことのないような人間だったから、定時で帰れて手取り二十万もらえるのは甘い汁を吸えたとは思うんだ。

でも入社を決めた一番の理由が、そのAさんが私の関心に理解があると思っていたからだ。というのも、当時の私は「人工知能人工生命に興味があります。三年後に大学入学するまでにプログラミングスキルを磨きつつ生活費学費を稼ぎたい」ということを明言した上で、それを叶えてくれる会社を探していた。技術力はないものの、「自頭がいいか入社してからプログラミングを覚えればすぐに戦力になるよ」と複数人間から言われていて、それぞれ就職先を紹介してもらえるような状況になっていた。今から思えば、そんなコードを書けない人間を自頭なんて胡散臭いもので褒めるような人間は信用してはいけないと思うし、口車に乗せられたと思うのだけど。そこは自分にも甘いところがあったように思う。あ、あと、補足しておくと、当時はDeep Learningなんていうのは全く人口膾炙してなかった時期で、スチュアート・カウフマン金子邦彦に憧れてたような、周回遅れの複雑系に魅せられた若者が私だった。

駄文を書き連ねてしまったが、要は

①親との折り合いが悪く、大学に進学したいが、金が足りない

実家を出るために生活費を稼ぐ必要があったが、飲食バイトとかではスキルが身につかない状態で、価値の高い若い時間無駄にしてしま

③そんなところに現れたのが過去の栄光を話す若者応援おじさんのA

自分殆どコードを書いたことのない業務経験で、21世紀になっても複雑系の話に興味をそそられるような斜に構えたスノッブ

という状況設定理解してくれればいい。

では、入社後の話をしよう。私が配属されたプロジェクトは80万行程度のJavaコードで動いてるBtoB向けの製品保守開発してるプロジェクトだった。やってることはGoogleAmazonMicrosoftみたいな大手ならやってるようなサービスの完全下位互換みたいなソフトウェアを、情弱だけど社員数は多いみたいな企業に売りつけるような仕事だ。国産とか、セキュリティとか、そういうよくわからない言葉を並べ立てて、海外UIも洗練されていて、優秀なエンジニア管理してるものセキュリティ的に怪しいと不安煽り立てて売りつけるようなやつだ。そんなクソみたいな製品でも年間5億円ぐらいの売上になるのだからIT系って糞だなって思う。ネット上では優秀な人間ばかりがアウトプットしてるし、NDAの名の下に詐欺まがいのソフトウェア(今回の例なら無料UIも洗練されていて、使いやすサービス)が明るみにならないのだから、こんな国はさっさとスクラップ・アンド・ビルドすればいいのにって思うよ。IT化されてないのが時代錯誤で〜みたいな記事ネット上でもバズるけど、実際には10年前のスパゲッティコードを惰性と不安につけ込んで売りつけるようなSIerがたくさんある。そんで、そんな意味不明ソフトウェアを導入すれば、どこに何があるのか分からないUI操作に大切な業務時間を奪われて、日本全体の生産性が落ちてしまう。ユーザー時間生産性を奪い、開発者にとっても技術負債しかならないようなソフトウェアを売りつけてる悪性腫瘍みたいなSIerはさっさと滅んでしまえばいいと思うよ。

まぁ、私が配属されたプロジェクトはそんな感じだ。まるで意義を感じないが金にはなってるプロジェクトに配属された。そのプロジェクトの根幹部分は一人のエンジニア設計開発しており、そのエンジニアは既に退職して、どこに何が書いてあるのかわかってない人間が後任として保守を行っている。盲腸みたいに全く有難みのない機能を増やすことでより高く売りつけるようなプロジェクトだった。

そのプロジェクトの中にいる人について話そう。プロジェクトマネージャー仕事漬けで毎月350時間ぐらい働いている60連勤とか当たり前で、常に酔っ払ったような、眠そうな目をしてる人だった。にも関わらず、同じプロジェクト人間仕事がなさすぎて業務時間中に関係ない談笑をしたりしていた。プログラマテスター文書作成をするスタッフが40人ぐらいいるところで、閑散期(機能追加のサーバーリリース前以外)は暇そうにしてる人が多かった。プロジェクトマネージャーを除いて。要は、PM一生懸命働いているが、その一生懸命さは惰性で行われており、無能なのに業務時間が長いPMがいて、その人が全部仕事をやってしまう。他人に頼めない性格らしくて、存在意義が分からない業務他人に頼んでは「なぜこんなこともできないんだ?」って怒鳴るのが生きがいみたいな人だった。頑張ってることがアイデンティティになってて、その頑張りに意味があるのか、必要なのかという吟味ができず、タスク他人に振ることもできず、情報もそのPM一人だけが握っているから、周りの人も「私が仕事を請け負いましょうか」ということもできない。それで新入社員をイビるような存在意義のわからない仕事を振って、できなかったら人格否定をするような感じの。

私が受けた仕事ととしては、週に1回ベンダーのところに会議をしに行くんだけど、そのときの社内の資料を全部紙でプリントアウトして持っていくというのがあった。文書作成スタッフ製品仕様Wordでまとめて、600ページぐらいのpdfにしたものが1500万円ぐらいで売れるらしく、その増えた言語仕様プリントアウトしてベンダーのところまで持っていく。追加された仕様以外にも、今週やったテスト内容をExcelで纏めたものプリントアウトしたりしていた。紙の量で言うと、一回の会議で2500枚ぐらいで、それをキャリーケースに詰めて客先であるベンダーまで持っていくらしい。聞いた話では、その2500枚の会議資料殆どまれずに捨てられるのに、そのPMベンダーにその慣習を廃止しようとは提案しない。ベンダーとの週一の会議の他にも、進捗報告を主とする社内会議があって、PM以外の人はあのプリントアウトする悪習は廃止すべきという話が上がっているのにPMが首を縦に振らないから一向に改善されない。まぁ、そのプリントアウトするのをやるのが私の仕事だったわけですよ。毎週4時間ぐらい掛けてWordExcel文書サイズとか調整してさ。元の文書サイズや余白が狂ってるのに、客先に失礼だと言われて、手直しして、プリントアウされたコロコロコミック何冊分だよ? みたいな紙の束をホチキスで止めていくんだけど、ホチキスの止め方が汚いとやり直し。

じゃあ、なぜPMは頑なに意味のない業務をし続けて、それによって新入社員を使い潰そうとするのかと言えば、弊社の業績が悪くて倒産しそうだったときにそのベンダーが手を貸してくれたからそのときの恩義があるとかなんとか言っていた。だから、靴を舐めるようなことをするし、他人生産性を奪うようなクソ製品を世の中に出して何も感じないらしい。読みもしない産業廃棄物を作り出して、それを無碍にされて喜んでいるような業務が、今の日本の何割を占めているのだろう? そのPMの口癖は「俺はプログラミングは全くわからないが、こんなプリントアウト段取りもできないようなやつはプログラミングなんてできないと思うよ」だった。FizzBuzzどころか変数関数すら知らないような人間にこんなことを言われるのは屈辱だったし、これが高卒経験就職することなのだろうと思った。

他にも、私が受け持った仕事に、製品が動くかどうかを確認するテスターという仕事があった。RSpecSelenium自動化しようと言っても、そんな技術を持ってる人がいなかったから、一々自分でその製品を触って仕様通りになっているか確認しないといけなかった。画面遷移が600ページのpdfになっているから、それを見ながら正しい画面遷移ができているか確認する業務だったが、正直人間のやる仕事ではないと思う。画面遷移だから前のページから次のページに移行したときに前にどのページだったなんてスクショを撮ったぐらいじゃわからないのに、「このテストExcelにした内容じゃ、本当にテストしたのかわからないだろう?」と言われた。言われたとおりにExcelファイルスクショをひたすら貼り付けていたというのに。しかも、その他にも特定ファイルアップロードするときにどの条件だとアップロードができないか判別するテストをどうやって行うのか考えろというのがあった。今までにテスターをやっていた人に聞いても指針なんてないと言われ、「賢い人はそういうのを考えつくものだ。俺はパソコンに詳しくないが」とPMに言われ、嫌気が差した。

まぁ、ここまで書けば、如何にブラックと言うか、理不尽で不合理な職場かというのはわかったと思うけど、いい面もあったんだ。前にも書いたように、未経験高卒手取り20万貰えたのは嬉しかったし、研修のない会社だったから、最初の二ヶ月ぐらいは一人で勝手勉強しててと言われたから、実働換算で時給3000~4000円ぐらい貰える計算だったのかな。一番瞬間時給が高かった日はメールの返答に20分ぐらい使ったときだったから、日給1万、実働換算の時給が30000円ぐらいになった。それぐらい放任されていた。

最初社長が「君にはソースコードUMLを書いてもらおう」とか言って、クラス図を書く練習をしていたんだけど、現場の人は「今更UMLなんて必要ない」「ソースコードを読めばわかる」と言って、全く必要とされていなかった。だから業務とは関係ないTCP/IPRubyGit勉強をしていた。家のことで勉強に対してモチベーションが落ちていた私は、金を貰えるという環境では目の前の勉強に集中できるようになって、元の勉強するための生活リズムっていうのか、そういうのを取り戻せた。それは当時の私にとっては有難かったと思う。

ここまでをまとめると

無料で使えるサービス下位互換といえるような、他人生産性と金無駄にするような製品を開発してるプロジェクトに配属された

PMけが忙しく働いて、周りの人の割り振りができていない。

PM多忙なのはしなくていい仕事を引き受けているだけ。

社会悪のようなソフトウェアを売りつけて金を稼いでいるプロジェクトだった。

仕様書やテスト内容のプリントアウトという必要ない業務をしたり、指示内容と叱責内容が矛盾する理不尽を受けなければならなかった。

しかし、勉強してるだけで月20万貰える環境は有難く、当時の私にとっては願ったり叶ったりだった。

では、次に私がその会社入社から辞めるまでの経緯について書こう。最初のうちは、自分勉強時間を取れていたし、振られる仕事理不尽で意義を感じられないものであるものの、すぐに終わることが多かったか問題ないと感じた。それが徐々に仕事が増えていき、勉強時間が取れなくなっていった。

ここで若者応援おじさんAの登場である。Aさんは私と会ったときは有名企業に勤めていて、そこを辞めて私を紹介してくれた中小企業で働き始め、その数カ月後に私を紹介してくれた。元々、その会社社長とは懇意にしていたから、一緒に働こうという話が何十年も前からあって、今回ちょうどタイミングが合ったから、その友人の会社の重役として就職したらしい。私が就職したのはその数カ月後だった。

Aさんは「何か問題があったら、部下や上司という立場を気にせずに忌憚なく言ってほしい」「俺は人を見る目はある方だ。君は一本芯の通ったところがあるから、周りに流されずに新しいことをできるだろう」「君には将来性がある」「俺は新しい会社でも権力を持ってるからへんなことを言ったり、したりしてる人がいたら遠慮なく言ってほしい」とかそういうのを入社する前に言っていて、まぁ、色々とおかしいところ、FAKE野郎みたいな発言が多かったけど、そこだけは信じてたんだよね。本当に騙すんだったら、そんなすぐに辞められるようなリスクを上げるような発言はしないだろうってさ。ちなみにFAKE野郎って感じたのは、一方的自分の話だけをして、私が質問すると煙に巻いたり、私のことを買ってるという割には私の話をすぐに中断させて自分の話をし続けるとか。その人はFラン出身だったから、ちょっとインテリなことを言うと「君は変わってるね」って言ったり、きょとんとした顔で10秒ぐらい固まった後、すぐに自分の自慢話を再開したりと、決して自分の知らないことや分からないことを認めようとしなかった点だ。他にも、「私と働きたいと言ってくれていた会社はあったけど、そこは技術的に成長できそうだけど給料は月7万程度でバイト身分から、迷ってるんですよね。バイトから自由時間は多く取れるんですけど」みたいな発言をしたら、鳩が豆鉄砲を食ったような顔をして、私が感じていた不安を取り合ってはくれなかった。Aさんは「俺は社内で影響力を持っているから、君を正社員にすることもできる」みたいな話を延々としてたのに、いざ蓋を開けてみると、「君の面接での受け答えが駄目だから契約社員として雇用することになった」「あれから上層部に渋られてしまって、請負契約にすることになった」と話が二転三転していった。だったら、他にも選択肢があったのに、他のところに就職したのにと思ったが、自分能力や経歴で負い目を感じていたから強く言うことはできなかった。高卒就活するというのはそういうことだ。他にも選択肢があるのにも関わらず、どうせ労働に関する知識がないと足元を見られて、条件を徐々に下げられ、他に選択肢をなくした後で、悪い条件で働かざるを得ない状況になっていた。結局、勤務時間タイムカード管理されてるのにフリーランスとして請負契約を結ぶという偽装請負契約させられ、もっと技術力を磨ける選択肢は潰されてしまっていた。

私は会社問題点を丁寧に分析してpdfにまとめてAさんに送ったんだ。それが間違いだった。如何に会社がそのベンダーに良くしてもらったか、大変なのをわかった上で俺たちが会社を立て直してきたかということばかりを話していた。百歩譲ってそこはいいとしても、ベンダーとは関係なく職場環境を良くするための話までいい加減に聞かされてうんざりしていた。

「Aという問題があります。その背景にはBがあります。そのためにはCという解決策があります

という話をしたときに、「Bぐらいみんな当たり前にしている。君だけ特別扱いすることはできない」みたいな返し方をされて、問題が発生してる事自体はないものとされていった。結局、職場にはびこる不合理で理不尽業務ルール改善することはなく、私への人格攻撃で終わってしまった。

毎日どうでもいい作業で疲れ切って勉強時間が取れなくなってしまった私は、最初出会った頃のAさんの言葉を信じて、「私が本当にしたいことは、仕様書やテスト時のスクショプリントアウトしたり、よくわからないテスターをやったりすることではない。このままでは、プログラマとしてのキャリアを積むための勉強時間を作ることもできないし、業務内でコードを書くこともないか業務時間を短くしてほしい」と言った。少なくとも、最初Aさんと会ったときは、「君には人工知能Permalink | 記事への反応(1) | 23:52

2018-10-24

MongoDBかいうやつ解説ユニコーン出てくるの好き

でもタイプミスすると新しいカラム作っちゃうの困るよー

2014-10-06

MEAN(MongoDB, Express, AngularJS, Node.js)を解説する

MEAN(MongoDB, Express, AngularJS, Node.js)を解説する

前に触った感想です。

MongoDB

基本いつのまにか変更されて変な動きして死んでる前提で、動く/戻せる環境構築できない奴は死ぬ

Express

基本いつのまにか変更されて変な動きして死んでる前提で、動く/戻せる環境構築できない奴は死ぬ

Node.js

基本いつのまにか変更されて変な動きして死んでる前提で、動く/戻せる環境構築できない奴は死ぬ

AngularJS

基本いつのまにか変更されて変な動きして(エンジニアが)死んでる前提で、動く/戻せる環境構築できない奴は死ぬ

http://albatrosary.hateblo.jp/entry/2014/10/06/073638

2014-07-22

http://anond.hatelabo.jp/20140722001658

有益な話だし、GPL関係でググってこのページを見た人のために勝手に補足と個人的な疑問を放流してみる。

適当に調べてた知識を記憶をたよりに書いているので、間違いがあれば容赦なく指摘して欲しい。

# どうでもいいけど、元増田の話でOSLinuxだったりしたら笑うw

WEBシステムを閲覧した人がソースコードをよこせと言えるライセンスはAGPL

GPL元増田で書かれている通りで、WEBシステムを閲覧しただけではソースコードを請求することはできない。RMSらもこれには気づいていて、この穴を塞ぐためにAGPLというライセンスができた。このライセンスソフトウェアを利用した場合WEBシステムであろうと利用できる人はソースコードの請求を行えるようになる。

これは別にWEBシステムに限らず、ユーザーが何らかの形で利用できるシステムなら、ソースコードの請求が行える。

MySQLを利用したからといって、スクラッチ開発したソフトウェアライセンスGPLになるわけではない

申し訳ないが詳しい所は知識不足でよくわからない。だけど、下記の記事の通り現在の開発元のOracle見解である。すなわち、MyODBC(GPLMySQLODBCドライバ)を使わずGPLでないドライバを用いて接続してしまえば、開発したソフトウェアGPLにならない。

http://plaza.rakuten.co.jp/matsunopage/diary/201011300000/

# 個人的にGPLRMS著作権Hackなら、OracleのコレはGPL Crackだと思っている。「GPL汚染が嫌なら有償ライセンス契約しろ」と言われた話を聞いた事があるからだ。

GPLライセンスされたソフトウェアの改変に関わったプログラマコードを持ち帰れるかという問題

おそらく持ち帰れないのではないかと思う。なぜそう思うかというと、普通プログラマが書いたコード著作権会社に取られるし、GPLライセンスされたソフトウェアを受け取ったのは会社であってプログラマ個人ではない。GPLライセンスされたソフトウェア物理的にもっていく事は可能でも、きちんとライセンスを受けた訳ではないので機密情報漏洩しかならないと思う。

GPLライセンスしたソフトウェアプロプライエタリに戻せるか

単純な興味なのだけど、例えば最初GPLだったが途中からプロプライエタリ(ないし、GPL互換ライセンス)に変更可能なのか知りたい。個人的な考えでは、著作権者全員の合意がとれれば可能という結論。著作物GPLに書かれた通りに扱ってよいとしただけで、著作権者によって著作物の扱い方は変更可能だという考えから。無論、GPLライセンスされたプログラムを受け取った人はソースコードの請求は依然として可能。

参考

http://nippondanji.blogspot.jp/2010/06/gpl.html

http://d.hatena.ne.jp/karasuyamatengu/20110126/1296004598

おやすみ

追記

http://anond.hatelabo.jp/20140722142248

なんで、グレーなのか。なんで、無理なのか。どのような考えでグレー、無理という結論を出しているのかきちんと書いてもらえますか? 私の考えが間違っているならなぜ間違っているか指摘していただけますか? あるいは、下記の増田さんのように具体事例を出してもらえますか? プロプライエタリに戻せないというのなら下記の具体事例はどのようにお考えですか?

http://anond.hatelabo.jp/20140722071548

http://anond.hatelabo.jp/20140722143245
FOSS除外規定のところ

開発したシステム<ー>PHP<ー>MySQL

とした場合に、PHPを飛び越えて(間接的にしか接続していないにも関わらず)開発したシステムGPL適用されるということですか? その場合PHPにもGPL汚染が発生するということになると思いますが、間違いありませんか?(FOSS除外規定を設けているのはMySQLであって、FOSS除外規定無関係な開発したシステムGPLになってしまうと、開発したシステムからGPL汚染が発生するという考えから。)

失礼、下記のパラグラフには誤りがあったので修正しました。

元のパラグラフは下記の通りです。

あと、MySQLデータベースサーバ接続しただけではGPL汚染は発生しません(AGPLはそのためのものなのは前述の通り)。また、PHP接続するクライアントになりますよね。ということは、MySQLと一緒に開発システムを一つのパッケージとして納品しない限りはGPL汚染は発生しないのではないでしょうか?(WEBシステムでそんなこと普通しませんよね。yumとかでインストールするし)

根本的な問題として、FOSS除外規定GPLソフトウェアと他のFLOSSをリンクする際の問題を解決する物であって、MySQLデータベースサーバ接続する場合には関係のない話だと思います。おそらく、問題だとお考えなのはPHPドライバOracle製のGPLプログラムリンクしていたためPHPドライバを利用すればそのような問題が発生するという事だと思います(さらに追記。この通り書かれていますね。よく読んでおらず、失礼いたしました)。現状、PHPライセンスとなっているMySQL Native Driverを利用すればそのような問題は発生しないはずです。

http://php.net/manual/ja/mysqlnd.overview.php


かりに、おっしゃる通り、開発システムもFOSS除外規定に含まれるFLOSSにしなければGPLになってしまうとした場合、それはMySQL独自の問題であり、他のFLOSSに一律で当てはまる問題ではないということでよいでしょうか? なぜこのような質問をするかというとMongoDBが同じような問題を抱えているからです。下記のURLの通り、MongoDBのコアサーバはAGPLですが、ドライバApache licenseを適用し、開発システムにAGPL感染が発生しないようにしています

http://www.mongodb.jp/mongo/licence

上記の様なケースにも実用的に対応する為、(AGPL採用しつつも)我々はあなた方の(MongoDBを利用する)クライアントアプリケーションは(MongoDBとは)別物扱いする事を約束します。これを円滑に行う為、mongodb.orgサポートドライバーあなたアプリケーションリンクする部分)はApache licnese(コピーレフト)の元公開します。


返信お待ちしております

冒頭に書いた通り、間違いがあれば容赦なく指摘してください。

また、具体事例を上げていただいた増田さんありがとうございました。

2014-04-03

社会的技術負債をなくすには

社会的技術負債をなくすには

動的言語は使わない。

動的本をすべて捨てる(人の手に渡るような捨て方はしない ちり紙交換がよい)

動的DBは使わない。リレーションのない動的DBは使わない(mongoDBNoSQL系)

動的オープンを紹介してくるメデイアのステマ気づき騙されない

動的オープン無料育成研修セミナーには行かない

Silerが勧めてくる技術独立できない技術からやらない 関わらない

職務経歴書黒歴史(PHP Java JavaScript Ruby RoR Html5)を書かない

マニアックオープンソースは拾ってこない 広めない

Jser Phper Rubistにならない 奢らない

PHP Java JavaScript Ruby RoR Html5仕事は請け負わない

技術負債をなくすには

C# Objctive-cだけ使う

VisualStudio Xcodeだけ使う

VisualStudio Xcode機能をフル活用する

WindowsServerを使う

一定シェアを獲得したDBを使う

デザパタを覚える

コミュニケーションOffice 365 redMine,イラレGit Svnを使う

動的言語をこれ以上広げるな 罪を重ねるな 脆弱性をばら撒くな トラブルを撒くな

セキュリティに問題のある動的言語はどこにいってもトラブルになる

原発システムRuby,RoR,PHP,JavaScriptを使いたいと思うか?Silerはなら提案してくるだろう儲かるから

使えば必ず原発はハックされる

C# ASP.net2007年から海外では大流行だった 一方日本メディアは盛んにLAMP!LAMP!RoR!RoR!煽っていた

C#(静的言語)は14年前のソースが今でも使うことができる。VisualStudioにはソース自動バージョンアップ機能があり書き換えてくれる。 コード負債にならない コンパイルバグがわかる DLLバージョンをチェックしてくれる ブレイクポイント リモートデバッグ

動的言語オープン系は 手作業で直す どこにバグあるか実行しないとわからない 脆弱性が出るたび バージョンアップ機能追加のたびに修正することになる リファクタが使えない 負債言語

>14年前のソースが今でも使うことができる

この数字を見て動的言語関係者はびっくりしているだろう。 14年前のPHPソース 使えると思うか?関係者は首を横に振るだろう。時間と人手をかけて改修すれば使えるかもしれない(多くの場合作り直したほうが安上がりという結論になると思うが) 脆弱性仕様変更がたくさん埋まっているソースだ 修正には手間と時間予算がかかる

C#なら一瞬で最新の.netフレームワークバージョンに書き換えてくれる。エラーや警告の表示も一緒に出力されるから手直しが簡単

PHPを捨てたほういい理由

http://apps.wiki.fc2.com/wiki/PHP%E3%82%92%E6%8D%A8%E3%81%A6%E3%81%9F%E3%81%BB%E3%81%86%E3%81%84%E3%81%84%E7%90%86%E7%94%B1

今はRoRステマが醜くそれに騙されて使ってしまった人がいるが、今後、仕様変更バグ脆弱性は出続け、そのたびに全ソース検索し手動で手直しをしなければならなくなる それは新しいことをやっている時に起こるだろうし、今やっている新しいことが負債に変わる。作れば作るほど負債が増え、前に進むことができなくなる言語 それが動的言語 メンテナンスが常に必要でほっとけばハックされる。保守や改修に人が多く必要中間業者は儲かるのでメディア無料育成を通して広めてくる 煽っておいて自己責任の国 日本

静的言語サーバーサイドで何がいいかというと 自分は C# Asp.net(asmx or webApi) Ado.net 接続 & 非接続のDataSet 管理.exeアプリ(C# WinForms)をお勧めする やり方

もうお分かりいただけただろうか?動的言語とはSilerが定期的に仕事を得るために広めたガラクタ言語だったということを この言語いつまでも高い稼働の保守作業が必要だ。機能追加、言語仕様変更脆弱性修正するのにお金時間もかかる Silerはパンク屋だったのだ。 メーカー製の静的言語を使えばここまで時間も手間もかからなかった。

これ以上元請けはSilerが言われるがままにガラクタ言語を導入しないほうがいいだろう。技術者はSilerが無料教育してくれるからといってガラクタ言語を学ぶのはやめたほうがいい。(洗脳されて信者になるな) 特に技術者はこの言語マスターたからといって独立はできない。なぜなら、5人以上のプログラマーが働いてやっと出来上がるものほとんどだ。手間がかかるということは自分が一番よくわかっているはずだ。言語とともに使い捨てられる運命にあるのだ。IT経営者やSilerはその方が都合がいい。こき使ってやめられても独立できないのだから。雇ってはこき使って使い捨てる。まさにIT版のねずみ講  上のしか儲からないようになっている。 それに加えて酷いピンハネ。100万で売って7割以上搾取 一人送れば70万円入る世界だ。Silerにとって開発現場炎上すればするだけよい。言語脆弱性があればあるほどいい、システムが手間が掛かるなら掛かるほどいい その分人を送り込めるからだ。その辺にいる素人適当教育して3年開発の下駄はかせて送り、現場炎上させて新たに人を送り込んで利益を得ている。

メモ

#1 PHPで改修しようにも簡単には改修できなくて、その間にハックされ情報流出すること結構あるようだ @WikiPHP

#2 2013年 Javaフレームワーク Strutsサポートが終了した こういうフレームワークをメデイアで煽っておいて最後自己責任される。オープン言語はやってはいけない

#3 これはどの業界にも言える事だが、気合い、根性気合馬鹿から組織を乗っ取られないようにするにはどうすればいいか考えないといけない。コミュニケーション社員を懐柔し組織を乗っ取った筋肉馬鹿は面倒なことを気合根性で乗り切ろうするから失敗する。日本はそのしわ寄せがまず下くるから会社が壊れる。脳筋バカは最後まで居残る。(○ーイズ、○ルマー、○ニー、旧日本軍ジオン軍タバコ室や残業特定社員を仲良くさせるからだめなんだろう 履歴書の項目が少ないのも問題なんだろう 理系体育会系,血液型,さう脳とか履歴書は書く項目が少なすぎる

#5 仕事の最終目的コミュニケーションではない コミュニケーションするコストが高いといつのまにかそれが目的に置き換わってしまう事がある。コミュニケーションの得意な奴が本当に優秀な人をさしおえて前にでてくることだってある。Office 365RedMineイラレSVNなどでコミュニケーションコストを下げることで優秀な人が大声を張り上げなくても力を発揮できる環境を作るべきだ

#6 事務仕事のツール化、自動化、ロボット化、コミュニケーションコストを低くするツールの導入で、声が大きい人や事務だけ得意な人が権力を握ることを防ぐ事が出来る

#9思えばSiler業界自分たちが儲かりがたいためにガラクタ言語(Java,PHP,RoR,Ruby,Js,Html5,Flash)に人材を誘導しすぎた。出来損ない言語の非効率生産性保守作業は社会進化が遅れ世界とのソフト技術に差がついてしまった。人材も非効率的スキルしか身に付かなかった。それしかやらせてもらえなかった。

しょーもない言語社会の発展を止め、技術者を路頭に迷せた。有益言語を一つだけ覚えさせ、いろんな業界で使い回した方が業界的にも技術者的にも幸せになれたのではないか?

C#ロボット組み込み機器,医療機器,WEB,スマートフォン,ゲーム,CG デスクトップアプリ,業務用ツール 様々なところで使う事ができるのだ。

特にロボットはMocrosoft Robotics StudioというVisualStudioロボット版の開発環境2006年から出ており、ロボット産業を発展させることだってできたのだ。(そのころのIT業界JavaLampが主)

続き

http://apps.wiki.fc2.com/

2014-03-14

社会的技術負債をなくすには

技術負債をなくすには

C# Objctive-cだけ使う

VisualStudio Xcodeだけ使う

VisualStudio Xcode機能をフル活用する

WindowsServerを使う

一定シェアを獲得したDBを使う

デザパタを覚える

コミュニケーションredMine,イラレGit Svnを使う

社会的技術負債をなくすには

動的言語は使わない。

動的本をすべて捨てる(人の手に渡るような捨て方はしない ちり紙交換がよい)

動的DBは使わない。リレーションのない動的DBは使わない(mongoDBNoSQL系)

動的オープンを紹介してくるメデイアのステマ気づき騙されない

動的オープン無料育成研修セミナーには行かない

Silerが勧めてくる技術独立できない技術からやらない 関わらない

職務経歴書黒歴史(PHP Java JavaScript Ruby RoR Html5)を書かない

マニアックオープンソースは拾ってこない 広めない

Jser Phper Rubistにならない 奢らない

PHP Java JavaScript Ruby RoR Html5仕事は請け負わない

動的言語をこれ以上広げるな 罪を重ねるな 脆弱性をばら撒くな トラブルを撒くな

セキュリティに問題のある動的言語はどこにいってもトラブルになる

原発システムRuby,PHP,JavaScriptを使いたいと思うか?Silerはなら提案してくるだろう儲かるから

使えば必ず原発はハックされる

C# ASP.net2007年から海外では大流行だった 一方日本メディアは盛んにLAMP!LAMP!RoR!RoR!煽っていた

C#(静的言語)は14年前のソースが今でも使うことができる。VisualStudioにはソース自動バージョンアップ機能があり書き換えてくれる。 コード負債にならない コンパイルバグがわかる DLLバージョンをチェックしてくれる ブレイクポイント リモートデバッグ

動的言語オープン系は 手作業で直す どこにバグあるか実行しないとわからない 脆弱性が出るたび バージョンアップ機能追加のたびに修正することになる リファクタが使えない 負債言語

>14年前のソースが今でも使うことができる

この数字を見て動的言語関係者はびっくりしているだろう。 14年前のPHPソース 使えると思うか?関係者は首を横に振るだろう。時間と人手をかけて改修すれば使えるかもしれない(多くの場合作り直したほうが安上がりという結論になると思うが) 脆弱性仕様変更がたくさん埋まっているソースだ 修正には手間と時間予算がかかる

C#なら一瞬で最新の.netフレームワークバージョンに書き換えてくれる。エラーや警告の表示も一緒に出力されるから手直しが簡単

&blanklink(PHPを捨てたほういい理由){http://www.slideshare.net/neuecc/c-22979400?v=qf2&b=&from_search=42}

今はRoRステマが醜くそれに騙されて使ってしまった人がいるが、今後、仕様変更バグ脆弱性は出続け、そのたびに全ソース検索し手動で手直しをしなければならなくなる それは新しいことをやっている時に起こるだろうし、今やっている新しいことが負債に変わる。作れば作るほど負債が増え、前に進むことができなくなる言語 それが動的言語 メンテナンスが常に必要でほっとけばハックされる。保守や改修に人が多く必要中間業者は儲かるのでメディア無料育成を通して広めてくる 煽っておいて自己責任の国 日本

静的言語サーバーサイドで何がいいかというと 自分は C# Asp.net(asmx or webApi) Ado.net 接続 & 非接続のDataSet 管理.exeアプリ(C# WinForms)をお勧めする やり方

もうお分かりいただけただろうか?動的言語とはSilerが定期的に仕事を得るために広めたガラクタ言語だったということを この言語いつまでも高い稼働の保守作業が必要だ。機能追加、言語仕様変更脆弱性修正するのにお金時間もかかる Silerはパンク屋だったのだ。 メーカー製の静的言語を使えばここまで時間も手間もかからなかった。

これ以上元請けはSilerが言われるがままにガラクタ言語を導入しないほうがいいだろう。技術者はSilerが無料教育してくれるからといってガラクタ言語を学ぶのはやめたほうがいい。(洗脳されて信者になるな) 特に技術者はこの言語マスターたからといって独立はできない。なぜなら、5人以上のプログラマーが働いてやっと出来上がるものほとんどだ。手間がかかるということは自分が一番よくわかっているはずだ。言語とともに使い捨てられる運命にあるのだ。IT経営者やSilerはその方が都合がいい。こき使ってやめられても独立できないのだから。雇ってはこき使って使い捨てる。それに加えて酷いピンハネ。100万で売って7割以上搾取 一人送れば70万円入る世界だ。まさにIT版のねずみ講  上のしか儲からないようになっている。Silerにとって開発現場炎上すればするだけよい。言語脆弱性があればあるほどいい、システムが手間が掛かるなら掛かるほどいい その分人を送り込めるからだ。その辺にいる素人適当教育して3年開発の下駄はかせて送り、現場炎上させて新たに人を送り込んで利益を得ている。

メモ

#1 PHPで改修しようにも簡単には改修できなくて、その間にハックされ情報流出すること結構あるようだ @WikiPHP

#2 2013年 Javaフレームワーク Strutsサポートが終了した こういうフレームワークをメデイアで煽っておいて最後自己責任される。オープン言語はやってはいけない

#3 これはどの業界にも言える事だが、気合い、根性気合馬鹿から組織を乗っ取られないようにするにはどうすればいいか考えないといけない。コミュニケーション社員を懐柔し組織を乗っ取った筋肉馬鹿は面倒なことを気合根性で乗り切ろうするから失敗する。日本はそのしわ寄せがまず下くるから会社が壊れる。脳筋バカは最後まで居残る。(○ーイズ、○ルマー、○ニー、旧日本軍タバコ室や残業特定社員を仲良くさせるからだめなんだろう 履歴書の項目が少ないのも問題なんだろう 理系体育会系,血液型,さう脳とか履歴書は書く項目が少なすぎる

#5 仕事の最終目的コミュニケーションではない コミュニケーションするコストが高いといつのまにかそれが目的に置き換わってしまう事がある。コミュニケーションの得意な奴が本当に優秀な人をさしおえて前にでてくることだってある。 RedMineイラレSVNなどでコミュニケーションコストを下げることで優秀な人が大声を張り上げなくても力を発揮できる環境を作るべきだ

#6 事務仕事のツール化、自動化、ロボット化、コミュニケーションコストを低くするツールの導入で、声が大きい人や事務だけ得意な人が権力を握ることを防ぐ事が出来る

#7思えばSiler業界自分たちが儲かりがたいためにガラクタ言語(Java,PHP,RoR,Ruby,Js,Html5,Flash)に人材を誘導しすぎた。出来損ない言語の非効率生産性保守作業をしている間に社会進化が遅れ世界とのソフト技術に差がついてしまった。人材も非効率的スキルしか身に付かなかったしそれしかやらせてもらえなかった。

しょーもない言語技術者に学ばせて社会の発展を止め、技術者を路頭に迷よわすよりも、有益言語を一つだけ覚えさせ、いろんな業界で使い回した方が業界的にも技術者的にも幸せになれたはずだ

C#ロボット組み込み機器,医療機器,WEB,スマートフォン,ゲーム,CG デスクトップアプリ,業務用ツール 様々なところで使う事ができるのだ。

特にロボットはMocrosoft Robotics StudioというVisualStudioロボット版の開発環境2006年から出ており、ロボット産業を発展させることだってできたのだ。(そのころのIT業界JavaLampが主)

Amazon倉庫ロボット自動システム

http://gigazine.net/news/20121231-kiva-system/

それを開発している会社採用情報 採用言語C++ C# Java

http://www.kivasystems.com/careers-at-kiva/

PHP RoR JS Rubyなんてどこにも書いていない 数年もすれば仕様が変りバグ脆弱性を出す危ない言語だとわかっているのだろう こんな危ない言語は使ってはいけない

Mocrosoft Robotics Studio

http://www.saturn.dti.ne.jp/npaka/robotics/index.html

https://www.microsoft.com/en-us/download/details.aspx?id=29081

続きはWEB

http://goo.gl/2nwGh

2014-03-06

http://anond.hatelabo.jp/20140306125206

データ構造に柔軟性を!変化を! → XMLDB

ここに、ドキュメント指向MongoDBとかCouchDB系が入ってきてる。

データ構造/表現最近プログラミング言語ハッシュマップ(or 連想配列 or 辞書)型に近くて

十分に直感的に扱えるから、わざわざ階層DBとか持ち出さないんじゃない。

2013-08-02

Sails.jsを使ってpixiv検索サービス作った

Pixearch(ピクサーチ)

http://pixearch.net/

node.jsMongoDB勉強がてらpixiv画像タグ検索サービス作りました

はてブタグ検索のようにpixiv投稿された最近画像pixiv内でのブックマーク数でフィルタをかけて検索できるのが特徴です。

検索したり、タグをたどって、ダラダラと良い絵を眺めるのを目的としています

一応スマホからも見られるはず。

普段はブログを書いたりしてないので、今回学んだことのメモがてらの投稿です。

使ったもの

MongoDBを試そうと思ったのがサービスを作り始めた発端です。

Web部分はmongoDBと相性が良さそうなnode.js採用

MVCフレームワークで何か適当ものはないかとググってSails.jsが良さそうだったので今回採用しました。

ホスティング

今回はせっかくnode.js採用したので、噂のnode.jsPaaSのnodejitsuを試しに使っています

500MB分の容量のMongoDB最初から使えるのも大きかったです。

とりあえず最小のプランにしてるのでどのくらい捌けるのか気になるところ。

作ってみての感想
Sails.js

Web開発用のモジュール自分で用意するのがめんどいなー、という人向けな印象。

このくらいの規模のものだったらサクッと作れました。

ただある程度の規模のちゃんとしたサービスを作るのには色々足りてないので、自分カスタマイズしたりできる人じゃないと使うのは辛そうです。

後、ドキュメントも公式のものだけだと説明されてない機能結構あったりします。

デフォルトだとDBMySQL対応していて、MongoDBを使うにはsails-mongoを入れる必要がありました。

開発中に困ったことは、nodejitsuで動かそうとしてsails-mongoでエラーが出て、調べてみたらauthenticationに対応していないというバグがあったことでした。

手元で直したのでpull requestを送ろうかと思ったら既に他の人が送っていて、3日前ぐらいに取り込まれているので今は大丈夫なはず。

https://github.com/balderdashy/sails-mongo/pull/36

現在進行形で色々Issueが上がって修正がされているのでそのうちこなれてくるのに期待。

かいところで設計考慮がちゃんとされてるなーと感じたところも多かったので、node.jsで開発してる人は一回試してみると勉強になりそうです。

MongoDB

最初コレクション操作に戸惑ったのですが、結局JS連想配列なので思ったより早く馴染みました。

$setとか$gteとか特殊な意味を持つキーがいくつかあるので、その辺を把握できてから色々と捗りました。

MySQLに比べて特に更新系で複雑なクエリが発行できるので、ORMで使うと十全に機能を発揮できないのではないかな、と思ったり。

ご存知スキーマレスなので、何も考えずにデータを突っ込んでるとIntegerで保存したい値がStringになっててソートときに困ったりするので要注意。

指定した容量を超えたら自動で消してくれるCapped Collectionがあると知ったので、今回みたいな容量が限られてる場合に便利かなと試してみたのですが、このオプション有効にしたコレクションだとデータアップデートや削除ができなくなりました。

おそらく、追加しかしないログのようなデータの保存に使うもののようです。

nodejitsu

まだ微妙な部分も多かったですが、デプロイとかコマンド一発でできて、設定管理がpackage.jsonでできたりして面白かったです。

今回は、特に問題が起きたとき環境sshで入ったりできないので、表示されてるログだけで問題を調査するのに苦労しました。

MongoLabとMongoHQというMongoDBの外部ホスティングサービスが上述したように使えるのですが、無料の容量を超えて使うにはそこそこお金が掛かるのでモリモリ容量を使うものを考えている場合は注意がいります。(もちろん値段に見合ったプロダクトを提供してくれると思いますが)

ということで、せっかく作ったので是非試してみてください。

2013-03-03

DMM APInode.jsで今の気分に最適なエロ動画紹介サービスをつくってみた

作成の経緯

エロが好きです。

ボクはDMM.R18のヘビーユーザーなのですが、どうしても自分の好みの中だけで、グルグル回ってしまい、

世の中にAVは山ほどあるはずなのに、知らないなんてもったいないもっとたくさんのエロ出会いたいという思いがあって日々悶々としていました。。

そんな中、AVというのは毎日の気分によってオナニーしたい見たいものが違うわけだから(例えば毎日食べたいおかずが違うように)、

今の自分の気分を簡単に答えれば、それに対してオススメAV動画を紹介してくれるというサービスはどうだろう?とモヤモヤと考えていました。

ある日、会社の人に相談したら、それ「いいね!」ということになって、「そういえばDMMAPIってのが公開されたから、それ使ってできるんじゃね?」ってことになり、

本格的にサービス開発を行うことになりました。

そしてこの度無事リリースすることができました。

作成したサイト

「今夜のおかず」

http://okazunight.com/

つの質問YES / NO で答えるだけで、今のあなたに最適なアダルト動画を紹介するサービスです。

使ってる技術

サーバーサイド:node.js

フレームワークexpressnode.jsフレームワーク

CSSフレームワークTwitter Bootstrap

クライアントjQueryCoffeeScriptSCSS

データベースMySQL

ビルドツール:grunt

バージョン管理GitHubプライベート

HTTPサーバNginx

インフラ:某クラウドサービス

node.jsは少し趣味でやった程度で、今回やってセッション管理ルーティング周りが勉強になりました。

データベースにはMySQLを使っていますnode.jsならばmongoDBというイメージが強いですが、質問ランダムに表示する機能で、

mongoDBは現時点で正式な機能としてはランダム検索が出来なかったので、MySQLを選びました。

あと、CoffeeScriptSCSSJavaScriptCSS記法を簡単にしてくれるやつで、慣れてしまうと離れられません。

あとはTwitter Bootstrap。これなしでは生きていられません。

こだわった点

    スマホでもなるべく早く結果ページまでたどり着けるようにしたつもりです。

    オススメ動画が表示された後に、今日はこの動画の気分じゃない!と思ったときチェンジボタンにより、同じ条件で他の動画チェンジ!できます

    質問からやり直したいときは、さいしょからボタンで他の質問からやり直せます

    一刻一秒を争うエロビ探しですのでパフォーマンスには気を配りました。

    最初サーバーサイドでHTMLテンプレートを使わずに完全にREST API化して進めていましたが、

    最初の表示までの若干のライムラグSEO対策の為、最初質問だけnode.jsHTMLテンプレートを使用して組み立てています

    また、シンプルサイトなのでライブラリjQueryのみ使用し、concat/minify化はgruntのタスクとして登録していますgzip化はNginxで行なっています

    我らがDMM様への敬意を払い、白ベースポイントで赤のシンプルデザインにしています

    苦労した点

    CSSSCSS)が初めてだったので、微調整するのが大変でした。

    質問パターンを考えるのと、紹介する動画が偏りすぎないようにするのが難しかったです。(これはまだ要調整)

    今後の展開(たぶん)

    質問に対するおすすめ動画の精度をもっとあげていく。 (ユーザーの癖を把握して、機械学習とかできればいいかなと)

    おすすめ動画を表示した後に、その商品を誰かにつぶやいたり。

    ・結果を自分お気に入りとして保存できたり。

    ユーザーからフィードバック。(これ早めに)

    最後

    今回、同じ会社に勤めるエンジニア3人が約2ヶ月で作成しました。

    実験的なサービスでもありますので、今後も色々と機能追加をしていくつもりです。


    それでは、今夜もあなたが美味しいおかずに出会ますように。

    http://okazunight.com/

    2013-01-24

    SI土方とWebってどっちが社畜なの

    どっち?

    SIでは09:00から23:00まで毎日働く程度に社畜してきたけど、最近楽できるポジショニングを覚えて定時退社したり仕事してると見せかけ違うことしてたりする。

    最近仕事していると見せかけて全然関係ないFuelPHPとか触っていたしな。

    おかげでAuthとかPaginationとかViewのFormクラスとか覚えた。FuelPHP簡単で良いな…!

    (でもHaskellとか今まで理解のない難しい概念とかは仕事サボりながら、ではいまいち理解できない…)

    RedisとかMongoDBとかも触りはしているけど活かし方が分からない。

    MySQLが一番いいよおおおおおおお。

    仕事サボる。それって良くないだろ…とは思うけどまだ仕事を楽し始めて1,2ヶ月目。

    仕事やりたがっている人に仕事させるのがいんじゃね、とか思ってしまう。

    なんか聞きに来るしな、これでいいですかとか、ここどうしたら良いですか、とか。その質問に答えて手を動かすのはその人にやってもらおう。

    この前とか「言ってくれたらなんでもやりますよ!」とかい子分気質の人とかいたしな。

    だがしかし「何を言うのか」を考えるのが面倒くさいんじゃ、何をやればいいのかまで考えてくれ…と思ったので「まじっすか!あざす!何かあったときはお願いします。」とか言って終った。

    暗に自分で考えてもらうように言ったり、今まで自分がしてきた人との調整が必要な作業とかもなるべくお願いするようにして楽できるように頑張った。

    あっちも言われたとおりにやれば進捗(自分の実績)が上がるし、美味しいとか思っていたんだろう。甘い甘い!もっと自分でやれ。

    せめて「自分はこう思うがこれではいけないですか?もしくはこうすべきですか?」ぐらいの「自分期待値」と「期待値とのズレ」を持って質問しに来て欲しい。

    だがしかし、オレは仕事がしたくないし、作業を持ちたくないんだ…!(クズ

    適度にそういう質問が来るのは、仕事をしてるっぽい、忙しっぽいと思われるための重要な要素の1つではあったりするから、丁寧に対応するけどなッ!

    Webに行くけどどんぐらい社畜なんだろう?

    プログラム覚えられて社畜出来るなら、23時ぐらいまで土日休めるならなら全然余裕だと思っているけど、1時とかまでやらされたらさすがに…/(^o^)\

    WebWebでも、上場していてあるてーどでかいところなので大丈夫なんじゃないかなぁ、とは思っているが…!

    まぁ一応、職場環境が良くて仕事面白いなら、逆に帰る意味って?って感じだけど。具体的にはPCとイスと作業環境。適度に人がいない感じ。人と目線があまりぶつからない作業スペース。ディスプレイPCを上手く使って作り出すパーティション

    ポテンシャル層を採用したいってお前ら…実は楽したいんだろ!とか思うけど、実際僕とか実績/実力無いのであなた達の世界に入れるだけでも幸せでございます、その層で働かせてください、なんとか追いつきます。という感じですが。。。

    「あまり同じ環境にいすぎるのは良くない。楽をしたがるくせがついてしまう」

    とある人が言っていたのですが、まさにその通り!

    The・今いかに楽をするかにフォーカスをあてて仕事してる!!!

    作業をお願いされて、明らか揉めそうな案件なら断る方法を真っ先に考える/(^o^)\

    これはいかん。

    今までは意味不明に個人受注の副業も持っていたので、仕事中にその事考えたりコーディングしたりしていたかサボり時間有効活用できたが、今やそういうのやめたのでサボり時間はあまり活かせない!というのも、インターネットを見続けるのはさすがにサボっているっぽいが、ターミナルでカタカタやっているのは仕事しているっぽく見える。そういう意味サーバーサイドのコーディングサボりつつもサボりフェイクして出来た。

    それを考えると、いいタイミングWeb屋へのコンバートが決まった。

    やりたいことと仕事マッチング出来れば、もうヤバイじゃないっすか。

    隠れてコソコソする必要ないっすよ。

    もっともっと技術を好きにならないとヤバイ気がするんですが、頑張ろうと思います

    まだコーディングは飽きてないですが、いつか飽きて「これは楽する対象の事項だ」と脳が判断した時、何をするんだろ…。

    レイヤープログラミングしたいな…。

    いずれにしても若いうちからこんなあぐらかいていたらヤバイと思うので、Webステージで頑張ってきます

    怠け癖が付く前に…。

    そしてこんな怠けているのがバレるとヤバイと思うので…。

    2013-01-18

    素人が完全自作SNSを二週間運営してみてわかったこと(後始末編、技術編、モチベーション編)


    素人が完全自作SNSを作ってみてわかったこと。

    http://anond.hatelabo.jp/20130104184115

    元増田です。

    ひっそりと公開したはずのtag-chat.net(http://tag-chat.net)ですが、

    まさか、こんなに反響を頂けるとは思っていなかったので、びっくりしました。

    素人のフリをしているとか、出版社ステマだとか色々言われましたが、嘘は一切書いてないです。

    ステマというか、ウェブサービス公開後の状況を知っている方からするとマイナスステマしかなっていないような気がします…。

    公開してから、色々と発見というか気づきがあったので、それを共有できれば幸いです。あと、tag-chat.netの中身についてなど。



    増田記事を公開してから今までの経過~

    ・意気揚々と自作SNSを公開したものの、アクセスが全くこなくて途方にくれる。

                 ⇓

    ・以前、完全に一致を作った増田の方が、増田記事を書いてからアクセスが急に来たと書いてあったので真似して書いてみる。

                 ⇓

    ・翌日ごろからアクセスが集中。ビビる。「うちの会社で働きませんか?」と言ったお誘いのメールをたくさん頂く。

    いきなりの出来事にパニックになっている間にも増田記事が拡散していき、アクセスが急増する。

                 

                 ⇓

    アクセスが爆発する。1時間あたり二万アクセスというアクセスを捌ききれずにサーバーが落ちる。サイトのウリであるが、メモリ使用量

    が最も高いマッチングチャットを一時使用停止にする。

                 

                 ⇓

    ・その後、サーバーを増強。エラー情報や、寄せて頂いた情報をもとに各種エラー情報や、使い勝手などを改善

                 

                 ⇓

    現在、安定稼働中。おかげさまで、ユーザー数もゆるやかに増加していて、基本的な機能も正常動作していますユーザー数はもうすぐ

    1000人に届きそうでありがたいばかりです。


    と、いうわけでなんとかようやく落ち着き、ウリのマッチングチャットも正常に作動しているようなので、後記事を書きます





    ~後始末編(Webサービスを実際に運用してみて)~

    ウェブサービスの公開前に注意すべきだったこと。

    ①・セキュリティについては書かないほうが良い。色々といじられる。

    前回の増田記事で、DoS攻撃の対策などについて語ったのですが、それを確かめるためなのかサイト公開してしばらくしてから、定期的に

    Dos攻撃をくらいました。

    おかげ様で、ちゃんと一時的にそのIPからアクセス遮断することはできたのですが、セキュリティについてあまり大々的しゃべると攻

    撃対象となるので、あまり具体的なセキュリティ対策などについてはしゃべらないほうが良いのかな、と感じました。

    また、DoS攻撃だけでなくCSRF試したり、色々といたずら(もしくは善意テスト?)をして下さる方がとても多かったのには驚きました。

    はてな民技術レベルの高さを知りました……。いたずらされている間は本当に怖かったです。

    とりあえず、今のところ攻撃は防げているようです。



    ②・作者のオナニーユーザー様をつきあわせてはいけない。

    はじめ、私は調子に乗ってサイト内に英語を多用していたのですが、それがユーザー様にとって混乱のもとになっていたようです。

    例えば、他のユーザーから自分の書いた日記などにコメントがついた時に、それを知らせるページがあります

    普通に考えれば「友達からの反応一覧」とか「友人からの反応」とかにすれば良いのですが、何を血迷ったのか「Reaction」と中二病丸出

    しで書いてしまったので、ユーザー様がものすごく混乱したようです。

    結局、「使いにくい」、「サイト迷子になる」との声を受けて日本語メニューに変更しました。




    ③・使い方のページはくどいくらい書いても良かった。


    フリーチャットや、マッチングチャットでは、基本的に相手が見つかるまでは「待ち」の状態になります

    相手がすでにこちらを「待っている」状態だとすぐにチャットが始まるのですが、そのことに対する説明が足りなかったようで、チャット

    ルームを出たり入ったりしている人が多かったようです。

    また、チャットが終了した時にチャット相手にお礼をこめてメッセージを送る機能があるのですが、これも説明不足で上手く使われなかっ

    たようです。


    とにかく、くどいくらい説明しても良かったと思います









    ウェブサービスリリースする前にやっておいて良かったこと。

    ①・Twitterアカウントを作りそこから最新情報を流せるようにする。

     これは本当に大きかったです。

     とつぜんの増田砲で一時間あたり二万アクセス近くのアクセスをさばけずに、サーバーがビジー状態になってしまった時も、Twitterを通

    じて現在の状況などを流せたことは非常に大きかったです。





    ②・エラー情報を送ってもらえるようにメールアドレスを作っておく。

     本当にありがたいことに、実際に使ってみた使用感や、こんなエラーが出ていると言った情報を送って下さる方がいます

     一人でテストしていた時には気づかなかったエラーや、不便な点などをわざわざ時間をとってメールで教えてくれるのです。

    どこの馬の骨ともわからん怪しい奴が作ったものに登録してくれ、使ってみてくれただけではなく、エラー情報や励ましの言葉を送って下

    さるのです。

    本当にありがたいことです。



    ③・それでもわからないエラー情報に対して対処できるようにしておく。

     優しいユーザーの方がエラー情報などを教えて下さるのは大変ありがたく、また開発の励みにもなるのですが、それに頼ってばかりいて

    ダメです。

     サーバーの吐き出すエラー情報を調べて、おかし挙動にいち早く気づく必要があります

    本当はhttpdエラーログとか見れば良いんですけど、はっきり言って物凄く見づらいので、ツールを使って毎日「こんなエラーがでました

    」と教えてもらうようにしておきました。

    色々なツールがあるみたいですが、私はlogwatchを使いました。

    ・参考URL

    http://www.atmarkit.co.jp/flinux/rensai/root04/root04c.html

    これでエラーの出ているところだけでも、修正するということをやっていました。


    ■ ウェブサービスを運営してみてわかったこと。

    ①・SNSの人の流れにはなんだかよくわからない規則性がある。

    tag-chat.net グーグルアナリティクスでどれくらいの人が毎日来ているかをウォッチしているのですが、なぜか月曜日と週末にかけてア

    クセスが増えます

    謎です。週末はわかるけれど、どうして月曜日に……?



    ②・やっぱり非リアの気持ちは非リアじゃないとわからない。

    前回の増田記事に対するコメントネットの反応などで、

    「どうして普通にはてブに書かないのか。なんで増田なのか」とか「非リアを装って」

    とかコメントしてる人たちがいたのですが、その人たちは非リアについてなんもわかってないアホだと思いました。


    もともと自分名前なり、アカウントを明かした上ではてブ投稿できるくらいの度胸があれば非リアになんかなってないです。それは自

    分でもわかってます

    自己顕示欲人一倍強いくせに、人に名指しで批判されるのが怖いか増田投稿したのです。



    フェイスブック実名ウェブサービス作ったことを投稿できるような度胸があればそうしてますし、はてブに書けるなら書いてます

    そうするだけの度胸もなくて、でも誰かに認めては貰いたいか増田に書いたということをわかっていない。


    ③・ネットのみなさんが優しい。

     今までネットの人たちは2ちゃんねるとかで炎上したり、なんか面白そうなものを見つけてお祭り騒ぎする、ちょっと怖い人たちという

    イメージだったのですが、それが今回のことでガラリと変わりました。

     本当に優しい人が多くて、どこの馬の骨ともわからない奴の作ったウェブサービスを使ってくれるだけでなく、感想や励ましのメール

    どをたくさん頂きました。

     遥か雲の上の存在だと思っていた会社の方からメールなどを頂きました。本当に感謝してもしきれません。

     





    技術編~

    Tagchatの技術的なこと。

    ①・nodejsを使って外部にサービス公開するなら、認証必須。主に不正な負荷を減らすために。


    さっき書いた、「セキュリティについてはあまり書くな」という話と矛盾するのですが。

    nodejsでのセキュリティの話です。

    nodejs、すごくアクセスさばけて、なおかつ軽いということで便利なんですが、サーバーなので、基本的にリクエストを受けたら非常に素

    直に返事します。

    例えば、nodejsとsocket.ioを使って、単純にメッセージサーバーに送るとして、クライアント側で

    socket.emit('hoge','hoge');

    のようにすると、サーバーはどこから来たアクセスなのか、とか悪意のあるアクセスなのか? とか一切気にすることなく、素直に'hoge'

    というメッセージを受けます

    これはつまり、第三者が悪意を持って大量にメッセージを送りつけるとそれを素直に受け取ってしまうということです。

    なので、例えば大量に不正データを送りつけられたりするとレスポンスが悪くなります

    なので、悪意のあるアクセスはsocketにそもそも接続させない、という対策がサーバー側で必要になると思います

    socket.ioではコールバックを使って、簡単に認証させるかさせないか、という実装ができます。具体的には以下のURLなどを参考に実装す

    ればいいかと思います

    http://d.hatena.ne.jp/Jxck/20110809/1312847290



    ②・nodejsの最大接続数は、ファイルディスクリプタ依存する

    ということにしばらく気づかずに、最大接続数が400ほどしか出ず悩んでいた時に以下のURLを参照して、なぞが解けました。

    http://blog.livedoor.jp/mokepon/archives/182178.html

     またsocket.ioのテストの書き方ですが、

    http://d.hatena.ne.jp/toritori0318/20120902/1346591831

    という素晴らしいエントリーがあったので参考にさせて頂きました。


    ■楽できるところは楽するためのツールなど。

    nodejsの開発で、面倒くさいところはできるだけ楽しました。以下、便利だったものまとめ。


    ・node-dev

    コンソールにデバッグ情報を吐き出してくれ、サーバー側のコードをいじくった時に自動的に再起動してくれる。

    いちいちコマンドプロンプトからnodejsを実行する必要がないため、作業の手間がはぶける。

    nodejsを触り始めた時はエラーを吐いてばかりなので非常に役に立ちました。

    参考URL

    http://d.hatena.ne.jp/replication/20110224/1298474534


    ・forever

    nodeのプロセスデーモン化してくれる便利ツール。

    様々な使い方があるようですが、stop,list,startの3つぐらいしか使いませんでした。まだ、研究中です。

    参考URL(基本的な使いかたが非常にわかやすく書かれています

    http://nantekottai.com/2011/08/15/node-js-based-service-with-forever/


    ・mongoose

    nodejsからmongoDBを扱うのに最適。

    ドキュメントは色々ググったのですが、結局公式のドキュメントが1番わかりやすかったです。

    http://mongoosejs.com/







    モチベーション編~

    ■一人でウェブサービスを作る上で、心の支えになった記事。

    はまちちゃんさんの、「セキュリティ過敏症の話」。

    http://d.hatena.ne.jp/Hamachiya2/20080131/security

    とにかく楽しんで、作ってみることが大事だよ、というお話です。すごい勇気づけられます


    小飼弾さんの産声の話。

    http://blog.livedoor.jp/dankogai/archives/51837985.html

    弾さんは、お金持ちで、腕は一流で、PHPこき下ろすし、なんかすごく怖い職人イメージだったのですが、このエントリーを読んで、クソ

    まみれでも産声を上げてみようと思えました。

    実は優しい人なのかもしれません。私の高校時代担任先生にどことなく似ています

     





    ■お詫びと訂正

    前回の増田記事で、OpenPNEについて間違った記載をしてしまいました。ソースコード公開に関する記述の部分です。

    OpenPNEではそのソースコードを改変したら、そのソースコードを公開しなくてはならないと書いたのですが、これは間違いです。

    OpenPNE方々には大変ご迷惑をお掛けしました。申し訳ありませんでした。




    あと入家さんに謝りたいです。

    勘違いサブカル野郎とか言ってすいませんでした。

    フェイスブックにもとりあげて頂いたそうで、ありがとうございます

    怖いのでどんな投稿なのかはまだ観ていませんが、本当にありがたいです。







    最後に。

    ウェブサービスをコツコツと作り続けて公開したところ、増田記事のおかげもありたくさんの反響を頂きました。


    ただ、別にウェブサービスを公開したからと言って、実際のところ何かが劇的に変わったわけでもないです。


    グーグルアドセンスは支払い規定の一万円を超えていないので、手元には一銭も入ってきませんし、実名出して行動できなかったので現実

    ではほとんど反響はなかったです。

    あいかわらず休日地元ゲームセンターレトロゲーをやって時間をつぶしていますし、学校から帰ってきたらももクロライブを観て

    Chai Maxxを踊ってから寝るだけの毎日です。それでも結構楽しいのですが。

    ただ、ネット上で様々な先輩エンジニアの方々や、同年代で同じようにフェイスブックが嫌いな方から励ましのメールをもらいましたし、

    本当に、びっくりするような充実した二週間でした。

    はてブで人気のエントリーにあがった時のスナップショットは未だに大事にとってあります

    tag-chat.nethttp://tag-chat.net)を作って本当に良かったと思っています

    2013-01-04

    素人が完全自作SNSを作ってみてわかったこと。

    ひっそりと、Webサービスリリースしました

    http://tag-chat.net

    で、チャットがメインのSNSです。

    自動マッチングしてチャット相手を見つけてくれるマッチングチャットや、すぐにチャット相手を見つけてくれるフリーチャットコミュニティチャット、フレンドチャットなど、とにかくチャットがメインのSNSです。





    自分について

    昨年の4月からプログラムを学び始めた素人。22歳。札幌在住。





    ■今更SNSを作ろうと思ったきっか

    FaceBookがウザい。というか嫌い。

    これがきっかけ。

    顔本が良いSNSだと話題になっていたので、実名登録してみた。大学の知り合いが見つけてくれて、友達登録などが増える。(ほとんど話したことがない人から友達登録が来て、「おぉ!これで俺も友達が増えるんだ!」とワクワクしていた)。

    が、流れてくるのは自慢ばっかり。

    コミュ障彼女はおろか、女友達ほとんどいない自分にとって顔本で「飲み会行ってきたぜウェーイw」とか、「○○ちゃんの誕生日なう!」とか、「○○勉強会行ってきたました! みんな熱い人ばっかりで最高!」とか書いてあるのを見て「こんなSNSは嫌だ……」と思った。


    ようするに嫉妬です。

    で、自分の好きなようにSNS作ってみたいなぁ。と思いました。

    自分趣味レトロゲーなので、自分と同じ趣味の人と話せたら素敵だな。ということでチャット式のSNSを思いつく。

    が、Webサービスを独力でつくるのはこれがはじめて。というより、プログラム自体がはじめて。

    案の定、前途多難だった。

    やはりザッカバーグは天才だった。

    そして私はアホだった。

    ■とにかく計画を立てる。

    ざっくり、どんな機能が欲しいか考える。自分の力じゃ無理そうでもOK.とにかく妄想を爆発させる。

    妄想した機能

    ・基本的なSNS機能

    メッセージ機能コミュニティ機能あしあと機能日記機能コメント機能つぶやき機能など。

    ・核となるチャット機能

    ミニティ専用のチャットルーム、アカウント専用のプライベートチャットルーム(鍵をかけられる)、自動チャットが開始されるフリーチャット自分の指定した条件にあう人を自動で見つけてきてくれて、チャットができちゃうマッチングチャット

    などなど。






    ■そんなに簡単にSNSが作れるわけがない。

    妄想するのは簡単だ。でも、全くわけがからない。何から手をつけていいのかわからない。

    とりあえずグーグル先生相談

    OpenPNEという簡単にSNSが作れるものがあると知る。

    「うはwwww これで勝つるwww」と思ったけれど、どうやってチャット機能を追加して良いのかわからなかった。改変しようにも謎の記号がめちゃくちゃにならんでいてどうして良いかからない。

    しかも、改変したら改変したでそれを全世界に公開しなくちゃならないらしい(オープンソースというらしい)。

    無理だ。

    と思ったので1から勉強することにした。

    とにかくサーバーサイドの言語と、データベースについて勉強しろや! とのことだった。






    ■使う言語について。

    サーバーサイドを扱える言語はたくさんあって、PerlとかPHPとかPythonとかRubyとか色々あるらしいのだが、色々悩んだ結果


    PHPにした。WebサービスならPHPが良いらしい。レンタルサーバーなどでも簡単に扱えるらしい。

    後でPHPがクソ言語という話も聞いたが、とにかく最初に選んだのがPHPだったので。

    それになにがクソ言語かとか、未だによくわからない。






    ■入門の勉強で使ったもの

    PHP 

    よくわかるPHP教科書http://www.amazon.co.jp/dp/4839933146/

    MySQLとかについて一通り書いてあるので良かった。二週間くらいでなんとか全部こなした。xamppなども触って、ローカルサーバーで色々試した。

    これが終わったら、

    パーフェクトPHP http://www.amazon.co.jp/dp/4774144371/

    パーフェクトって書いてあるから、パーフェクトなはずだと勝手に思い込む。

    実際かなりすごい内容で、胃もたれ起こした。一ヶ月くらいで三回くらい読んで、大体のところを理解した。

    フレームワークCakePHPを使ったので、MVCについてのくわしい記述は大変参考になりました。



    MySQL

    基本的には、よくわかるPHP概要をつかんで、それから

    基礎からMySQL勉強。 http://www.amazon.co.jp/dp/4797344385/

    最期

    ハイパフォーマンスMySQL http://www.amazon.co.jp/dp/4873114268/

    インデックスの貼り方などについて勉強した。






    チャットに向いている技術

    とりあえず掲示板くらいはつくれるようになったので、チャットについてリサーチ

    ajaxとかよくわからん技術nodejsを使った非同期処理などがあると知る。

    nodejsはC10K問題という問題を解決するすごいものらしく、かっこいいらしいのでこれを勉強することに。

    ついでにnodejsと相性の良い、mongoDB勉強することに。







    javascript勉強

    よくわかるjavascript  http://www.amazon.co.jp/dp/4839941874/

    終わったら、

    パーフェクトjavascript http://www.amazon.co.jp//dp/477414813X/

    パーフェクトjavascriptnodejsについてものすごく詳しく書いてあったので、とても参考になった。このあたりで、LINUXというOSを扱わなくてはいけないと気付き、自宅PCウィンドウからLINUXubuntu)に変えた。


    mongoDB勉強

    これはとにかく触ってなんぼでした。MySQL感覚が違い、苦労しました。

    CakePHPmongoDBを扱うのは

    https://github.com/ichikaway/cakephp-mongodb

    という素晴らしいものを利用させていただきました。




    ■このへんで一回限界がきた。

    なんとなくnodejsを扱うこともできるようになり、それなりに楽しいと思ってはいものの、「SNS作ったる!」と思ってから六ヶ月以上が経過していた。

    さらWebサービスを公開するにはデザインもそれなりにしなくてはいけないらしく、CSSなどについて勉強しなくてはいけないと知る。



    勉強に終わりが見えなくて、「しんどいなぁ」と思った。

    一人でWebサービス作ってる「ゆーすけべー」さんとかすごいなと思った。

    勘違いサブカル野郎だと思っていた「家入一真」とかもやっぱりすごい人なんだと思った。

    自分はなんもできないなぁ。と痛感した。



    で、悩んでても仕方ないので、デザインはバッサリあきらめることにした。


    もうなんでもかんでもやるのは無理なので、捨てるものは捨てることにした。

    ■それなりのデザイン他力本願で。

    基本的に Initializr  http://www.initializr.com/  (テンプレートエンジン

    TwitterBootStrap   http://twitter.github.com/bootstrap/  (Twitterっぽい今時な感じのデザインが簡単に使える)

    を使うことに。

    でも、これだとまさにTwitterそのまんまっぽかってので、

    http://bootswatch.com/ (きれいなデザインテンプレートがあるサイト

    も使うことに。デザインについてはこれだけ。

    無理はしないことに。



    ■大体できたら、あとはセキュリティ

    セキュリティ大事自分サイトでは一応、登録制なのでフリーメールアドレスなどを預かる。これは流出させたら困るし、なによりユーザー様が安心して使えないなんてだめなので。

    これにはかなり注意したつもりです。

    まず基本的なことは 『体系的に学ぶ 安全ウェブアプリケーションの作りかた』  http://www.amazon.co.jp/dp/4797361190/

    勉強

    本番環境に公開する前には グーグル先生が公開している skipfishというツールでチェックをしたり、

    Dos攻撃対策に、

    http://up-point-server.info/?p=54

    などに書いてある

    mod_dosdetector などを利用。

    これははてなさんが公開しているものです。この場を借りて感謝します。ありがとうございます

    あとはSSHへのブルートフォースを防ぐために、DenyHostというツールを利用するなどした。



    それからバックアップ

    クラウドサービスを利用しているので大丈夫だとは思うのですが、一応rsyncコマンドバックアップを定期的にとることに。

    サーバー上の別の場所Gzipで保存し、それを自宅サーバーのCentOSで保存するという形式です。深夜にcronで自動的に実行しています

    参考サイトは、

    http://mukaer.com/archives/2012/03/14/vpscentos/

    です。


    パフォーマンス向上のために少しだけ

    はじめはサーバーapacheだけだったのですが、今は画像ファイルなどはNginxというサーバーを使うのが良いそうなので、Nginxを使いました。

    あとはPHPの中間キャッシュを利用するAPCなども利用することに。


    このへんについては、

    http://bren.jp/blog/%E3%81%95%E3%81%8F%E3%82%89vps%EF%BC%9Anginx-apache-%E6%A7%8B%E6%88%90%E3%81%AE%E8%A8%AD%E5%AE%9A%E6%96%B9%E6%B3%95/

    このような解説記事がたくさんあったので、参考にさせていただきました。

    調子にのって、最期グーグルアドセンスも貼ってみました。




    ■ようやく完成。

    で、なんとか完成しました。

    いちおう妄想していた機能は実装できたかと思います

    製作期間は勉強期間なども含めて、大体9ヶ月くらいです。

    使ってみた感想や、ダメ出しなど頂ければ狂喜乱舞します。よろしくお願い致します。









    モチベーションを維持するためにやったこと。

    あっさりと書きましたが、実際は失敗の連続でやる気が萎えてばっかりでした。

    疲れて帰ってきて、なにもやる気の起きない時もありました。


    そういう時は、とにかくサポートページのQ&Aの1文でも良いから書いてみるとか、とにかくパソコンエディターだけ立ちあげてみるとか、していました。

    ものすごーく覇気のない目でキーボード打ち続けていましたが、それでもなんとか完成することができました。惰性だろうとなんだろうと、少しずつは進むのだとわかりました。

    SNS作ってみたわかったこと。

    やはり1から完全自作をするのは無謀だった。でも、プログラムをやったことのない素人でも約一年頑張ればそれなりのSNSもどきを作ることができた。

    これも先人たちの作ってくれたフレームワークや様々なツール、そして参考書などのおかげ。

    私のようなアホでも頭の良い人の力を借りればなんとかなりました。ありがとうございます

    そしてプログラムは一人でも出来るので、私のように非コミュでも楽しめる素晴らしい趣味である

    現在

    今はRubyに夢中です。くり返し処理がすごくきれいにかけるので素敵な言語だと思っています。あと、javascript面白いので毎日いじくって遊んでいますPHPももちろん触っています

    非コミュあいかわらずですが、プログラム楽しいので前より幸せです。


    仕様した技術など一覧

    サーバー さくらVPS4Gプランを使用しています

    Apache,Nginx,nodejsを利用しています

    データベース mongoDBMySQLを使っています

    フレームワーク CakePHP,socket.io

    使用言語 PHP,Javascript

    できたもの http://tag-chat.net

    2011-07-20

    RubyKangi #3 / Final RubyKaigi, Final Day

    週末に行ってきたイベントだが、ちょっとインパクトが強すぎて、あとたぶん昼から通しで追っかけてるのは自分だけなので、この話誰かに伝えたい!と柄にもなく思ってしまった。

    というわけで自宅Wikiから一部編集して張ってみる。

    parse.yで構文いじり

    • 冒頭は yacc/C レベルでの正統的なid*追加して・・・の話かな(遅刻で聞けずだが)
    • 途中で Ruby レベルでできるだけする、という話に
    • 最後の end 羅列省略のための ennnnd は爆笑(Lisp cdddrのパロ)

    Art with Glitch

    活動報告:るびま分だけ

    • あの充実サイトの企画・運営話と聞いて!
    • 本当に毎回出し切ってる。書き溜めなし、揃った分は全力で出す
      • 「次号はないから」と毎回思いながら出している #なんという一期一会
    • 数年間は石の上だったが、遂に7年目。会議と違い、まだまだ終わらないよ!
    • 執筆企画いつでも募集してます
    • 記事の質とかインタビューで人を見せる企画とか、ホント魅力的だよなぁ

    Hacking Ruby

    GIS with Ruby

    sinsai.info

    • どこらへんがRubyかと思ったら、やっぱりPHPだった。
    • PHP(Usahidi)でのスピーディーな立ち上げ話をしつつ、ugly codeをdisるTL
    • Ruby?Hack4Japanで書いてる人いるよー位(w
    • でも、来日した人に、日本はまだまだ復旧途上だという事は判ってもらえたか

    Rails @ NotRubyKaigi

    Fabio Akitaさん話

    なぜRubyか、なぜRails

    ***みんながするから、は自分コモディティ化!***

    世界に出るために:英語

    ここまで、日本語でウケを取り、アメリカ人しか聞こえない英語をしゃべりつつの話。まじありえないレベルの覚悟と実践なんだが・・・!

    ブラジルを変える

    この人のセッションブラジル事情の紹介みたいな話で大ホール側のセッションも覗いてみようかなと思っていた所にこれで、ただちに絶対参加すべきレベルセッション格上げされた。こんな人がいるとは。

    Ruby and Rails in Brazil

    で、昼休み後の問題のセッション。結局ツイートどころじゃなかったが、こんな感じ:

    プログラマが学ぶべきはプログラミングだけではない。全てだ。

    心理学経済学物理マーケティング、、、全てだ。

    この言語をみんながしてるからなんて最低だ。自分コモディティ化だ。

    そんなのはキャリアじゃない。僕はこんな風潮と戦う。

    Javaはあれが酷いとかPHPがとかいう態度でRubyを使うのも無駄だ。

    自分がすべき事を良くできるから選ぶ。それ以外の姿勢は間違いだ。

    自分が何を成せるのかだけが問題なんだ。プログラミングだけの話ではない

    なんという激熱トーク。本当に小さかった南米Rubyコミュニティを仲間と共に成長させ、いまやRubyConf Brazilとか南米で何個もイベントが立ち上がるまでに育てた。この伝道のため、ここ数年で80箇所は回って普及に努めたとかとか。ブラジル事情への関心と関係なく、この熱量を体験できてよかった。

    最後時間オーバー後の「あと一言だけ(本当はあと1分だけと本人は言っていたのだが、わざと誤訳してタイマー役の人に会場から叫んだ自分w)」でどんなにダメだとされていても、諦めずに進めという、過去偉人が貶められたり失意にあった時代の動画もよかった(もっとも、この話は知っていたのでインパクト自体は薄めだった)。

    DeepConnect話

    ORMインプリ

    この後はLTとクロージング

    クロージング:今北三行

    インパクト強すぎw

    これ漫画系展開をバックボーンにしたエンタテイニングなスタイルだと理解せずに真に受けると大変だなと心配になったり。なにしろ上は三行だけど全部通しで書くと

    ***I will crush you***

    • みんな、大人気ない大人になって競ってハックしようぜ!

    真面目に受け取ったらヤバイ発言多すぎだろ・・・

     こ れ が 締 め の 講 演 か よ !

    そういえば途中にまどマギネタも入ってた記憶があるのだが、上のインパクトが強すぎてどこかに飛んでった。

    その後の高橋さん最後挨拶スタッフを集めてのスタンディングオベーションはちょっとうるっと来た。初参加だから今回の運営自体への思い入れはないのだけど、この回だけでも感激することが多かった。この完成度に達するまでどれだけの努力と熱意が投入されていたかと考えると。

    隣の席が実はtdtdsさんでびびってたのだが、最初に立ち上がったのを見て、続く二人目のタイミング大事!とすぱっと立ち上がってみてよかった。その後前列の人がみんな!立とうよ!みたいにやって一気に雪崩状態。

    herokuありがとう

    これで会議は閉幕したのだが、さらにherokuの緊急パーティーが開催され、思い切って行ってみた。まあ、懇親会に輪をかけたリア充な雰囲気でまともに話せなかったのだが、

    • まつもとさんと入店前にgdbとかlua/rite/pythonの話ができた
      • 名刺を貰うのではなく、名前を覚えてもらえる自分になりたい!的なことを言った気がする(汗
      • まじでパッチくらいは書かないとだめだこれは / ていうか名刺とか割とどうでもいい(を。名刺よりパッチを受け取って下さい
      • 喉が痛そうだということに途中で気付いて申し訳なかった
    • ちなみに英語漬けの決意は、大学に入ったら自分ポルトガル語しか知らないがために遅れを取り、それが悔しくてやったそうな
      • その悔しさでその行動が取れる人は少ないと思う。やはりすごい

    こんな一日だった。熱かった・・・

     
    ログイン ユーザー登録
    ようこそ ゲスト さん