2016年8月19日(金) に行われたiOS DC 2016 前夜祭でお話したスライドです。 トークページ : https://iosdc.jp/2016/c/node/36
![iOS DC 2016 : フルSwiftでバイクフリマアプリRIDEを作って得た学び](https://cdn-ak-scissors.b.st-hatena.com/image/square/d0e581be46df5563beded7601d58d9aa144b65f1/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2Fe07e88e3b9f94f7284f84cbaa996c75f%2Fslide_0.jpg%3F6722368)
2018/3/13 Swift 4 対応 Swiftに関する日本語の情報もかなり増えてきているように感じますが、殆どがiOSアプリ開発に関するものです。そこで、趣味でMac OS Xアプリ開発を行いましたので、数回に分けて記事にしていこうと思います。 ちなみに、Macの利用比率が世界的に低いため、利益などを考慮する場合は、WebアプリやJavaアプリとして開発したほうがいいかもしれません。また、Swiftで開発を行うと、昔のMac OSで対応できないものが出てくるようです。 前提条件 iOSアプリの開発歴があるものとして解説を行いますので、共通な作業は省略している箇所があります。 また、この記事は以下のアプリを開発するにあたって記述したものです。アプリに実装する機能などによっては、追加で必要なことや、今回の作業に不要なことが含まれている可能性があります。 KeiSignal プロ生ちゃんが
Aug 23, 2016 オタクなのでRxSwiftの話になるとつい早口にアレコレ喋りまくってしまうのですが、今回はそういった気持ちをそっと胸にしまって、RxSwiftを導入するとアプリ開発にどういう変化が起こるのか、なるべく多くの方に伝わるように心がけて話しました。 スライド: http://blog.ishkawa.org/talks/2016-08-20-iosdc/ ビデオ: https://abemafresh.tv/tech-conference/32381 (1:00:00~) 3行で書くと以下の通りです。 RxSwiftはイベントストリームをObservableで抽象化するライブラリ 大抵のイベント処理はObservableからObserverへの接続で実装できる イベントストリームの依存関係はオペレーターから読み取れる その他、以下の3つについても話そうと思っていましたが
Swift 3 は、ガイドラインを知っておくと変化がとっても掴みやすくなる印象。そう思って、そんな辺りについてざっくり見渡せるように資料にまとめておくことにしました。Read less
年間を通して多くのサービスがリリースされている裏で、同時に多くのサービスが終了しています。 アプリだけで見てもGoogle Playでは2016年2月時点で200万本を超え、 追ってApp Storeも2016年6月13日(米国時間)の発表で200万本を超えたとの発表がありました。 初代iPhoneが2007年の6月、AndroidOSを初めて搭載した端末が2008年に発売されたことを考えると、 年間あたり各プラットフォームだけで見ても年間平均22万本〜25万本のアプリがリリースされていることになります。 両プラットフォーム対応のサービスやWeb版の存在も加味すると単純に合算するわけにはいきませんが、 これにWebサービスを加えて、やはりかなりの数のサービスがリリースされている中で、 自分たちの作るサービスを知ってもらおう・使ってもらおう・好きになってもらおうと思うと、 非常に難易度が高い
Flexboxを使っていて「なんでこの幅になるんだろう?」と疑問に思ったことはありませんか? 僕はFlexboxを使い始めたころ「flexアイテム」の幅がどうやって計算されるのかわからなくて、レイアウトにはまってしまいました。調べて整理したのでシェアします。 仕組みをしっかり理解しておくと、問題が起こったときに対処しやすくなります。ということで、flexアイテムの幅の計算方法、行ってみましょ〜! まずは結論から — flexアイテムの幅の計算方法 結論からざっくり言ってしまいます。 display: flexを指定した親要素を「flexコンテナ」、その中にある子要素を「flexアイテム」と呼びます。 上図のようにスペースが余っている場合、この「flexアイテム」にはflex-growの指定にしたがって余ったスペースが分配される仕組みになっています。 下図のようにflex-grow(またはf
順調だったスマホゲーム起業から、一瞬で「1億円の大赤字」へ転落。生きるか死ぬか「3rdKind」が体験した2つの売上拡大の罠。 今回は海外のゲームアプリを、日本に配信している「3rdKind」さんにお話を伺いました。 ※3rdKind株式会社 CEO 細谷太郎さん(右)、COO ヌエル・フレッドさん(左) 「3rdKind」について 「3rdKind」さんについておしえて下さい。 細谷: モバイルゲームのパブリッシャー事業をしている会社です。海外のおもしろいゲームを、日本に持ってくるのが主な仕事ですね。 もともと、ぼくはカプコン、フレッドはGameloftで働いていて、そこからお互いフリーランスを経て、2011年に「3rdkind」を創業しました。 「パブリッシャー事業」というのは、どのように収益を得ているんですか? 細谷: 簡単に言うと、海外のゲームを日本人好みに翻訳・味付けし、それを日
こんにちは、株式会社ビットジャーニーに出向中の出口 (@dex1t) です。ビットジャーニーでは、社内情報共有ツール Kibela*1のサービス設計やプロダクトマネジメントに責任を持ちつつ、エンジニアとして開発全般に携わっています。 今回は、新サービスの立ち上げ時にどのような考えで重要指標*2を設計し、それを実際の開発のなかでどう使っていくかという話をします。 なぜ検証をするのか そもそもなぜ新サービス立ち上げ時に、重要指標や検証といった考えが必要になるのでしょうか。それを考えるにあたって、クックパッド的なサービス開発の流れを改めて整理してみます。 企画と検証は表裏一体 サービス開発といえば、企画・開発・検証をぐるぐる回すというのが一般的だと思います。指標は検証段階で活用する道具です。企画で考えたことを確かめるのが検証段階であり、企画と検証は表裏一体です。 したがって、指標の設計をするにあ
Bash on Ubuntu on Windows (以下 BoW) は Windows コマンドプロンプトを使って実行される。今までであれば Windows のコマンドプロンプトはエスケープシーケンスを認識しなかったので cmd.exe そのものでは vt100 等の端末環境を用意できませんでした。しかし Windows10 の cmd.exe では新しいコンソールモードが用意されています。 Console Virtual Terminal Sequences (Windows) Virtual terminal sequences are control character sequences that can control cursor movement, color/font mode, and other operations. https://msdn.microsoft.c
AKIBA.swift×Swift愛好会を開催しました! #love_swift #akibaswift はじめに こんにちは! モバイルアプリサービス部の田中孝明です。 8月29日月曜日にレバレジーズ株式会社様にてAKIBA.swift×Swift愛好会が開催されました。 今回はSwift愛好会様が快く引き受けてくれたことで、コラボ開催と相成りました! 弊社の方でも別途ブログにて告知しました。 台風10号が史上初の挙動をしたとのことで、開催されるかヒヤヒヤしましたが、無事執り行われました! 過去の開催についてはこちら。 AKIBA.swift を開催しました! #akibaswift 第二回AKIBA.swift を開催しました! #akibaswift 第三回AKIBA.swift を開催しました! #akibaswift 「AKIBA.swift 第4回」を開催しました! #akib
更新情報 2016/08/19: 初版公開 2021/08/26: 更新 2023/04/12: 更新 追記: 以下の記事もどうぞ。 シン・ActiveRecordで日付・時刻の範囲検索をシンプルに書く方法 こんにちは、hachi8833です。 Active Recordで日付範囲を指定して読み出そうとすると、おそらく次のようなコードになるでしょう。 Pattern.where(“updated_at BETWEEN ? AND ?”, from, to) 社内のSlackチャンネルのログを遡ってて、Active Recordでwhere(updated_at: range_obj_start..range_obj_end)のように、Rangeオブジェクトを#whereの値指定として渡せるというやりとりを見つけたので、確認してみました。 範囲演算子とは RubyのRangeオブジェクトでは
ボックス要素の横並びをCSSで行う場合は、CSSの「Flexboxフレックスボックス」 が便利です。Flexboxを使用することで、簡潔なコードで豊富なボックスのレイアウトが可能です。本記事ではウェブページの作成を通してFlexboxの特徴と使い方について解説します。 この記事で学べること Flexboxの使い方 スマートフォンへのレスポンシブ対応 Flexboxはボックスレイアウト用のCSS Flexboxとは、ボックスのレイアウト方法を定めるCSSの機能です。ボックスとは、HTML上の各要素が生成する領域のことです。下図のHTMLコードのウェブページでは、div要素・h1要素・p要素がそれぞれボックスを生成します。 Flexboxでは、ボックスを横ならびにしたり、右寄せ・中央寄せ・左寄せをしたりと、さまざまなレイアウトを少量のコードで実現できます。 サンプルの紹介 今回はレスポンシブな
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes 第1回 分散型ロードバランサーを実現するMaglev(パート1) (中井悦司) 2016年8月 はじめに みなさん、こんにちは! グーグルでCloud Solutions Architectとして活動させていただいている中井です。グーグルは古くから、自社サービスの提供に独自のソフトウェア技術を活用してきました。これらの技術の中には、グーグルに所属する研究者の手によって開発されたものもありますが、実は、「Research at Google」というWebサイトでは、これらの研究者が執筆した論文が公開されています。つまり、これらの論文を通して、グーグルの技術が勉強できてしまいます。これはスゴイ! ―― とは言うものの、いきなり論文を読めといわれても
本日、 gh-ost のオープンソース・リリースを発表します。GitHubの、トリガーレスなMySQL向けオンライン・スキーマ・マイグレーション・ツールです。 gh-ost は、MySQLテーブルの修正が必要な、進行中の継続的なプロダクション変更に伴って私たちが直面する問題に答えるために、ここ数ヶ月で開発されました。 gh-ost は、負担が小さく、制御しやすく、監査しやすく、操作が簡単なソリューションを提供することによって、現在のオンライン・テーブル・マイグレーションのパラダイムを様変わりさせます。 MySQLテーブルのマイグレーションは、よく知られた問題で、2009年からはオンライン・スキーマ変更ツールによって対処されてきました。ハイペースで成長するプロダクトに伴って、データベース構造の変更が必要になります。列やインデックスなどの追加・変更・削除は、デフォルトのMySQLの動作を妨げる
final class DeviceConst { let osName = "iOS" // NOTE: コストの高い変数(定数)は、lazy をつけてクラスの初期化コストを抑えた方が良さそう(遅延評価) // 但し、このは場合は大した処理でもないのでほとんど変わらないと思いますが。。。 lazy var osVersion = UIDevice.currentDevice().systemVersion lazy var appVersion = NSBundle.mainBundle().infoDictionary?["CFBundleShortVersionString"] as? String ?? "" lazy var appName = NSBundle.mainBundle().infoDictionary?["CFBundleName"] as? String ??
おひさしブリーフ、かっぱです。 tl;dr 下図のように cron ジョブで定期的にスクリプトを生成して実行させようとした時、スクリプト完了する前に次の cron ジョブが走ってスクリプトが生成されて、そのスクリプトが実行されてしまうような状況に遭遇してどうしたもんかなと悩んでいたら ts というツールを見つけたので試してみた。 memo ts とは http://vicerveza.homeunix.net/~viric/soft/ts/ https://osdn.jp/magazine/09/01/20/0150258 スクリプトやコマンドを ts コマンド経由で実行することで、それらをジョブとしてキューに放り込んで順次実行してくれるツール。冒頭の構成に ts を加えると下図のようになり、cron の開始時間とスクリプトの実行時間の依存関係は切り離される。 導入 CentOS 6 に導
Dockerでいろいろやりたいことがあったので、いろいろ調べてました。 具体的には 設定ファイルのテンプレート化 設定の動的な管理と、変更に伴う継続的な設定の反映 要するに設定が変更されたら設定ファイルが更新されてミドルウェアがリロードされると でまあEntrykitとconfdを教えてもらったんですが、継続的な設定の更新を考えるとconfdがよかろうと。codepの機能は必要ですが、それだけならdumb-initで十分そうでした。 で、以下のようなファイルを用意。 Dockerfile FROM nginx:latest MAINTAINER Genki Sugawara <sgwr_dts@yahoo.co.jp> ENV DUMB_INIT_VERSION 1.1.3 ENV CONFD_VERSION 0.11.0 RUN apt-get update RUN apt-get in
2016 - 08 - 30 知識ゼロから始める専門サイトの作り(Wordpress編)その1 インターネット インターネット-Wordpress Wordpressサイトが作りたい! はてなブログで4年ほど泡沫ブロガーとして細々と生活していましたが、少し浮気してワードプレスで専門ブログか専門サイトを作りたいと思うようになってきました。そこで突貫工事で専門サイトを立ち上げたのでその手順などを公開しておきます。なんせ、ほぼ知識ゼロです。突っ込みどころしかないと思います。諸先輩方のアドバイスなどあればよろしくお願いします。 そのジャンルを何故選んだか? 情報サイトでオーソリティーを目指そう!: 10年先も生き残る安定志向のサイト構築論 ( id:aki3824 )さんは著書に「専門性、自分自身の興味が続きそうなもの」でサイトを構築しろ!と書かれています。ブログ本はかなり読みましたが、その中でも
Amazon RDSを参考にしたとりまチューニング 1. Update 2010/7/21 Amazon RDSを参考にした とりまチューニング 2016/08/19 関西地区PostgreSQL勉強会 株式会社ロックオン 三原俊介 1 2. Update 2010/7/21 自己紹介 2 3. 2012.04 株式会社ロックオン入社 インフラユニット 現在 マーケティングPF 開発部 主にインフラ全般、開発環境の改善、 ロックオフの管理人などなどやってます 三原 俊介– Shunsuke Mihara 自己紹介3 4. 始める前のアンケート4 質問: みなさんDBのチューニング経験はありますか 1. PostgreSQLを使ったことがある方 2. PostgreSQLのチューニングをしたことがある方 3. MySQLを使ったことがある方 4. MySQLのチューニングをしたことがある方
プログラミングをしていて関数や変数名をつけるときに、毎度のことのように考えるのが手間、とはいえ、適当なネーミングでも違和感あるし……。なにより他のエンジニアが見たときに「なんだこりゃ、分かりにくい。」というのは避けたいところ。 そういったプログラミングにおけるネーミング問題を解消できるツールや情報をまとめてみたので、是非、参考にしてみてください! 1. codic codic ネーミングと言えば、一度は使ってほしいド定番の「codic」。簡単に言うとネーミング辞典サービスで、日本語の動詞で終わるように文章を入力するとプログラミングでよく使われるようなネーミングを提案してくれます。さらに単語のニュアンスも表示してくれるので、和英辞書のような使い勝手というのが分かりやすいでしょう。さらに、ユーザー登録をすれば、辞書として単語を追加していくといった活用も可能。考えずとも最適なネーミングが生成でき
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く