年末なのでUSBケーブルを断捨離してみよう

本投稿は TECOTEC Advent Calendar 2021 の12日目の記事です。

こんにちは。証券フロンティア事業部でオジさんサーバエンジニアをやらせて頂いている望月と申します。


みなさんのご家庭ではどのくらいの数のUSBケーブルをお持ちでしょうか。

IT業界でご活躍中の方であれば、恐らくは100本近くのUSBケーブルをその日の気分で使い分けているのではないでしょうか?
そんなことないですか?そうですか。

自分は何年か前の引っ越しの際にPC関連のケーブルを大量に処分して身軽になっていたハズでしたが、気づけば二郎の野菜マシマシ状態の大量のケーブルが再び出現していました。

f:id:teco_mochi:20211210112604j:plain
我が家の愛すべきUSBケーブルさんたち

続きを読む

VSCodeでssh接続してRaspberry Piを触りたい

本投稿は TECOTEC Advent Calendar 2021 の11日目の記事です。

はじめに

こんにちは、証券フロンティア事業部の髙田です。趣味でRaspberryPiとAlexaを使ってのスマートホーム化を目指して遊んでいたりします。
ただ、Raspberry Piで遊びた...もとい開発したい!と考えても、
Raspberry Piをモニターに接続して作業するには、
メインPCで見ている映画を渋々取りやめて、モニターをRaspberryPiに切り替えて、キーボードも繋ぎ直して、、、と結構な手間で触るのが段々億劫になっていました。

メインPCから触れたら楽なのに、と思いつつも
git bashなどからssh接続しての作業は、VSCodeなどの便利さに染まってしまった私にはもう無理でした。
ではどうしようかと少し調べてみると、
VSCodeからssh接続して、さながらクライアントPCで作業しているかのようにssh先のコードを編集できるということを知り、試してみることにしました。

続きを読む

コミットをならべかえたりまとめたり

本投稿は TECOTEC Advent Calendar 2021 の10日目の記事です。

初めまして。決済認証開発システム事業部の柴田です。

PHPエンジニアをやっていますが、最近は設計業務等が多く、コーディングする機会は少なめです。
そこでGitのコミットについて、自分がよく使っている小技(?)を、備忘録も兼ねて書こうと思います。
目新しいとかトリッキーなものではないので知ってる人も多く、元々は色々なところから得た知識なので、他所の技術記事と内容が被ってる箇所があると思いますが、ご了承ください。

内容

  • コミットの並べ替え
  • コミットの集約

自分が普段使っているTortoiseGitを使ったやり方と、コンソール上でのやり方の2つを記載します。

続きを読む

firebase導入時のビルドエラーに対処する

本投稿は TECOTEC Advent Calendar 2021 の9日目の記事です。

はじめに

こんにちは! 次世代デジタル基盤開発事業部の野口です。 弊社では、Flutter案件があるとかないとか、、、、関わってないので詳しいところはわかりませんが、僕は趣味でFlutter触っております。 データベースにfirebaseを導入する際に、毎回のようにビルドエラーに悩まされます。その都度調べれば解決できるもではあるのですが、毎回忘れて1から調べるのは時間の無駄感があるのでエラーの解消方法をまとめたいと思います。

開発環境

1.導入手順

まず、導入手順ですがfirebaseの公式ドキュメントがあるので、こちらを参考に行います。

firebase.google.com

公式ドキュメントの説明はだいぶ簡素なので、以下がとても分かりやすいです。

flutternyumon.com flutternyumon.com

今回は上記の導入ができた前提で話を進めます。

続きを読む

LaravelからAppSync APIをIAM認証で実行する

本投稿は TECOTEC Advent Calendar 2021 の8日目の記事です。

こんにちは。決済認証システム開発事業部の鈴木です。

本投稿では表題の通り「LaravelアプリケーションからAppSync APIをIAM認証で実行する」方法についてハンズオン的に記載したいと思います。

概要

以下画像の赤矢印で示した部分が、今回の説明対象です。

概要図

フロントエンドからは、直接AppSyncで開発したGraphQL APIを実行することが可能であり、またLaravelアプリケーションからも、AppSyncを介することなく、AWS SDK for PHPlaravel-dynamodb などのライブラリを使用することでDynamoDBのデータ操作を行うことが可能であるため、一見するとEC2(サーバサイド)とAppSyncを繋ぐ矢印は必要ないように見えます。

しかし、リアルタイムデータ同期にはAppSync(GraphQL)のMutationおよびSubscriptionを利用する為、サーバサイドから直接DynamoDBにアクセスするのではなく、AppSyncを利用した方がよいこともあったりします。

続きを読む

Flutter × Firebase ユーザー登録

本投稿は TECOTEC Advent Calendar 2021 の7日目の記事です。

こんばんは、次世代デジタル基盤開発事業部(旧ブロックチェーン事業部)の広瀬です。

今回はよく見かけるメールアドレスとパスワードによるユーザー作成機能を実装しました。
ユーザ作成だけだと味気なかったため、コレクション「users」を用意し
こちらにもデータを残す想定で進めます。
※復習もかねて

比較的簡単な実装なので、サクッと進めます。

前提条件

Flutter開発環境が構築されていること

使用したパッケージ

firebase_auth

cloud_firestore

本題

それでは早速作成から

static final _firebaseAuth = FirebaseAuth.instance;
static final _firestoreInstance = FirebaseFirestore.instance;
static final CollectionReference users = _firestoreInstance.collection("users");
---
//作成
var result = await _firebaseAuth.createUserWithEmailAndPassword(email: メールアドレス, password: パスワード);
await users.doc(result.user!.uid).set({
        'name' : ユーザ名,
        'self_introduction':自己紹介,
        'create_time':Timestamp.now(),
        'update_time':Timestamp.now()});

これでユーザー情報がFirebaseに登録されていれば、完了です。
いきなりソースで驚くかもしれませんが、ユーザ−作成は以上です。
あとのパラメーターはお好みで設定していただければ大丈夫です。

FirebaseFirestore.instanceのcollectionからuidを指定すると取得できます。
ユーザーの更新や削除は下記の通りです。
※更新している情報は例です。

static final _firestoreInstance = FirebaseFirestore.instance;
static final CollectionReference users = _firestoreInstance.collection("users");
---
//更新
await users.doc(uid).update({
        'name' : ユーザ名,
        'self_introduction':自己紹介,
        'update_time':Timestamp.now(),
      }); //削除 await users.doc(uid).delete();

ユーザー情報が更新されていれば、完了です。

今回簡単なユーザー機能を紹介しましたが、
ほかにもgoogle_sign_in.dartパッケージを利用したGoogle認証機能や
登録したメールアドレスへメールを送信し、アドレスの確認機能など実装できます。
また機会があれば続きから紹介したいと思います。

以上、Firebaseを利用したユーザーの作成、更新、削除機能の実装でした。

感想

いかがだったでしょうか。 今回人生初のプログラムに関するブログを投稿させていただきました。 このブログ用に簡単なSNSアプリを作成し、そのアカウント機能を一部抜粋した内容になっておりますが、Modelなど真面目に分けて作成したため、逆にブログにまとめるため時間がかかってしまいました。

こういう場合は、画面と処理の2ファイルでまとめても良いかもしれませんね。
書き方、量については引き続き考えたいと思います。

www.tecotec.co.jp

Dvorak配列使いはDvorak配列をススメない話

本投稿は TECOTEC Advent Calendar 2021 の6日目の記事です。

こんにちは、テコテック次世代デジタル基盤開発事業部エンジニアの陳です。 普段はDvorak配列を使っていて、Dvorak配列は素晴らしいと思っています。 しかし、こんな私はあまりDvorakをススメないです。 今回の記事はその理由について話します。

Dvorak配列とは?

Dvorak配列 上の画像のようなキーボード配列はDvorakさんが考案したキーボード配列、 英語入力に特化して設計された配列です。 一般的に使われたQwerty配列と比べて、上下段の使用頻度が低くて、運指距離も短いため、 慣れると入力速度が早くなると言われています。

続きを読む