BitriseやGitHub Actionsでの自動ビルドにJava 11を設定する

Android S(Android 12)だとJava11が必要でアプリの自動ビルドがこけた

スマホアプリの開発者の皆さんはAndroid SのSDK対応を行なうと思いますが、対応が終わってGitにPushすると自動ビルドのサービス側でJava11が設定されておらず、自動ビルドがコケたりします。プロジェクトによってBitriseを使ったり、GitHub Actionsを使ったりしていますが、両方で対応が必要だったため、対応方法を晒しておきます。

続きを読む

Docker上のMySQLにDBクライアントから接続する

Docker上のMySQLにDBクライアントから接続したい

ローカルPC環境や開発サーバー環境でMySQLをDocker上に配置する場合があると思います。ターミナルで頑張って操作するケースもありますが、MySQL WorkbenchやDBeaverなどDBクライアントを接続する場合が多いのではないでしょうか?
Docker上のDBにDBクライアントで接続するときにハマったので接続方法を晒しておきます。

続きを読む

マイクロ法人での法務の話

今回もテック関係ではないトピックとなりますが、法務についてです。

フリーランスや小規模法人であったとしても、業務委託や請負などの場合、契約が発生します。受注する場合の契約については相手が普段からコミュニケーションをとっている場合であったり、ITについてリテラシーがある場合は問題になることは少ないのかもしれません。

しかし多段階の受発注の様な案件であったり、新規で取引するお客様の場合は、後のトラブルを防ぐためにもきちんと精査しておく必要があるかと思います。また、外部の人に手伝ってもらうなどこちらが発注元となる場合も、新規で依頼する様な場合については、支払い条件や業務範囲の定義など考慮する必要はあると思います。

トラブルとなる事例としては、

続きを読む

マイクロ法人で実施している経理と納税の実際の話

現在メインで話しているの設計書については、時間がかかるためしばらくお休みして(非機能設計書をのサンプルを書いてる中です)、本日はテック以外の話で。

今は2月でいろいろ期末も迫っており諸手続きが多いと感じる時期です。独立すると会社では当たり前の様にやってくれたことを自分でいろいろ行うことになります。諸手続きの中でも社保と並んで、大事なのは納税。小学校か中学校か忘れましたが、日本国憲法に書かれてる国民の三大義務の一つに挙げられるほど重要な行為です。

私の様なマイクロ法人でも、法人は法人という立場であり、法人用の諸手続きを行う必要があります。一応期末に決算を行い、法人税やら所得税、地方税に属するものなどを納税する必要があります。法人から見れば代表の私自体も社員なので社員個人としての納税(所得税といった国税や地方税)も行う必要があります。

続きを読む

[サンプルあり]機能設計書を作成する

機能設計書の記載

今回はLichtwork(リヒトワーク)で書く設計書のコンテンツの一つである機能設計について紹介します。機能設計は画面ごとの仕様やAPIごとの仕様といった内容を記載します。プログラミングを行う上で最も参照する仕様書の一つです。

フロント画面については大きく画面表示時の処理、タップといったアクションについての処理と項目を分けて書きます。APIについてはAPIが呼び出された時の一連の振る舞いについて記載します。 こういった一連の動きや挙動については。RedmineやBacklogのチケットといったタスク管理ツールに書いてしまったり、仕様変更の際にはその部分だけの指示書の形にすることも多いと思いますが、後で探すことが面倒なのと、仕様改変前後の違いがわかりにくいため、仕様書の形で一元化して残しておく方が後々メンテナンスやリニューアルの際にも役に立つと思います。

記載する内容

前回に引き続き、今回モデルケースとしてLichtwork(リヒトワーク)で開発したIntrappsというアプリ配布基盤をベースとした設計書となっています。これも前回と同様ですが受託で開発する時に画面(デザイン含む)と機能は大体決まってるけど、開発する人がいないというケースを想定しています。

続きを読む

[小ネタ]amplify codegenでiOS向けのGraphQLのリソースの最新の取得できなかった時の対応

AppSyncでスキーマなどが修正された時にamplify codegenで最新の定義を自動生成する。しかし、何度amplify codegenを実行しても最新のスキーマ定義やQueryがAPI.swiftに反映されない現象が発生した。

下記の手順で最新を取得できた。

rm -rf awsconfiguration.json amplifyconfiguration.json API.swift graphql .graphqlconfig.yml
amplify configure project
amplify add codegen --apiId hogehoge
amplify codegen   <= ここで最新が取得できた

プロジェクト全体についての設計書を作成する

全体設計の記載

今回はLichtwork(リヒトワーク)で書く設計書のコンテンツの一つである全体設計について紹介します。開発についての全体感を記載する設計書で、これをベースに細かい部分は「機能設計書(共通設計と画面設計を記載)」、「非機能設計書(可用性や性能、セキュリティ等について記載)」、「運用設計」といった各設計書に詳細を書いていきます。

Lichtwork(リヒトワーク)の場合、前回でも書きましたがサービスを開発メンバーにどう創って欲しいかを伝えるために設計書を書きます。昨今はコロナの影響もあり、チャットなど非同期にコミュニケーションを取るケースも多いと思いますが、設計書をかくことも、エンジニアとプロジェクトマネージャーのコミュニケーションの一つと考えています。近くにいれば口頭や伝わってくるカルチャーで自ら開発メンバーも判断することができるかと思いますが、リモートである場合は難しいと感じています。そのためにもどう創るかであったり、どのように進めていくか、何を求められていくかは可視化していく必要があると思っています。

記載する内容
続きを読む

設計書を創ること

Lichtwork(リヒトワーク)では様々な形でシステムやアプリの開発や運用をお手伝いさせていただいています。やはり開発についてのご依頼が多いのが現状です。

開発を行うに関して、Lichtwork(リヒトワーク)では設計書を「そこそこ」作成します。

弊社の場合、チームとしてまるっと開発やデザインを担当する場合と、プロジェクトマネージャーの立場で開発を支援する場合がありますが、前者の場合だと意思伝達に苦労することがないのですが、後者の場合は会ったことがない人との開発の業務になることもあり、どういう風に作って欲しいかをある程度提示する必要があるためです。もちろん、どういうものを開発したかお客様に提示する必要があるため(お客様が引き継いだ後困らないように)作成するということもあります。

故に状況によって分量の違いはあれど創っていることが現状です。

私が設計書をかく時に意識していること

私が設計を書くときは「使いやすく」や「便利に」、「メンテしやすく」、「自動で」などフワッとしているところを開発者に対して具体的な方法を提示することを意識します。

続きを読む

外注にソフトウェア開発をお願いする際のポイント

Lichtwork(リヒトワーク)は基本お客様からお問い合わせだったり、ご指名いただく事でシステム開発やアプリの開発をお手伝いさせていただいています。弊社は僕しか社員自体はおらず、他のメンバーはギルド的にデザインだったり、開発面をお手伝いいただくメンバーが数名います。私自身はシステム開発そのものであったり、システム開発についてのコンサルについて担当させていただくことが多いです。

Lichtwork(リヒトワーク)では様々な形態でソフトウェア開発の支援をさせていただいております!

様々なお問い合わせをいただく中で開発を外注に出す時について相談をいただくことが多々ありますので、私的に整理したいと思い、書いてみたいと思います。

続きを読む

[小ネタ]「タタタターン」する黒い画面をカッコよくする

皆さん、Macのterminalはどの様なものでしょうか?私はネット上で技術系の記事を調べる場合に、見た目カッコよくカスタマイズしているターミナルのスクショがあれば調べて、自分も真似する事が多いです。ただ完全見た目重視ですので起動するときにやや時間がかかったりして、使いやすいかどうかは微妙〜だなと思う事もあります。。ただ日々使うツールは見た目かっこいい方がアガるので、見た目かっこいいと思うカスタマイズを優先して取り入れています。

今のterminalは↓の様な感じです。

設定方法を紹介したいと思います。

続きを読む