2019-03-01から1ヶ月間の記事一覧

Dartのカスケード記法(..)はRubyでいうtap

時々見かけるDartの謎な記法、カスケード記法。 どういうものかというと、..shuffle()みたいに、.をふたつ重ねる記法です。 void main(){ var hoge = [1,2,3]; print((hoge..shuffle()).toString()); } Rubyを始めたばかりの頃も思ったのですが、こういうの…

Flutterで画面遷移を実装する

昨日の続き。BottomNavigationBarの画面遷移を実装します。 といいつついきなりBottomNavigationBarはさておいて、画面遷移の方法はどうやら大きくわけて3つあるようです。 Navigatorクラスを使ってpush/pop ウィジェットの切り替えを行う PageControllerを…

FlutterでbottomNavigationBarを実装する

ネイティブアプリでよく見る、画面下部にあるナビゲーションバーのことを、ボトムナビゲーションバーというそうです! ナビゲーションバーだとアンドロイドで言うと「◀」「●」「■」が並ぶエリアと呼び方がかぶってしまうので、「ボトムナビゲーションバー」…

Gitでユーザ名とかパスワードを求められた時

Git

新しいパソコンでGitの設定を間違ったり忘れたりしていて、少し戸惑ったのでメモ。 git pullでPermission denied $ git pull git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the…

Androidの仮装端末からインターネットに接続できない時の対処法

今日は(も)小ネタ。 Androidアプリの開発中、たまによくある(らしい)Wifiがつながらない事案。 そんな時はapp/src/main/AndroidManifest.xmlに以下を記述します。 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.hoge_app"> <uses-permission android:name="android.permission.INTERNET" /> アプリのインターネットへの接続を行うこと…</uses-permission></manifest>

間違ってremoteにpushしたファイルを削除したい時

Git

誤ってパスワードなどの秘密情報が含まれたファイルをremoteにpushしてしまった時。 普通にgit rm hogeしただけだと当然ながら履歴が残ってしまうので、履歴ごと改変したい時のやり方です。 リモートの履歴を改変することになるので、チーム開発の際は混乱が…

入門!アトミックデザインに行ってきました

今日は@nrsさんのAtomicDesign入門に行ってきました! 振り返りと理解の確認のためにまとめを書かせて頂きます。 登壇資料はこちら。 speakerdeck.com AtomicDesignとは モジュール分割を基本としたデザインシステム(デザインの指針・デザインの共通言語)の…

Flutterでgoogleにログインする

毎日Flutter。 今日はFirebaseで認証をします。 Pubはこれ(firebase_auth)ですね。 google_sign_inを追加する まずはgoogle_sign_inを追加します。 pubspec.yamlに下記追記して、flutter packages get。 dependencies: flutter: sdk: flutter image_picker: …

FlutterでFirebaseのStorageを使う〜後編〜

昨日(FlutterでFirebaseのStorageを使う〜前編〜)の続きです。 AndroidXに対応する さて、昨日、Firebaseを使うようbuild.gradleに設定を加えたところ、大量のエラーが出てビルドができなくなりました エラーメッセージ中に「ここ見てね!」とリンクが記述さ…

FlutterでFirebaseのStorageを使う〜前編〜

先日Flutterアプリにカメラボタンをつけましたが、写真を撮ったその後の処理がなかったので、今日は撮った写真をFirebaseにつないでアップロードしてみます。 ちなみにFirebaseとは、Googleが開発・提供しているmobile Backend as as Service(mBaaS)のこと。…

Dart言語の3つのコンストラクタ

少しずつFlutterに慣れてきたところで、Dart言語も少しお勉強します。 今日はコンストラクタについて。 Dartには三種類のコンストラクタがあるそうです。 生成的コンストラクタ ファクトリ 定数コンストラクタ DartPadというブラウザ上で実行できるREPLがあ…

Flutterアプリにimage_pickerを使ってカメラ呼び出しボタンをつける

心はRubyistなのですが、毎日Flutterを触っているので今日も今日とてFlutterネタ。 Flutterといえば今日小田急線のロゴを見かけて、「Flutterのアイコンと似てる!!」とテンションがあがったのですが、帰って確認してみたら共通点は三角形ということと水色…

Flutter tutorialで簡単なアプリを作る

Flutterの環境構築が終わったので、早速Tutorialをやっていきます。 記事はVSCodeのていで書いているので、他のアプリの方は適宜読み替えをどうぞ お題は'Startup Name Generator'。要件としてはこんな感じ。 スタートアップ企業の名前が並ぶ ユーザは名前を…

セッションCookieのHTTP Only属性とSecure属性の違い

先日セッションにまつわる言葉についてまとめましたが、ふと表題の件も理解が曖昧だなと気になったので調べてみました。 HTTP Only属性とは cookie のスコープ(参照・操作の権限)を HTTP リクエストに制限するもの CookieのSecure属性/HttpOnly属性の指摘と…

はじめてのFlutter〜環境構築後編〜

Flutterの環境構築のお話、後編です。 前編はこちらからどうぞ。 Steps Flutter SDKのインストール Android Studioのインストール <-いまここ XCodeのインストール DLに時間がかかるものリスト Flutter SDK Android Studio (Component, Gradle, 仮想端末イメ…

はじめてのFlutter〜環境構築前編〜

新しくReactNativeを使う予定だったのですが、予定変更でFlutterでやるよ!ということになったので、Flutterはじめました。 ので、今日はその環境構築メモの前半戦を記載していきたいと思います。 DLに時間がかかるものリスト 先にDLをしかけながら読んでい…

セッションにまつわる言葉について整理してみたお話

Webアプリケーションの開発に携わっていると当たり前のように見聞きする「セッション」ですが、徳丸本輪読会でセッション攻撃の対策をまとめていて、ふと理解があやしいなと思ったので、改めてまとめ直してみました。 セッションとは? ユーザの状態を覚えて…

content_tagの便利さと新時代tag

今日はRailsのメソッドを新しく知ったので、そのメモを。 ビューでタグを記載する時、通常content_tagを使います。 content_tag - リファレンス - - Railsドキュメント 使い方はこんな感じでとってもかんたん。 content_tag :p, 'Hello, World!' ネストにす…

protect_from_forgeryに関するRailsのコメントが秀逸すぎたのでぜひみんな読んでほしい

2019年に入ってから、安全なWebアプリケーションの作り方の輪読会に参加させて頂いています。 知っているつもりで知らなかったお話も多く、また人と話すことで深掘りができて、コーディング中もヒヤリ・ハットが少しできるようになってきました。 (ただ、自…

Railsのparamsの入力値検証・文字列加工方法について考えてみたお話

Railsアプリケーションでよくあるparamsの処理。save前はModelの中でvalid?すればよいですが、オブジェクトに入れる前に入力値検証や文字列の加工をしたかったり、そもそも検索画面など、保存しないけど値を加工したりとか、よくあるパターンだと思います。…

TokyoGirls.rb Meetup vol.1の懇親会でようさんにめっちゃアドバイスを頂いたお話

一昨日にあったTokyoGirls.rbの感想記事です。 3人目の発表者はよう (@youchan) さん。 ようさんはRubyが大好きで、Rubyで自然言語処理をしようという活動やRubyからJavaScriptへソースコードを変換するOpalというコンパイラのFWやGemを作ったりされている、…

Reactでdatepickerを使う

最近、Reactを勉強しています。 今日はdatepickerを入れてみたので、簡単なメモ。 ドキュメントがすごくわかりやすい。 ReactJS Datepicker crafted by HackerOne Install $ npm install react-datepicker --save 使いたいclassでDatePickerをimportする(css…

TokyoGirls.rb Meetup vol.1 エンジニア人生で大事なことは障害対応で学んだ

今日は以前から楽しみにしていたTokyoGirls.rbに行ってきました! きらきら女性エンジニア4人の登壇だったのですが、中でも特にちぎれるほど首を振ってしまったしなもん (@sinamon129) さんの発表のまとめです! speakerdeck.com 細かいところは知見の塊(ほ…