某Webアプリ、スマホアプリ開発の企業に勤めているエンジニアの日記です。主に、技術系記事や本の要約を発信します。

更新前のDBの値を取得したい時に使うメソッド

in_database statusカラムを未提出→提出済みに変更の場合 @order.status #⇒ 提出済み @order.status_in_database #⇒ 未提出 参考サイト api.rubyonrails.org qiita.com yucatio.hatenablog.com

ransackで#Array:〜〜のエラー

問題 配列処理したいが、以下のエラーが発生する。 #[Array:0x00007f55f06941f8](array:0x00007f55f06941f8) 原因 Arrayクラスになっているのが原因 ransackではActiveRecord_Relationクラスにする必要がある。 解決策 where、mapをつかい、Array→ActiveReco…

普段ZOOMを利用するエンジニアが、Aroundを使ってみた

「Zoom out.」 パワーワードとともにZOOMに変わるビデオ会議ツールになるか?と、 話題になりつつあるAround。 普段、ZOOMやDiscordなど様々なビデオ会議ツールを使い、 仕事をしているエンジニア視点で使ってみた感想を述べていきます。 www.around.co 良か…

【Flutter】CupertinoPageRouteで前画面に戻るときだけスワイプ可能にする

やりたいこと iOSアプリでよく見る、前画面に戻る際にスワイプで戻れるようにしたい。 ただし、前画面に戻る以外の画面遷移はスワイプしないようにする。 解決策 CupertinoPageRouteクラスを作成 ※引数がいくつか入っていますが、適宜変更してください Cuper…

null byteエラーが発生したときの対処

やりたいこと ①S3から複数のZipファイルを取得 ②複数のzipファイルを解凍しディレクトリ形式にする ③最終的に1つのzipファイルにしたい。 起きた問題 ①でget_objectしたところ、以下のようになってしまい、②で必要なファイルパスが取得できない状況。 PK\u00…

Railsについて初心者なりに調べてみた

ドキュメント Railsとは Rubyの他フレームワーク Sinatra HANAMI Ramaze 他言語フレームワークとの比較 Web開発フレームワークのシェアと推移 Ruby on rails のトレンド下降している要因 開発環境 開発の流れ(ローカル環境) 参考文献 ドキュメント Ruby on…

zipとgzipの違い

Adminerをいじっていてこれなんだ?と疑問に思ったので、さくっとメモしておきます。 zipとは 圧縮ファイルの形式で現在一番ポピュラーなもの gzipとは GNU Zipのこと。 GNU(グヌー、[ɡnuː] ( 音声ファイル))とはオペレーティングシステム であり、かつコ…

ReactNative × FirestoreでiOSアプリを作成する手順とまとめ

概要 CloudFirestoreとは Firebaseが提供している、NoSQLベースのデータベースのうちの一つ(MBaasの一つ) RealtimeDatabase → CloudFirestoreに進化! Q、何が改善されてる? A、データモデルの改善、クエリ強化されている。 Firebaseの機能とデータベース…

CodeIgniterのMVCモデル

CodeIgniterのMVCモデルの書き方をメインに書いています。 Controller 静的なページを作成するためのクラスを実装したコントローラを作成する。 作成するクラスは、system/core/Controller.php の CI_Controller クラスを継承させる。 引数にページの名前を…

CodeIgniterのデータベース接続方法

データベースへの接続 なるべく自動接続。理由は手動接続はすべてのコントローラの接続を作成する必要があるため。 自動接続 application/config/autoload.phpを使用して行う php $autoload['libraries'] = array('database'); 手動接続 特定のコントローラ…

PHPでの開発を始めるので、概要をまとめてみた

PHP

役割 ローカル開発環境 MAMPとは コードの書き方 役割 HTMLを作ること データを管理すること ローカル開発環境 サーバーにアップせずにPHPが書き換えたHTMLを確認するために必要な作業 必要なインストール PHP Webサーバー 上記はインストールがかなり難しい…

Rubyの基礎文法を簡単にまとめてみた

ハッシュ 条件分岐 インデント 繰り返し処理 for文 while文 例外処理 begin rescue raise メソッド クラス 継承クラス ハッシュ #key:valueをひとかたまりに格納する fruits = {"a":"apple", "b":"grape", "c":"orange"} puts fruits puts fruits[:a] #キー…