今週も実装・実装・実装(平日からは図書管理に入りたい)
土曜:10h
- 実装のスピードアップとして、ある程度は正規表現を扱えるようになったほうがいいなーーー
- qiita.com
- せめてグループ化くらいは覚えよう
const yearFrom = parseInt(ymfrom.replace(/(\d{4})(\d{2})/, '$1'))
const monthFrom = parseInt(ymfrom.replace(/(\d{4})(\d{2})/, '$2'))
_.padStart(5, 2, '0'); // => '05'
_.padStart(12, 4, '0'); // => '0012'
_.padStart(100, 2, '0'); // => '100'
- 年月の比較どうしようかと思ったけど
Number型
で比較できそう
Number(setReadOnlyFilter.kknendo + term) >= yyyymm
yyyyMM
のリストをfrom
,to
を受け取って動的に作るのに関数がないんだね。。。
- 結果自分で作った
const terms: string[] = []
const termsyyyymm: string[] = []
const yyyymmFrom = parseInt(ymFrom)
const yyyymmTo = parseInt(ymTo)
const yearFrom = parseInt(ymFrom.replace(/(\d{4})(\d{2})/, '$1')) // 201904のとき2019
const yearTo = parseInt(ymTo.replace(/(\d{4})(\d{2})/, '$1')) // 201904の時04
if (yearFrom !== yearTo) {
for (let k = yyyymmFrom; k <= yyyymmTo; k++) {
const mm = k.toString().substr(4, 2)
if (mm !== '13') {
termsyyyymm.push(k.toString())
terms.push(_.padStart(k.toString().substr(4, 2), 2, '0'))
if (termsyyyymm.length === 12) {
break
}
} else {
const newyear = yearFrom + 1
const newyyyymm = parseInt(newyear.toString() + '01')
termsyyyymm.push(newyyyymm.toString())
terms.push(_.padStart(newyyyymm.toString().substr(4, 2), 2, '0'))
if (termsyyyymm.length === 12) {
break
}
k = newyyyymm
}
}
} else {
for (let j = yyyymmFrom; j <= yyyymmTo; j++) {
termsyyyymm.push(j.toString())
const term = _.padStart(j.toString().substr(4, 2), 2, '0')
terms.push(term)
if (termsyyyymm.length === 12) {
break
}
}
}
this.termsyyyymm = termsyyyymm
this.terms = terms
日曜:2h
- ある画面に対して認証必須にしたい時はミドルウェアを定義してそのページにミドルウェアを効かせる
- こんな感じで
middleware/authed.ts
を定義して・・
/**
* 認証が必要なページで未認証の場合はリダイレクトする
*/
export default function({ store, redirect }) {
if (
store.state.authenticate.id === null ||
typeof store.state.authenticate.id === 'undefined'
) {
redirect('/signup')
}
}
@Component({
middleware: 'authed',
components: {
Logo,
VuetifyLogo,
BmDialog
}
})
export default class IndexPage extends Vue {
- nuxt.config.tsで宣言すると横断的に効いてしまうのでこういう場合は書かなくて良い
月曜:11h
- 業務で忙殺(バグ取り)
火曜:11h
- 業務で忙殺(バグ取り)(Qiita執筆中
水曜:12h
- 業務で忙殺(バグ取り)(Qiita執筆中
木曜:10h
- 業務で忙殺(バグ取り)(Qiita執筆中
金曜:10h
- 業務で忙殺(バグ取り)
週次報告
- 目標勉強時間:70h
- 勉強時間:66h
- 目標との乖離:-259.25h
- 何を得たか:nuxt.js + TypeScriptの基礎 + javascriptの基礎 + ディベロッパーツールの使い方
- 何が必要か:nuxt.js + typescriptの基礎と応用
- 来週の目標:nuxt.js + typescript + firebaseにて書籍管理アプリのモックを作成する