割と知らない方が多かったのでメモ。
- 左のペインに Breakpoint Navigator を表示
- Workspace 右クリックして「Delete Breakpoints」選択
- これですべての Breakpoint が消える
頂いたフィードバック🙏
Breakpointエクスプローラを選択したまま cmd + a → delete でも消せる https://t.co/VJwIo5igCl
— もちゅる|リモートパパエンジニア (@mothule) 2018年11月1日
割と知らない方が多かったのでメモ。
Breakpointエクスプローラを選択したまま cmd + a → delete でも消せる https://t.co/VJwIo5igCl
— もちゅる|リモートパパエンジニア (@mothule) 2018年11月1日
こんにちは koogawa です。たまには近況報告なんかを書いてみます。
普段からTwitterで宮崎のことをツイートをしまくってるので今さら感はありますが、「自然の多いところで子育てをしたい」という夢を叶えるために昨年、東京から宮崎に移住しました。
長い電車通勤生活からも開放され、今は自転車・車中心の生活にシフトしております。
東京の1Kぐらいの家賃で戸建てが借りられるのも魅力のひとつである。駐車場も数台分付いてくる
— Og🌗エンジニア🏝宮崎 (@koogawa) 2018年9月9日
そんなわけで、現在は戸建ての物件を借りてのんびり暮らしております。騒音を気にしなくてよい、というのは良いことですね。
今年の5月に Marimosoft という屋号を取得し、個人事業主になりました。
とは言っても完全な自由業というわけではなく、昼間は本業に集中し、夜は副業としてコードを書くというスタイルを取っています。睡眠時間を削る必要があるため、昼間は若干眠いですが、なんとか両立しています。
まだ詳しくは書けないのですが、わりと大きめのプロジェクトをお手伝いさせていただいております。自分はiOSをメインで担当しておりますが、非常に強いメンバーが集っており、刺激の多い日々を送っております💪早く公開したいな〜
会社員 兼 個人事業主として副業をやってますが、割とツラい面もあります。
本業があるため、副業先で日中開催されるMTGに参加することが難しかったり、Slackに飛んできたリプライへの回答が遅れたりと、メンバーの皆さんにはいろいろと迷惑をかけてしまっていると思います🙇🏻
ただ、ちゃんとMTGの議事録は残してもらえますし、本業の休み時間を利用してSlackに返信したりもできますので、今のところなんとか続けられております。
帰宅後は、子供をお風呂に入れ寝かしつける、というタスクがあるため、副業を開始できるのはどうしても22時以降になってしまいます。そこから作業を始めると、眠りにつけるのはどんなに早くても午前0時過ぎになります。時には朝5時頃まで頑張ることもありました。そのため、昼間(特にランチ後)はちょっと眠くなるので、コーヒー飲んで頑張ってました☕
いろんな課題はありつつも、意外と何とかなるもんです。しかし、最近はさすがに体力的にもキツくなってきたので、近い内に本業か副業のどちらか一本に絞りたいと考えています。
追記:その後、副業一本に絞りました。 現在はフリーな感じでやらせていただいております。めちゃめちゃ楽しいです💪
Stack Overflow活動中 の koogawa です、こんにちは。
昨日ついに reputation(Stack Overflowにおける信頼度)が 5,000 に到達しました🎉
今年の初めに設定した目標 が「Stack Overflowで5000 reputationを目指す」だったので、無事達成できたことになります。
ちなみに、エンジニアアウトプットランキング Stargzr によると、日本で reputation 5,000 以上のユーザーは現在3人しかいないようです *1。ちなみに、1位の id:KishikawaKatsumi さんは 8,000 reputation を超えていらっしゃるので本当にすごいですね!
そして、同時に Approve Tag Wiki Edits 権限が付与されました。これは Tag Wiki の編集申請を承認できる権限になります。
Stack Overflow で質問する際には ios
, swift
, xcode
などの Tag を設定することができます。
各々の Tag には専用のページが用意されており、Tag の概要文やその Tag における上位回答ユーザー、最近のベストな回答などが掲載されます。
すべてのユーザーは Tag 概要文を編集することができますが、Approve Tag Wiki Edits 権限(今回私に付与された権限)を持つユーザーに承認されるまでサイトには反映されません。
初めて編集が承認されたユーザーは「Tag Editor」バッジ(銅)を獲得できます。
さらに、50回編集が承認されると「Research Assistant」バッジ(銀)を獲得できます!
次は 10,000 reputation で付与される Access To Moderator Tools 権限獲得を目指します💪
私の Stack Overflow 活動はこれからも続きますよ!
*1:もちろん実際はもっといるんでしょうけどね
飛行機、電車を乗り継ぎ、iOSDC Japan 2018会場へ!2年ぶりの参加です。
ここは WWDC か!と思いました。
ビールもたくさんデプロイされていました。途中、ビールが足りなくなるというハプニングもありましたが、スタッフさんが近くのコンビニなどで補充してくれました。感謝しかない🙏
前夜祭では次のトークを聴講しました。
ひとつだけピックアップするとRyo Usamiさんの「標準アプリから学ぶ、HIGが教えてくれないiOSデザインのこと」がとても印象に残りました。
という内容が一貫しており、みんな日常的に使っている「ドア」の例えが非常にしっくりきました。
「ドア」の使い方をあまり意識しないのは何度も使ってるからであり、「ドア」であれば同じふるまい・利用のされ方をするからである。そこに突然「同じドアなのに同じ動きをしない」ドアが現れると人は戸惑う、と。
***
ノベルティもたくさんいただきました!
#iosdc 前夜祭での戦利品です pic.twitter.com/eT3sUoO2ib
— Og🌗エンジニア🏝宮崎 (@koogawa) 2018年8月31日
今日も楽しんでいきます!
今年も行ってきました!PHPカンファレンス福岡2018!
今回で2回目の参加になります。
会場はおなじみ福岡ファッションビル。
朝5時半に高速バスで出発したにも関わらず、会場まで200km以上離れていたこともあり、ちょっと遅刻してしまいました。
いっけなーい💦遅刻遅刻 #phpconfuk (@ 福岡ファッションビル in 福岡市, 福岡県) https://t.co/3D6dVinYrR pic.twitter.com/iG7ZOiYRhW
— Og🌗エンジニア🏝宮崎 (@koogawa) 2018年6月16日
今年もオシャレなトートバッグとTシャツを頂きました!嬉しい!
(昨年頂いたTシャツも毎週のように着ています!)
ノベルティもたくさん頂いてしまいました。
今年も勉強になるセッションが盛り沢山でした。そのうちいくつかをピックアップさせていただきたいと思います。
登壇者:富所 亮(@hanhan1978)さん
このセッションでは「何」を「何故」「どのように」ログに残すのか、ログを出力することによるリスク、そしてログを出力する前に何を決めておけばよいのか?という話がメインでした。
個人的には、スピーディーに var_dump
を書いたり消したりする新人さんの話がツボでしたw 自分もよくやっていたなーと。
登壇者:株式会社ハシゴ 松本 拓也(@skycat_me)さん
hasigo@ というモバイルアプリ開発のお話でした。技術選定として、iOS/Android エンジニアが不在だったため Flutter を採用されたそうです。最近 Flutter の採用事例が増えてきたなー、と興味深く聴かせていただきました。
登壇者:中村剛(@nakamura_tsuyo4)さん
創業から2,3年、たくさんのエンジニアの入れ替わりを見てきた中村さんによる、エンジニアの流動性とそれをどう乗り切ってきているか、についてのお話でした。
個人的に印象的だったのが、退職者が続く場合、本人に辞める理由を聞いてみるのが一番だけど、辞めていく人は波風立てたくないので本音を語ってくれないよね、という話。その場合、出戻ってくる人がいるか?というのがひとつのバロメータになると中村さんは語っていました。私自身も退職者が後を絶たない環境にいたことがあるので、とても興味深く聴かせていただきました。
登壇者:永冨隆之(@tommy6073)さん
初っ端の「日本に居ながら世界中にアクセスできるのがインターネットなのに、英語のコンテンツに触れないのは勿体無い」という話が心に刺さりました。ホントそのとおりですよね。
永冨さん個人の昔話で、海外ゲームを遊び尽くしたところ、TOEIC初受験で960点取れてしまった話はとても説得力があるものでした。私もなるべく普段から英語に触れるために Stack Overflow 活動なるものを進めているのですが、もっと頑張らないとなーと思いました。
登壇者:嘉数 侑起(@kkznch)さん
スライドはまだアップされていないようですが、ビーチの上で開発するBDD(ビーチ駆動開発)というのが沖縄らしくて良いなーと感じましたw 波に乗りながら開発するスタイルも斬新でしたが、MacBookを落とさないかちょっと心配になりました😆
私はスマートフォンアプリ開発を軸としているため、普段PHPは使いません。じゃあ、なんでPHPカンファレンスに毎年参加しているかというと
今日みたいな自分の専門外のカンファレンスに来ている理由は「点」を得るため。点と点はいつか繋がり合って「線」となる。
— Og🌗エンジニア🏝宮崎 (@koogawa) 2018年6月16日
これが理由です。*1
実際、昨年このカンファレンスで知った Payment Request API や PWAなどの知識も現在役に立っています。
PHPカンファレンス関係者の皆様、今年も楽しいイベントをありがとうございました!
また来年会いましょう〜😄
*1:スティーブ・ジョブズのあの有名なスピーチに影響されてます
こんにちは koogawa です。最近は Stack Overflow だけにとどまらず、エンジニア向けQAサイト teratail でも回答しております。teratail はスコアが上がっていくと色んなバッジをゲットできるので気に入っています。
teratail【テラテイル】|思考するエンジニアのためのQAプラットフォーム
ところで今日は次の質問に回答しました。
これ、めちゃくちゃ良い質問だと思うんです。何より自分がわからないことをちゃんと言語化できている。
すでに回答もいくつか付いていたので内容を見てみると。。
だいたいこんな感じでした。
うーん、皆さんなかなか手厳しい回答です。。これだと質問者の方も、ここで挫折してしまうのではないでしょうか。
というわけで「自分ならどうググるか?」という視点で回答してみました。詳細は teratail のサイトでご覧ください。
https://teratail.com/questions/127346#reply-193795
(気づいたら1,600文字ぐらい書いていた・・)
結果的には喜んでもらえたようなので良かったんだと思います。
プログラミングに慣れてくると、わかることが当たり前の状態になってくるので、
的なことを言ってしまいがちです。しかし、初心者にとってはどうググって良いのかさえもわからないことが多いのです。
僕らに必要なのは「なぜわからないのか」を汲み取り、調べ方のコツなどを教えてあげることなのではないでしょうか。
質問者のコメントの中で印象的だったのが
経験者がピンポイントでドキュメントやらリファレンスを1分で調べてることを何時間もかけて調べてるんじゃないか?
と思い込んでいたことです。実際そうなのかというと、全くそんなことはないですよね。
ただ、ピンポイント率が上がるというのは確かにあるかもしれません。いろいろと調べているうちに、「ググり方」がうまくなっていく実感はあります。*1
***
まとめると、
ということを書きました。プログラミング学習を挫折してしまう人がちょっとでも減ることを願っています。
今日書きたいことはそれくらいです。
こんにちは。koogawa です。
さて皆さま、Bitrise と言えば CI サービス bitrise.io の方を想像する人がほとんどだと思いますが、実は CLI 版が用意されているのはご存知でしょうか。
今回はこの CLI 版 Bitrise を使ってiOSアプリを Deploy Gate に配信する方法を紹介したいと思います。
目次
すでに CocoaPods を使用したサンプルプロジェクトが作成済みである前提で話を進めます。
Bitrise CLI は Homebrew から簡単にインストールできます。
$ brew update && brew install bitrise
インストール後、bitrise
コマンドが使用できることを確認してください。
$ bitrise -v 1.16.0
Bitrise でのビルドに必要なすべてのプラグインやツール群をダウンロードするために bitrise setup
をおこないます。
$ bitrise setup ██████╗ ██╗████████╗██████╗ ██╗███████╗███████╗ ██╔══██╗██║╚══██╔══╝██╔══██╗██║██╔════╝██╔════╝ ██████╔╝██║ ██║ ██████╔╝██║███████╗█████╗ ██╔══██╗██║ ██║ ██╔══██╗██║╚════██║██╔══╝ ██████╔╝██║ ██║ ██║ ██║██║███████║███████╗ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝╚══════╝╚══════╝ version: 1.16.0 Setup Full setup: false Clean setup: false Detected OS: darwin Checking Bitrise Core tools...
ロゴがカッコイイですね!
セットアップが完了したら、今度は Bitrise の設定ファイルである bitrise.yml を作成していきます。
まずは "Hello My Name" とだけ表示する yml を書いてみます。次のように入力したら Xcode プロジェクトのルートに配置してください。
format_version: 1.3.1 default_step_lib_source: https://github.com/bitrise-io/bitrise-steplib.git app: envs: - MY_NAME: My Name workflows: test: steps: - script@1.1.3: inputs: - content: echo "Hello ${MY_NAME}!"
最初の2行で設定ファイルのフォーマットバージョン指定、使用するライブラリの指定を行っています。
app:
では環境変数のセットをしています。この例では MY_NAME
という環境変数に "My Name” という値をセットしています。ここでセットした環境変数は以下で説明するワークフロー内で ${MY_NAME}
のように使用することができます。
workflows:
でワークフローを追加していきます。ワークフローはひとつひとつのステップをひとつにまとめたものです。この例では test
というワークフローの中で echo "Hello ${MY_NAME}!”
というスクリプトを実行するようにしています。
それではワークフロー test
を実行してみましょう。
$ bitrise run test
ちょっとわかりにくいですが、ちゃんと “Hello My Name!” が表示されていますね。
次はライブラリ管理ツール CocoaPods で pod install
を実行してみましょう。
workflows: pod_install: steps: - script@1.1.3: title: 'pod install' inputs: - content: pod install --repo-update
pod_install
というワークフローを作り、ステップの中で pod install --repo-update
を実行しているだけですね。
$ bitrise run pod_install
を実行すると、いつものように pod install
が動き出すと思います。正常にライブラリのインストールが行われているか確認してください。
次に Xcode プロジェクトをアーカイブして .ipa ファイルを生成してみましょう。
workflows: archive: before_run: - pod_install steps: - xcode-archive@2.4.3: inputs: - output_tool: xcodebuild - export_method: development - output_dir: . - project_path: “./Sample.xcworkspace" - scheme: Sample
archive
というワークフローを作り、Bitrise ライブラリで提供されているアーカイブ用の xcode-archive@2.4.3:
というステップを実行しています。今回は Sample
という Xcode プロジェクトを xcodebuild ツールでアーカイブし、開発用*1としてエクスポートしてみました。
before_run
は名前の通り、各ステップがスタートする前に実行されます。このタイミングで先ほど作成した pod_install
を呼んでいるのがポイントになります。こうすることによって、アーカイブ前にライブラリのインストールが完了していることを保証できるわけですね。
$ bitrise run archive
を実行してみましょう。成功すれば同じディレクトリに Sample.ipa が生成されていると思います。
最後にアプリ配布プラットフォームである DeployGate に、先ほど作成した ipa ファイルを配布してみます。
workflows: deploy: before_run: - archive steps: - script@1.1.3: title: 'upload to deploygate' inputs: - content: |- curl \ -F “token=XXXXXXXX" \ -F "file=@Sample.ipa" \ -F "message=commit: $(git rev-parse HEAD)" \ -F "disable_notifiy=true" \ https://deploygate.com/api/users/hoge/apps
deploy
というワークフローを作り、ステップの中で deploygate API を curl で叩いているのがわかると思います。ここでも before_run
を使用し、事前に ipa ファイルのエクスポートを行っています。
$ bitrise run deploy
を実行してみましょう。成功すれば、DeployGate のダッシュボードにアプリが追加されているはずです。
***
今後は $ bitrise run deploy
と打つだけで
まで自動的にやってくれます。快適ですね!
CLI 版 Bitrise を使ってiOSアプリを Deploy Gate に配信する方法を紹介しました。意外と簡単だったのではないでしょうか。
また、この他にも Xcode Unit Test を実行するなど様々なワークフローが作れるので、興味があればぜひ試してみてください!
*1:他に ad-hoc, appstore などが設定可能