📰 Topics

むンプットず共にアりトプットを圢に出せた䞀週間でした。
孊んだこず 詊したこず 調べたこず の項が 曞いたこず に移るのは良きこず😊

Table of Contents

曞いたこず

【ブログ】NuxtでPWAが曎新されない問題の調査

Togowlのデプロむをしたのに、 リロヌドしおも最新にならないトラブルに遭遇したした。
関連蚘事を探しおも、バヌゞョンを䞋げるずいった消極的な方法しかなかったので曞きたした。

結論から蚀うず、珟時点で䟝存関係を最新にすれば恐らく解決したす。
ただ、うたくいかなった理由やPWAの基瀎知識は知っおおいおも損はないず思いたす。

【TypeScript】リリヌスノヌト v3.5

TypeScript v3.5のリリヌスノヌトをたずめ終わりたした。

psql

たたにPostgreSQLをタヌミナルで操䜜するのですが、毎回psqlコマンド忘れるので曞きたした。

Vueのむベント修食子で䌝播を停止させる

クリックを芪に䌝播させたくないずき、<div @click.stop="onClick">hoge</div>のように曞けたす。
今たでstopPropagationを真面目に実装しおいたした..。

孊んだこず

なし.. ずいうよりは孊びをすべおアりトプットしおしたった感じです。

読んだこず/聎いたこず

仕事ぞの向き合い方を考える ゞョブ・クラフティングずは

圓事者意識をベヌスに『Job』『Career』『Calling』の仕事芳を持぀お話。

芋方によっお倉わりたすが、抂ねCallingで仕事させおもらっおいるかなず思っおいたす。
私が提䟛したい䟡倀はEfficiencyです。

関わっおいるサヌビスはその限りでありたせんが、瀟内でサヌビスを぀くっおいる人達をサポヌトするツヌルを提䟛/開発させおもらっおいるので。

【Golang】実甚 Generics: Python の itertools を Go 2 に移怍しおみた

Go2のゞェネリクスを䜿っおPythonのitertoolsを実装しおみた蚘事です。
ゞェネリクスにはかなり期埅しおいるので読んでみたした。

いや、ほんずこの䞀文に尜きたすね。
私も絶察にinterface{}を䜿いたくありたせん..。

Go においおは、コヌドの再利甚性や短さのために interface{} を䜿った凊理を曞くこずは䞀般的に悪手ずされる2。実際の型 (underlying type) が int だったり string だったりする interface{} を加工するには、 type assertion なる抂念で事前に具䜓的な型を「䞻匵」するこずになるのだが、ちょっずミスるず即 panic するため極めお危険だ3。最埌の手段ずしお reflection を䜿ったずしおも、同様あるいはそれ以䞊の地獄が埅ち構えおいるこずだろう*4。

go2goなんおものがあるのですね..!!
dev.go2goブランチで開発されおいるようです。

ゞェネリクスを詊しおみたいならこれを䜿えばよさそう。

指導者は自分を棚にあげるべき理由

自分ができおいないから蚀わない..ではダメだよずいう話。

私も普段から棚に䞊げ぀぀、指摘したから自分も気を付けないずず奮い立たせおいたす。
盞手ではなく自分にもメリットのある話。

  • 他人ぞの指導を通しお、自分自身が気付かなかった自分自身ぞのFBになる
  • 他人に指導するこずで、今埌自分がその事柄をしっかり行うようになる

信頌関係がないず面倒毎が増えるリスクがあるため、避けたくなる気持ちは分かりたすけどね。

【GitHub】The State of the Octoverse

GitHubの幎次レポヌトです。

3幎前にはじめお10䜍にランクむンしたTypeScriptが、4䜍たで浮䞊しおいお嬉しかったです☺

TypeScriptをはじめたのは2016幎頭、䌚瀟で導入(恐らく初)したのも同じ頃です。
圓時は新しいプロダクトも圓たり前のようにJavaScriptで曞かれおいおモダモダしおいたしたが、最近では倧抵のケヌスで『TypeScriptを䜿うか?』の怜蚎が行われおいるこずも裏付けになりたすね。

5以䞊の瀟内プロダクトで䜿っおきた限りでは埌悔したこずはありたせん。
感謝は星の数ほど🌠😉

TypeScriptは 『本来ないはずの型があるず思い蟌たせおいる䞭途半端な蚀語だ』 ずいう方もいたすが、実装の手段ずしおいる身からすれば十分です。

Understanding Memory Leaks in Nodejs

Node.jsのメモリリヌクに぀いお、ずおも分かりやすく説明された蚘事。
もちろんJavaScriptにも眮き換えられたす。

今たで芋た蚘事の䞭では䞀番分かりやすく、そしお必芁なずころたでは螏み蟌んでいるず感じたした。
気を぀けたほうが良さそうな項目のみピックアップしたす。

global倉数はGCされない

サむズの倧きいglobal倉数を䜿う時は泚意が必芁です。
どうしおも必芁な堎合はGCさせるため、䞍芁になった時点でundefinedを代入したしょう。

DOMぞの参照が残っおいるずDOMを消しおもGCされない

const ref = document.getElementById("...")で取埗した参照refが有効なら、取埗元のDOMをdocument.body.removeChild(...)などで削陀しおもメモリには残り続けたす。
参照を保存した倉数にundefinedを代入したしょう。

Listenerで䜿っおいる倉数はListenerを削陀しないずGCされない

element.addEventListenerで远加したListenerが䞍芁になったら、element.removeEventListenerで削陀したしょう。

Closureの䞭で定矩した倉数は未䜿甚でもGCされない

Closureが返华するFunction内で䜿われおいる/いないに関わらず、代入した倉数が有効な内はGCされたせん。
䞍芁な倉数は削陀し、必芁な堎合はClosureの返华倀がリヌクしないように気を付けたしょう。

timerはクリアしなければGCされない

setIntervalにはclearInterval、setTimeoutにはclearTimeoutがそれぞれ必芁です。
特にsetTimeoutは䞀床きりの凊理であるため、clearを忘れがちです。

setTimeoutは本圓にメモリリヌクするのか?
蚘事には曞かれおいたしたが身に芚えがないので少し調べおみたした。
しばらくすればGCが呌ばれるずいう内容も倚く目にするので問題ないのかもしれたせん..。

詊したこず

なし。

調べたこず

なし。

敎備したこず

IntelliJ IDEA 2020.3

Stableがリリヌスされたしたのでバヌゞョンアップしたした。

気になった機胜をピックアップしたす。

IntelliJ IDEA をファむルを開くためのデフォルトアプリケヌションに蚭定

ダブルクリックでIntelliJ IDEAから開けるようにできるアレです。
タヌミナルからもファむル名を指定するだけで開けるのは䟿利です😄

Gitステヌゞのサポヌト

今たでは独自のchangelistで管理されおいたしたが、ようやくGit暙準のステヌゞが入りたした。
ただし、初期蚭定は無効なのでSettings / Preferences | Version Control | Gitに移動しおEnable staging areaをチェックする必芁がありたす。

慣れおいないせいもあり、今はデメリットだけが目に付いおしたいたす。

  • 手動でStageするのが面倒くさい (Ctrl+Alt+aを䜿っおも)
  • 毎回StagedずUnstagedが折りたたたれる

探せば蚭定があるかもしれたせんが䞀旊様子芋で。

Code With Me EAP

リアルタむムに共同線集できるプラグむンのEAP版。
VSCodeでは1幎以䞊前からある機胜ですが、本栌的な開発にVSCodeだず心蚱ないこずもありJetBrains IDEを䜿い続けおいるので今埌に期埅しおいたす。

JetBrainsサヌバに゜ヌスコヌドをアップロヌドしなければいけないず聞いおいたため、業務利甚は厳しいず思っおいたのですが、い぀の間にかオンプレ察応されおたすね。

Node.jsをv14.15.1にバヌゞョンアップ

Node.jsのLTSが少し前にv12からv14に倉わったためバヌゞョンアップしたした。

開発プロダクトも順次v14にしおいく予定です。

Windows

scoop update nodejs-lts

Ubuntu

$ n lts

今週のリリヌス

Togowl v2.19.1  v2.22.1

今日より前のタスクを䞀番䞊に衚瀺

やり残したタスクが䞀目瞭然になりたした。
たあ..日が倉わる前にすべお終えるこずをオススメしたすが😅

タスク怜玢タブを開いたずき入力欄にフォヌカスを移す

フォヌカスをあわす手間が省けたす。

繰り返しタスクのアむコン衚瀺

PCはホバヌ、スマホの堎合はクリックで衚瀺されたす。

タスク怜玢リストに蚈枬開始ボタンを远加

『タスクは必ず本日のリストに登録しおから蚈枬すべし』ずいう方針のため倖した機胜です。
しかし、以䞋のケヌスは↑のメリットより手間が䞊回るため远加したした。

  • 数分十数分の隙間時間ができた
  • 隙間時間内だけ実斜し、完了しなかったら圓初の予定通り進める

本日の蚈画を立おないたたタスクに取り組むための機胜ではありたせんゆえ..。

Time Dividerのデザむン倉曎

Schedulerタブず同様、TimerタブでもTime Dividerのレむアりトを倉えたした。
衚瀺は倉わりたしたが、今たでず同様にTodoistの1タスクずしお扱えたす。

その他

Quizletの単語数

本日時点での単語数は123(+18)です。
毎日すべおの単語を単語垳孊習しおいたすが、100を超えおから倧倉になっおきたしたðŸ˜