「redis」を含む日記 RSS

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

2023-08-14

https://qiita.com/aikasu/items/c1bf747bed15e2840936

技術に興味がなくて何が悪い

このレベルのチョロざこが何イキってんだって感じ

https://qiita.com/aikasu

ローカルGitリポジトリデフォルトブランチmainに変更する

【Laravel × Redis】No connections available in the pool...の原因と対処

Laravelにてテーブル既存カラムをtinyint型に変更できない問題

2023-07-31

anond:20230731104947

最近最前線から離れててあんまり追えてないけど、現役のとき2008年くらいか10年くらいの間で、仕事のやり方や設計の考え方が大きく変わったIT技術要素で、いまぱっと思い浮かぶのはこんな感じかな。

分野にもよるし、調査して試作した結果自分業務には採用しなかった技術とかもある。流行ると思って使えるようになったけど流行らなかった技術を入れるとたぶんもっとある。

あと、新機種が出てOSが新しくなったり、ミドルウェアの新バージョン対応テスト手法進化もけっこうカロリー高いけどここには書いてない。

自分フロントエンド専門でReactしかやらない」みたいに分野を絞れば大分減るけど、その技術が何年持つかわからいか普通リスクヘッジのために他の技術も齧らざるを得ないし、バックエンドとかの人と議論するのに結局他分野の知識もそれなりに必要

ソーシャルコーディング(GitHub)

スマホアプリ(iOS, Android)

NoSQL(memcached, Redis, Cassandra)

暗号通貨

クラウドアーキテクチャ、XaaS(AWS, Google Cloud, MicrosoftAzure)

CI/CD(Travis CI, CircleCI, Jenkins)

トランスパイラ(Browserify, webpack, CoffeeScript, TypeScript)

システム(Rust, TypeScript, Haskell)

テスト自動化(xUnitSelenium)

クリーンアーキテクチャ

コンテナDocker

オーケストレーション(Ansible, Kubernetes, Terraform)

機械学習(Python, MATLAB, 線形代数数学知識)

HTML5(WebGL, WebAudio他)

SPA(React, AngularJS, Ember.js, Vue.js)

マイクロサービスアーキテクチャ

3Dゲームエンジン(Unreal Engine無償化、Unity5)の他分野への普及

GraphQL

機械学習ライブラリ(Tensorflow, PyTorch, Chainer)

Jupyter Notebook

NFT

モバイルアプリフレームワーク(React Native, Flutter/Dart)

シングルサインオン

多要素認証生体認証

メタバース

2022-08-08

やっぱ Throwable はきちんと catch() して、ログくらい出してもいいと思うんだよ。

Throwable 派生インスタンス作って、スタック巻き戻して、catch() に処理を移す、程度の余裕はあったって事でもあるわけでしょ。

ログくらい出していいじゃん。

その後は exit() するべきだろうけど。

「そんな状態で出るログなんて信頼できない」「他の部分まで破壊されて問題解析をややこしくする」という意見もあるけども。

しかしだね、今もう既にログが出てないせいで、顧客に「原因これです、ログにも出てます」と報告できなくて、ややこしい問題に陥ってるんだわ。

ログ出さずにいたら、結局原因が分からないんだわ。

単なる一時的メモリ不足かも知れないのに。

てかメモリの様子診てる限り、これ落ちてるのメモリ不足でしょ。どこでリークしてるのか知らんけど。

てかredisメモリ食いすぎじゃね?こんなにいるんだっけ?知らんけど。

色々と問題点は挙げられる。解決方法も挙げられる。

でも「そんな問題解決はいやだ、もっと他に無いか」と言われる。

やってられん。。。

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-07-10

[]2021年7月9日金曜日増田

時間記事文字数文字数平均文字数中央値
007110683150.554
01386409168.741
0222216098.255.5
0336330991.967
04172436143.335
05152188145.945
06373846103.970
0765369856.934
08113988187.447
091641538093.843.5
102111685479.937
112231790080.339
122061488772.335.5
131521124974.030
141901594583.934
151991423571.535
161431403698.236
1714119208136.244
181981561778.937
191751702297.333
2017818629104.742
2112112653104.646
221851782696.439
2312417665142.542.5
1日302428371693.838

本日の急増単語 ()内の数字単語が含まれ記事

Redis(4), UPS(4), Elasticsearch(3), 270万(8), WAF(3), 爆竹(6), 内村(8), コピペプログラマ(4), 筆おろし(7), PostgreSQL(4), トラッカー(3), ハンバーグ(20), 女体(14), 大坂なおみ(11), 唐揚げ(13), 舌(18), 不自由(16), 飲酒(9), 観客(13), 車内(7), 共産(7), 五輪(38), ポルノ(12), 届け(9), 開催(37), 立憲(8), ω(9), 選手(28), 接種(25), 飲食店(20), オリンピック(49), 自民(19), カレー(17), エンジニア(26), 緊急事態宣言(23)

頻出トラックバック先 ()内の数字は被トラックバック件数

子供舌扱いされない食べ物ってなんだよ /20210709142640(42), ■エンジニア適正が無い奴の生きる道ってなんですか? /20210706022633(39), ■anond20210706022633 /20210708205945(23), ■ワクチンを打ったのでLANケーブル肛門差してみたんだがネットにつながらない /20210709131627(20), ■有権者が「失望」してるのはSNS政治を熱く語るキモい中高年 /20210708173956(17), ■結局みんな女体が好きで女は嫌い /20210709125134(16), ■夕張市を立て直す方法 /20210709162841(16), ■「大盛り無料」や「麺の固さ選べます」が嫌いすぎて吐きそう /20210708225704(15), ■女が憎すぎてエロゲやるのも辛くなった来た /20210708212403(14), ■西村の首 /20210709154205(13), ■スター連打って何がだめなの? /20210708175648(11), ■電話から人殺したかもしれない話 /20210707211559(10), ■犯罪予告通報チキンレース /20210709121946(10), ■三年目のデミオ /20210708202016(8), ■ /20210709224650(8), ■ /20210709222217(8), ■ /20210709182031(7), ■ /20210709191924(7), ■インセルアニメオタク理想郷エスティワニの悲惨な現状 /20210709205255(7), ■3Pおばさんが死んだ /20210708230828(6), ■「東京感染者数を5週間ぶん予測した」に勝負を挑んだ:3日目 /20210708171234(6), ■それでも自民党を支持するのはなぜ? /20210709223358(6), ■他人が可愛がってる畜生を殺しても「器物損壊罪」程度 /20210709111617(6), ■ブクマカ勘違いして叩いてる。反省しろ! /20210709165110(6), ■昔話の桃太郎の教訓ってなんなの? /20210709180804(6)

2021-07-09

anond:20210709214950

ヒエッ、本職きたよ。ヌボボ

ちなみに医学部にいった友人の何人がむしろテック系に流れてきているという事情がある。

そこんとこ詳しく。メタップスとか?

東大卒だったら、言葉を正しく使え!

Waf なんて書くな! WAF とかけ!

Pub/Sub とか

うっせーな。クラウドベンダー独自 API なんか使いたくねーんだよ。オラクルじゃあるまいし。

DCL、DMLDDLといった用語を知っていることをひけらかしたかったのかもしれない

まぁ、それは認める。でもさ、select や create とかのDML/DDLCRUD と同じだけと、DCL なんて権限を発行できるりょういきにトーシロを突っ込むわけにいかないだろ。何も考えずに GRANT TO なんてプロダクション環境で発行されて日には、権限消失されたら永遠にデータアクセスできなくなるかもよ?

現場に放り込まれても10年ぐらいかかる。というより、フロントからバックからレイヤからモバイルまでやることはもはや現実的ではない。

そりゃそうだけど、フロントエンドは移り変わりが激しいじゃないですか。ほんの数年前までは Flash と DoJa のアプリを作ることがフロントエンド開発者でしたよ?一方データベースや OS の方は、ここ三十年ぐらい UnixRDB鉄板だった書ないすか。低レイヤだっていうけど、IoT なんかで C言語開発者バリバリっすよ。例えば、クラウドフレアなんか CDN の再発明をしてますけど、サーバーラックを見る限りだと差がついているのは低レイヤ根本技術改善であって、私はそこにプロフェッショナル性を見出しますがね。

C言語ができないのに「おそらく QUIC か MQTT 」とか分かってない英単語文字を羅列するのは厨ニ病すぎます

わかっていないのはテメーの方だ。今日オーバーフロー問題を抱えている C/C++サーバーの開発をしようとするのが危険なのは承知しろよ。パフォーマンス必要とするなら Rust、または GC があるけど Go言語を使って実装すべきだろ。高学歴なのは結構だけどは、現実は見えてないのか?いい加減にしろ

片手間でできません。インフラエンジニアに触らせます

そうだね~。卓越したインフラエンジニアがすぐに手に入るなら、問題ないだろうけどさ、ベンチャーや硬直化した雇用形態我が国で有能なインフラエンジニアをすぐに採用できるかよ。何年前の知識で戦っているの?時代は DevOps なんですよ。必要とあらば、すぐ学んで、応用して、デプロイできるのに「インフラエンジニア採用から始める」なんて、ヨーロッパが衰退する理由もよくわかるよ。プププ。

NextSSRまで踏み込む結構

誰が NextSSR なんてするか!あれは SEO必要場合に限る。そもそも SSR なんて危険からまともなエンジニアだったらしないだろ。問題になってないだけで、本当のブラウザクローラが見える内容が違うなんてスパム認定されてもおかしくないんだ。クローラインデックスされるページで SPA をやろうとするやつはセンスないで。

MyISAMInnoDBに切り替えるなんてことしているところは無い。万にひとつあったとしても、大事で、それだけで数ヶ月のものなので、この付け焼き刃の知識の人が触る機会はない。

すいませんでした。本当にすいません。

Kafkaを触ったとかいているが、Kafkaはサーバで使ったのかな?どういう利用シーンかというと膨大なログ収集等で使うのだが(ただのNoSQLではない)、Zookkeeperで調停させて、topic数とか調整するんだけど、わかってます

ん? AWS SQS だとパフォーマンス問題があることしたいから Kafka を使いたいのよ。確かに Zookeeper のことは詳しくないよ。だけど、AWS MSK 使うんで。PaaS というもんがあるので、だめなん?ログ収集は GKE みたいに ログに出したら Fluentd収集してくれる時代になんでグチグチ言われないといけないの?

Redisちゃんと使えてる?pub/subとか分かってないと思う(普通に理解する必要あんまない)

ハア?インメモリデータベースに信頼するほどヤワじゃないから。Redis なんて飛んでなんぼ。だから Kafka のようなストレージに保存されるメッセージキューを利用したいの。

code deploy

これないと、CI の責務が大きくなるじゃん。ほんでもって、ArgoCD なんて Kubernetes で展開したら運用までしないといけないじゃん。メンドクサ。

アメリカ事情は知らないはずなので知らないことは書かないようにしましょう。

いや、J1ビザをとってアメリカ留学したことあるよ。あと、「世界もっとも強力な9のアルゴリズム」「CleanCoder」「戦うプログラマー」 の本に書いてあるじゃん馬鹿にしてるのか?

 なぜ、ヨーロッパ人が避けるかといと「やる気がないから」です。以上

SAPアマデウスITとか強いじゃん。うそつき

https://anond.hatelabo.jp/20210708205945

=====

東大卒ヨーロッパエンジニアやっている人から解説しよう。(ちなみに医学部防衛医大に補欠合格していた)

エンジニアになるより医者やっていたほうが(国内で頑張る分には)絶対いいと思う

ちなみに医学部にいった友人の何人がむしろテック系に流れてきているという事情がある。

厨ニが溢れているので、しっかり解説してあげます

おそらく、増田はたしかに昔からプログラミングをやっていたと思う。頭もいいんだろう。厨ニが溢れていて気持ちが悪い。

エンジニア厨ニ病マウント取っていいていい時代でもないです。明らかにマウント取りたくてウズウズしすぎて、大した知識がないのに、

表面的な知識を羅列しているところがあったので突っ込んでいく。

~~誰にやらせてもデータベースにクソなDCLを飛ばせないから。逆に、データベースを触れることができるプログラマーリスク責任が大きいから、給料が高いのだよ

ー>そんなことない。フロントも色々やらないといけないが、バックエンドに比べて経験年数がひくい人も流れ込んできているので、バックエンドの人に比べて

できる領域が狭いので給与が低い、またおそらくDCL、DMLDDLといった用語を知っていることをひけらかしたかったのかもしれないが、全くどうでもいいです。

~~君はソフトウェアエンジニアになりたいのだろ?世の中は分業で成り立っているのだから、全部やろうとするやつはアホだよ

=>全部できようとして、破綻しているのでブーメランですよ。あなたの想定している、こんなフルスタックは成り立たない。

現場に放り込まれても10年ぐらいかかる。というより、フロントからバックからレイヤからモバイルまでやることはもはや現実的ではない。

~~おそらく QUIC か MQTT あたりだろ?逆にいえば、それが実装できたら他社と差のつけられるプロダクトだったはずだ。つまり会社利益の源泉であった部分をみすみす実装できないようでは、そこらへんの専門卒以下だぞ。

=>QUICとかマイナープロトコルを話すよりはちょっと変化球のあるプロトコルでいけばWebsocketぐらに抑えておきましょう。低レイヤーの話はわたしもわかりませんが、C言語ができないのに「おそらく QUIC か MQTT 」とか分かってない英単語文字を羅列するのは厨ニ病すぎます

~~プログラマーに徹するつもりだろうが、ツヨツヨエンジニアデプロイした経験から逆算してコード設計・開発をやるのだぞ。そうなると、CDN, DNS, WAF, S3, ログの出し方、メトリックス、異常検知、アラートを把握する必要があるのだぞ。そういうのを知るためには、ポートフォリオAWS GCP Azure といったクラウド経験を書くべきだと思うのだが、なぜしない?

=>自分cloudfrontやWafを触ったことがありますが、かなりのインフラエンジニアにならないかぎり、ここ触りません。cdnは影響範囲が大きいし設定に時間が掛かったりします。片手間でできません。インフラエンジニアに触らせます。異常検知、アラートといったものは、実は結構時間がかかるので、強いかどうかではなく責務の分割からインフラに任せます。知らないことは知らないって書きましょう

本当に医学生ならここ数年の技術についてこの指摘ができる程詳しいわけないし少なくとも10年位は業界にいないとこういう感覚は身に付かない。 」

~~たしかおかしいよな。Kubernetes や Terraform を弄って、CIGitHub Actions、CD には AWS CodeDeploy を使って、ブログは Jekyll で静的サイトジェネレータを使いつつ、自前のサービスを立ち上げるために Rails, Next, React, PostgreSQL, Redis, Kafka, Elasticsearch, S3 の勉強をしつつ、スマホ環境のために KotlinSwift を触れているなんて変だよな。そういえば、Docker が来るまでは Vagrant環境をつくっていたのも忘れてたよ。あと Rust を今年に学ぶ言語にするなんて、受験生にあるまじき行為だよな。うん。

=>こんなにあれこれ、やっている時間はないでしょう。趣味サイト製作でやるにしても絶対できてない。kubernetesを使っただけで時間切れになる。Kafkaを触ったとかいているが、Kafkaはサーバで使ったのかな?どういう利用シーンかというと膨大なログ収集等で使うのだが(ただのNoSQLではない)、Zookkeeperで調停させて、topic数とか調整するんだけど、わかってます?ElasticSearchだけ書いてたらまぁあるかなと思うけど。Redisちゃんと使えてる?pub/subとか分かってないと思う(普通に理解する必要あんまない)

それでkotlinなんて触ってる時間なんて絶対にないし、Rustを更に付け焼き刃に付け焼き刃している時間なんてぜええええたいにない。やることが絞り込めてない。無意味マウント取りたいだけ。なんとなく書いているcode deployなんて、それだけで使いこなすのが大変なれべる。

ci/cdのうちciだけかたっているならわかるがcdとなるとかなり時間がかかる

~~ストレージエンジンが切り替わるときカオスな目にあったけどさ

=>MyISAMInnoDBに切り替えるなんてことしているところは無い。万にひとつあったとしても、大事で、それだけで数ヶ月のものなので、この付け焼き刃の知識の人が触る機会はない。

~~TypeScriptNext と React を書く。もちろん JavaScript は ES2020 あたりまでは説明可能

=>ES2015以降の差分は微々たるもので、どうでもいいです。ES2018ぐらいの現実的数字にしてたらばれなかったのにね。

NextSSRまで踏み込む結構フロントのことをキャッチアップするだけでかなり厳しいと思いますが、できているのかな?

=====

~~アメリカでも「テック系はハードから避ける」

ー>アメリカ事情は知らないはずなので知らないことは書かないようにしましょう。

ー>ヨーロッパでは白人様はHRとかマーケやってます移民にたよってますロシアウクライナインドパキスタンなど

  なぜ、ヨーロッパ人が避けるかといと「やる気がないから」です。以上

※ちなみに防衛医大の補欠合格東大に入る人なら大体受かると思う

2021-07-08

anond:20210706022633

年収270万で)プログラマー引退して、医学部にきた俺が真面目に考えてやろう。

言葉は正しく使おう

真面目に読んでいて、ちょっと気になる箇所がある。たとえば PostgreSQL を postgre とか書くヤツは現場では嫌われるぞ。少なくとも postgres と書いてくれ。お里が知れるぞ。

プライドが高い

消えていくエンジニアの特徴だけど、叱責されたり馬鹿にされるのが嫌で VCSコミットしないヤツ、または貪欲コードレビューをされるのが嫌がるやつは、成長しない。

エリート意識

この業界は数年前には『デジタル土方』と揶揄される業界でした。ちなみに、アメリカでも「テック系はハードから避ける」という雰囲気でした。つまり何をいいたいのかというと、ソフトウェア開発者っていうのは「泥臭い領域」なんだよ。エリートとは程遠い場所にあるというね。

④ 「某天市場の先輩には,ここ仕事量少ないしオススメだよって言われたのですが,」

いやぁ、是非とも楽天で働くべきだよ。どうせ野村総合研究所とか NTT DATA なんて無理だと思うから

⑤「バックエンドは大体firebaseかgcpに任せているので,インフラあたりひいてはネットワーク知識が薄いです.」

うん、ココはまずい。基本的フロントエンドなんて給料が安いのよ。だって、誰にやらせてもデータベースにクソなDCLを飛ばせないから。逆に、データベースを触れることができるプログラマーリスク責任が大きいから、給料が高いのだよ。B4 になってもそれが理解できていないようだと、この先くらいよ。

⑥「後fpgaも少し.ハードウェア開発は結構苦手で回路図とか上手く書けません.」

君はソフトウェアエンジニアになりたいのだろ?世の中は分業で成り立っているのだから、全部やろうとするやつはアホだよ。

⑦「B3の夏くらいのタイミング東証一部上場企業インターンに行きました.」

インターン生はお客さんなの。君のスキル通用したのはすごいと思うけど、同じ感覚仕事はできないから注意しときなよ。

⑧「CSではないので受動に学ぶ機会も特になかったです」

なに言ってるの?そんなことは言い訳にならんよ。プログラマーになりたいのだろ?勉強しろよ。

⑨「Twitterとかで(主につよつよエンジニア達によって)エンジニアのべき論が語られているが,(以下略

逆にいうと、あなたインターンとして週3で20万円貰えていたのは、参入障壁が少ないからでしょ?強強エンジニアが生き残っているのは、それだけすごいということだよ。

⑩「仕事となると自分が扱ってこなかった技術を使わないといけなくて,扱ってこなかったということはつまり難しいということで.」

いやぁ、違うと思うよ。その問題が「難しい」なら切り分けて、上に「ココが自分能力では解決できないです」と持っていくだけなんだからさ。CS じゃないのだったら、仕事をするまで「扱わないまま」なんだよ?しかも、土日に勉強する気もないとなったらいつするのさ?

⑪「僕のようなクズと言われても仕方のない人材はどうしたら上手く(ストレスレス高収入の意)生きていけるのでしょうか?」

諦めなよ。ソフトウェアというものが「変化できることに価値がある」ものから。変化する業界ストレスフルだけど、立身出世する可能性が高いでしょ?安寧なばしょではないの。

⑫「今22歳,B4だ.Mまでは行く.Dに迷ってる.研究楽しいからです」

いやー、CSでない博士課程に行って、雇ってくれる企業があるかね?無いと思うけどな。

⑬「ネット実装例なんてクソの欠片も載ってないし,プロトコル理解のために特許資料論文をくまなく読む羽目になったのは本当に辛かったです.」

この時点で、君はコピペしかやってきてないことが理解できる。おそらく QUIC か MQTT あたりだろ?逆にいえば、それが実装できたら他社と差のつけられるプロダクトだったはずだ。つまり会社利益の源泉であった部分をみすみす実装できないようでは、そこらへんの専門卒以下だぞ。

⑭「html, css, javascript(jquery, express, react(next), vue(nuxt)), python, php, sql(postgre, oracle), graphql, ruby, swift, solidity, unity, c, c++ 業務レベルじゃなくていいならgo, kotlin, java, scala, dart, julia,(以下略

ムカつくというか、虫酸が走る書き方だ。箇条書きにすると、

⑯「プログラミングは17歳くらいから始めました」

プログラミングに年齢はないから。自分は9歳ではじめたけどね。

⑰「僕のつよつよエンジニアイメージを共有すると」

あー、俺も天才高校ときにいて、マーチ情報工学と旧帝の院の学費会社持ちという驚異的なやつがいたよ。今もブログ見てると、AndroidiPhoneアプリを書いているみたいで、元気そう。

⑱「つまり難易度が急に跳ね上がった.これが辛かったです...言語C++Java.」

それを上手にコントロールできるプログラマは世界中にもほとんどいねぇ。むしろ、月20万でやるもんならギルドから苦情が来るぞ。オレもアビームの人に給料を答えたら、「こんなヤクザ会社はやめろ」と耳うちされたよ。

結語

人より良い経験をしたいという願望はあるのは素晴らしいと思うよ。しかしながら、君が到達したノウハウ他人にもできることだからね。ワン・オブ・ゼムになりたくないなら、努力し続けることだな。勉強をするのをやめたら、数年で中卒に負ける世界からな。覚悟しとけよ。

追記

P.S. 医学部に来たのは家庭の都合だよ。それに、自己顕示しないと「場末コーダー」で読んでもくれないだろ?年収については、自分も低いと思うよ。なぜ低かったかというと、都内私立大学多浪中退自分にはベンチャーの皮を被った助成金搾取がメインの反社会的勢力フロントベンチャー企業ぐらいしか相手にしてくれなかったからだよ。そこの会社外国帰りの MDMA をキメて、未成年の子女に手を出しては警察沙汰スレスレのことをしているキチガイ社長をやっていて、人工知能を作ろうと学生インターン酷使している会社だったのだけど、「サイバーエージェントに紹介する」という嘘にひっかかって、特定派遣事業免許がないのに客先常駐させられ、土曜は帰社日、日曜は社長Python勉強会に参加させられる、というブラック会社にいてピンはね率(60%)となると、まともに考えることもできず働くアリになってしまってたからだよ。

P.S.年収については、初日から派遣先会社に引き抜きのオファーをもらって、2ヶ月後に新しい会社に移動したけど、300万だったので CodeIQ というサイト転職をする準備をしていたよ。たしかDMM とかサイバーエージェント面接にいこうとしてたような記憶。その後で家庭の都合で、医学部に来たけど。

P.S.医学部医学科の6年生だよー。みんなが嫌いな私立医学部だけどね。ちなみに、俺もこの大学が嫌いだ。

P.S. ④「GraphQLをわざわざ書くのは理解できるけどな。」そうだとすると、RESTSOAP も書かないとまずくない?書くのだったら「RailsNextデータ受け渡しにGraphQLを使った経験が」という感じだと良いと思うけど。

P.S. ⑤「野村総研データを挙げるあたりSI寄りの仕事してたのかな。 」ちゃうねん。オレっちは多浪たからさ、そこのエントリーシートをかけなかったのよね。まぁまぁ大学が名門でさぁ、OB が誘ってくれるけど、年齢で弾かれて辛かったねん。

P.S. ⑥「ダウト学費をどうやって稼いだんや 」えぇ、親の金です。だから家庭の都合でと書いてるじゃろ。

P.S. ⑦「本当に医学生ならここ数年の技術についてこの指摘ができる程詳しいわけないし少なくとも10年位は業界にいないとこういう感覚は身に付かない。 」たしかおかしいよな。Kubernetes や Terraform を弄って、CIGitHub Actions、CD には AWS CodeDeploy を使って、ブログは Jekyll で静的サイトジェネレータを使いつつ、自前のサービスを立ち上げるために Rails, Next, React, PostgreSQL, Redis, Kafka, Elasticsearch, S3 の勉強をしつつ、スマホ環境のために KotlinSwift を触れているなんて変だよな。そういえば、Docker が来るまでは Vagrant環境をつくっていたのも忘れてたよ。あと Rust を今年に学ぶ言語にするなんて、受験生にあるまじき行為だよな。うん。

P.S.年収については、基本給が 22万で、残業200時間超えたらプラスだった気がする。あと、反社ベンチャーは「ポートフォリオ作成にまる一ヶ月間で拘束された、しかも無給で」という時点でヤバいのだけど、その会社コミットしたのは「サイバーエージェントに紹介する」ということだけであって、同時期に DMM面接に行けそうだったのよね。馬鹿なことをした。

P.S. ⑨「特にフロントエンドを見下す感じとか」オレ自身フロントエンド出なんだよ。何を隠そう、Adobe Flashゲームをつくっていたから。それでもって言うよ、バックエンドが一番大切だと。

P.S. ⑩ 「相続税対策お疲れさんだな。」あたり。

P.S. ⑪「5~10年前に人売りに捕まった話とするなら、年収270万も現実味を帯びる。」特定派遣は消えてくれてよかったよ。俺のところは特定派遣すら未登録だったけど。

P.S. ⑫「いい医者になるのだよ 」うん、頑張る。「オッサン」「社会不適合者」「あるき方がキモい」「プログラミングwww」「同じ班になりたくない」「親も頭が悪い」「生きてて恥ずかしくないの?」とか言われてるけど、頑張る!

P.S. ⑬ 「フロントエンド別に給与低くないよ。」えっ、そうなの?WebDesigning を読む限りだと、400万もいかないイメージだけど。

P.S「医学部6年でまだプログラムに興味あるの不思議。」好きなんだよ、言わせるな///

P.S. GitHub なんやね。気をつけるよ。

P.S.フルタイムじゃないのでしょ?」いいえ、東京都内フルタイム(ひどいときで、朝7から24)でしたよ。入った会社が「法律よりも、派遣先評価」という会社だったからね。

P.S. サイバーエージェントさん、ときどき御社の社名を使って「弊社に恩を売ると、サイバーエージェントに紹介する」というベンチャー跋扈しているので、どうにかしてください。わたくし、1ヶ月間もその嘘で jQueryDjango を回収させられた挙げ句、月給 2000円だったのですけど。本当に千円札2枚だったのですけど。ついでに、AndroidJava) と iPhoneObjective-C)と jQuery を使ったフロントエンドシステムに、バックエンドRails + Postgresqlシステムで、AWS を介したサービスを作らされたのも「サイバーエージェントに紹介する」と言われたからなんですけど。いったい、何なんですか?お前ん所は、コンプライアンスどうなってんじゃ。

P.S. 「好きそうだし医学部卒業してシレッとgoogle行ったれ 」無理っすよ。オレのスキルじゃ。

P.S.病院は」親がクリニックを持っていたけど、潰したよ。クリニックは人に患者がついていて、アルバイトを充てがっても患者さんが不幸になっていくのをみちゃったからね。自分責任を持って患者さんを見たいから、バイトなんて使わないよ。

P.S. 自分コードを書きたいタイプだったから、SIer みたいな UML とか書いて下請けコードさせるみたいなのは絶対に嫌だったのよね。だから SIer にはならなかったよ。やっぱり、現実にある計算機解決できる問題を、より直接的に触れて解決したいと思っているから。仕事ハードでも全く問題なし。

P.S. FPGA すごいよね。ザイリンクスアルテラIntelAMD に買収されて、すごいと思ったよ。2010年頃だっけ?、CPU限界FPGA突破しようという話があったけど。手を出そうと思ったけど、高性能なチップ100万ぐらいして挫折した記憶があるよ。

P.S.東海大医学部学士」は自分大学卒業してないから無理でした。あと、それ以上の詮索はやめてくれ...

P.S.MySQLそんなに嫌いなのか。」そんなこと書いたつもりはないが、あれ?確かに MySQLPostgreSQL より嫌いたけど、それは Oracle が親元だったり、Unicode の扱いがファッキンだったり、ストレージエンジンが切り替わるときカオスな目にあったけどさ、MySQL は好きだよ。お世話になったし。

P.S. 給料については契約後に言われたのよ。というか、もともとは「サイバーエージェントに紹介」するという理由で、ポートフォリオ作成Django の改修を手伝ったつもりで、入社とかする気は全く無かったのよ。それが、いきなり他所会社面接を受けさせられて「君は明日からXXで働くから履歴書を書いてね」と言われて、抗議したら「俺に恥ずかしい思いをさせるのか!業界に入れなくするぞ!」と大声でシャウトされて、気がついたらあっちが用意した履歴書拇印してしまったのよね。有料職業紹介と派遣登録をしてない会社だったから、そんなかとはできないはずなんだけどね。ホームページには「年収550万」と書いてあったけど、実際はまったく違ったのだけどね。

P.S.「うーん、いらないかな。IT土方としての仕事しかないと思う。」だよな。おとなしく医者になるよ。ありがとう

P.S. Elasticsearch は全文検索機能がほしいからやってるよ。Redisインメモリセッションストアとして使いたいのよ。Kafka はさ、twitter のファボをじっそうしたいけど、RDB書き込み速度が上がらないから利用したいの。TensorFlow は全く理解できてないよ。それは、指摘されたとおり。

追記追記

逆に聞くけど、以下の知識があったらどれぐらいもらえるわけ?東京23区で。

2020-04-09

スターの処理が重いから変えたいんだろうけど

anond:20200408140131

スターの無いはてブなんてカニの入ってないカニ玉みたいなもんだよ。

花火の上がらない花火大会みたいなもんなんだよ。

いっそのこと、人気エントリーの「人気のコメント」と「すべてのコメント」のビューでは

スターIDは取得せずにその数だけ表示するようにしてしまってもいいんじゃないか。

例えば「★5★」表記にしてこれを今の「★リストリンクに置き換えても良いし、従来どおり「★★★★★」表記でこれを全体で一つの「★リストリンクにしてもいいと思う。

★のユーザーIDをその場で確認できないのはちょっと残念に思うところもあるけれど、そこまでユーザーにとって優先度が高い場所でもないだろうし、まあしょうがないんじゃないかな。

そういえばスターIDリストってMySQLで処理してんのかな。MySQLリスト型はなかったはずだから

ブクマレコードごとにスターリストを持ってるんじゃなくてスターごとにレコードがある感じかな。MySQLだったら、の話だけど。

SELECTが大半でINSERTが少し、DELETEほとんどないだろうからロックはあまり発生しなさそうだけど、

スターの表示でわざわざブクマTABLEスターTABLEJOIN掛けるのはちょっと割に合わない感じがする。

ブクマTABLEスター数を管理するカラムくらいあると思うし、なんとかならんのかなぁ。

RedisのLIST型を使ってスター情報管理するとか、INCR/DECRでスター数を管理してくれてもええんやで。

すでにやってたらすまん。

2019-07-03

冷静に考えるとITエンジニアって異常だよね

私はうぇっぶな界隈で働くしがないエンジニアです。


今日牛丼を食べながらふと気がついたのですが、もしかして我々の業界は異常なのではないでしょうか?

テクニカルタームとかドメイン知識多すぎでしょ。


サービス名、技術名はスキあらば3文字って感じだし (AWS, EC2, EKS, GCP, GAE, GKE k8s, C2C, CPU, GPU, SPU...)

会社名もソフトウェア名も連想できるってものじゃないし (PostgreSQL, MySQL, Redis, etcd, Consul, HashiCorp, Vagrant, GitHub, CircleCI, FreeBSD, CentOS, Ubuntu, Linux, Couchbase, Hive, Hadoop, Vagrant...)

みんな普通にPOSIX互換コマンドをペシペシしているし (cd, cp, mv, pwd, mkdir, ls, vi を更に謎の数文字オプションも含めて覚えているわけで)



それも特に覚えようとして覚えてきたわけでもないじゃないですか

気がついたら覚えているわけで、手に身についているわけで。まるでポケモン151匹を勝手に覚えてしまったあの頃と同じようなノリで謎の英単語や謎の羅列を身に着けてしまっている訳ですよ。

何ら疑問に感じてなかったんだけど、普通にきじゃないとできないよね。




で、思ったんだけど、インターネット小話で聞く「全然興味はないけどSEなっちゃいました」みたいな人ってガチ苦痛なんじゃないだろうか…

(未だにそんな人を見たことが無いか都市伝説だと信じてるけど)

別に周りにそんな人が居るわけじゃないけど、新卒入社してくる季節ってことでふと気になりました。





おしまい

2019-06-18

laravelめんでえ

まともなwebアプリ開発しようと思ったら

webサーバ

DBサーバ

redisサーバ

webpackビルドタスク

・queワーカ

・laravel-echoサーバ

が同時に動いてなきゃいけないとか面倒くさすぎひん?

2018-12-17

http://b.hatena.ne.jp/entry/s/qiita.com/Hisashi_vc/items/a50b49ad6a75d51c880a

せめてRedisとかのKVSにでも入れといたほうが扱いやすい気がするが

そんなに馬鹿にしたもんでもない、と思った

どうですかね?

2017-04-24

2chまとめアプリ作ったら、突然DL数500倍になって朝日新聞を抜いた件w

僕は大学卒業後にIT系企業就職したが、ブラック企業精神的に辛くなり辞めた。

クライアントからの狂った納期無駄仕様理不尽に感じながら進める日々から解放されたが、ニートも暇だったので、結局プログラミングは続ける事になった。

ニートになってiOSアプリ開発を初めて2年ぐらいが経つ。

約1年前から2chまとめ系のiOSアプリを開発していて、本格的にネイティブ機能を使って開発したのはこのアプリが初めてである

昨日(4/23)に、ダウンロード数が突然500倍になるという夢のような出来事が起きた。

※もちろん、お金を出して広告を出稿したとかではない。

毎日、定期的にダウンロード数やアクティブ数などがわかるfabricという解析ツールをチェックしているのだが、その日は朝から明らかに数字おかしかった。

たまに数字バグっていてあとから修正されることもあるので、その日は半信半疑ながら定期的に数字確認していた。

サーバーサイドはAWS+Rails+redisで構築しており、内部のDBGAのevent trackingで記事の閲覧回数は計測していたのだが、

その数は普段より明らかに多く、fabricで見えている数字がすべてではなかったとしても今までの最高記録を更新するとは思っていた。

そして翌日(4/24)のAppStoreのランキングを見て、fabric数字が異常ではなかったことを確信した。

無料ニュースランキングで13位を記録。(前日は80位)

ランキングの少し後ろには、日本経済新聞(17位)、NHK(21位)、朝日新聞(27位)など

誰もが知っている大手企業アプリがずらずらと並んでいる。

アプリ開発に夢を感じる瞬間だった。

今まで地道に1年間、大きいものから小さいものまでコツコツ修正を積み重ねてきた。

基本的には、特別な事は何もしていないと言えると思うが、実直にやってきた自負はある。

具体的には大体下記の7つぐらい。

1. 既存アプリ機能洗い出し

2. 既存アプリレビューコメントで、評価されている機能リストアップ

3. その中で、共通機能は全て実装共通してないものでも、レビューコメント要望が多かったものは、全て実装

4. 記事を見やすくする為に、サイト1つ1つをチェックして、jsで最適表示。(これが一番大変だった。。)

5. 他のアプリはあまりコメントに注力していなかったのでコメント機能の強化

6. ロード時間にはこだわりたかったので、1ミリ秒でも早くする為に部分部分でのキャッシュを頑張った

7. お問い合わせを全てチェックし、1個ずつ出来る限り対応最近だと、お問い合わせ頂いた音楽バックグラウンド再生対応しました)

クライアントに付き合わされて意味不明仕様実装していた頃よりは、精神衛生上遥かに良く、実際に使って下さるユーザーの方々がいることに、やり甲斐も感じている。

おかげさまでレビューやお問合わせでたくさんの改善要望などを頂いているので、これからユーザーの方に満足して頂けるよう開発を頑張っていきます

気になる広告収益は、昨日のADNW収益が1日○万円だった。このペースだと、1ヶ月で前職の給与の3倍ぐらいになるんじゃないかと思っている。

ようやく自分人生光明差してきたと思う。

タイトルアプリたまたま目についたアプリで、特に以前の職場で何かあった訳ではありません(^^)

自分と同じようにブラック企業で働いていて夢も希望のないプログラマー達への救いになれば。

2017-01-31

【開発】アンテナサイトのジェネレーターを作った

しがないWebエンジニアをしています

今年の1月からチマチマ作っていたアンテナサイトのジェネレータを公開しました

アンテナサイトメーカー

http://antena-mk.com/home

サービス説明

お好みのRSS登録するだけであなただけのアンテナサイトの完成です。

自身広告掲載できるので、お小遣い稼ぎもできます

Google Analyticsコードを使ってアクセス解析もできます

ダッシュボードにて、アクセスランキング、逆アクセスランキングなんかも見ることができます

今後はアクセスに応じて調整するような機能などを追加していく予定です。

使用技術

作ってみた感想


ぜひ使って感想ください!

2016-03-24

サーバスペックが低くても負荷の高いサイト運用したい

何を作りたいかというとマルチプレイヤーブラウザゲームが作りたいんだよね。

phpsymfonyを使ってみたけど重い。

俺の開発用のceleron 1コアのメモリ1GB環境では重すぎる。

isoファイルを10000個同時にダウンロードしてるぐらい重すぎる。

ページの読込みがなかなか完了しない。

こんなクソ重いフレームワークはそれなりのサーバスペックがないとパフォーマンスに影響が出すぎるので除外したい。

phpフレームワーク一般に言えるんだけどプロジェクト毎にプロジェクトルートなかにフレームワークのコアファイルを置くのがなんか嫌だ。

railsdjangoのように分離させてほしい。

nodejsシングルスレッドなので負荷の高いサイトで使うのは厳しそう。

pythonでもgolangでもwebsocketは使えるのでnodejsにこだわる必要もないしvert.xを使う選択肢もある。

日本ではvert.xの話題あんまり盛り上がってないよね。どこかの企業さんが実践で使いましたって記事を書いたら会社の知名度が上がると思う。

scala,golang,elixirこの3つの選択肢でいいのかな。

でも負荷の高いブラウザゲームやってる会社ってrailsとかphpだよね。

railsphpでも問題ないのかな。

redisをうまく活用しとけばあんまりそれ以外でボトルネックとなるようなことって無いのかな。

艦これやってるdmmとかは何使ってるんだろうね。

スクエニさんのオンラインドラクエもどうやってるんだろうね。

あと海外ブラウザゲームってほとんどがaws使ってるのでaws使えばいいのかな。

でも怖いよね高額料金を請求されたらさ。

金儲けの為にサイトを作らないとawsは使ってられない気がする。

初めのスタートダッシュは定額制のレンタルサーバクラウドでいいか。

2014-12-31

1年の締めとして一人ハッカソンした

去年の今頃は「今年こそはすごいWebサービス作るぞ!!!!!!!!!!!」って意気込んでたのに

なんかもう今日が最終日。

ということでこの12月から何か作ろうと考えていて、丁度年末からということで作った。


Amazon購入金額分析

前にAmazonの購入金額合計を出すブックマークレット流行ったけど、それとほぼ同じ。

Amazonの今までの合計金額と、書籍とかPCとかカテゴリごとの合計金額出してグラフにする。

適当Twitter投稿して終わり。


年末だしTwitterで「2014年Kindle購入金額内訳は...でした」とか投稿すれば

みんなつられてアクセスするはず!宣伝しなくても勝手に大ブーム間違いなし!!!!!!!!

最終日に目標達成大勝利!!!!!!!!!


って思ってたけど

投稿してもだれもアクセスしてくれない。待っても待ってもアクセス0。

e?嘘でしょ???って思ったら

EC2セキュリティグループの設定変更忘れてた。

よーし今度こそアクセス過多間違いなし!!!!!


のはずだったけど今度はrobots.txt見に来るクソbotしかアクセスしてくれない。

虚しさ半端ない

というかTwitterURLつぶやくと即効でどこぞやのクローラー巡回してくるんですね。


構成自体クライアントサーバサイド共にjsEC2上でnode.js

D3.jsグラフ画像svgからどうにかしてpngにしないとTwitter投稿出来ないのが微妙に面倒だった

投稿時にクライアント側でbase64canvaspngにしても良かったけど

結局サーバサイドのphantomjsやらせた。

商品カテゴリ取得するためにはProduct Advertising API使うしかなくて

コレが毎秒1商品しか取得できない厳しい制限付き。

重複なしで600商品購入してたらなら10分かかる。

redis上にキャッシュしておいたりwebsocket適当に進捗伝えたりした。


今回得た経験値としては


あたり。


今年は残念ながら目標不達成だったけど、いい最終日の過ごし方になったと思う。

お疲れ様でした。

2013-06-06

アラサーニートがはじめてのweb serviceを作ってみた

概要

http://hakohako.me/

hakohakoは、バンド好きのためのライブ日程共有サービスです。ツイッターフォローしている人のライブ日程をカレンダー形式でお届けします。ちょっとでも気になるバンドを見にいきましょう!

すみませんgoogle chromeしか検証していません。

動機

3つあります

一つ目は、一人でスクラッチで作りたいからです。プログラムを書くことは楽しいです(たいしたものはかけませんが)。しかし、デザイン運用のことは苦手で経験不足でした。これを期にやってみようと思いました。

二つ目は、少しでも気になるバンドを見逃したくないからです。不精なこともありますが、すべてのバンドをチェックできません。いつのまにか来てたりとか、来る前に解散してました。バンドの魅力は、小野ほりでい先生も認めてます

三つは、就職したいから!

構成

一人で小さくwebserviceを作るためにはどうしているかを他の人にも書いてほしいため、自分から書いてみます


言語pythonで、web aplication frameworkはflaskを使いました。rubyphpよりpythonが楽だと思いました。flaskはmicroframeworkで、rubySinatraと似ていて、小さいアプリ作成するのに適していました。

永続化のところは、redisを使いました。結果、redisを使った何かになってしまいました。。。mysqlでもpostgresでも、rdbを使った方がよかったです。ただ、sessionの管理message queueを実装できるので、そちらで功を奏しました。

amazon ec2microで、nginxもuwsgiのreidsもworkerも動かしてます。dot cloudも試していたんですが、無料枠は4月末で終了してました。

デザインが苦手なので、bootstrap、bootswach、font awesomeを使いました。しかし、基礎ができてないためイケてない感があります。ノンデナイザーズブックを読んで出直してきます

javascriptも苦手なので、coffeescriptを利用しました。pythonを使っているせいか、書きやすいし読みやすいです。mvcframeworkは利用していませんが、modelview意識して書きました。

githubgitの代わりに、bitbuckethgを使いました。私にはgithubgitの敷居は高かったようです。bitbucket日本語で利用できるので、楽ですね。hggitよりも複雑なことを感じないです。ただ、gitの方が日本語ドキュメントは多いです。

gruntは、lessとcoffeescriptコンパイルで使いました。リアルタイムで変更を通知するlivereloadも併用しました。

感想

楽しいです!

聞きたいこと
最近オススメバンド

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ステージで頑張ってきます

怠け癖が付く前に…。

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

2012-03-18

WEBサイト発注してみた。

アニメゲームキャラクター情報をまとめてるサイトがないから作りたいなぁって

思ってたんだけどhtmlは初歩しかからないしプログラミングもできないので構想するだけで作れなかった。

ゼロから4ヶ月でWEBサービスをリリースした人の記事を見つけて「自分にもできるかな!」なんて思い挑戦してみたけど理解できず挫折・・・orz

WEBサービスを個人で作ってる人達が羨ましいです。

それでもWEBサイトを作りたかったので制作会社発注してみようと思い立った。

ただのキャラクターデータベースだけではつまらないのでコミュニティ要素なども付けて

ネットで見つけた制作会社見積もってもらうと下記のようになった。


合計1,483,125円


以前、SNSウェブカレ」のサイト制作費が1千万円で安く仕上がった(潰れたけど・・・)という話があったか

なんとなく3~400万くらいかかるんじゃないかなと不安だったんだけど予想より安い見積もりだったので、

このくらいの金額ならなんとか出せる!ということで制作してもらうことにしました。

本当は何社かに見積もってもらって比較しようと思ったんだけど面倒だったのでそのまま制作をお願いすることにした。

最初はもう少し高かったけど機能の簡略化とオープンソースライブラリを使用してもらう事で費用を抑えてもらった。)

去年の10月の頭くらいから打ち合わせを始めて第1フェーズワイヤーフレーム作成仕様策定をして第2フェーズhtmlシステム開発

移ったのは中旬だったかな?その段階で前金で4割の580,650円を支払いました。

制作会社には3回くらい打ち合せに行って、あとはメールでやり取りしていました。

当初は12月中にリリースを予定してたんだけど、なんだかんだで伸びてあらかた出来上がったのが2月中旬くらい。

見積もりがちょっと甘かったんじゃないかなぁって思うw

ちなみに僕はヒッキー(どれくらいヒッキーかというと外出は3日に1回くらい)なので制作してもらっている間は

家でずっとサイトに必要なアニメデータを収集していました。

↓作ったサイト

http://neoapo.com/


以下、サイト設計担当してくれた人の製作記。

サーバ設定

サーバさくらVPS 8Gを使用。CentOS5の64bit

設定した項目は以下のとおり

HDDが3つあって、普通に/var/wwwコンテンツを入れていくとHDDが溢れそうだったので、容量の大きいものを使うように工夫したりなど。

メモリもそこそこ積んであるサーバなので、mysqlphpapcに多めにメモリを割り当てる設定をした。

データベース

本当はmyISMやInnoDBエンジンでLIKE "%word%"のようなクエリーを投げて十分なパフォーマンスが出ればいいんですけどね。

それはムリなので、全文検索エンジンとしてgroongaを使用。

groongaを使用するために先にインストールしたのはこんな感じ

この時点でいざ、groonga!と思ってgroongaをインストールしようとすると競合を起こして入らない。

epel、remiレポジトリからインストールしてあったmysqlと衝突してたのでyum remove "mysql*"で

一旦mysqlを消して、groongaレポジトリからmysqlとgroongaをインストール

するとgroongaは入ったものの、今度はphpから使おうとしてもphp-mysqlパッケージが入らない。

あちらを立てればこちらが立たぬ状態で本当にこまった。

どうしようもないので、やりたくないけどyum-downloadonlyを使ってパッケージに含まれる設定やら、soファイルなどを直接とってきて入れた。

mysql.so、mysqli.so、pdo_mysql.soを/usr/lib64/php/modules/にコピーしたり、設定をコピーしたり、少しずついじりながら、なんとか動いてくれた。

状態としてはmysqlとgroongaはgroongaレポジトリからphpと本来php-mysqlパッケージインストールされるmysql.soは手動で置いたことになる。

シェルから直接mysqlログインするときはgroongaレポジトリのやつを、phpからmysqlを呼ぶときは手動で置いたmysql.soを使うことになっている。

ちょっと心境的にしんどい。別の方法があったかもしれないけど、調べても分からず結局1日くらいかかった。

アクセスカウンタ

アクセスは、サイト全体(トータル)、サイト全体(当日分)、各コンテンツ日別、各コンテンツ週間、各コンテンツトータルのアクセスをとるようにしています

高速だとうわさのredisアクセス回数を残しています

検討した候補はmemcaced、apcmysqlredis、fileあたりなんですが、

memcacheはサーバリスタートするとデータが消える。

apcapacheリスタートするとデータが消える。

fileは候補にあがったものの、メンドウ、、どうせなら楽な既製品がいい。と思って候補からしました。

残るはmysqlredisだけど、redisが高速って聞いていたのでredisにしてみました。

最初全部redisに入れて、集計した結果をmysqlに入れるつもりでしたが、週間ランキングなどはINSERT INTO .. DUPLICATE ONを使って、

アクセスした週の月曜日00:00:00のタイムスタンプコンテンツIDキーにしたレコードを作ればそのまま週間ランキングになるなー。と思ってmysqlを使っています

コンテンツのトータルアクセス数コンテンツレコードpvという項目をつくってUPDATE table SET pv=pv+1 WHERE id = ? のようにしました。

最初難しく考えていたけど、こうすることによって大分楽になったなーといった感じ。

まとめ

全文検索エンジンや対話検索、ここにこのリンクがあればなぁ。。という所に何とかしてリンクを作るのが本当に大変だった。

使い勝手を良くするために、ここにこの機能をなど、さくっと思いつくのは簡単でもそれを実現するために、あーでもない、こーでもないと

DBプログラムとにらめっこしながら「あ!こうすればできる!でもそうすると今度はこっちが・・・」みたいなのがあったりでとても大変だった。

そんなに機能がないような感じがしても、このサイトだけでテーブルが20個あって、途中本当に死にそうだった。

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