最近少し忙しくて、残念ながらオープンソースに貢献する時間があまりありませんでした。軌道に戻ることを楽しみにしていたが、いくつかの問題に遭遇した。前回の投稿では、Mattermost Mobile に飛び込み、Web アプリで以前に取り組んだのと同じ機能、つまり絵文字 (:D) を絵文字 (?) としてレンダリングすることを切り替える設定を追加する設定をどのようにして実装したかについて説明しましたが、すぐにその考えを放棄します。 WSL (Windows Subsystem for Linux) はモバイル開発にはそれほど優れているわけではないことがわかりました。
「そんなに難しいことはないよ...」
Mattermost の開発は、MacOS と Linux でのみ正式にサポートされています。 Web アプリで作業する場合、これは問題になりませんでした。 Web アプリで作業している間、WSL を使用することができ、すべてが問題なく動作しました。しかし、モバイルアプリの開発を始めようとすると、次から次へと問題に遭遇しました。
Linux の開発環境セットアップ手順に従って、Android エミュレーターをセットアップする必要がありましたが、WSL 内で Android エミュレーターを実行しようとしても機能しませんでした。エミュレーターが検出されませんでした。また、プレインストール スクリプトが .sh スクリプトを実行するため、Windows 上で開発することもできませんでした。そこで、WSL 内から Windows 上で実行されている Android エミュレータに接続しようと数日費やしましたが、無駄でした。WSL のエミュレータのリストに表示されませんでした。私はフォーラムの投稿や GitHub の要点を何時間も費やしましたが、うまくいかないように思えました。
また、自分のデバイスの USB 接続を WSL に転送して、自分のデバイスで開発を試みてみました。おそらく、Microsoft Learn のこの記事で述べたように、usbipd-win でこれが機能するはずですが、デバイスを WSL に転送しようとするたびに、接続されているデバイスのリストが空になります。
Mattermost 貢献者の公式チャットでメッセージ履歴を検索しましたが、見つかったのは同じことで悩んでいる他の人からの投稿だけでした。そこで、私ができる最後の手段は、自分で投稿して助けを求めることだと考えました。ありがたいことに、誰かが協力しようと応じてくれましたが、残念なことに、その人はモバイル チームに所属していなかったので、モバイルで質問してみるように指示されました。チームのチャットにまだ返信がありません。
残念ながら、当面はこの問題に取り組むことはできないようです。
何か他のことを試してみる
それまでの間、私は他の問題を取り上げようと考えていました。 「助けを求めています」というラベルが付いた問題を参照しているときに、GitHub CLI に関する次の問題を見つけました:
`gh run view` は角括弧内にブランチをリストする必要があります
#10038
バグの説明
gh run view ではブランチが括弧内にリストされていますが、Primer のガイドラインに合わせて角括弧内にリストする必要があると思います。
ブランチ名を括弧またはシアンで表示します
動作を再現する手順
GH ランビュー
予想される動作と実際の動作
gh run view プロンプトでは、角括弧内に分岐が表示される必要があります。
ログ
❯ gh run view ? Select a workflow run [Use arrows to move, type to filter] > - Verifying attestations offline fails, Discussion Triage (trunk) 4h55m1s ago - Decoding, Discussion Triage (patch-1) 4h59m32s ago ✓ Decoding, PR Automation (patch-1) 4h59m43s ago ✓ Issue Automation, Issue Automation (trunk) 5h20m31s ago - `gh repo rename myorg/newname` results in `myorg/myorg-newname`, Discussion Triage (trunk) 10h13m50s ago - 401 Error at every turn, Discussion Triage (trunk) 10h15m20s ago - 401 Error at every turn, Discussion Triage (trunk) 10h15m20s ago
これはかなり簡単な変化のように思えたので、これまで私が取り組んできた途方もない課題からの良い休憩になるだろうと思いました。私を再びまともなペースに戻すための何かであると思いました。
開発者のセットアップが非常に簡単だったことに満足しています。 Go はすでにインストールされていたので、バイナリをコンパイルするだけで済みました。
私は貢献ドキュメントを読みましたが、これも非常に役に立ち、関連するコードをどこで見つけるかを理解するのに役立ちました。少し時間をかけて調べてみたところ、run コマンドでブランチ名を表示する関数を見つけました。私はそれまで Go を実際に書いたことはありませんでしたが、C の printf() を非常に思い出させました。変更を加えて PR を開いたのですが、興奮してテストを更新するのを忘れてしまい、レビュー担当者から指摘を受けました。
修正: `gh run view` で角括弧内の分岐をリストする
#10043
#10038 を修正
変更点
pkg/cmd/run/shared: selectRun() のかっこを角かっこに切り替えました。
前
func selectRun() { ... fmt.Sprintf("%s %s, %s (%s) %s", ...) ... }
その後
func selectRun() { ... fmt.Sprintf("%s %s, %s [%s] %s", ...) ... }
私はテストを徹底的に調査し、失敗したテストを特定し、更新しました。残念ながら、メンテナから、実際にはこの問題についてまだトリアージの過程にあり、先制して「支援を求めています」ラベルが適用されており、私の PR はマージされない可能性があるという通知を受けました。少しがっかりしましたが、自分の役割は果たしたと思ったので、大したことはありませんでした。
コメント
#10038
? @uday-rana さん、この記事に興味を持っていただきありがとうございます!
今週ローテーションで最初の対応担当者がこの問題の優先順位を決定するのを待ちたいと思います。
「ヘルプ募集」ラベルを追加したとき、私はおそらく熱心になりすぎました。それでも、実装する前に最初の対応担当者がこれを優先順位付けして、作業に同意していることを確認してほしいです ❤ ?
何か問題が起こるとは思っていませんが、PR をレビューする前に私たちが何を待っているのか知っていただくために、とにかくお知らせしておきます。最初の対応担当者が同意した場合は、喜んで PR を受け入れます ?
混乱させて申し訳ありません!今後、これらのラベルを早期に追加することはありません。これにより、トリアージ プロセスが意図せずスキップされてしまいました?
ラウンド 2
「ヘルプ募集」ラベルでさらに取り組むべき問題を GitHub で調べているときに、さらに別の Mattermost の問題を見つけました。今回は Web アプリに関するものでした。 Web アプリの開発環境はすでにセットアップしていたので、すぐに行動に移せると考えました。
貼り付けた画像ファイル名にタイムスタンプを追加して区別します。
#29524
問題
クリップボードからメッセージ入力に画像を貼り付けると、ファイル名は image.png になります。複数の画像を貼り付けると、すべて同じ image.png ファイル名が付けられます。これは、上書きの危険性を伴う同じ名前の各ファイルをダウンロードする場合に問題になる可能性があります。
提案されたソリューション
次の形式でタイムスタンプを含むファイル名を自動生成します:
画像-2024-11-18-6-29-57-PM
最も重要なスレッド: https://hub.mattermost.com/private-core/pl/xryg3tedg3bbxq3xuwnrj9ymyc
ご興味がございましたら、ここにコメントして、毎日のビルド サーバーの「コントリビューター」コミュニティ チャンネルに参加してください。そこでは、コミュニティ メンバーや Mattermost コア チームと質問について話し合うことができます。技術的なアドバイスや質問がある場合は、「開発者」コミュニティ チャンネルにご参加ください。
新しい寄稿者は、開発者ガイドを参照してください。
JIRA: https://mattermost.atlassian.net/browse/MM-62003
このブログ記事を書いている時点でこの問題を調査しており、問題の原因を特定しました。ブラウザまたはブラウザに似た (Electron アプリのような) 環境でクリップボードから画像を投稿する場合、画像に名前がない場合、ブラウザは自動的に「image.png」という名前を付けます。これを Firefox と Edge でテストしましたが、両方に当てはまります。なぜこれが問題になるのでしょうか?アプリには、名前のないファイルにタイムスタンプを追加するロジックがすでに組み込まれています。ただし、これらの画像にはクリップボードから貼り付けるときに自動的に名前が付けられるため、タイムスタンプは設定されません。
最も簡単な解決策は、「image.png」という名前のチェックをハードコーディングすることです。しかし、画像が PNG ではない場合はどうなるのでしょうか?それはクリップボードでも可能ですか?そして、ユーザーが実際に「image.png」という名前のファイルをアップロードしている場合はどうなるでしょうか?これについては開発者と話し合う必要があります。
いずれにせよ、私はこの問題を解決する決意をしています。物事がスムーズに進むことを願っています。
以上がオープンソース関連の活動を増やす: 失われた時間を取り戻すの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

JavaScriptは1995年に発信され、Brandon Ikeによって作成され、言語をCに実現しました。 2。JavaScriptのメモリ管理とパフォーマンスの最適化は、C言語に依存しています。 3. C言語のクロスプラットフォーム機能は、さまざまなオペレーティングシステムでJavaScriptを効率的に実行するのに役立ちます。

JavaScriptはブラウザとnode.js環境で実行され、JavaScriptエンジンに依存してコードを解析および実行します。 1)解析段階で抽象的構文ツリー(AST)を生成します。 2)ASTをコンパイル段階のバイトコードまたはマシンコードに変換します。 3)実行段階でコンパイルされたコードを実行します。

PythonとJavaScriptの将来の傾向には、1。Pythonが科学コンピューティングの分野での位置を統合し、AI、2。JavaScriptはWebテクノロジーの開発を促進します。どちらもそれぞれのフィールドでアプリケーションシナリオを拡大し続け、パフォーマンスをより多くのブレークスルーを行います。

開発環境におけるPythonとJavaScriptの両方の選択が重要です。 1)Pythonの開発環境には、Pycharm、Jupyternotebook、Anacondaが含まれます。これらは、データサイエンスと迅速なプロトタイピングに適しています。 2)JavaScriptの開発環境には、フロントエンドおよびバックエンド開発に適したnode.js、vscode、およびwebpackが含まれます。プロジェクトのニーズに応じて適切なツールを選択すると、開発効率とプロジェクトの成功率が向上する可能性があります。

はい、JavaScriptのエンジンコアはCで記述されています。1)C言語は、JavaScriptエンジンの開発に適した効率的なパフォーマンスと基礎となる制御を提供します。 2)V8エンジンを例にとると、そのコアはCで記述され、Cの効率とオブジェクト指向の特性を組み合わせて書かれています。3)JavaScriptエンジンの作業原理には、解析、コンパイル、実行が含まれ、C言語はこれらのプロセスで重要な役割を果たします。

JavaScriptは、Webページのインタラクティブ性とダイナミズムを向上させるため、現代のWebサイトの中心にあります。 1)ページを更新せずにコンテンツを変更できます。2)Domapiを介してWebページを操作する、3)アニメーションやドラッグアンドドロップなどの複雑なインタラクティブ効果、4)ユーザーエクスペリエンスを改善するためのパフォーマンスとベストプラクティスを最適化します。

CおよびJavaScriptは、WebAssemblyを介して相互運用性を実現します。 1)CコードはWebAssemblyモジュールにコンパイルされ、JavaScript環境に導入され、コンピューティングパワーが強化されます。 2)ゲーム開発では、Cは物理エンジンとグラフィックスレンダリングを処理し、JavaScriptはゲームロジックとユーザーインターフェイスを担当します。

JavaScriptは、Webサイト、モバイルアプリケーション、デスクトップアプリケーション、サーバー側のプログラミングで広く使用されています。 1)Webサイト開発では、JavaScriptはHTMLおよびCSSと一緒にDOMを運用して、JQueryやReactなどのフレームワークをサポートします。 2)ReactNativeおよびIonicを通じて、JavaScriptはクロスプラットフォームモバイルアプリケーションを開発するために使用されます。 3)電子フレームワークにより、JavaScriptはデスクトップアプリケーションを構築できます。 4)node.jsを使用すると、JavaScriptがサーバー側で実行され、高い並行リクエストをサポートします。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

ドリームウィーバー CS6
ビジュアル Web 開発ツール

WebStorm Mac版
便利なJavaScript開発ツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

ホットトピック









