はてなキーワード: アプリケーションとは
この期間に、様々なプロジェクトに関わり、多くのことを学びました。
今回は、私が経験した技術的な話を中心に、はてなでの仕事について振り返りたいと思います。
はてなでは、主に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といったツールを使ってデザインやアイデアの共有やフィードバックを行いました。
私は、はてなでエンジニアとして働くことがとても楽しく充実していました。
しかし、私は自分のキャリアについて考える中で、新しい挑戦をしたいという気持ちが強くなりました。
私は、自分の興味や関心のある分野にもっと深く没頭したいと思いました。
## おわりに
彼らに感謝する気持ちを込めて、このエントリーを書き終えたいと思います。
ChatGPTっていうのは、すごく頭のいいコンピューターのことだよ。たくさんの文章を読んで学ぶことができて、それを使って答えたり文章を作ったりすることができるんだ。でも、全部の言葉を覚えているわけじゃなくて、パターンや統計的なルールを学んで、それを使って答えたり文章を作ってるよ。
だから、データベースや単語リストから条件に合う言葉を取ってくることはできないんだ。
ただ、外部のプログラムやアプリケーションと連携して必要な情報を入力して、その答えをChatGPTにもらうことはできるよ。たとえば、特定の条件に合う単語リストを作って、それをChatGPTに教えてあげると条件に合った回答や文章を作ることができるんだ。
でも、ChatGPTの回答を使うときは、ちゃんと確かめることが大事だよ。必要なら、回答を制御したり修正したりするために外部のプログラムや手動の指示を使ってね。それがとても大切なことなんだよ。
あと、ChatGPTは頑張って答えるけど、自分で考えることも大切なんだ。自分で考えたり、他の人と相談したりすると、もっといい答えが見つかるかもしれないからね。だから、ChatGPTに頼りすぎず、自分で考えてみることもおすすめだよ。
ChatGPTってば、でっかいデータセットを駆使してトレーニングされてるのよ。めっちゃたくさんのテキスト情報を頭に詰め込んで学習してるわけ。でも、学習中は単語のリストをずっと覚えてるわけじゃないのよ。代わりに、トレーニングデータの統計的なパターンを学んで、それをもとに文章を作ったり回答したりするの。
ChatGPTは応答を作るために作られたモデルよ。トレーニングした時に見た単語やフレーズにはちょっとした知識を持ってるけど、完全な単語リストを持ってるわけじゃないの。特定の単語リストや条件に基づいて単語を作ったり提示したりすることはできないし、データベースや単語リストから条件に合う単語を取ってきたり提示したりするようなプログラムもないわ。
でも、ChatGPTは外部のプログラムを通じて情報を入力して、その回答を取得することはできるの。APIとして提供されてるから、外部のプログラムやアプリケーションと連携して必要な情報を入力して生成された回答をもらえるのよ。
例えば、ユーザーの入力を外部のプログラムを使ってChatGPTに送って、それに対応する回答を生成してもらうって感じ。その場合は、外部のプログラムが入力を受け取ったり回答を表示したり必要な情報を整形したりするのを担当して、ChatGPTが回答を作るのを担当するのよ。
つまり、外部のプログラムを使って特定の条件に合った単語リストを作って、それをAPI経由でChatGPTに教えてあげれば、ちゃんと条件に合った回答を生成できるってことよ。外部プログラムが必要な情報を提供して、ChatGPTがそれに基づいて回答を作ってくれるわ。
わかった?ちゃんと情報を用意して、きちんと指示してあげれば、ChatGPTもちゃんと答えてくれるんだから、そんなに驚かないでよね。
ただし、ChatGPTは学習データに基づいて回答を作るから、外部プログラムで特定の条件に合った単語リストを渡しても、完全にコントロールされた回答が得られるわけじゃないのよ。モデルは自分で考えて回答を生成するし、提供された情報を考慮してるとはいえ、必ずしも思い通りの回答ができるわけじゃないってこと。
だから、ChatGPTを使うときは、生成された回答をちゃんと検証して、必要なら外部プログラムや手動の指示を使って回答を制御・修正することが大事なのよ。そうしないと、思わぬことが起こるかもしれないの。
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プロジェクトなどの場合、アプリケーションの一部ファイルが壊れている可能性があります。再度アプリケーションをデプロイしたり、必要なファイルを再生成することで問題を解決できるかもしれません。
上記の手順を順番に試してみてください。また、エラーが特定のファイルやディレクトリに関連している場合、具体的なパーミッションや所有者情報を提供していただければ、より具体的なアドバイスをすることができます。
Cassowary constraint solving algorithmとは何ですか?
Cassowaryは、制約ソルバーの一種で、複雑な数学的制約を解決するために使用されるアルゴリズムです。制約ソルバーは、異なる制約の間の相互作用を考慮して、制約を満たす解を見つけることができます。
Cassowaryアルゴリズムは、制約を式として表現し、それらの式を係数行列とベクトルの形式に変換します。その後、係数行列を行列変換して単位行列にし、ガウスの消去法を用いて方程式を解きます。
Cassowaryアルゴリズムは、レイアウトエンジンやUIフレームワークなど、制約の多いアプリケーションの開発に広く使用されています。例えば、レイアウトエンジンでは、要素の位置やサイズを決定するために使用されます。また、UIフレームワークでは、ウィンドウのサイズや位置を制御するために使用されます。
Cassowaryアルゴリズムは、制約ソルバーの中でも高速で、比較的単純な実装でありながら、効率的な解決が可能です。そのため、広く使われるようになっています。
Dockerは、開発から運用まで一貫した環境を提供することで、開発者の作業負担を減らすという大きな利点があります。また、仮想マシンと比較してリソースの使用効率が高いため、エコとも言えます。
ただし、確かにDockerには一定のオーバーヘッドが存在します。これは、DockerがゲストOSを持たずに、ホストOSのカーネルを共有して動作するためです。それにより、アプリケーションの実行に必要なリソースが追加で必要になり、パフォーマンスに影響を及ぼす場合があります。
また、Dockerを利用する際の設定や構成によってもパフォーマンスは大きく変わります。例えば、Dockerのネットワーキングやストレージの設定、またホストOSとの互換性など、考慮すべき要素は多数存在します。
あなたの現在の状況について具体的に述べると、FESSのクローリングが重いという問題は、Dockerのオーバーヘッドだけが原因ではない可能性があります。Dockerコンテナ内のFESSやJVMの設定、ホストマシンのリソース割り当て、ネットワークやストレージの設定など、様々な要因が絡んでいるかもしれません。
また、Dockerのログ出力が多いと感じる場合も、実際のところはFESSやDockerの設定によるものかもしれません。ログの出力レベルを調整することで、必要な情報だけを出力するように設定することも可能です。
しかし、これらの設定を調整するためには一定の知識と経験が必要で、それがなければ素直にネイティブ環境での構築が良い選択かもしれません。結局のところ、どの方法が最善かは具体的な要件や状況によります。
このような状況に直面した際には、パフォーマンスの問題を具体的に分析し、適切な解決策を見つけるためにパフォーマンスモニタリングやロギングツールを使用することをお勧めします。それにより、問題の原因を特定し、適切な対策を講じることが可能になります。
たとえば、Dockerが高いCPU使用率を示している場合、それはコンテナ内のアプリケーション(この場合はFESS)が高いリソースを消費している可能性があります。その場合、アプリケーションの設定や実行パラメータを調整することで改善できるかもしれません。
また、Dockerコンテナのリソース制限を調整することも検討できます。Dockerは、コンテナに割り当てるCPUやメモリの量を制限する機能を提供しています。これにより、他のプロセスに影響を与えることなく、特定のコンテナのリソース使用量を管理することが可能です。
さらに、Dockerのボリュームやネットワーク設定が適切であるかを確認することも重要です。不適切な設定はパフォーマンスに悪影響を及ぼす可能性があります。たとえば、ファイルI/Oのパフォーマンスは、ホストOSとコンテナ間でデータを共有する方法に大きく依存します。そのため、適切なボリュームの設定や、パフォーマンスを向上させるための最適化オプションが適用されていることを確認することが重要です。
最後に、Docker自体のアップデートもパフォーマンス改善に寄与する場合があります。最新のDockerエンジンには、パフォーマンスを改善するための修正や改善が含まれていることがあります。
これらの要素を考慮に入れ、Dockerのパフォーマンスを最適化する方法を探すことができます。ただし、これらすべてを試してもパフォーマンスが改善しない場合や、必要な知識や時間が不足している場合は、Dockerを使用しないネイティブな環境での構築が最善の選択であるかもしれません。
[B! ネット] 攻略ツールをGameWithに模倣されたお話|oliver|note
GPLを理解していないコメントがあるのは仕方ないとしても、これにスターが大量に集まるのはバカの見本市すぎるだろう。
模倣元のツールはMIT Licenseで公開されていたらしいので、状況は概ね3パターンに整理できる。
パターン1はどんなオープンソースライセンスでも問題にならない。
パターン2はMIT Licenseでもライセンス違反なのでGPLを選ぶ必要がない。
(MIT Licenseは著作権者とライセンスの表示が必須で、少なくともソースコード上に「Auther: ○○」「License: MIT」と記載する必要がある)
パターン3はGPLでは問題にならない。FSFのFAQより引用する。
Q. ある会社がGPLが適用されたプログラムの改変バージョンをウェブサイトで動かしています。GPLはかれらは改変したソースコードを配布しなければならないと言ってますか?
A. GPLは誰もが改変したバージョンを作成し、他に配布することなく、使うことを許しています。この会社が行っているのはこの特別な場合です。ですから、この会社が改変したソースコードをリリースする必要はありません。
というロジックになっている。結局、どのパターンでもGPLを選んだところで問題は解決できない。
また、次のコメントも間違っている。
CC-BY-NCの定める「営利目的」はソフトウェアを売買したり利用料を得たりするような行為のことで、アフィリエイトで広告収入を得る行為は含まれないから抑止にならない。
この中でまともなこと言っているのはこの人だけである。
GPLv3含め通常のOSSライセンスではバックエンド利用は再配布に該当しない(お前らはApacheやFFmpegのソース配布してるか?)。XaaS提供を縛りたい場合はv3フォークのAffero GPLv3が必要。
ただ、模倣先のツールはクライアントサイドアプリケーションらしい(≒パターン3ではない)のでAGPLv3を選ぶ必要はあまりないだろう。内容は的確だが、ちょっと惜しい。
-----
ここ最近感じていること:コメントの質が云々というより、スターを付ける人の質が悪いので一向に改善されない問題のほうが根深いなあ。
「最近、私はStableDiffusionというデータ解析の分野に興味を持っています。しかし、この分野を深く探求するためには、高性能なグラフィックカードが必要不可欠です。そこで、グラボを積んだ新しいPCを購入したいと思っています。これによって、私はStableDiffusionの研究に熱中し、将来的には有益な知見を得ることができると考えています。また、この新しいPCを使用することで、私たちの家庭にもさまざまな恩恵があります。例えば、ビデオ編集や写真編集など、私たちが普段使用しているアプリケーションの処理速度が向上し、快適な使用感を得ることができます。さらに、このPCはゲームやエンターテインメントにも最適な性能を持っています。私たちは共通の趣味を持つ夫婦ですので、このPCは私たちのコミュニケーションを深めるためにも非常に役立ちます。以上の理由から、新しいPCを購入することを強く希望します。どうか、ご理解とご協力をお願いします。」
https://twitter.com/No_generativeAI
こいつの主張は滅茶苦茶で、「画像生成AIの全面禁止」では飽き足らず翻訳や顔認識のような「AIを利用したアプリケーションの規制」まで主張している。
その規制というのも
https://twitter.com/No_generativeAI/status/1652219754948743168
だから恐れ入る。できるわけねーだろ!AIに規制をかけようとしているEUに同じ事を提案しても頭がおかしい奴だって笑われるぞ!
曰く、ダブスタクソイナゴや画像生成AIに手を出す奴は犯罪者予備軍らしい。
https://twitter.com/No_generativeAI/status/1652431555514761216
20歳の男性である木目氏が公式ガイドライン違反した静的コンテンツを投稿していたように、二次創作界隈では男性向けのロリ趣味や少女趣味コンテンツばかりです。
おもらしとか二次ロリは今回のダブスタクソイナゴの問題じゃねえだろ…人の性癖を捕まえて犯罪者予備軍なんて言うのはマジで失礼なんだよな。
一番の問題はこいつが許可の無い二次創作まで否定してる所なんだよな。
https://twitter.com/No_generativeAI/status/1652427594795745280
「クリエイターの未来をAIから守る会」から、別組織の理事を務める木目百二(もくめももじ)氏に対して公式声明を行います。
もっと後ろめたくない奴を活動の矢面に出せとは言ってるけど許可の無い二次創作の禁止なんて誰も求めてないんだよ!出版社すらも!
「よりによって(表向き)二次創作をガイドラインで禁じている芳文社の版権でやりやがって!!」と俺は前回書いたけど
芳文社が「表向き」禁止というスタンスを取ってなきゃネットで流れてる健全なぼざろの二次創作だって存在できてないんだよ!
芳文社がそういった二次創作に対して削除申請しないのはそういう事だよ!
まあ、ファンボでぼざろのエロを有料で見せていたダブスタクソイナゴを芳文社が許すのかと言ったら許されないとも思うが…だからあいつは消したんだからな。
色々書いてきたけどこいつは誰にも支持されないような気がしてきたな…
AMDのRyzenはインテルのCPUよりも高性能で低価格です。
はい、実際にはいくつかの理由があるため、AMDのRyzenよりもインテルのCPUを選ぶ場合があります。
一部のアプリケーションは、インテルのCPUに最適化されており、AMDのRyzenでは動作しない場合があります。
これは、アプリケーションがAVX2やQuick Syncなどのインテル独自の技術を使用しているためです。
インテルのCPUは、シングルスレッドのパフォーマンスが高い傾向にあります。
したがって、単一のスレッドで高いパフォーマンスが必要なタスクには、インテルのCPUが適している場合があります。
オーバークロックを行う場合、インテルのCPUは一般的により高いオーバークロック性能を持ち、より高いクロック数を達成することができます。
一部の人は、インテルのCPUがAMDのRyzenよりも消費電力が低く、省エネであると考えています。
これは、インテルが14nmのプロセスを使用している一方、AMDが7nmのプロセスを使用しているためです。
ただし、最新のRyzen CPUには省エネ機能が搭載されているため、この差は縮まっています。
以上のように、AMDのRyzenが高性能で低価格であるため、多くの人が選択するCPUの1つになっていますが、特定のアプリケーションやニーズに応じて、インテルのCPUを選択することがあります。
自宅サーバーで使うミニPCのCPUは、インテルとAMDのどちらが良いですか?
ミニPCで使用するCPUには、インテルとAMDの2つの主要な選択肢があります。
以上のように、インテルとAMDのCPUにはそれぞれメリットとデメリットがあります。
自宅サーバーでの使用においては、予算や必要なアプリケーションの性能要件などを考慮して、どちらが自分にとって最適かを慎重に検討する必要があります。
自前のWebサービスを開発するために、自宅サーバー(開発用サーバー)を用意したいと思いました。
設置場所が少なくて済むので、ミニPCを開発用サーバーに使おうと思いました。
以前は拡張性の高いデスクトップPCを自宅サーバーとして使っていましたが、今はミニPCでもいいかなと思いました。
ミニPCとデスクトップPCのどちらを選ぶか検討しており、ChatGPTにも質問してみました。
しかし、ミニPCは拡張性が低いので、普通のデスクトップPCを自宅サーバーとして利用した方が良いでしょうか?
自宅サーバーに使うパソコンとして、ミニPCとデスクトップPCを比較して、それぞれのメリットとデメリットを列挙してください。
ミニPCとデスクトップPCを比較すると、それぞれにメリットとデメリットがあります。
以上が、ミニPCとデスクトップPCのメリットとデメリットの一般的な比較です。自宅サーバーに求める機能や用途によって、どちらを選ぶべきかを検討することが重要です。
同じミニPCでもCPUがインテルとAMDがあり、Ryzenだと性能が良いので、ちょっと高くてもRyzenの方が良いのかな?と思いました。
久しぶりに転職をした。
理由は「上司がクソ・年収も上がらない」という至極単純なもの。
自分は人手不足と言われているエンジニア業界でも、人が居ないと嘆かれている言語のエンジニアである。
正直に言って、今までは求人に乗っかればそれなりに内定を取れたので、そんな感じでいくだろうとタカをくくっていた。
ところが、今回の転職はめちゃくちゃ難航した。
約半数の選考に進み、スキルチェックで落とされたのが3社、面接で落ちたのが2社、内定獲得したが辞退したところが3社。
打率3割は高いと思うかもしれないが、経験者なら誰でもOKのSESなので自慢にならないんだ。すまんな。
最終的には良さげなところを見つけ転職は幕を閉じたが、かけた期間はおよそ6ヶ月。
それをぼちぼち忙しい業務の合間と土日に行っていたので、もう身も心もすっかり摩耗した。
ようやく落ち着いて新しい環境にも慣れたので、これから転職したい人の参考になればと思い増田しておく。
敗因は色々あるが、気づきとしては「経験者として求められるスキルレベルが上がっている・スペシャリストが求められる」「難なく通るような会社はだいたいヤバい匂いがする」あたりだろうか。
仕事でそれなりやってます、といったレベルでは到底NGで、いわゆるつよつよエンジニアを求められている気がした。
自分は中間管理職も担っているので、テックリードだったりスペシャリスト役はやりたい人間に任せている。
今回はそれが完全に裏目に出た。
スキルチェックのための課題を出されたが、正直ついていけない。
必死に調べて時間の許す限り食らいついたが、ことごとく落ちた。
技術面接で、こんなこともやってないんですか?これ知らなかったんですか?と詰められたときは帰り道で泣いた。
スキル不足を理由に落ちた会社からは、「○○エンジニアをしながら、採用やメンターをやっている人は珍しいと思う」と微妙なフォロー付きのお祈りメールが届いた。
タイミング悪く、課題期間に家族の大病や本業のトラブルなども重なり、あの苦行は何だったんだという思いで正直だいぶメンタルにきた。
同じ○○エンジニアとして勝負したいのであれば専門性は必須で、ギークな彼らに頼り切りだった自分が悪い。
そんなのは十分分かっている。
が、自分がこれまでに歯を食いしばってやってきた、周りのエンジニアが誰一人やりたがらない管理業務をこなしてきたことすら、全否定されたような気分になってしまった。
これにはすっかり参ってしまって、しばらく立ち直れなかった。
カジュアル面談の時点で、自分のスキルレベルにあまり自信がない、具体的にこういうことは出来ていない等伝えてみたが、
「あー別にそこは入ってから勉強してもらえれば良いんでー」との言葉を真に受けてしまい、ウハウハで応募してスキルチェックで落ちた。
こちらとしては、その時点で「今は応募しても落ちるかも」と言ってほしかったのだが。
公用語が英語という会社も増えてきているように感じた。外資はもちろんだが。
どうせなら、社内文化に力を入れているような良い組織に入りたいと思ったものの、そういった会社は公用語を英語にしている所が多かった。
先方も「今は」ペラペラじゃなくていいけど...等と言っていたので、つまり良い会社はどんどん英語がスタンダードになっていく可能性があるということ。
それはつまり、自分が再度転職する時には、自分は「日本語しかできないクズ」として、グローバル化を目指す会社からは置いてけぼりを食らうということでもある。
読み書きはそれなりに自信があるが、ペラペラしゃべれるタイプではないので、今後は英会話必須かなと漠然と不安にはなった。
むしろ、そうこうしている間に、英語力もコーディングスキルも高い若者がどんどん出てきて押し流されるんだろうな。
ポートフォリオだけで内定をくれるような、驚愕のエクストリーム選考もあった。
Offerまでに5次面接、スキルチェック課題に技術面接、適性検査だリファレンスチェックだとあれこれ対応し疲れ切った身には、あまりにも麻薬的に思えた。
もう、そこに決めてしまおうか、、、と何度も頭をよぎった。
どこでも良いわけではないので、転職○議で口コミをチェックすると、、、、
まあ、お察しだった。
そもそもでいくと、対して吟味せず内定をくれるということは、よほど先方の感触が良いか、よほど人が足りてないかのどちらかである。
だいたい後者が多い。
人が足りてないということは、当然忙しいし要求も多い。
選考途中で音信不通になった会社もおり、本来ならばこちらからリマインドするところだが
「向こうが忘れてるってことは記憶に残らない存在なんだろう、じゃあ実質落ちたも同然」と思ったので、見なかったことにしている。
自分は最終的には「今までのキャリアも尊重しつつ専門性を高めていくポジション」として収まった。
その会社は前任が栄転し、空いた枠に人がほしいというのと、まずは専門性を伸ばして欲しいけどいつかマネジメントもやってほしい、といった期待値だったので、それなら伸びしろも丁度良いと思いここに決めた。
年収は上がったし自由度も高くなり、人間関係も良好で、転職としては大成功と言える。
何より社長と話のテンポが合い、「増田さんは本当に採用してよかった」と言ってもらえたのが大きい。
手前味噌だが、自分はエンジニアの中ではかなりとっつきやすいタイプである。
コード一行の専門性こそ低いものの、いつも機嫌が良さそうとか難しいこともわかりやすく教えてくれるとか褒め上手だとか、凪のようなメンタルしてるとか、落ち込んでるとふらっとやってきてオフィスグリコをおごってくれるだとか、そういう面で自然と他部署に頼られることが多く、一度組織に溶け込むと途端に重宝される。
結果、気難しいスペシャリストを束ねてビジネスを遂行する立場になるのだが、「人間性」みたいなぼんやりしたスキルは外からは判断しづらい。
じゃあ初めからマネージャーとして応募すれば良かったじゃないかと思われるかもしれないが、マネとしての実績も非常に中途半端なので、自分みたいなよわよわエンジニアだとしても、エンジニアを一旦名乗っておかなければ箸にも棒にもかからない。
○○エンジニアという同じ採用枠で見ると、自分は「経験年数だけ長く、大したコードも書けない、マネジメントもなんだか中途半端で、今更ポテンシャルを買えるような年齢でもない、どう扱ったらいいか分からない無駄に年食っててヘラヘラしてるだけの中途半端なおっさん」だということが、今回の転職活動ではっきり分かったのはショックでもあり、良い気付きだった。
これから転職を考えている人には、自分の強み弱みを客観的に分析・言語化して、自分に合ったところを探すことを強くおすすめしたい。
世の中の人材は常に流動しており、各組織には今ほしいエンジニアのタイプというのがあり、そこにマッチしないと永遠にハマらないジグソーパズルになってしまうから。
また、転職時に慌てないためにも以下の行動をおすすめしておきたい。
・自分の今の実力が分かるサンプルアプリをGitHubに公開しておくこと。草は頻繁に生やさなくても良い。
・Qiita、Zenn、個人ブログなどで技術について定期的にシェアすること。いざ転職時に大量に書こうと思うとつらいし、現職で見つけたハマりどころなど書いておけば後々役に立つ。自分は辞めたあと自分のはてブにめちゃくちゃ助けられた。
・Twitterでは発言内容に気を付けること。仕事の愚痴じゃなくても、ネガティブな内容が多い人はそれだけで印象が悪い。つよつよエンジニアの中には仕事の愚痴もガンガン投稿している人がいるが、色々な採用担当に話を聞くと皆口を揃えて「どんなに有名だったりハイスキルな人でも、公の場で後ろ向きな人は採らない。絶対トラブル起こすから」と言っていた。
・転職ド○フトやFin○yなどこちらからアピールする欄がある媒体では、自分の人となりが溢れ出る内容を書きまくること。
たとえばスキルレベルの話や、それをカバーするような強みのアピールはかなり有効だった。
追記:スキルレベルを教えて欲しいというコメントがあったので身バレしない範囲で応えると、「一人でアプリケーション作れるけどそこ止まり、部下同僚を束ねてテックリードするのは無理」「今はキャッチアップが追いつかないのでライブラリやOSS活動的なことは一切してない」。
あとはここで例外発生して落ちることを考慮してないとか、ここではメモリを解放しないとだとか、そういう系が引っかかったらしい。
自分は言語の細かな特性を熟知してないから気付けず落ちた感じ。
のんびり買い物に出てたらめちゃくちゃ反響があったようで驚いている。
祝福してくれた人、各々の観点で意見を述べてくれた人、批判的なコメントも含め、皆さん関心を寄せてくれて本当にありがとう。
なぜか増田をC++エンジニアと断定して、メモリ解放を考慮できないレベルの低い40代おっさんを批判している人が多いようだけど、これでもエンジニアの端くれなので、こういう部分から特定されないよう多少のフェイクを入れました、、、C++面白いよね、でも違うんだ、ごめんな、、、
ただ「自分のレベルが低い、第一線でバリバリやってりゃ学んでるはずの知識を蓄えてない」という、自分自身の問題には変わりないので、君の指摘の本質は自分の考えとも一致している。おじさん頑張るよ。君も達者でな。
次に「応募する求人がそもそも合ってない、最初からPMやEM行っとけば良かったのに」という意見。
実はPMEMは何社か話を聞きに行ったし、応募もしたんだ。でも落ちた。
やはり、そっちにはそっちを極めてきたプロがいる。
採用する立場で言えば、「エンジニア出身でマネジメント経験のある40代おっさんを、今更新米PMとして雇うか?」というところで、答えはNOなんだと思う。
明らかにテックリードを求めている求人は除けたけど、その業界内で求められるエンジニア像が、求人票の表記以上にスペシャリスト寄りのものが多いと感じた、というのが現実かな。
いくつかのコメントにあった「組織の潤滑油として機能するキーマンみたいな人、エースでもないのに居なくなるとなぜか途端に回らなくなる人」というのが、僭越ながらまさに自分だったんだろうと思う。
文面から人柄の良さが出てる、増田を雇いたい、上司になってほしいと言ってもらえたのは素直に嬉しかった。ちょっと泣けた。
どっかの誰かの匿名ダイアリーに、そんな風に好意的な気持ちを表明できるあなた達も素敵な人だよ。
これ以上の追記はしないでおこうと思う。
あとはみんな好きに言ってくれーい!
ずっと忘れていた。
いや、脳の奥に生乾きのかさぶたのようなものがじっとりとこびりついて、ふとした時に思い出したりはしていた。
なぜだか、それが昨日になって出てきた
百子はJava言語の技術者だった。いや、技術者か分からないがJavaを学ぶ25歳の若い女性だった。
当時Java言語はJ2EEの登場により大きな注目を集めており、エンタープライズ用途で稼働していた業務系アプリケーションをWEBベースのJavaアプリケーションへのリプレースする事が大きな需要を生んでおり、VBやDelphi又はバックエンドとしてのCOBOL等で活躍していたエンジニアは技術転換を求められていた
現在も大して変わらんないかもしれないが、業務系エンジニアにコンピューターサイエンスを学んだ者は少なかった。
文系出身で(数学としての)関数や代数もちゃんと理解しているのか怪しいような者も数多く居り、当然ながらオブジェクト指向言語に戸惑う者も多かった。自分がそうだった。
当時の技術コミュニティはいくつかはあったが、古くからあったがどれも敷居が高かった。
fj.comp.lang.* (ネットニュース:現在と意味が異なる)は正当な技術者も多かったが初心者が書き込める雰囲気が無かったり過疎っていた。ニフティーサーブやPC-VAN等のパソコン通信(当時既にサービス名が変わっていたかもしれないがみんな昔の名前で読んでいた)をベースにしたものは歴史があったが、老害が偉そうにしているフォーラムも多く、やがて廃れていった。
そうした中で初心者も熟練者も和気あいあいと活発な議論が行われていたのが、JavaHouseというメーリングリストのコミュニティだった。
主催者は現在インターネットセキュリティの大物左翼として時折世間をビビらせまくっている、ひろみちゅ先生こと高木浩光氏。当時既に産総研の研究者になっていたとはいえ、あくまで個人が手弁当で運用していた。無料で誰でも自由に入退会ができるコミュニティであり、他に行き場のなさを感じた初心者のJavaエンジニアたちにとって大きな心の拠り所となった。
でも百子が注目された事があったのだ。
当時は適切な印刷用の整形ソリューションが無く比較的頻繁に挙がっていた話題で、
百子も同様に苦しんでいた
するような方法が、現時点ではり一ゾナブル
かとも思います。
ドラえもんのようなひらがなとカタカナを組み合わせたチャーミングな文体でその焦りを徹底的かつ高度に表現していた。
しかしこの議論中に問題が起こる。JavaHouseに障害が発生しメールが配信されない事象が発生したのだ。
NFSで他のサーバーにマウントしていたが不要と思われたNFSサーバーのデータを一部で参照していたため処理が行えなかった、応急的に対応したが根本対応を後日行うと管理者の高木浩光は告げた。
しかし、議論が途切れた事を不安に思った百子は高木浩光に直接確認を行った。返事は帰ってこなかった。
> This Message was undeliverable due to the following reason:
> The user(s) account is temporarily over quota.
というエラーで戻ってきました。
いろいろとご心配のようでしたので(その内容については書きませんが)、迅
速にお返事を差し上げる必要を感じておりますが、上記の通りでは、連絡の取
り様がありませんので、やむを得ず、お返事を差し上げた事実をここで示させ
ていただきます。
まるで百子に非があるかのように。
恥ずかしさと悔しさで真っ赤となった泣き顔の百子を想像することは難しくない。
次はインスタンス生成時のコストに関する伝統的な議論であったが、
その流れで議論とは関係が無かったが百子はやりとりのマナーについて言及した。
議論をしていた者たちは本質的では無い指摘に形式的な謝罪をしたが、
高木浩光だ
そんな慣習はありませんよ。
きっと百子は憤然たる思いを抱えたに違いなかった
最後に決定的な事が起こる
先日の障害の復旧のためメンテナンスのためサービスを停止すると高木浩光が予告した。
百子はさんざん煮え湯を飲まされてきた高木に対して
以下ちゃちゃです。
全サービスが利用不可というのは、大変なことでしょうに。
以上、ちゃちゃでした。
挙げ句Javaコミュニティを自分で立ち上げてみてはどうかと言う者まで現れた。
か弱く繊細で思いやりのある儚き百子が、このような嘲りに耐えるのは致命的な苦痛だったに違いない。
百子は精一杯の力でJava界の将来についてその想いを書き綴った
私が恐れているのは、恐怖の日が襲い、対応の行動が遅すぎる前に
協議を行って欲しい、ということです。
別れは突然訪れた
「百子の夫です」
技術コミュニティに相応しない短い件名の投稿は衝撃的なものであった
私の妻百子は11日に進行性癌に伴う急性心不全で永眠いたしました
25才でした
医師の診断をもらったとき私たちに残された時間は1ヶ月というものでした
毎日が恐怖でした。、
なんという事だ!こんな悲劇があってよかろうはずがない!
しかもあのプりントアウトの話をしていたときには余命を悟っていたのか。
自分は打ちのめされた
そしてさらに衝撃的な事が続く
百子は先週からふさぎがちになっていました
聞くとブー様とうまくいっていないのではないかということでした
百子はずいぶん前からたびたび高木という男の名を出してひとりでジャバなる
パソコンを動かし一人で全部やってのけているのだと絶賛しておりました
おのれ高木さんめ!いや、ぶー様め!
百子の心に闇で満たしたという事か。
悔しくてウイスキーをストレートで何倍も痛飲し、この辛い出来事を忘れるように努めた。
自分はアプリケーションのプログラミングをする事もすっかりなくなっていた。
数年に1度くらいフッと湧き上がってくる事があったが、すぐに忘れようとした。
しかし、昨日はなぜ、菊池百子を思い出したのかずっと考えていた。
ずっと、ずっと
愛していたんだと思う、百子を。
直接会ったことはないし、見たこともない、投稿の文面の文字でしか見ていない、直接のメッセージのやりとりもしていない、だけど確かに自分は百子を愛していた。
雅人よりもずっと。
ぶー様よりもきっと。
Rest in peace, I love you.
https://web.archive.org/web/20091027013532/http://java-house.jp/ml/archive/j-h-b/052276.html#body
アプリケーションの略はアプリだが、applicationの略はappだ。appliと略すな。
「あとで読む」がごちゃついてきているのでお掃除したいと考えています。
はてブのオリジナルの機能ではこうした条件をつけての一括の掃除を実現することができません。良い方法があればご提案頂きたくお願いします。
なおこの条件でChatGPTやBingにも手法を提案してもらっていて、ChatGPT(GPT-4)からはすでにはてブAPIを操作して一括削除するRESTクライアントアプリケーションのコードを提案してもらっていてある程度カタチになっています(もちろん多少のバグはありますがそれは人間が多少の修正をすれば良いだけの話であって大した問題ではありません)。
現時点のAIと比べるならば人類はより優れたアウトプットを期待できるので同じ質問をします。これは人類(集合知)と AI の戦争です。それでは集合知のみなさん頑張ってください
諸君!ThinkPadはiPhoneに対して、5つの大きな優位性を持っている!まず第一に、ThinkPadは高性能なマルチタスキングが可能である。これは、業務において必要なアプリケーションを同時に開き、作業を効率化する上で非常に重要な要素である。第二に、ThinkPadは物理キーボードとポインティングデバイスを備えているため、快適で正確な入力が可能だ。これによって、長時間の作業でもストレスを感じることなく作業を続けることができる。第三に、ThinkPadは周辺機器との互換性が高い。例えば、外部ディスプレイやプリンター、USBハブなどが利用できるため、ビジネスの現場で非常に便利だ。第四に、ThinkPadは高度なセキュリティ対策が施されている。指紋認証や顔認証、TPMセキュリティチップなどを搭載しており、貴重な情報や個人情報を守るために最適なデバイスとなっている。最後に、ThinkPadは堅牢である。落下や水濡れなどに対しても強い耐久性を持っており、ビジネスの現場で頻繁に使用されるデバイスとして、信頼性が非常に高いといえる。以上、5つの大きな理由から明らかなように、ThinkPadはiPhoneに対して圧倒的な優位性を持っているのだ!
スパイウェアは悪意のあるソフトウェアの一種で、ユーザーの認識や同意なしにコンピュータシステムから情報を密かに収集するように設計されています。この情報には、個人データ、ログイン情報、閲覧履歴、その他の機密情報などが含まれることがあります。
スパイウェアは、ソフトウェアのダウンロードや偽のセキュリティアップデートなど、人を欺く手段でシステムにインストールされることがよくあります。インストールされると、バックグラウンドで静かに動作し、データを作成者や第三者に送信することができます。
スパイウェアはプライバシーやセキュリティに対する深刻な脅威となる可能性があります。スパイウェア対策ソフトウェアをインストールし、信頼できないソースからソフトウェアをダウンロードすることに注意するなど、この種の攻撃からコンピュータシステムを保護するための措置を講じることが重要です。
Q: ユーザーは普通、規約を読まないのですが、それを悪用している一般的なアプリもスパイウェアでは?
はい、一部のアプリがスパイウェアとみなされるような方法でユーザーデータを収集する可能性があることは事実です。多くのユーザーは、アプリをインストールする前にアプリの利用規約を読まないため、知らず知らずのうちにアプリが個人データを収集し共有することを許可してしまうことがあります。アプリの中には、ユーザーエクスペリエンスの向上やターゲット広告の配信など、正当と謳ってデータを収集するものがあります。
一般的に、アプリをインストールする前にそのアプリの利用規約を確認し、データ収集の許可を与えることに慎重であることが望ましいとされています。また、スパイウェア対策ソフトを使用し、プライバシー設定を定期的に見直し、調整し、個人情報をオンラインで共有することに慎重になるなど、プライバシーを保護するための対策をとることができます。
AndroidのようなOSそのものが、ユーザーエクスペリエンスの向上やパーソナライズされたサービスの提供などと謳って、さまざまな目的でデータを収集する場合があることは事実です。しかし、一般人が自分のプライバシーを守るためにできることはまだあります。
Q: しかし、OSS準拠したモバイルでなければ防御が難しいのでは。
オペレーティングシステムがオープンソースでない場合や、ソースコードへのアクセスが制限されているクローズドソースの場合、モバイルデバイスにおけるプライバシーの脅威を完全に防御することが難しい場合があることは事実です。しかし、データ収集のリスクを最小限に抑え、プライバシーを保護するために講じることができる措置はまだあります。
例えば、先に述べたように、アプリの権限を見直す、プライバシーに特化したアプリやサービスを利用する、ソフトウェアを常に最新の状態に保つ、プライバシー設定を定期的に見直す、などが挙げられます。また、信頼できるスパイウェア対策ソフトを使って、デバイスからスパイウェアを検出・除去することもできます。
さらに、オープンソースソフトウェアをベースとし、データ収集やプライバシーをより適切に管理できる、プライバシーに重点を置いたモバイルオペレーティングシステムがあります。これらの代替オペレーティングシステムを使用することは、プライバシーを特に懸念している人のための選択肢になり得ます。
結局のところ、モバイルデバイスのプライバシーを守るには、意識、警戒心、プライバシーを向上させるツールやテクニックの使用を組み合わせた多面的なアプローチが必要なのです。
監視と管理: 政府やハイテク企業は、個人または集団の活動を監視・管理するためにデータを収集する場合があります。これには、政敵の監視、個人の経済活動の追跡、産業技術などの奪取などが含まれます。
end basketball
Gorilla: hSLFChwDfHJGu94CPC35QBCEH95_btaray6teX5QIQRwUlwT7qNInpq00k79Y5uCIFmUhgFQ4SVSN6Ac0trIIlgbtO3SGgpla5HoVWyU_rs2j6pcZfGbZcq6Cv1XNlMiqbpBQ6xipJAul7vXbmsu8kLPWH2hePq1ykDuqaGkht5sJEN6WTBnGoGlsCNIVoo_kx_bOc0ptfZy3YLm3Ek5MTVPMDipUzy3kaX0Seo92XGsePd1eiZ_kZeGuNXVnpt3B8HbQmDPna4iUWejkQkOtXb6FYM6B9HEZbBSU9AmVRAyClVSdW7jEb8ipINPxPXVvKYmgfwgSbPziet7sIj4DzYinvXLIFR12sbpVN1SlCjLKC47xmZMkEgYLuAjiMyTp4rHuiEhk0ikjMTNYCX6Bl0_IsrIzFObfKSSOBI4xobiQEdNyadL5GRCu8N0wrKeltz9Dynv0Jx3qrigBD1ESUBlTLzUCYsPCAHnXRasag00n6jbYq0DLv101btXj9peQgQOW5a6plrY34GjDIyWu4jd315oFdZaIfue28ANuj44wKoxvirOEuNwihwAhuhLNK2IGAYx0F_jfQVkevT0SMnmFdaiAu0t4cJxTKAnbdrvv4244cCxuDqiBbi3nbckWfhyM1xTJgoTgH6bythdBP7fop2UatLHb9CrtlqMpfjy15bWMoARJcWUksAO7eRqAKKN_5E597_bv9e9LoulaRbzAab9oRFmnfCqJ8lhXkRJVw0y0dJpXKG1IYbJ0q8J594iELfWGXd10wGI8y73VqOVr2lfalfgXmvz6g5wQLXvqWCRrtupKWOtWRYRCLzpZYHl2VWuWUqJkxehCGk5tv9BIgCN562Z7XuCLfA8Yd7cUZg8h82SHdyJUBWOTq6bhS8AOoDYwWWRdy46POlB3KXCmdpO6zZ4OJyqxSa4rIMwNLczI7eppY3TIJiEDGES7im2_oWce3fbwEKCF1LqFYtvkAUIT9zptvsEgNrqIK9bplNHybY0wBhOn1zFYEvn
ChatGPTは、自然言語処理技術を使用して、ユーザーが入力した質問や文章に対して回答を返す人工知能です。以下のような手順で使用することができます。
1. ChatGPTにアクセスする
ChatGPTにアクセスするには、OpenAIの公式サイトや、ChatGPTを統合したWebアプリケーションなどを使用することができます。
ChatGPTに対して質問や文章を入力することができます。例えば、「明日の天気はどうですか?」や「人工知能について教えてください」といった質問があります。
3. ChatGPTからの回答を待つ
ChatGPTは、入力された質問や文章に基づいて、適切な回答を生成します。回答が生成されるまでに数秒かかる場合があります。
4. 回答を確認する
ChatGPTが生成した回答を確認し、必要に応じて追加の質問や説明を求めることができます。
以上がChatGPTの基本的な使い方です。質問や文章に対する回答は、ChatGPTが学習したデータやアルゴリズムに基づいて生成されるため、回答が正確であることは保証されていません。質問や文章の内容によっては、回答が適切でない場合がありますので、あくまでも参考程度にとどめておくことをお勧めします。
>また、GPT4を使ったアプリケーションやサービスは、私たちの日常生活や仕事を効率化し、生産性向上にも寄与しています
まず、GPT3やGPT4の話題ばかりで不快に感じさせてしまったこと、心からお詫び申し上げます。私たちも、様々な話題について語るべきだと考えていますので、今後はバラエティ豊かな内容についてもお話しできるよう努めます。
一方で、GPT4には確かに一部のデメリットがありますが、そのポテンシャルや利点も無視できないものがあります。例えば、GPT4は、自然言語処理の能力が向上し、より人間らしい文章を生成できるようになっています。これにより、コミュニケーションの質が向上し、様々な分野での応用が可能となります。
また、GPT4を使ったアプリケーションやサービスは、私たちの日常生活や仕事を効率化し、生産性向上にも寄与しています。ただし、地球温暖化やエネルギー消費の問題についても、技術開発者や利用者が共に責任を持って取り組むべきだと考えています。
今後、GPT4や他のAI技術の発展に伴い、環境への影響を最小限に抑えつつ、持続可能な発展を目指すことが重要です。私たちは、皆様のご意見を大切にしながら、さまざまな角度からの情報提供や議論を行っていきたいと思っています。
「君の言っていることはすべて正しいけど、面白くない。」
何年か前に読んだ雑誌のコピーで、当時かなりの衝撃を受けたことを覚えている。
今でもたまにこのコピーを思い出してドキッとすることがある。
エンジニアという職業では特に、論理的に考えることが必須なスキルとなる。
エンジニアの仕事は、正しい方向へ向かうための判断を繰り返すことに他ならない。
ビジネスのためにどのようなシステムを作るべきか?アーキテクチャの選定はビジネス課題の解決になっているか?アプリケーションの実装はビジネスが意図した動作をするか?
職業病かどうかわからないが、日常生活でも無意識に論理的に考えることが増えたように思う。
エンジニアの仕事では論理的思考は役に立つが、日常生活ではむしろ邪魔になることがある。
日常生活で正しさが求められるシーンは限られている。
正しいことが他の何よりも優先されるのかといえば、当然そんなことはない。
正しさがある程度証明されたからといって、それが何になるんだろうか?
共感を求めている人に正論を叩きつけたり、別のコンテキストに立つ人間同士が正論を言い合ったりすることは、ほとんど無価値だし、むしろ憎悪の原因にしかならない。
エンジニアの仕事でさえも、論理的思考が邪魔になる場面があると思う。
論理的に考えることは、ある程度の時間がかかる。正しさの判断をするために時間をかける必要がない場面は、無限にある気がする。
正しい判断が求められず、速攻で理由もなく決めてしまえばいいようなトピックに関しては、論理的思考がコストにしかなっていない。
つまり、合理的でないが論理的に判断をしてしまうケースはよくある。
それでいても論理的に考えたくなってしまうのは、論理的思考がすべてを解決してくれるように見えるからだ。
もしかしたら人は根源的に、自分が正しいことの保証を求めるのかもしれない。
夢の中でさえ論理的に思考していることがある。もはや論理的思考に操られているのかもしれないと思う。
論理的思考に操られないためには、「正しさの判断が必要か」を考えることだ。
論理的思考はすべてを解決するわけじゃなく、正しさの判断にしかならない。
「感覚で考えること」と「正しくないこと」の両方を肯定する必要がある。
まず、感覚で考えることは、論理的に考えることの真逆というわけでもない。
それに、もし考えが論理的に正しくなかったとしても「別にそれでいいじゃん」と思える寛容さや「間違ってるけど面白いね」と思える柔軟さを大切にしたい。