くま's Tech系Blog

基本的には技術で学んだことを書き留めようと思います。雑談もやるかもね!

エミュレーターでネットに接続する

今回は小ネタです。 以前、エミュレーターでインターネットに接続できずなぜ?と思ったことがあります。 デフォルトでAndroid WifiというWifiに接奥されていますが、設定をしないとインターネットに接続できないようです。 早速みていきましょう! まずはエ…

Contextについて

今回はAndroidでよく出てくるContextについて説明しようかと思います。 ContextはAndroidでよく出てくると思うのですが、漠然としたものでフワフワしていたので、少し調べてみました。 Contextとは? Contextを公式で確認すると下記のような記載があります。…

Xcodeのショートカット集

今回はXcodeのショートカットをまとめようかと思います。 なぜ、この記事を書こうかと思ったのかというと、ショートカットを使うことで開発が効率的に進められることを体感したからです。 最近、ペアプロを体験して、相手の開発をみる機会がありました。 そ…

Optional型について

Swiftだけではないですが、SwiftにはOptional型という特徴的な型があります。 今回はそんなOptional型についてお話しできたらと思います! Optional型とは Optional型とは通常の値とは別にnullをとれる型です。 他の言語ではString型やInt型といった通常の型…

Comuputedプロパティについて

swiftは他の言語とは少し違い、基本的にはgetter/setterが必要ない言語です。 ただ、設定するときに値を加工したりする場合はComuputedプロパティというものがあります。(名前は最近知りました) 今回はそんなComuputedプロパティについて説明しようかと思い…

NavigationBarの下にオブジェクトが隠れるのを防ぐ

今回は小ネタです。 最近出くわしたNavigationBarの下にViewが隠れてしまうのを回避する方法です。 iPhone8では大丈夫だったのですが、iPhone Xsでは思いっきり隠れていました。 Viewの位置をソースコードで定義していたので、iPhone Xsのバージョンの位置を…

Xcodeでのオブジェクトの上下配置について

今回はStroyboardでオブジェクトを配置するときに少しつまずいた上下配置について説明しようと思います。 オブジェクトの配置 XcodeではStroyboardでオブジェクト(ここではViewやボタンなどのパーツのこと)を配置して画面を作ります。 ソースコードでUIを作…

クロージャーの[weak self]について

今回は、クロージャーの[weak self]について書いていこうと思います。 なぜこんな書き方をするのか調べてみると、クロージャーがselfを弱参照し、クロージャーとselfの循環参照を防ぐとの記載がありました。 これを見て??って思いよくわからなかったので、…

値型(struct)と参照型(class)について

今回はタイトルにもある通り、値型と参照型について説明していきます。 プログラミングの基礎的な概念だと思うので、理解しといて損はありません。 今回はSwiftで説明していきたいと思います。 値型 まずは値型について説明します。 値型は変数の中に実際の…

技術書典9を終えて

9/12(土)〜9/22(火)まで行われた技術書典9が終わったので振り返りたいと思います。 今回初めて1人で「モバイル詰め合わせ」という本を執筆して販売しました。 大したことを書いたわけではないから全然売れないだろうなあと思っていたのですが、終わってみる…

技術書典9にサークル参加しました

今回は告知をさせてください!! 初めて1人で技術同人誌を書きました。 そして、昨日(9/12)から始まった技術書典9というオンライン即売会で販売しています。 表紙を作る難しさを今回初めて痛感して、電子版のみの販売としています。(デザイナーに依頼す…

【Mac】VSCodeのショートカットまとめ

今回はVSCodeのショートカットをまとめたいと思います エディタと言えば、VSCode(Visual Studio Code)であったりAtomやサクラエディタ等を思い浮かべると思います 私はVSCodeをよく使うのですが、VSCodeは無料なんですが個人的にはクオリティが高く、拡張機…

忘れやすいiOSの証明書関連を思い出す

iOS

PCを変更したことでせっかくなので、証明書を作り直してみました 意外に忘れてしまっていたので(年に1回くらいなので)、メモのために今回記事を書きます ①証明書生成 まずは、証明書生成を行います Macのアプリケーション→ユーティリティ→キーチェーンアクセ…

SwiftUIでjsonデータを取り扱ってみる

今回はjsonデータを使って画面表示を行ってみたいと思います APIを使って戻り値のjsonデータをパースして値を取得するというのはモバイル開発では必ずと言っていいほどやる処理だと思うので、学んでいきます!! jsonデータの準備 今回は実際にAPIを使ってで…

SwiftUIで画像にいろいろ手を加えてみる

以前、SwiftUIでテキストを配置したり色を変更したりしました 今回は画像にいろいろ手を加えるというのをSwiftUIで試してみたいと思います まずはリソース(画像)を追加します 画像の追加 この画像を表示させるためにはImageの引数に画像のリソース名を指定す…

SwiftUIを触ってみる

今回は前から気になっていたSwiftUIを触ってみようと思います 今回の記事は、SwiftUIのチュートリアルをベースにしています プロジェクト作成 まずはプロジェクトを作ってみましょう! プロジェクトを新規で作成する際にSingle View App を選択します Nextを…

Linuxコマンド覚書

Linuxコマンドってかなり多いですよね。 しかもたまになんだっけと思いながらググるので、その時一つのサイトでわかればいいなあと思ったので、まとめたいと思います。 (主に自分用ですが) おそらく随時更新するでしょう。たぶん..... cpコマンド ファイルや…

Flutterのmain.dartを見てみよう

今回はFlutterのmain.dartを見ていこうと思います main.dartを見ることで一連の流れやどこに何を書いていけばいいのか理解出来ると思ったので、まとめてみようと思いました 早速、見てみましょう!! main.dartは下記です import 'package:flutter/material.…

Gitのサブモジュールについて

Gitのsubmoduleについて詳しくなかったので、記事にしました サブモジュールとは Gitのサブモジュール機能を使うと、プロジェクトで管理しているGitリポジトリとは別に、独立したリポジトリをプロジェクトに含ませることができます サブモジュールを含んだプ…

iOSのQRコード読み取りについて

今回はiOSでQRコードを読み取る処理について書こうかと思います 使用バージョンは以下の通りです Swift 5.0 カメラ起動 QRコードを読み取る処理で最初にやることと言えば、カメラ起動です まずは、カメラ起動の流れを見ていきましょう カメラに起動にはAVFou…

AndroidでRealmのインポートが上手くいかない

今回は小ネタです 新しいライブラリを追加してsyncしていると下記エラーが発生しました A problem occurred evaluating project ':app'. > Failed to apply plugin [id 'realm-android'] > Configuration with name 'kapt' not found. realm-androidでエラー…

Delegateとは一体??

Swiftでよく使うDelegateってよくわかんないなあ と、最初は思っていましたが、実装していくうちにわかってきました 概念がわかりにくいかもしれませんが、必ずと言っていいほど1度は通る道なので軽くまとめようかと思います Delegateとは一体? 最初、Swift…

Flutterプロジェクトを作成する

今回はFlutterのプロジェクトを作成する手順をご紹介しようかと思います 環境構築手順はこちら 複数手順あるので3パターンくらいにまとめようと思っています コマンドで作成 プロジェクトを作りたい場所で下記コマンドを入力すればプロジェクト作成が可能で…

Swiftのenumについて

今回はSwiftでのenumについて書こうと思います Javaのenumとは違って、個人的に少しクセがあるのでまとめようと思います 一般的なenum enum DominantArm { case left case right } let leftHand = DominantArm.left caseで要素を定義します。let leftHand: D…

kotlinのフォルダ名について

小ネタです val binding: ActivityTaskEditBinding = DataBindingUtil.setContentView(this, R.layout.activity_task_edit) val editViewModel = ViewModelProviders.of(this).get(EditViewModel::class.java) binding.editViewModel = editViewModel 上記ソ…

Flutterの環境構築【mac編】

今回はFlutterの環境構築について書いていきます FlutterはiOSとAndroid両方ファイルを分けずにアプリを作れるクロスプラットフォームの言語です 少し先に使うことになりそうなので早めに学ぼうと思い、とりあえず環境構築から始めようと思います 公式ドキュ…

docker コマンド一覧

個人的によく使うやつをまとめます docker-compose build docker-compose.ymlの内容に基づいてイメージを作成するコマンド $ docker-compose build docker-compose up docker-compose.ymlに書かれた依存関係をもとに、イメージを元にしてコンテナの作成と起…

extensionとprotocolについて

今回はiOSでよく使うextensionとprotocolについて記載しようと思います extensionについて Swiftでは既存のStringやArrayなど提供されているクラス(既存のクラス)に自分専用のメソッドを追加できます。 Objective-Cにはカテゴリという、既存クラスにメソッド…

Swiftのif letについて

少し間が空いてしまいました・・・・orz これからは小まめに記事投稿していきますので、よろしくお願いします!! 今回はSwiftのif let という書き方についてです 最近、本格的にSwiftを使い始めたのですが、違和感のある書き方でしたので調べてみました if …

git pushを取り消そう

Git

久しぶりの投稿になります! 技術書典の執筆やら、LTの資料作成やらでなかなか更新できずにいました。(技術書典中止らしい・・・・) 今回はそんな中、焦ってやってしまったpushを取り消す方法です。 ①Revert 変更を打ち消すコミットを作成するという一番安心…