2020-01-01から1年間の記事一覧

clap Arg::with_nameがArg::newに置き換わっていたのでメモ

Rustプログラミング入門 P148,149のコード模写 clap = "3.0.0-beta.2"において、 no function or associated item named `with_name` found for struct `clap::Arg<'_>` in the current scope function or associated item not found in `clap::Arg<'_>` hel…

webpack + react-i18nextのi18n.use()するときに行った設定

react-i18nextはi18nextをReactでも使えるようにしてくれるwrapperで、Hooks対応してくれているので今回採用しました。 その際に行った設定を簡単にまとめます。 Github github.com Document react.i18next.com webpackのentryに初期化moduleを含める webpac…

効率化の先に仕事のランダム性を殺してないか

リモートワークにより"コミュニケーション"が効率化された、という話をよく聞きます。確かに大企業でよくある「デスクが近い上司が無駄に若手を呼びつけては強制的に報告をさせる」みたいなものはリモートワークで減ります。 しかし、効率化によってコスト削…

C - Step

atcoder.jp 要は、常に最高身長になるように調整していけばいいはず。 def main(): N = int(input()) A = list(map(int, input().split())) m = A[0] # 一旦一番最初のやつをここでおいておき S = 0 # 合計差分はここ for a in A: if m - a > 0: # 小さかっ…

A - Takoyaki, B - Multiple of 9

ABC 176はコチラ atcoder.jp A - Takoyaki 提出したコード import math line = input() strL = line.split() N = int(strL[0]) X = int(strL[1]) T = int(strL[2]) ans = math.ceil(N/X) * T print(ans) そのまんま。 B - Multiple of 9 提出したコード N = …

ListView と ListView.builderの違い

ListViewのちがい ListView: リストの中身を全てloadし、Columnの中に一部だけ表示する。 https://api.flutter.dev/flutter/widgets/ListView/ListView.html ListView.builder: いわゆるlazy loadを自動的に行ってくれる。リストの中身が多い場合はパフォー…

typescriptで any を使ってもいいのか?問題の解決策(の一例)

Typescriptを既存プロジェクトに導入するケースが昨今増えていますが、その場合に苦労することの一つとして「Type(型)がわからない&検証が面倒臭い」がよくあります。 「よし!tsいれるぞ!」 「ここはstring... こっちはnumber... お!これはIUserとしてお…

【読書録】『貞観政要』

読んだ本 貞観政要 呉 兢 (著) https://www.amazon.co.jp/%E8%B2%9E%E8%A6%B3%E6%94%BF%E8%A6%81-%E3%81%A1%E3%81%8F%E3%81%BE%E5%AD%A6%E8%8A%B8%E6%96%87%E5%BA%AB-%E5%91%89-%E5%85%A2/dp/4480096957 要点 ・唐の太宗・李世民がいかにすごいか!という歴…

Firestoreで複数のドキュメントを同時にset()したい

set multiple document ad once, in Firestore. 結論 const setMultipleDocument = async () => { const userList = ['userA', 'userB', 'userC', ] const db = firebase.firestore(); const date = new Date(); const currentTime = date.getTime(); const …

ゼロからはじめるDart Dev Tools入門(VS codeを使って

最近Flutterを触りはじめました、 タガミショウゴ です。 Dartってどうなん? stackshare Googleがつくったから好き、が一番多いってどないやねんというツッコミはなしです。 とにもかくにも、Dartは好き嫌いが別れる言語です。周りのエンジニアにも「Flutte…

TypeScript な ReactコンポーネントからGoogle Tag Managerへクリック数、インプレッション数を送信する

結論 クリック数 コンポーネント側 (Button.tsx) const onClickButton = (url: string) => { window.dataLayer.push<dataLayerType>({ event: 'content_click', contentUrl: url, }); } 型定義ファイル側 (dataLayerType.ts) export interface IEngagementsContensDataLayte</datalayertype>…

export defaultはアンチパターンだと言うので

export defaultは有害 https://typescript-jp.gitbook.io/deep-dive/main-1/defaultisbad によれば、export defaultはいくつかの点で非推奨です。 詳細な理由は上記TypeScript Deep Dive 日本語版を参照。 でも、正直がっつり使ってる... プロジェクト内では…

RailsのvalidatesをRSpecでテストする

modelとRSpecを並べてみる 1. 必須であること validates :title, presence: true RSpec it { is_expected.to validate_presence_of :title } 2. 最大xx文字以内であること validates :title, length: { maximum: 255 } RSpec it { is_expected.to validate_l…

Railsのform_withを別layoutに渡って展開する方法

layoutをDRYにするために... 例えばhead部分にsubmitボタンがあり、bodyにフォームがあるような場合。 通常であれば、body部分にsubmitボタンがあるので、 = form_with model: @user, url: user_path, local: true do |f| .name = f.text_field :name .submi…

RailsでHTMLをいじるhtml-pipelineを独自実装する方法サンプル

html-pipelineはHTMLをparseするGem html-pipeline github.com RailsでHTMLをいじる代表といえば、Nokogiriだと思いますが、今回は複数の「フィルター」を疎結合に使えるhtml-pipelineを採用しました。 なぜhtml-pipelineか 「フィルター」を複数組み合わせ…

【今日の競プロ(2)】ABC151

対象 A - Next Alphabet B - Achieve the Goal 使用言語 Python3 (3.4.3) A - Next Alphabet A - Next Alphabet 考え方 chr, ord を使う 解答例 c = input() ans = chr(ord(c)+1) print(ans) B - Strings with the Same Length B - Achieve the Goal 考え方 …

Railsでの画像遅延読み込みはRails + lozad.jsがいい感じ

lozad.jsは非jQueryの画像遅延読み込みのためのライブラリ lozad.js(githubt)はコチラ github.com (1) とりあえず軽い 他の画像遅延(長いのでlazyload)ライブラリに比べるとjsのコードも200行未満とかなり軽い。実際にコードをおって処理を読むのも苦ではな…

【今日の競プロ(1)】ABC148

対象 A - Round One B - Strings with the Same Length C - Snack 使用言語 Python3 (3.4.3) A - Round One A - Round One 考え方 はじめはA,Bを[1,2,3]のどれかにマッチするかをforで回して、残ったやつを回答とすればいいかと思っていた でも、よくよく考…

@typesとは

こんなものをpackage.jsonに見つける "dependencies": { "@types/lodash": "^4.14.146", "@types/no-scroll": "^2.1.0", "@types/qs": "^6.9.0", "@types/sprintf-js": "^1.1.2", (lodash...じゃない...?) @types/hoge というライブラリぽいやつがたくさん…

lodashを超簡単にまとめる

対象リポジトリ github.com lodashとは JavaScriptにおける便利な関数をまとめて提供しているライブラリ データをいじる場合に使える めっちゃ軽い ざっくりとした使い方 <script src="lodash.js"></script> こうするか、 $ npm i -g npm $ npm i lodash こうするなどして使えるようにしておく…

Docker + Google Cloud Storage + active_storageを導入したステップ

すでにできあがったRailsアプリケーションに対して、active_storageを導入してログです。アップロード先はGoogle Cloud Storageにしてみましたが、基本的にはAWSでも同様だと思います。 導入のキッカケ すでにこのアプリケーションには自作のactive_storage…