はてなキーワード: デプロイとは
新しいブックマークサービスを作成するには、以下のステップを考慮することが重要です。
技術的なスキル、リソース、ユーザーのニーズに基づいて、最適な方法を選択してください。
まず最初に、どのような独自性や付加価値を提供するかについて考えましょう。
はてなブックマークと同様の機能を提供するだけでなく、ユーザーにとって便利で魅力的な要素を見つけましょう。
例えば、新しい機能の追加、デザインの工夫、ユーザーインターフェースの改善などが考えられます。
特定のユーザー層に焦点を当てることで、より効果的な機能やデザインを考案できます。
基本的なブックマーク機能に加えて、タグ付け、カテゴリ分け、ソーシャルシェア、検索機能、ユーザープロフィールなどを考えることができます。
サービスを実際に開発するためのプラットフォームや技術スタックを選択しましょう。
ウェブアプリケーションとして開発する場合、フロントエンド(ユーザーインターフェース)とバックエンド(データ処理)の両方を構築する必要があります。
ユーザーが保存したブックマークデータを管理するデータベースと、ユーザーの要求に応じてデータを提供するサーバーを設計・実装します。
ユーザーアカウントの作成、ログイン、パスワードのセキュリティなどの要素を実装します。
開発中および完成後に、バグを見つけて修正し、機能が正常に動作することを確認します。
完成したアプリケーションをインターネット上に公開するために、適切なホスティングサービスを選択します。
ユーザーのフィードバックを収集し、サービスを改善していくプロセスを継続的に行います。
サービスの宣伝、広告、ソーシャルメディアでの露出などを通じて、ユーザーベースを成長させていきます。
ユーザーデータの取り扱いに関する法的要件とプライバシー保護について考慮しましょう。
開発にはプログラミング、デザイン、データベース管理などのスキルが必要です。
必要に応じてプロフェッショナルなアドバイスやチームの協力を得ることも検討してください。
違法な投稿(名誉棄損とか)でトラブルが発生するから、これの対処で仕事が発生する。
要するに面倒くさいということだね。
アメリカがクリプト規制に本気出し始めたので本邦Web3ヤーたちがざわざわしています。さらなる詐欺の撲滅のため、彼らが常用するレトリックとそれに対する正しい反応をあらかじめ書き連ねました。これらが有耶無耶のまま来年ビットコインが半減期を迎え、万が一雰囲気で相場が好転すると、耳さわりの良いポジトークが増えていくでしょう。これ以上被害者を出さないためにWeb3ヤーワクチンを打ってください。
解答「あなたが損した分、ショートしている人は儲かっています。あなたのポジションはSECも守ってくれません。そもそもトークン自体に価値があるなら、その価格がドル建てで上がろうか下がろうか関係無いはずです。それなのに価格の上下で一喜一憂するということは、そのトークン自体に価値がなく、ドルに価値があると自ら告白しているようなものです。そんなトークン遊びは規制されて当然でしょう。」
解答「むしろ考えるべきなのは、そんなゲンスラーでもこうなってしまうほどアメリカはクリプト規制に本気を出していることです。ゲンスラーすらSEC相手には犬なのです。個人攻撃で国がひっくり返るほど、アメリカは中央集権的な国家ではありません。もっと大きな敵を相手にしましょう。それを突き詰めていくと、規制がないことを良いことに、資金洗浄やテロ資金供与に目を瞑り、いい加減なポンジスキームを乱立させて、マネーゲームに狂乱したあなた方が本当の敵だったことを発見するでしょう。」
解答「クリプトはイノベーションだったのでしょうか。イノベーションは誰かの役に立つからイノベーションなのです。金融ゲームに勝ってドルを誰かから奪える以外のユースケースを挙げてください。」
※別解「暗号資産はそもそも国家に依存しない通貨というコンセプトのもと発明されました。その暗号資産は、国家に保護されるべきものなのでしょうか。国家からの保護が必要なら、その挑戦に失敗した、ただそれだけではないでしょうか。」
解答「あなた方の間違いを認めたくがないために、無理やり陰謀論で帳尻合わせですか。本当に失望しました。試しにアメリカのTwitterトレンドを見てみましょう。誰もクリプトのことなんか話していませんし、見つかるのはbotterによる詐欺ミームコインのエアドロップの告知ツイートだけです。これを見るだけでもクリプトは百害あって一利なしだと分かるでしょう。あなた方のようなルサンチマンに陥ったイノベーターに誰がついていくのでしょうか。あ、イノベーターではないか。そーか、そーか。」
「ふぁっっ?」
解答「DeFiは金融リテラシーが低い人には向きません。スキャムやポンジスキームのプロジェクトに溢れているからです。金融インフラが進んでいない地域では金融教育も行き届いていないことを想定すると、そのような地域の人々が安心して触れるものでは決してありません。途端に泣き崩れる嫁が大量発生するでしょう。」
※別解「え、DeFiって、金融強いマンたちが、余裕資金で脳汁ブシャーに興じるオンラインカジノじゃないんすか?途上国の人から見ればDeFiの手数料だけで一ヶ月暮らせるけど?」
解答「みんなそう言ってるから信じられません。そもそも、その断り文句を入れなければならないあなた方のその業界は、何かが根本的に間違っています。」
解答「そのコミュニティに運営が成り済ますことが技術的に簡単にできる以上、我々投資家はあなた方を信頼しなければなりません。そんなあなた方が発行するトークンを証券と呼ばずに何と呼べばいいのでしょうか?」
解答「プロダクトの素晴らしさではなくて、エアドロップで集客しなければいけないプロダクトのバリューは何ですか?エアドロップが自己目的化してませんか?」
解答「エアドロップで客引きするのがダサいと分かっているから、未定で誤魔化しているのでしょう。こう言うプロジェクトからはエアドロップしたい下心が透けて見えます。いずれVCに突かれてエアドロップするでしょう。」
解答「真面目なプロダクトはこの業界では報われません。触っても無駄なので無視しましょう。」
解答「エアドロップができない日本のプロジェクトが取る日本特有のマーケ戦略です。基本ミントしても何にも起こりません。くだらない電子ゴミにしゃぶりついた黒歴史がブロックチェーン上で全世界に晒されるだけです。絶対にやめましょう。」
解答「今までハッキングされたプロジェクトもそう言ってきました。それでも大丈夫と言える根拠を述べてください。」
※別解「そんな定型句は聞き飽きたので、あなたのチームに朝鮮訛りかロシア訛りの英語を喋って、リモート会議で顔見せない開発者がいないかだけまず教えていただけますか?」
解答「それは仮想通貨取引所が全世界的にAML/CFT対策を強化してきた努力の成果です。現在の暗号資産はハッキングしても大規模な資金洗浄が困難になっています。規制の恩恵に守られながら、Web3ウェーイ、政府なんていらねーぜウェーイ、とイキるのは恥ずかしいのでやめましょう。」
解答「ハッカソンはWeb3業社の主要事業です。自社エンジニアに去られ、プロダクトのネタが切れ、エアドロップもしてしまったWeb3業社はやる事がありません。何かやっているアピールのために、ハッカソンを頻繁に開催して事業を偽装しています。そんなハッカソン会場には、闇バイト戦士をリクルーティングしようと怪しい人がウヨウヨしています。気をつけましょう。」
解答「イベントもハッカソンに次ぐ事業です。英語で何かを聞かされますが何も中身はありません。ポジショントークと馴れ合い、プロ驚き屋たちのサクラトークだけです。分かりやすい英語で話してくれるので、いいリスニングの練習になります。また、会場にいるWeb3女子の9割はバックに怖い人たちがいます。近づいてはいけません。」
解答「組織内部が崩壊していますと同義です。Web3の中の人はとっくにヤバさに気づいて逃げています。特にエアドロップを終えたプロジェクトは新規で入る人には何の旨味もありません。また、トークンをもらえても、証券認定されれば、むしろトークンを持つことで面倒なことに巻き込まれる可能性があります。関わらずが正解です。」
解答「Web3起業家ワナビーが取りがちな行動です。しかし、そういった仲間意識から生まれる信頼関係の重み付きグラフから権威が創発され、権威が国家権力を生み出し、やがて私有財産権を脅かすに至ったアンチテーゼとして暗号資産は生み出されたはずです。ドバイやシンガポールの村社会は楽しいですか?仲間と内輪ノリで楽しくやっててください。政治家と写真撮って、偉い人と握手して、セルフブランディングして、素晴らしいプロダクトを世に送り出してください。待ってます。」
解答「さぞ難しそうなことをしている響きですが、JavaScriptしか書けない弱々エンジニアです。ブロックチェーンのAPIを呼んだり、ウォレットのAPIを呼んだりすることしかできません。楕円曲線暗号は知っているのにRSA暗号は知りませんし、デーモンは知っているのにプロセスは知りません。トランザクションと聞けばブロックチェーンのトランザクションが先に思い付きます。もちろんSQLは知りません。それなのに自分が何かクールなことをしていると勘違いしています。え、Solidityも書ける?ああ、自分がクールじゃないと気付いたから周りのエンジニアとの差別化を図ったんだよね。わかるよ。でも、小手先で見栄えだけよくする様は、Web3起業家ワナビーとマインドが一致しています。頑張ってください。」
解答「〇〇チェーンが高いTPSを記録しているのは、分散性を犠牲にしているからです。ブロックチェーンとは呼べません。どこかに単一障害点があるので不安定でよく止まります。分散していないので、ゲンスラーの手にかかれば瞬殺されるでしょう。」
※別解「高スループットなのはいいけど、その分増えるデータ容量はどうすんの?将来的に何十~何百テラバイトにもなるチェーンデータを非中央集権的に持続的に分散管理できるとでも思ってるの?結局は、Googleのようなところに集中しない?」
解答「SolanaやPolygonはコンセンサスに参加できるノードを制限しています。ちなみにSolanaのバリデータノードは走らせるためだけに一年で数万ドルかかるので一般人には手が出せません。また、Polygonは人が管理するブリッジに全ユーザーの資産をロックしているので、実質中央集権です。バリデータは偽装工作です。もちろん証券でしょう。」
※別解1「Polygonは速いのはいいけどさ、reorg(チェーン巻き戻し)多すぎない?まだ少しの人にしか使われてない黎明期に、そんな調子で大丈夫なの?でもバグった自民党NFTがデプロイされてキッシーが無限ミントされたおもしろチェーンだから、消えたりしないでね。」
※別解2「Solanaはトランザクションの9割は同期用のトランザクションだから実際のTPSはずっと低くない?例えるなら、モバイル事業者が一日10000通話達成したって宣伝しながらそのうち9000通話がその事業に必要な内線ってことでしょ?はなしもりすぎ。お前の父ちゃんアーフロ。」
解答「今もこんな養分いるんですかね。Cardanoはプロジェクトの開始時から世界中のクリプト民から嫌われている稀有なプロジェクトの一つです。日本では反社との接点が報道されるなど真っ黒なブロックチェーンとして知られています。SolanaやPolygonとともにSECから証券と名指しされましたが、反論の余地はないでしょう。技術的にも、UTXOモデルを採用したCardanoにスマートコントラクトの未来はありません。」
解答「頑張ってください」
解答「君たちは、良い人そうだし、駆け出しエンジニアと繋がりたそうですね。君たちの純粋な眼差しを見ると、わたしは胸が締め付けられます。少なくとも来世では幸せになれるでしょう。」
解答「君たちはNEM勢と同じ顔をした若い世代です。英語難しいから日本人がたくさんいるAstarに来たんだよね。わかるよ。はぁ、みんな揃って、優しいのに彼女いない顔をしていますね。来世では幸せになれるでしょう。」
解答「IEOはメチャクチャです。規制の緩い資金調達手段は、売り抜け目的の悪徳プロジェクトが養分を狩る場にしかなっていません。チャートを見る限り今年日本で行われたIEOはすでに全てが死んでいます。今後も触らぬが正解でしょう。しかし、それでも触りにくる養分は集まってしまうので、雰囲気で祭りになりやすい半減期前に、何らかの規制が求められます。」
解答「NFTの所有と、法的な所有は別です。有体物ではない電子ゴミに所有権もクソもありません。」
解答「ブロックチェーン上では、成りすましが容易にできてしまうため、盗まれたふりも紛失したふりも簡単にできます。そのような保険サービスは持続できないでしょう。そもそも代替不可能なNFTの金銭的価値を測るのは容易ではありません。」
解答「ブロックチェーンが無くなる、もしくは止まったら全て思い出になるのは変わりません。」
解答「それはポンジスキームです」
※別解1「あれれ、STEPN息してなくない、ウォウ、ウォウ?」
※別解2「去年は滑稽だったなぁ、STEPN起動しながら歩いてる人たち。ペースが崩れるとトークンがもらえないからみんな同じ歩き方でさ。まるで朝鮮人民軍の軍事パレードなんだ。資本主義も共産主義も、行き過ぎれば同じってハッキリわかんだね。」
解答「チート使って人間のふりして24時間稼働して金稼ぐbot天国になります。ブロックチェーンゲーム(BCG)は、いかにプロトコルをハックして稼ぐかを追究する数字ゲームに還元されるので、純粋にゲームする人間は養分になるでしょう。ポケモンGoのような従来のゲームならさほど大きな問題にはなりませんが、チートでお金を稼げるようになる、しかもそれが他プレイヤーに損を押し付ける形でなので、すぐさま深刻な問題になるでしょう。」
※別解1「掛け金を払ってそれを超えるリターンを期待するゲームは、ゲームではなくギャンブルです。今日からBCGのGはギャンブルのGってことにしましょう。」
※別解2「最近サッカーのBCGを始めましたが、数字比べゲームでした。いつになればサッカーができますか?」
つづく
この期間に、様々なプロジェクトに関わり、多くのことを学びました。
今回は、私が経験した技術的な話を中心に、はてなでの仕事について振り返りたいと思います。
はてなでは、主にRuby on Railsを使ってWebアプリケーションを開発していました。
はてなブログやはてなブックマークなどの有名なサービスはもちろん、社内向けのツールや新規事業のプロトタイプもRailsで作っていました。
Railsは、高速に開発できるというメリットがありますが、それと同時にコードの品質やパフォーマンスにも気を配る必要があります。
私は、テストやリファクタリング、コードレビューなどの技術的なプラクティスを積極的に取り入れることで、Railsの開発をより効率的で安全に行う方法を学びました。
例えば、私が担当したプロジェクトでは、RSpecやRuboCopといったツールを使ってテストカバレッジやコード規約をチェックし、GitHub ActionsやCircleCIといったサービスを使って自動化しました。
また、Pull RequestやPair Programmingといった方法を使ってコードのレビューを行い、バグや改善点を見つけたり、知識やノウハウを共有したりしました。
また、はてなでは、AWSやGCPなどのクラウドサービスを活用してインフラを構築していました。
私は、DockerやKubernetes、Terraformなどのツールを使って、コンテナ化やオーケストレーション、インフラストラクチャ・アズ・コードなどの技術を実践しました。
これらの技術は、開発環境と本番環境の差異を減らし、デプロイやスケーリングを容易にするという利点がありますが、それと同時に複雑さやトラブルシューティングの難しさも増します。
私は、モニタリングやロギング、アラートなどの技術的な仕組みを整備することで、インフラの運用をより安定的で信頼性の高いものにする方法を学びました。
例えば、私が関わったプロジェクトでは、DatadogやCloudWatchといったサービスを使ってシステムの状態やパフォーマンスを監視し、SlackやPagerDutyといったサービスを使って異常や警告を通知しました。
また、ElasticsearchやFluentdといったツールを使ってログの収集や分析を行い、原因究明や改善策の検討に役立てました。
## チームでの協働
はてなでエンジニアとして働くことで、私は多くの技術的なスキルや知識を身につけることができました。
しかし、それ以上に大切だったのは、チームで協力して問題を解決することでした。
はてなでは、エンジニアだけでなくデザイナーやプロダクトマネージャーなどの他職種とも連携してプロジェクトを進めることが多かったです。
私は、コミュニケーションやフィードバック、ドキュメンテーションなどの技術的ではないスキルも重要だと感じました。
私は、自分の意見や提案を積極的に発信することで、プロダクトやサービスの品質や価値を高める方法を学びました。
例えば、私が参加したプロジェクトでは、SlackやZoomといったツールを使って日常的に情報交換や相談を行い、BacklogやJiraといったツールを使ってタスク管理や進捗報告を行いました。
また、FigmaやMiroといったツールを使ってデザインやアイデアの共有やフィードバックを行いました。
私は、はてなでエンジニアとして働くことがとても楽しく充実していました。
しかし、私は自分のキャリアについて考える中で、新しい挑戦をしたいという気持ちが強くなりました。
私は、自分の興味や関心のある分野にもっと深く没頭したいと思いました。
## おわりに
彼らに感謝する気持ちを込めて、このエントリーを書き終えたいと思います。
「デプロイ頻度は開発組織にとって一番大事なこと。カスタマーサポートがそれを妨害してる」
事業を成長させるにはカスタマーサポートを強化する必要があるということが顕在化したと言う考えなんだろうなぁ。
DevOpsの一部を切り取った主張にも見えるけど、元々DevとOpsの対立を無くすものだったという大前提が抜け落ちてそう。
彼は実装がめちゃくちゃ速く、コードもきれい。テストもちゃんと書く。
とてもできるエンジニアなのだが、一つだけ困っていることがある。
実装完了した機能をすぐに本番環境にデプロイできないと、とても不機嫌になるのだ。
うちの会社が開発しているのはtoBのシステムで、実装内容によっては営業やカスタマーサポートからお客さんにアナウンスがされてからでないとデプロイができないものがある。
急にUIが変わったり新機能が追加されるとお客さんが混乱するしカスタマーサポートに問い合わせが殺到するので、デプロイ前に調整が発生するのは致し方ないことなのだが、こうした背景を説明しても彼は納得してくれない。
「とにかく早くデプロイをさせろ」の一点張りで、彼が勝手にPRをリリースブランチにマージして、機能が出てしまったこともある。
それによってカスタマーサポートへの問い合わせが増えても、彼は知らん顔。
謝るどころか「デプロイ頻度は開発組織にとって一番大事なこと。カスタマーサポートがそれを妨害してる」などとのたまうものだから、もはやカスタマーサポートから嫌われていて「あの人に重要な機能は開発させないでください」とまで言われてしまっている。
きっと彼はプログラムを書くこと、自分の中で開発のサイクルを回すことが好きなだけで、運用には興味がないんだろう。
営業やカスタマーサポートやお客さんなど、自分の開発するものに関わる人々にも興味がないんだろう。
うちの会社のシステム開発、運用とは考え方が根本的に違いすぎるので、どこかの会社に彼を引き取っていただきたい。
<追記>
カナリアリリースを提案したこともあるんですが、「サポートが悪いんだからそのためにフラグを追加するのはおかしい。本質的じゃない。」と拒否されることがしばしばです。
しぶしぶ自分や他のメンバーがカナリアリリース用の追加PRをつくったりしていますが、それに対しても小言が飛んでくるのでとてもやりづらい。
・権限について
一般的なブランチ管理はしていて、mainへの直接マージなどもできないようになっていますが、彼がリリースの担当の時に自PRをしれっとリリースブランチにマージされてしまい、そのままの流れで本番公開まで至ってしまった形です。
厳格に管理してないほうが悪い的なコメントもありますが、何にどれだけ管理コストをかけるべきなのかは組織や事業のステージによりけりでしょう。
gitだけでなく様々ことに管理コストをかけてまでその人を活かすべきなのかというと、現状うちの会社ではNoだと思います。
彼の担当領域を社内向けのadminだけに絞る的な話は出ています。
彼としては社内向けの仕事は嫌らしく、また、adminを一番使うカスタマーサポートに対して敬意がないので難しそうな気はしますが。
いろんな権限を剥奪して、何かしら限定的な範囲を担ってもらうことになると思うんですが、彼の望む自由はそこにないと思うので、そのうち転職されるのではないかと思います。
転職エージェントとも度々話しながら進めてきたが、ここまでこのザマである。
どこに行っても狼煙が立ち上がっていた。
そして現在、また就職活動をしているが、どこからも火の手の匂いしかしない。
そういう求人しかないからなのか分からないが、転職エージェントの紹介を受けて面接をする先はどこも煙臭い。
そうこうしていると、面接でも気が入らない返答が出てしまうものである。
「うちに入って何がしたいの?」
と言われて返答に窮して自分自身に働く気がないことに気づいた。
ここで働く気がある人間なら、「何でもします」だの「~がしたいです」だの「すぐに戦力になれるよう精進します」だの気の利いた言葉が口から出るものだろう。
どうにも嘘をつくのが苦手な性分もあって、この辺りは上手くやれない。
残業で溜まった金を垂れ流しながら、毎日朝日を浴びてゴミを出し、食事を3食作って、呑気にAstroやらFlutterやら気になったものを摘まんではデプロイするでもなくrm -rfして、時々ゲームをしたりして寝っ転がる日々。
この時間が一番心地よいのだと気付くと、どうにも働く気概も起きない。
甲斐甲斐しく働いてやりたいことも、見たい笑顔も、住みたい場所もない。
それでも、働きたくない自分がいる。
似たような話で。
俺が何故知ってるかと言うと、そのシステム屋さんで、協力会社のIT土方として働いてたからだ。
とか口うるさくしてたら、煙たがられた。
障害発生させたガイジは、現場でこっそり改修してデプロイする。リポジトリには反映されない。
ガイジは内緒改修した箇所を覚えてないのか、ヤバすぎて言えないのか知らんが。
とか口うるさくしてたら、契約切られた。アハハ!
nginx、PHP-FPM、Laravelという構成なのですが、failed (13: Permission denied)というエラーが表示されて動きません。どうしたらよいと思いますか。
「failed (13: Permission denied)」というエラーは、通常、Nginxがアクセスしようとしているファイルやディレクトリに対して必要なパーミッションがない場合に表示されます。このエラーを解決するためには、以下の手順を試してみることができます。
Nginxがアクセスしようとしているファイルやディレクトリのパーミッションを確認します。ファイルやディレクトリが適切なパーミッションであることを確認し、Nginxが読み取りや書き込みを行えるようにします。
Nginxがアクセスしようとしているファイルやディレクトリの所有者とグループを確認します。Nginxの実行ユーザー(通常はwww-dataやnginxなど)がファイルやディレクトリの所有者やグループと一致するか確認し、必要に応じて所有者やグループを変更します。
サーバーがSELinuxを実行している場合、SELinuxのセキュリティポリシーがNginxのアクセスを制限している可能性があります。SELinuxを無効化するか、適切なセキュリティポリシーを設定することで問題を解決できる場合があります。
Laravelプロジェクトなどの場合、アプリケーションの一部ファイルが壊れている可能性があります。再度アプリケーションをデプロイしたり、必要なファイルを再生成することで問題を解決できるかもしれません。
上記の手順を順番に試してみてください。また、エラーが特定のファイルやディレクトリに関連している場合、具体的なパーミッションや所有者情報を提供していただければ、より具体的なアドバイスをすることができます。
現在Debianを使っていて特に不満はないのですが、本番環境は可能な限り安定かつ最新の状況が望ましいと思ってDebian以外の選択肢を探してみたところArchLinuxがとりあえず候補にあがりました。
実用上全く問題になりませんが、DebianのLTSバージョンリリースサイクルが製品の寿命に対して相対的に長期間であることに対して少し気を遣う必要がある点をどうにかできればと思っているのと、それについてArchLinuxのローリングアップデートに利点を見出したという感じです。
ただ、ArchLinuxのポリシー的にパッケージの更新自体は利用者の判断にゆだねられることになり、安定という部分については運用を見直さないと担保するのが難しいと思ってとりあえず見送りました。
ちなみに、現在のDebianを用いた運用としては最新のLTSバージョンを適用しており、パッケージの更新はデプロイの度に行っているため本質的にはArchLinuxでも問題ないのでは?と思っていますが現段階ではArchLinuxへ移行するメリットがなさそうだったというだけです。
ArchLinuxは最近個人的に使いだした程度であまり詳しいわけでもなく、質問の前提に誤認があるかもしれませんが本番環境でArchLinuxを使うことの是非を知りたいです。