投稿内容は個人の見解であり、所属する(していた)組織の公式見解ではありません。名前:uyamazak(昔いた会社で上司が開発用Linuxサーバーのユーザー名に「yuyamazaki」が長いので勝手に作ってくれた。読み方わからないけどウヤマザク)高校あたりからWEBサイトをやったり趣味の延長でWEB系を仕事にした感じの人間。2020年1月から株式会社シニアジョブにジョイン。15:30このブログについて(先頭固定)Tweet広告を非表示にするもっと読むコメントを書く2020-02-21ElasticsearchをローカルDocker開発環境で動かすシニアジョブの人材管理システムでは、全文検索エンジンとしてElasticsearchを使っています。Elasticsearchは業務で直接触るのは初めての初心者です。昔はElasticSearchと思っていたり、Elasticって付いてるからAWSのサービスかーとか思ってた。基本的に開発環境はDocker化したんですが、Elasticsearchは開発でもAWSに用意した1つを共用したままとなっていました。1人のときはいいですが複数となると不整合が出て支障が出始めたのでローカル化しました。ダッシュボードで、現在使っているバージョンを確認したところ6.7となっていました。近いうちに7へのバージョンアップは必要ですが一旦それに合わせる形で近い6.8.6を使用しました(メジャーバージョン同じなら動くやろ)。Scoutというのを使ってます。使用するindex名はそのままscout。Algoliaもそのまま使えるんだなぁ。readouble.comdocker-compose.yml公式イメージで特に問題なさそうなのでDockerfileはなし。docker-compose.ymlへの追加とデータ保持用にディレクトリだけ作っておきます。設定をjsonで書き出すmappingとsettingsの設定が必要な場合は、jsonで出力しておきます。今回すでにあるのを使ったのでやってないけど、たぶん普通にindex名にGETして返ってきたのから不要なの(uuidとかversionとか)を消して使えばいいと思う(てきとー)。upで起動したら、上記で出力したjsonを元にindexを作成します。scout:importを使ってもできますが、特殊な処理がいるので独自に実装してるのでこんな感じ。reflect:elasticsearch最初mappingとsettingsはあとでいいだろーと先にインポートをやってしまいましたが、後からは変更できないので、DELETEして再度やり直しが必要になりました。Proのファンが全開でした。所感Dockerで起動後は実質2コマンドであっけなく動いてしまいました。分散させるのも簡単そう。19:11ElasticsearchをローカルDocker開発環境で動かすTweet広告を非表示にするもっと読むコメントを書く2020-02-17シニアジョブに入社して1ヶ月でやったこととこれからちょうど一ヶ月なのでメモも兼ねて。1週間はこっちに書いた。あとTwitterで随時。uyamazak.hatenablog.comシステムの現状50歳以上、シニア専門の人材会社です。派遣も紹介もやってます。全体で20人程度、開発者は2人とデザイナー1人で、人材のマッチング、管理を行う自社システムを開発保守しています。社長の学生起業から手探りではじめて現在の事業をはじめ、それに伴って3年以上成長してきたシステムです。効率よく人材を検索、マッチングするために、よくここまで作ったという機能がたくさんあり、事業に貢献してきたオリジナルのシステムです。最初に作った人はすでにおらず、コードを読んでいても「これ何してんの?」と思ういわゆるレガシーコードもたくさん溜まってきてます。解読実質不可能なjQueryの処理とか。DB設計も柔軟性に全振りしたような感じなので、このままではスケールアップもメンテナンスも難しいという課題があります。フレームワークはLaravel、インフラはAWS、EC2とRDS、ElasticSearchとRedisという一般的な感じですが、これは別のサービスだろっていうのも一つのLaravelに入っており、そこにも課題があります。やったこととりあえずやった感あるのは下記2つ。Ansibleの環境がありました。2016年からDockerとKubernetesを触っているため、個人的にはどちらも今後必要もないと感じていることから、インストールも勉強もしなくない。将来的には本番もコンテナ化したいし、デザイナーの人はエラーで使えてないのでEC2にいちいちアップしてるし、何より今どきDockerだろということで、もう一人の開発者と社長にも同意してもらってDocker化しました。動作も早くなったらしいし、何より設定ファイル数も50以上から10以下ぐらいになり必要なパッケージ、ミドルウェア、OSの設定を把握しやすくなりました。Dockerfileとdocker-compose.ymlはメンテしやすいのでいいですね。使ってるうちに、ビルドが遅いとかディスク使いすぎるとかあったんですが、都度潰していって今はそこそこ快適に使えてます。OSで動くDockerコンテナはハイパーバイザー(Hyperkitだっけ?)で動く偽物なので、本物のLinuxで開発するのがストレスないなぁとは思いますが、社内は営業も含めてみんなMacなので揃えるメリットの方が大きいとも感じます。(モバイル)の点数が1点(調子が悪いときは0点)という初めて見る面白い状況でした。その結果を見て何もしていないわけではなく、数ヶ月前から短期で派遣の人に専門でいろいろSEOや速度改善をやってもらっていたようですが、1点どまり。その人もほとんど私と入れ替わりで契約が終了していなくなってしまいました。最初は同じGoogleのだしそこまで影響しないだろうと、読み込み方法を変えたり、やりましたが無駄でした。この記事も見つけ、社長にも確認したところフォントにこだわりもないので、デザイナーの方に撤去してもらい、見た目を整えてもらったところ大げさにいって70点前後になりました。tm23forest.com検索順位への影響はまだこれからという感じ。あとは営業さんの方で必要になった機能とかを作ったりしながら、既存の設計やビジネス要件を体に叩き込んでいっています。すごいところ1人3役による圧倒的決断スピード社長がもちろん最終決定者ですが、システムのユーザーである営業、テレアポもやり、プロマネ的な優先順位決めやざっくり進捗管理もやっているので、だいたいのものは瞬殺してもらえます。技術的な問題でも2人の開発者と社長の3人しかいないので、はやい。人が増えたらこうは行かないけど、なるべく維持していきたいところ。嫌になるような会議がない会議と言えるものは朝社長が席にきて「今日なにする?」的な話をする朝会的なもののみ。あとは困ったら直接話したり、Slackで会話したり。ほとんど一日中集中できるので、19時ぐらいには脳の疲労感がすごいことになってます。体も動かさず固くなってしまうので金曜夜のサウナは欠かせない。歓迎会がまさかのアレお酒飲めないと言ったら飯ウマなところへ連れて行ってくれました。居酒屋で唐揚げとかは一品料理では食べたことあるけどコースは初めてでした。今後の採用とかエンジニア職は募集したいところだけど、今のシステムで開発してもらうのはいろいろ辛いと思うので、新バージョンが形になってきてから本気出したい。FirestoreにTypeScript、あと検索はKubernetesに載せたElasticSearchとかいろいろ妄想中。少人数で何でもやりたいフルスタックに興味のある人は、お話聞くのでTwitterとかで連絡ください。15:42シニアジョブに入社して1ヶ月でやったこととこれからTweet広告を非表示にするもっと読むコメントを書く2020-02-10MySQLの公式DockerイメージでMySQLクライアントから日本語が入力できないローカル開発環境にDockerの公式イメージを使っているが、mysqlのコマンドから日本語を入力したり、コピペしても消えてしまって困った。https://hub.docker.com/_/mysql文字コードはUTF−8。utf8;で表示できる。毎回打つのはちょっと面倒だ。docker-compose.ymlはこんな感じ。-pもちろんアプリケーション側では日本語は問題なく使えている。手作業INSERTするときに困った。検索するといろいろインストールしたり、localeとか設定する方法が出てくるのが面倒。面倒なのでローカル(Mac)にmysqlクライアントをインストールした。普通にHomebrewでいれる。mysql-clientあとはこんな感じで入る。あああ無事エンターしても消えずに入力できた。本番環境では手作業INERTをはじめとして、こんなのおすすめできない。週間)WEBアプリ開発者。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。