中安拓也のブログ

プログラミングについて書くブログ

【Ionic v5】テーブル内でラジオボタンを使用する

テーブル内でラジオボタンを使用する はじめに 環境 通常のIonicのラジオボタン テーブルのセル内でion-radioを使用する 参考サイト はじめに テーブルのセル内でIonicのラジオボタンを使用する方法がわからず、手間取ってしまったため、メモとして残した。 …

【競プロ】[C++/TypeScript]B - Lucas Numberが解けない

はじめに 「B - Lucas Number」 とは 間違った回答 C++での正しい回答 TypeScriptでの正しい回答 参考サイト はじめに 競技プログラミングする前にC++の勉強しよ〜〜と思ってC++入門 AtCoder Programming Guide for beginners (APG4b)をやっていたんですが、…

【競プロ】TypeScriptでAtCoderをやる

はじめに AtCoderのTypeScriptの対応状況 標準入力をどうやるか 実際に問題を解いてみる 参考サイト はじめに 仕事でいつも使っているTypeScriptを競技プログラミング(AtCoder)でも使う方法について調べました。 AtCoderのTypeScriptの対応状況 AtCoderはTyp…

【Java】BigDecimal型を使う

はじめに なぜBigDecimal型を使うのか 1. float, double型と違って少数の計算で誤差が発生しない 2. 値の丸めかたを指定することができる BigDecimalの生成 BigDecimalの定数 値の比較 加算 減算 乗算 除算 参考サイト はじめに 仕事で金利に関するロジック…

【Angular】ngClassで三項演算子を使う

はじめに 環境 実装 参考サイト はじめに AngularのngClass(テンプレート内でclass属性を動的に変更する機能)で三項演算子を使う方法を説明します。 <div class="block" [ngClass]="isRed ? 'red' : 'blue'"></div> 環境 Angular: 8.2.14 実装 isRed が true の時は赤色になる ngClassで三項演算子を使う方法について説明…

【Angular + Firebase】アプリケーションをデプロイする

はじめに 前提条件 環境 デプロイ準備 アプリケーションを本番ビルドする デプロイ実施 参考サイト はじめに AngularとFirebaseを使って作成したアプリをFirebaseのHostingという機能を使ってデプロイします。 前提条件 Angularプロジェクトは作成ずみ Fires…

Angular + Firebase でメモアプリを作りました

作ったメモアプリ。名前はスリーメモ はじめに スリーメモの機能 SNS認証 フォルダ スリーメモで使われている技術 はじめに Firebaseの勉強のためにスリーメモというアプリを作りました。Evernoteみたいなメモアプリです。モバイル対応はまだできていないの…

【JavaScript】[バグ]配列にemptyという要素が挿入されてしまう

はじめに 環境 本事象が発生した原因 参考サイト はじめに TypeScriptを使用し、配列に配列の 要素数 + 1 の数値を代入するメソッドを3回呼んだところ、配列が[1, 2, 3]ではなく、[empty, 1, empty, 3, empty, 5]になってしまった。 本事象が発生した誤った…

【Angular + Firebase】ログイン中のアカウントの情報を表示する

はじめに 環境 ログイン中のアカウントの情報を表示する 認証のサービスクラスを作成する ヘッダーにアカウントの情報を表示する HTMLテンプレート コンポーネントクラス 参考サイト ログイン中のアカウントの情報を表示している はじめに ログインしている…

【Java8】正規表現で半角数字だけの文字列を特定する

はじめに 環境 文字列が正規表現のパターンに適合するかチェックする もっと簡単に正規表現を使う 参考文献 はじめに Javaの正規表現を使って、半角数字だけで構成された文字列かどうかをチェックする方法について説明します。 環境 java version "1.8.0_45"…

【Angular】クロスフィールドバリデーションを使用した時にフォーム全体をエラーにする

はじめに 環境 やりたいこと バリデーションの実装 HTMLテンプレート コンポーネントクラス カスタムバリデーター 参考サイト はじめに Angularでクロスフィールドバリデーション(複数項目にまたがるバリデーション )を使った時に、フォーム全体をエラーに…

【Angular】自作コンポーネントにngModelを使用する

はじめに 環境 今回作るもの 分数入力コンポーネントの実装 参考サイト はじめに 自作コンポーネントで双方向バインディング機能(ngModel)を使えるようにしたい。 環境 CSSフレームワークとしてAngular Materialを使用しています Angular: 8.2.14 Node: 12.1…

window.open()で開いたウィンドウにデータを渡す

はじめに 環境 今回やりたいこと ウィンドウにデータを渡す二つの方法 1. ローカルストレージを用いる方法 2. window.postMessage()を用いる方法 ウィンドウにデータを渡す実装 ローカルストレージを採用した場合 親ウィンドウの実装 子ウィンドウの実装 win…

Angular(SPA)でwindow.open()を使う

はじめに 環境 作ったもの 実装 ルーティング設定 親ウィンドウの実装 子ウィンドウの実装 データの受け渡しについて 参考サイト はじめに 仕事でAngularを使ってアプリケーションを作成している時に、window.open()で別ウィンドウを表示する要件があったの…

HTMLとCSSでマトリックス図を描く

はじめに 環境 マトリクス図の作成 CSSリセット マトリクス図の全コード 参考サイト 作成したマトリクス図 はじめに 仕事でCSSフレームワークを使わずにテーブルを作成する機会があったので、備忘録としてプライベートでもマトリクス図を作ってみました。 環…

Angular + Firebase でFacebook認証

はじめに 環境 Facebook for Developersアカウントを作成 アプリの登録 FirebaseコンソールでFacebook認証を有効にする 「Facebookでログイン」ボタンを作成する Facebook認証機能の実装 補足: Facebook認証を利用したアカウント登録機能の実装 参考サイト …

Angular + Firebase でTwitter認証

はじめに 環境 TwitterのAPIキーとAPIシークレットを取得する Twitter Developer アカウントの作成 アプリの登録 FirebaseコンソールでTwitter認証を有効にする 「Twitterでログイン」ボタンを作成する Twitter認証機能の実装 補足: Twitter認証を利用したア…

【IE11】PDFファイルを保存せずにそのまま開けるようにする

はじめに 環境 msSaveBlobからmsSaveOrOpenBlobに変更 参考サイト はじめに SPAアプリ上でIE11ブラウザを使ってPDFファイルを参照する場合に、PDFファイルをダウンロードせずにそのまま開いて参照したいとの要望をクライアントからいただいたため、ソースコ…

webpackで「JavaScript heap out of memory」エラー

はじめに 環境 発生したエラー 対処法 参考サイト はじめに npm scriptsを使ってIonic(Angular/TypeScript)のAndroidビルドをしている時にFATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memoryエラーが発生して処理が落ちて…

Angular Materialでレスポンシブなサイドメニューを実装する

はじめに 環境 今回やること ダッシュボード画面 isHandset$ ヘッダー(<app-header>) サイドメニュー(<mat-sidenav>) 参考サイト はじめに PCなどの大きいディスプレイの時はサイドメニューを常に表示し、モバイル端末などの小さいディスプレイの時はハンバーガーメニューに切り替えて</mat-sidenav></app-header>…

【Angular Router】画面遷移でオブジェクトを渡す

はじめに 環境 実装 URIの設定 オブジェクトを遷移先の画面に渡す 遷移先の画面でオブジェクトを受け取る 参考サイト はじめに Angular Routerを使ってA画面からB画面に遷移する時に、B画面に単一の値ではなく、オブジェクトを渡したい時にどのような書き方…

AngularのngIf/elseとng-containerタグとng-templateタグを組み合わせて使う

ngIf/elseとng-containerタグとng-templateタグを組み合わせて使う ngIf-else構文 <ng-container>タグ <ng-template>タグ 組み合わせて使った例 環境 参考サイト 毎回、AngularでngIf/elseを書くたびに書き方を忘れてググっているので書きました。 ngIf/elseとng-containerタグとng-temp</ng-template></ng-container>…

【障害メモ】[Ionic v3][Android]電話の発信と管理を許可しないとDevice Idを取得できない

障害内容 環境 原因 エラーが発生した箇所 対応方針 電話の発信と管理の許可についてのモーダル 障害内容 Ionic v3で作成されたAndroidアプリで、「電話の発信と管理を許可しますか?」と表示されるモーダルで「許可しない」を選択したユーザーの、端末識別I…

【TypeScript】Promiseをasync/awaitに書き直す

はじめに 環境 実践 例1: Promiseが値を返さないパターン Before: Promiseで書かれた処理 After: async/awaitに書き直した処理 例2: Promiseが値を返すパターン Before: Promiseで書かれた処理 After: async/awaitに書き直した処理 参考サイト はじめに 非…

【障害メモ】[ionic-v3][iOS]ion-pickerとion-modalを両方開くとion-modalを閉じることができなくなる

はじめに 環境 発生した障害 原因 修正方法 まとめ 参考サイト はじめに クリックイベントが検知されないときって、ほかのDOM要素が覆っていないかとか、z-indexの設定とかしか気にしていなかったんですが、 posinter-events: noneが設定されていたせいでク…

VSCodeでGitプッシュすると失敗する

プッシュに失敗したときのダイアログ はじめに 環境 発生したエラー 対処方法 参考サイト はじめに Visual Studio CodeでGItプッシュするとエラーが発生する事象が発生しました。SourceTreeでは問題なくプッシュができていて、VSCodeでもコミットまではでき…

【Linux】仕事でよく使っているLinuxコマンド その1

はじめに view おまけ: Vimでログファイルを閲覧するときによく使うコマンド ls -ltr | grep [キーワード] 使用例 tail -f | grep -v [キーワード] 使用例 似たような名前の大量のファイルの中から新しいファイルを表示したい ls -lt | tail 使用例 参考サイ…

「コーディングを支える技術」を読んだ

はじめに 感想 読書メモ はじめに Real World HTTPを読んでいたら出てきたので購入した。 技術本をなかなか読了できないのが悩みだったが、この本のような固定レイアウトではない、スマホで読めるkindle本だとスキマ時間で読めるので読破しやすい。 感想 前…

【Macbook + HHKB】Karabinerで快適「尊師スタイル」

尊師スタイルとは? 問題点: 外付けキーボードの重みで余計なキーを押してしまう 解決策1: キーボードブリッジを買う 解決策2: Karabinerを使う Karabinerのインストール方法 Macbookのキーボードをオフにする 環境 参考サイト 尊師スタイルとは? 外付けキ…

Angular Materialでモーダルとトースト使えるの知ってた???

はじめに 環境 実装 モーダル AppModuleの設定1 モーダルのコンポーネントを作成 モーダルを表示する側の実装 AppModuleの設定2 トースト AppModuleの設定 トースト用のサービスクラスを作成 サービスクラスを経由してトーストを表示 はじめに ずっとないと…