未熟学生エンジニアのブログ

TetsuFeの個人開発ブログ

TetsuFeはテツエフイー と読みます。FlutterやWeb周り全般、チーム開発について語るブログ

zshのプロンプトにgitのブランチ名とステージング状態を表示する

.zshrcに以下を追記し、$ source ~/.zshrcを実行する export GIT_PS1_SHOWCOLORHINTS=1 export GIT_PS1_SHOWDIRTYSTATE=1 git_prompt_sh=/usr/local/etc/bash_completion.d/git-prompt.sh if [ -e $git_prompt_sh ]; then source $git_prompt_sh precmd () {…

Flutterの公式リポジトリに2文字だけコミットした話

先日Flutterの公式GitHubリポジトリに僕が作成したPRがマージされました。たった差分2文字だけですが、いつもお世話になっているフレームワークに少しでも貢献できたことはやはり嬉しいです 実際のPR github.com 内容はpackages/flutter/lib/src/material/te…

個人開発Flutterアプリをリリースして5ヶ月間の施策・結果まとめ

はじめに 「禁欲スカイウォーカー」とは? リリース後の反響 機能改善 機能以外で試したこと 公式Twitter フォロワーを増やす方法 (アプリ広報用の)広告 LINEオープンチャットを使ったコミュニティ形成 ストアのスクショ変更 収益性改善 技術記事を書いた …

最低限のDjangoアプリ自動テスト

テストは不安を退屈に変える賢者の石だ。 ストレスを感じれば感じるほど、頻繁にテストを走らせるようになる。テストをすぐに走らせれば、ミスをしでかす確率が減っている実感が得られ、結果的にストレスが減っていく。 私たちは、完璧を求めているのではな…

良いコードを書くために普段気をつけているパターン集

はじめに ガード節による早期return 宣言的に書く クラス できるだけprivateフィールド・メソッドを使う 接合部をつくる computed propertyの活用 その他 できるだけreadonlyを使う 定数を直打ちせず、変数を使って名前をつける 空白行で段落を作る Linter・…

個人開発アプリの公式Twitterを開設するメリット

7月下旬にリリースした個人開発アプリの公式Twitterアカウントを運用していて、メリットが大きいと思ったのでメリットについてまとめます。 箇条書きで見にくいかもしれませんが。 レビューをお願いすると書いてもらいやすい レビューがあると次のユーザがイ…

Clean Architecture・DDDをもとにしたFlutterアプリのモジュール分割&命名法

DDDの戦術的設計とは、DDD(ドメイン駆動設計)という設計手法における具体的な実装の方法論を指します。 これは、レイヤー分けの方法論で、例えば以下のようになります。 アプリケーション固有のロジック: XXX、XXXService 永続化(DBなど)に関するコード:…

Flutter Webのテストコードを書く際のトラブルシューティング集

$ flutter test --platform chrome や $ flutter test でFlutter web用のテストをする際のトラブルシューティングとして、自分が遭遇・解決したものをまとめました。 FlutterやFirebaseの公式IssueやStack Overflowに散らばっている情報を色々試してみてうま…

自分にとってのソフトウェアエンジニアリング

自分にとってのソフトウェアエンジニアリングとは、楽しいものであり、必要なスキルであり、希望であると思う 楽しいもの ソフトウェアを作る技術について学ぶことは楽しい。(時に理解が難しく、苦しく回避したいと思うときもあるが) ソフトウェアを作るこ…

Flutterアプリの主流な状態管理パターンと導入事例まとめ(2020年版)

はじめに 状態管理パターンとは? Flutterの主流な状態管理パターン どれを選ぶべき? パターン1. StatefulWidget パターン2. InheritedWidget / InheritedModel もっと詳しく パターン3. ChangeNotifier/ValueNotifier + Provider 導入事例 もっと詳しく パ…

「勇気」と恋愛ソング

最近、Buono! の「初恋サイダー」という曲がマイブームです。 www.youtube.com 女の子が仲の良い男の子に大胆にもキスで気持ちを伝えようとする・・そんないかにもな青春ソングです。 自分は実は普段から(恋愛全然してないのに)恋愛ソングをよく聞くのです…

Flutterを一年触って、エンジニアとして良かったこと

はじめに GitHubで他の人が書いたコードを読む習慣がついた APIリファレンスを読むのに抵抗がなくなった 言語・フレームワーク(Flutter/Dart)の最新の動向について調べる習慣がついた 英語のドキュメントを読む抵抗がなくなった iOS/Android両対応のアプリ…

ターミナルのプロンプトにflutterのchannelを表示する

注意: 実用性は低いです サンプル モチベーション flutterのweb supportを使うにはbeta channelを使う必要があるが、他のweb supportの必要のないプロジェクトではmasterを使いたい masterとbetaをすぐ判別がつくようにしたい Building a web application wi…

Google Domainsでドメイン購入しました

Google Domainsでドメイン購入をしてみたのでメモ。 今回買ったのはtetsufe.dev。1540円/年(税込) で、1年+継続契約。54歳になるまでの30年間使うとしても、46200円。 購入理由 何かしら個人でページを作る際に便利かなと思って登録。アプリの登録時にComp…

iPhoneがプッシュ通知を受け取る仕組み

IP通信の基本 Webサーバをインターネット上に公開する際、サーバに固定IPアドレスを割り当てる必要があります。 クライアントはそのIPアドレスを頼りにインターネット上につながったルータをたどり、そのWebサーバにいき着くことになるからです。 参考: http…

active recordパターンについて調べてみた

active recordパターンとは データ、2. ドメインロジック、3. データベースアクセスをカプセル化したメソッドの3つを一つのクラスとして作成するパターン。 RailsではActiveRecordという名前のクラスがありますが、これはActiveRecordパターンという一般的な…

2019年のオススメ漫画・ラノベ・ゲームを3つ

2019年の個人的学びとオススメ漫画・ラノベ・ゲーム - 未熟学生エンジニアのブログ に入れようかと思ってやめた部分です。 1. しゅごキャラ! 小学生時代見ていたアニメ。少女漫画「なかよし」で連載している少女漫画ですが、「なりたい自分」を探す主人公た…

今年読んだ本の感想

年末までにちゃんと書きます。 お金2.0 自分の価値を上げることが重要になってきているという話が印象的。 また、価値とは何か、良いコミュニティの要素なども参考になった。何度か読み返したい本。 なんとなくSNS時代多くの人が感じていることをわかりやす…

app store以外からXcodeをインストール・アップデートする

qiita.com ダウンロード https://developer.apple.com/download/more/ からダウンロードできる。 インストール 普通にダウンロードしたxipファイルを解凍し、あとは適当にdmgからインストールする Xcode.appをアプリケーションフォルダに移動させましょう。 …

REST、GraphQL、gRPCの使い方中心のまとめ

僕はRailsで初めてRESTでCRUD APIを作ったのですが、その後いろいろなバックエンドアプリを実装したり、他の方の記事や実装をみたり、チュートリアルをこなしたりするうちに GraphQL、gRPCというものもここ数年普通に使われるようになってきているということ…

個人的最強キャラソンバンド「プラズマジカ」曲紹介

今回の話 プラズマジカとは 曲がいい My Pace!! オモイノシルシ Panoramatic Adventure Favorite Number Close to you 青春はnon stop! 流星ドリームライン まだまだあります!! Have a nice MUSIC!! ハートをRock! その他 音楽的な考察? ぜひアニメも観よ…

Flutter for web プロジェクトを作成し github pages で公開するまで

環境 flutter for webとは flutter for web のプロジェクト作成 事前準備 プロジェクト作成 サーバー起動 トラブルシューティング iOS simulatorでアクセス githubpagesで公開 作成: 2019/8/26 環境 macOS Mojave 10.14.6 flutter for webとは https://githu…

【Hardening II SU】セキュリティインシデント対応を体験しました

目次 目次 Hardening II SUとは チームを組んでセキュリティインシデントに対応する 事前準備 前日 当日(1日目) 当日起こったトラブル Softening day(2日目) よかったこと 「勝つことが全て」の競技会ではない 実際のセキュリティインシデントを体感で…

【開発参加検討者向け】フリマサービス「ホクマ」の技術構成

今回は、北大IT研究会メンバーが開発・運営する「ホクマ」の技術構成についてお話しします。 技術的な話に興味がないという方はブラウザバックしてください。 今回はホクマの開発を引き継ぎたい方に向けての記事になります。 ホクマとは まず、ホクマとは何…

SPA・サーバレスハンズオン part3 React/Firebase Cloud Firestoreでチャットアプリを作る

シリーズ part1: SPA・サーバレスハンズオン part1 React/Firebase Hostingで初めてのwebサイト公開 - 未熟学生エンジニアのブログ part2: SPA・サーバレスハンズオン part2 一般的なwebページとReactアプリの構成を知る - 未熟学生エンジニアのブログ part3…

SPA・サーバレスハンズオン part2 一般的なwebページとReactアプリの構成を知る

シリーズ part1: SPA・サーバレスハンズオン part1 React/Firebase Hostingで初めてのwebサイト公開 - 未熟学生エンジニアのブログ part3: HUITWeb講座 part3 React/Firebase Cloud Firestoreでチャットアプリを作る - 未熟学生エンジニアのブログ Webページ…

なぜReact.jsを使うのか、jQueryやVue.jsとの違いをいまさら調べてみた

巷の人はなぜReact.jsを使っているのか理解するため、他のJavaScript(js)ライブラリ・フレームワークとの違いなどを調べてみました。 最初にまとめ SPAというページの一部を更新するタイプの構成が流行りだよ Reactは仮想DOMを使うからページの一部を更新す…

Flutterメモ 番外編 GitHubとCIツールの連携(Codemagic)

今回やること CodemagicとGitHubを連携させてFlutterアプリをビルド slack通知連携 iOSアプリAdHoc配信 Readmeにバッジをつける Codemagicを選んだ理由 CIツールを使ってみたかったんですが、調べてみるとCodemagicというCIツールが評判がいいらしい。どうや…

Flutterメモ 2. 開発環境の構築(Android)

Flutter環境構築、今回はAndroid編です。 Flutter sdkがインストール済みであることが前提です。よろしければこの記事をご参照ください。 swiftfe0.hatenablog.com Android Studioのインストール 以下からインストールしましょう。 ダウンロード: Download A…

Flutterメモ 1. 開発環境の構築(iOS)

flutterの環境構築 Android版の記事もあります。 swiftfe0.hatenablog.com この記事を読んでできること flutter sdkをインストールできる flutter コマンドが使える様になる Xcodeツールのインストール コマンドからのflutterアプリの作成 flutterアプリをiO…