ブートストラップの7日:日3


月9日月曜日、7日間の休暇中にグループからビジネスをブートするためのチャレンジを始めました.このポストは私が学んだことと3日目に直面した課題を文書化します.注目の相棒との旅の始まりはhereです.

日のレッスン


バックエンドが1 BrowserWindow 1を通してフロントエンドと通信しなければならない電子の興味深いquirkについて学びました.これはフロントエンドがプリロード可能なipcRendererオブジェクトを利用できる方法とは対照的です.畝
これは、ウィンドウが通信する必要があるオブジェクトに注入されるか、またはグローバルオブジェクトとして永続化されなければならないという興味深い問題につながります.ipcRendererの方法が明らかに最も柔軟性を提供して、私はこのデザイン選択のものすごい大ファンでありません.これが初期のデザインの決定によるのかどうかは分かりませんが、今後数日間でこれについて研究したいと思います.

早朝



私は、顕著な、顕著な相棒の間のSSH接続を確立するためのサポートを追加することによって、クイックスタートに降りた.これは、起動時に現在のlockscreen pngを動的に引っ張っている次の主要なマイルストーンのためのビルディングブロックでした.上のスクリーンショットでは、画面上の顕著なモデルは、実際には完全に動的です.この作品はまた、明日の主な焦点となる新しいlockscreen画像をアップロードするための基礎を築いた.

中間の日


日の真ん中に向かって、私は注目すべきストレージ統計を引っ張り始めた.これはかなりおもしろいタスクでした.私は基本的にはssh接続を使ってDFを実行し、返されるstdout出力を解析する必要がありました.
これは、私はかなり誇りに思っているコードのかなり楽しいブロックをもたらした.基本的に、改行で各行を中断し、それらの行をスペースで分割し、結果から純粋な空白を除去します.一旦各行の内容を表す配列の配列を持っていたら、それぞれの行を反復して、デバイス上のパスごとに使用可能なスペースを引くことができました.
それが完了した後に、残っているすべてはIPCを通してこのデータをフックして、フロントエンドにそれを送ることでした.
const output = result.split('\n').map((line) => {
    return line.split(" ").filter((word) => {
        if(word != ' ')
            return word
    })
})

let paths: Path[] = []

let usedSpace = 0
let availableSpace = 0

for (let i = 1; i < output.length; i++) {
    const o = output[i]
    const pathUsed = parseFloat(o[2])
    const pathAvailable = parseFloat(o[3])

    usedSpace += pathUsed
    availableSpace += pathAvailable

    paths.push({
        used:       pathUsed,
        available:  pathAvailable,
        path:       o[5],

    })
}

午後


かつて私はフロントエンドで利用可能なすべてのストレージデータを持っていた、私はすぐに進行状況バーにこれを配線し、デバイス上のスペースの利用可能な量を示すことができた.畝
一日を包むために、私は地域とギャラリーのLockscreen管理画面の代わりにナビゲーションを得ることができた.これは、私はMVPのオフライン機能のすべてで終了する必要があります明日としてエキサイティングなマイルストーンだった.理想的には、アカウント管理とユーザーが顧客を支払うこととして黒と白のlockscreenのイメージを共有できるようになるギャラリー機能の設計にヘッドスタートを得ることができるでしょう.

進捗



包む


全体的に、日はかなり速いが、私は新しい機能を追加することができたペースは月曜日と火曜日よりもはるかに高速だった.これは、適所に置かれたフレームワークがペイオフを始めていることを示す良い兆候でした.明日働いている最初の支払い機能を得ることは、ここにあります!
Remarkable Sidekick