pco2699’s blog

学んだコード・技術について、保存しておく場所

Invariance、(不変性)、Covariance(共変性), Contravariance(反変性), Bivariance(双変性)について

概要 TypeScriptのstrictFunctionTypesのコンパイラオプションについて調べていたら Covariance, Contravariance, Bivarianceという概念が出てきた。よくわからないのでまとめてみる。 クラスの親子関係に基づく、関数パラメータの性質を定義するものである…

Nuxt.js + Netlify + tailwind CSSでseijishukyoproyakyuというバンドのHPを作りました

今回つくったもの 構成・利用技術 要件定義 利用技術選定 ホスティングサービス フロントエンドフレームワーク CSSフレームワーク 開発 レスポンシブ対応 画像処理周り パララックス効果 ソースコード こんにちは、お久しぶりです! 最近↓の「ぬるさくAI本」…

Typescript + Express + TypeORM + TypeDI with Clean Architecture でめっちゃテストしやすいプロジェクト構成をつくった

こんにちは、以下のツイートをしたところ、予想外に反響をいただいたので記事を書いてみることにしました。 ツイートをしたときに、「Typescript + Express + Sequelize」と言っていたんですが、Sequelizeだとどうも Repositoryの構築がきれいにできなくて途…

初心者向けJava講座担当が3つの失敗をしてたどり着いた「これからのプログラミング教育法」

こんにちは、この記事はジーズアカデミーアドベントカレンダー 21日目の記事です。 TL;DR 今年一年やってきたJava講座について きっかけ 講座の対象者 講座のスケジュールについて ターム1での失敗 Javaの基本構文をほぼ教えずに、オブジェクト指向の説明に…

Firebase AuthとExpress + Typescript + Sequelizeで認証機能を作ろう

こんにちは、この記事はfirebase advent calendar 13日目の記事です。 TL;DR 今回つくるもの Typescript/Expressのセットアップ Firebaseのセットアップ Sequelizeのセットアップ 必要なパッケージのインストール TL;DR Firebase AuthとExpressを連携させて…

Typescript 2.9以降でjsonを取り込む

Typescript 2.9を使ってて、設定用のjsonが全く読み込めなくて困ってたんですが、よく調べてると瞬殺でした。 Typescript 2.9より前 ここらへんの記事に従って、*.d.tsファイルをjsonに沿って作る必要があります。 jsonからtsファイルを作るのには、json2ts…

flutterとFirebase Cloud Messagingを連携させて通知専用アプリをサクッとつくる

こんにちは、この記事はflutter advent calendar 2018 9日目の記事です。 TL;DR なぜつくることになったか アプリの要件 つくったもの Firebase Cloud Messagingで通知を受け取る際のポイント FirebaseMessagingのライブラリのインポート&アプリでFirebaseの…

Go言語で今日傘が必要か教えてくれる傘APIをつくってみた ~Mockテストもしっかりやるよ~

こんにちは、この記事はgo advent calendar 2018 9日目の記事です Go言語初心者といっても過言ではなく他のGoアドベントカレンダーの方々の記事を見てると。とても恐れ多いですが 初心者なりにアウトプットしたいと思っています!! ちなみに、↓のネタもあっ…

Kyash/LINE PAYで結婚式二次会をキャッシュレス対応させてみた話

結婚式のネタを擦りまくってますが笑 結婚式二次会で事前集金を使ってみたところ、結構、面白かったので、まとめておきます。 (珍しく技術ネタじゃなくて決済系ポエムです。) 事前集金をしようと思ったきっかけ 以前、IoT BBQという企画をやったんですが …

flutter meetup tokyo #5 に参加してきた

flutter meetup tokyo #5に「ブログ参加枠」で参加してきました! 勉強会をブログにまとめるの初めてなので、拙いところがあってもご容赦ください... LT① flutterで個人リリースしてみた / shogo.yamada speakerdeck.com 内容ざっくりまとめ Group Albumとい…

Vue.js + Firebaseだけでアプリを作るときにクライアント側にFirebase API Keyをおいてしまって問題ないのか?

背景 Vue.js + Firebase だけWebサービス作れるやーん!っていう言説が非常に多い気がする昨今(私も同意です) ちょっと前までは、「APIキーはサーバサイドにおいておくのがセキュリティの鉄則!」だった気がします。 で、Vue.js + Firebaseでサーバレスで…

Vue.js + Vue-Material + Firebase でハッカブルな結婚式二次会フォームを爆速で実装する

つくったもの 利用技術 つくりかた vue-cliの導入 Vue プロジェクトの作成 必要なパッケージ類の導入 とりあえずプロジェクトを立ち上げてみる Vue-materialとかfirebaseを使えるようにする フォーム部の設定 基本的な使い方編 かな自動入力編 バリデーショ…

grep + sedコマンドでlogから華麗に時刻を抜き出す

問い合わせ調査でせっかくなんで、grep + sedでフフフーンと華麗にログ調査をしようとしたら華麗にハマったのでメモ。 やりたかったこと hoge 2018-08-10 07:31:31 hage ↑単純にこいつから時刻を抜き出したかった。 試したコマンド $ echo "hoge 2018-08-10 …

Nimで変数の型を調べる

Nim

本日からNimデビューしたのでNimのつまずいたところをメモっておく Nimで変数の型を調べる なんとtypetraitsという標準パッケージをimportする必要がある、とのこと。 import typetraits var hoge = 10 echo hoge.type.name これで int と出ます。おしまい。

Yahoo! Hack Day 10th Aniv. に参加してHack賞 受賞しました!!

12/9(土)-12/10(日)で開催されたYahoo! Hack Day 10th Aniv.に参加してきました!! そしてまさかのHack 賞 受賞! Hack賞ID 73 ノルウェイのギーク いすとりSonic#hackdayjp pic.twitter.com/meQmIAQTNJ— 『flick!』デジタルツールを楽しむ本 (@flick_mag) …

GrovePiの実装を実機テストなしでできてしまうGrovePiエミュレータの使い方

言いたいこと Groveってはんだ付けなしでセンサがつくれて便利…! GrovePiってGroveセンサをRasPiに繋げられて更に便利..! でも、GrovePiをつかったプログラムを組むとき、わざわざ実機テストするのはめんどくさい…! と思っていたら、こんな便利なGrovePi…

Pythonでインスタンスメソッドの中で、宣言した変数はインスタンスメソッド内限定の変数となる

言いたいこと Pythonのクラスの作り方はわかりづらい。 クラス変数とインスタンス変数、普通の関数内変数がどのように扱われるかがわからない! ということで、以下のようなテストコードを書いてみた。 基本的には、以下の理解でよいみたい selfをつけるとイ…

Vue.jsで簡単なタイマーアプリ

つくりましたよ Vue.js/Moment.jsで簡単なカウントダウン日付タイマーをつくりました コード js部 import moment from 'moment' import Vue from 'vue' let now_date = moment() let date_format = 'YYYY:MM:DD HH:mm:ss' let submission_date = moment('201…

Date型から強制的に「年月日」以外のデータを切り捨てる

環境 Xcode 8.3.3 Swift3 iOS 10 つまづきポイント Swiftで日付の差分を計算してその間の日数を表示するロジックを書いてたら Date型で時・分が保存されてしまっていて、想定外の日数となっていた! // 現在日付を取得(例えば 2017/07/12 12:01) let today_d…

複数ページある場合のアプリ起動時のローカル通知の処理の設定方法

環境 Xcode 8.3.3 Swift3 iOS 10 つまづいたところ LocalNotificationを実装したところ、アプリ立ち上げ中に時間になってもまったくローカル通知がなかった… 解決方法 複数ページあるiPhoneアプリの場合、ローカル通知のdelegateはAppDelegateにかく! (一つ…

UINavigationContollerの自動生成される「戻る」ボタンの書き換え

環境 Xcode 8.3.3 Swift3 前提条件 メイン画面(ViewController.swift) → 設定画面(SettingsViewController.swift) やり方 その1 遷移先であるSettingsViewController.swiftを書き換える。 今回はこちらを採用。 override func viewDidLoad() { super.viewDid…

Python + Heroku + LINE BOT SDKでコーランを教えてくれるbotを作った

LINE BOT AWARDSでLINE BOTが盛り上がってるので作成してみました。 LINE BOT AWARDSにも「ローカライゼーション」部門でエントリしておきました。 ほぼ一発ネタなので、暇つぶしにでもフォローしてみてください。 つくったもの 言葉に対してなんでもコーラ…

ライフゲームをNovation Launchpadに実装して、シーケンサーにしてみる

引き続き、前回紹介した「ジェネラティブアート」の本読んでます。 その中で、後半に出てくる「ライフゲーム」が面白かったので、ちょっと発展させて楽器にしてみました。 つくったもの こんな感じになりました (我ながらTENORI-ON感がすごい音) うす緑色の…

Processingを用いて間違った円を描く方法

3331α Art Hack Day 2016というアート×エンジニアリングの共演みたいな面白そうなハッカソンに応募したんだけど 見事に抽選(というか審査)に落ちて、参加できなかったので、悔しくて以下の本を買ってみました。 この本おもしろくて、最初は単純の線を描く…

ラズパイと天気予報APIとマルチカラーLEDで出勤時にチャリ使えるか教えてくれる装置つくった

つくったもの 出勤時(AM 6:00-7:00)の間に、マルチカラーLEDでその日 雨が降るか降らないか教えてくれる装置 雨がふるよ〜ってとき こんな感じで赤色で点滅 (Live Photosで撮影) 関係ないけどLive PhotosをGIFに変換してくれるMotion Stillsマジ便利 晴れる…

AngularJSのcomponentにui.routerのresolveの変数を注入を試してみる→失敗しました...

AngularJSのcomponentにui.routerのresolveの変数を注入する方法がわからなく 色々調べたのメモしておく。 結論から言うとui.routerは0.2系のverだとcomponentで注入するのは無理そう。。。 (こうやれば解決できる!的な解決策あれば教えてほしいです) 当初…