タグ

2019年12月5日のブックマーク (49件)

  • リクナビ問題 運営会社に2度目の勧告 購入の37社にも指導 | NHKニュース

    就職情報サイト「リクナビ」の運営会社が、学生の内定辞退率を予測し、企業に販売していた問題で、政府の個人情報保護委員会は、新たに不適切な情報の取り扱いが明らかになったとして運営会社に2度目の勧告を行うとともに、データを購入していた37の企業にも指導を行いました。 その後、委員会がさらに調査を進めた結果、リクルートキャリアは、個人を特定しない形で企業側にデータを販売していたものの、企業側が学生のIDなどを分析すれば、容易に個人の特定が可能だったことが分かりました。 委員会は、リクルートキャリアが、この仕組みを知りながら販売を続けていたと指摘し、極めて不適切な情報の取り扱いだったとして4日付けで個人情報保護法に基づく2度目の勧告を行い、組織体制の見直しなどを求めました。 また、データを販売されていた学生の数は、当初、今年度分のおよそ8000人とされていましたが、調査の結果、昨年度の分も含め、およ

    リクナビ問題 運営会社に2度目の勧告 購入の37社にも指導 | NHKニュース
    nabeatsu1
    nabeatsu1 2019/12/05
  • iOSのUIを構築する仕組みと学ぶステップを考える - Qiita

    過去を振り返って iOSを学びはじめて一番最初に戸惑ったことは どうやってUIを作成するのか? ということでした。 最初Xcodeでプロジェクトを作成すると Main.storyboardがあり Storyboardを使ってUIを作成していくものだと思いましたが 色々なサイトで情報を調べてみると コードレイアウト Xib(Nib) AutoLayout autoResizingMask など色々なUIの構築方法が出てきて 結局何が良いのかがわからなくなりました。 今回は これからiOSを学ぶ人向けへの UIの構築方法のまとめ記事があったので それを参考にして どのようなUIを構成する方法があるのか? どういう時にどの方法が選ばれているのか? 何を学び、どう学ぶのか? について見ていきたいと思います。 Xcodeの始まり AppleのSDKは 1997年のスティーブジョブズの2番目のスタート

    iOSのUIを構築する仕組みと学ぶステップを考える - Qiita
    nabeatsu1
    nabeatsu1 2019/12/05
  • 技術的負債とどうやって戦うか - Qiita

    プロジェクトが進行するにつれて増える『負債』 長いプロジェクトに携わっていると、技術的負債をいつ返すのかが課題になってきます。 リファクタリングはいつの時点でやるのか、これは長いプロジェクトを運用していく上で問題になっていきますが、今回は負債の種類を整理し、それぞれどう対応をしていけばよいかを考えていきたいと思います。 私達の開発では常に時間が足りない 最近読んだ、「アジャイルサムライ」というには下記のようなことが書いてありました。 (開発における)3つの真実 プロジェクト開始時点にすべての要求をあつめることは出来ない 集めたところで要求はどれも必ずと言っていいほど変わる やるべきことはいつだって与えられた時間と資金よりも多い 以上のことからわかるように、私達の開発には時間が無いということが常だということがわかります。実際、技術的負債が多いプロジェクトほどこの傾向が強いのではないでしょう

    技術的負債とどうやって戦うか - Qiita
    nabeatsu1
    nabeatsu1 2019/12/05
  • スピード優先の開発で溜まった技術的負債の返済計画(サーバーサイド編) - dely Tech Blog

    こんにちは! dely株式会社サーバーサイドチームの安尾です。 記事はdely Advent Calendar 2019の5日目の記事になります。 qiita.com adventar.org 昨日は辻さんが「Jupyterもいいけど、SageMath使って可能性もっと伸ばそう!」という記事を書きました。 tech.dely.jp 日は「スピード優先の開発で溜まった技術的負債の返済計画(サーバーサイド編) 」というタイトルで、今delyのサーバーサイドチームの技術的負債についての考え方から、負債返済のために具体的に行なっていることをご紹介したいと思います。 技術的負債とは 抽象的な言葉なので、組織や人によって微妙に定義が異なるのではないかと思いますが、僕たちのチームでは「未来の開発スピードを下げる原因となるプログラムやアーキテクチャのこと」を総称して技術的負債と呼ぶようにしています。

    スピード優先の開発で溜まった技術的負債の返済計画(サーバーサイド編) - dely Tech Blog
    nabeatsu1
    nabeatsu1 2019/12/05
  • 技術的負債への後悔と返済|Seiji Takahashi@ベースマキナ

    反省文。 tl;dr・「後から改善すれば良い」のスタンスは、返済コストを甘く見積もっている結果 ・負債の返済にはコーディング以外の工数が大きくかかってくる ・技術的負債を"徐々に"返済することは様々な面で良い 出社即リファクタリング最近出社した直後に、こっそりリファクタリングの時間を一定程度取るようにしている。朝のウォーミングアップがてら改善作業をしていると、瞑想みたいな効果があって大変気分がよくなるし、その後のコーディングも生産性が上がる。大体こういう気分。 具体的な作業は、アーキテクチャの方針が固まってなかった時代のコードの1つのエンドポイントだけ、適切なレイヤ化を施したり、単体テストが可能なメソッドとして切り出しつつ実際にテストを書いたり、テストに必要な共通処理を定義したり、だ。 初期から機能追加を重点的に行ってきたプロダクトでは、スピード優先の名目で多くの負債が生まれる。こうした負

    技術的負債への後悔と返済|Seiji Takahashi@ベースマキナ
    nabeatsu1
    nabeatsu1 2019/12/05
  • Scrapbox への更新がどれくらい活発におこなわれているかを Pixela で可視化する - えいのうにっき

    現在、個人メモのソリューションを Scrapbox に移行することを試しております。 scrapbox.io もともと Scrapbox に対しては「当に......?」と訝しんでいたところもあったんですが(スミマセン)、働いてる会社に導入されて実際に触ってみてからというもの、その書き心地にすっかりハマってしまいました。特にハッシュタグの機能がとてもイイですね。このブログの下書きも Scrapbox で書いてます。 一方の Pixela は、拙作の Web API サービスです。日付単位で数値を記録することができ、その大小を GitHub のアレみたくグラフ化することができます。基無料です。 pixe.la Patreon で支援いただくこともできて、その場合いくつかの限定機能を使うこともできるようになります。 www.patreon.com この Pixela と Scrapbox

    Scrapbox への更新がどれくらい活発におこなわれているかを Pixela で可視化する - えいのうにっき
    nabeatsu1
    nabeatsu1 2019/12/05
  • Why you must not ask questions on Github issues

    TL;DRAsking questions on issue tracker may be a DoS attack to developers. Use user forum for discussion, if it exists. BackgroundBefore the Github era, many OSS projects had issue trackers and forums (BBS or ML). Users discuss on forum and report bugs to issue tracker. Issue tracker was place for issue tracking. When a user asks a question on the forum, other users helped them. It breeds “user com

    nabeatsu1
    nabeatsu1 2019/12/05
  • 生産性が向上する!2019年版Mac初心者にオススメしたいアプリ - Qiita

    はじめに 3年前にこういう記事を書いていました。 生産性が向上する!Mac初心者にオススメしたいアプリ6選 3年経過してもう使わなくなってしまったアプリや、今も使っていて新しい機能を見つけたりしたので2019年版を書くことにしました。 Karabiner-Elements https://pqrs.org/osx/karabiner/ macOSのキーバインドをカスタマイズするツールです。 普段USキーボードを使用しているのですが、英数とかなの切り替えを左右のCMDキーで行えるようにしたり、キーリピート速度を変更したりできるので重宝しています。 よく使われるキーバインド設定がパッケージ公開されているので、それをインポートするだけで設定が完了するのも楽で良いです。 escキーを押したときに、英数キーも送信する(vim用)といった、Vimmerには地味に嬉しいキーバインドも簡単に導入出来るので

    生産性が向上する!2019年版Mac初心者にオススメしたいアプリ - Qiita
    nabeatsu1
    nabeatsu1 2019/12/05
  • メルペイ社内ツールのお話 | メルカリエンジニアリング

    Merpay Advent Calendar 2019の5日目です。 メルペイ社内ツールのお話をしようと思います。 “個人事業主の集まりかよ”と評されることもある、メルペイソリューションチームの一員である、vvakameさんが開発・管理しているツールやシステムの紹介をします。今まであんまり外に出したことがなかったので。 mercari/datastoreなどのオープンになっているものや、OSSへのPRなどの社外からも観測可能なものは今回は割愛します。 そもそも、ソリューションチームとは? vvakame(TypeScript, Go, GraphQLなど)、sinmetal(GCPほぼ全部 最近Spanner)、orfeon(Dataflowなど)の3名で構成される、何かを適当にいい感じにするチームです。 メンバー募集中なので興味がある方は適当にアポイントを取ってください。Job Desc

    メルペイ社内ツールのお話 | メルカリエンジニアリング
    nabeatsu1
    nabeatsu1 2019/12/05
  • 中年が継続的に体調とメンタルを良好に保つノウハウ - onigra.github.io

    中年が継続的に体調とメンタルを良好に保つノウハウDecember 5, 2019 by Yudai Suzuki この記事はClassi Advent Calendar 2019 5 日目の記事です。 前回は、yukoono さん による Classi の新卒エンジニア向け研修、「万葉研修」について でした。 さて、今回はタイトルの通り、エンジニアリングとは関係の無い内容です。 はじめに30 代も半ばに差し掛かかったこともあり、おっさんの例に漏れず体の衰えを強く実感しています。 そして、この歳では「健康」が重要なスキルセットになると自覚するようになりました。 継続的に健康でいられるということは、自分にも周りにも労働の成果の予測が立てやすくなるということで、 自分の仕事に対する信頼につながっていきます。 おっさんが「つらいにゃん…」と言っても誰も同情してくれません。 もういい歳なので、自分の

    nabeatsu1
    nabeatsu1 2019/12/05
  • Rust初心者がRustで全文検索サーバを作ってみた - Qiita

    情報検索・検索エンジン Advent Calendar 2019 の5日目の記事です。このAdvent Calendarを作った@takuya_aさんより、お誘いいただきました。 @minoru_osuka もし余裕あれば12/5の記事お願いします! https://t.co/YIA9tIB4Gj — takuya-a (@takuya_b) December 1, 2019 ということで、仕事とは別で個人的に始めたプロジェクトについて紹介できたらと思います。 私自身はApache Solrを好んで利用しています。 ただ、最近のサーバサイドの技術の移り変わりや、新しい開発言語の登場など、取り巻く環境が変化してきています。それらの習得も踏まえ、使ったことのない開発言語を用いて軽量な全文検索サーバを作り始めるという内容です。 開発した経緯 インフラの変化 ここ数年でインフラは大きく変化しました

    Rust初心者がRustで全文検索サーバを作ってみた - Qiita
    nabeatsu1
    nabeatsu1 2019/12/05
  • 彼氏自慢のパスタが不味い【追記】

    作ってもらって申し訳無いけど、美味しくない。 「ペペロンチーノは乳化が命!」うん、分かったよ。 「パスタ中華麺じゃないから、オイルやソースと絡めるときフライパンの火は止める!」そーなのね。 「ペペロンチーノは乳化が命だから、麺をフライパンに入れたあとしっかり混ぜ合わせる!」うん 「盛り付けは麺から、高さが出るように置いて上からソースと具!」はい。 「仕上げに加熱してないオリーブオイル!」うん。 ヌルいんだよ。私は暖かいパスタべたいの。最速で乳化と盛り付けができるなら全部間違ってないんだけど、火を消したフライパンを何回も返して執拗に乳化させて、盛り付けもモタモタしてたらそりゃ冷める。トドメに冷たいオリーブオイル。「ねっとでしらべたぼくのさいきょーのペペロンチーノ」でしかない。 って言うことをオブラートに包んで伝えたらスネちゃった。冷めそう。 【追記】 ここまでで起承転結が良いとか、冷め

    彼氏自慢のパスタが不味い【追記】
    nabeatsu1
    nabeatsu1 2019/12/05
  • ARKitのための3D数学 - Qiita

    この記事はiOSDC2018で発表した内容のまとめ、そして続きになります。 ARKitのための3D算数 iOSDC Japan 2018 筋肉ネタを含んだスライド ARKitやSceneKitは用意されたAPIを使えば色々なことが簡単にできてしまいますが、 高度なことをしようとすると、空間ベクトル、座標変換などの算数(数学)の知識が必要になることに気づくでしょう。 例えば以下の例を見てみましょう。 カメラの前にスタンプを置く カメラの前に文字を書く カメラの前に文字を書いたり、スタンプを書いたりする際、一度カメラ座標で考えてからワールド座標に変換すると簡単に表現することができたりします。 ということで、記事ではARKitを使いこなすために自分が勉強した3Dプログラミングと基的な算数(数学)について分かりやすく説明します。 ARKitで使う座標系 まず、基ですが、ARKitでは右手座標

    ARKitのための3D数学 - Qiita
    nabeatsu1
    nabeatsu1 2019/12/05
  • Asynchronous operations for writing concurrent solutions in Swift

    nabeatsu1
    nabeatsu1 2019/12/05
  • Getting started with Operations and OperationQueues in Swift

    nabeatsu1
    nabeatsu1 2019/12/05
  • Concurrent vs Serial DispatchQueue: Concurrency in Swift explained

    nabeatsu1
    nabeatsu1 2019/12/05
  • SwiftRocks - By Bruno Rocha

    nabeatsu1
    nabeatsu1 2019/12/05
  • NSCopying uses in Swift

    nabeatsu1
    nabeatsu1 2019/12/05
  • APIKit による通信リトライの実装と、OHHTTPStubs によるその実装のテスト - Qiita

    これはゆめみ Advent Calendar 2019 3日目の記事です。 リトライ実装編 リクエストの再送信、つまりリトライはよくある用件ですが、通信のリトライの一番面倒なところは通信は基非同期で動くので、初心者にはかなり厄介な部分になるかと思います。しかし実はこの非同期のリトライ要件は、再帰呼び出しとクロージャの組み合わせを使えばそれほど難しい要件ではありません。 今リファクタリングにあたってるとあるプロジェクトでは通信部分を APIKit で実装しているので、今日はこの APIKit を利用した場合のリトライ実装を解説します。 まず、リトライの実現するための再帰呼び出しですが、私の経験則では 外に使ってもらうための呼び出し と、呼び出しないで実際使っている再帰用呼び出し を分けて作った方が仕様変更に柔軟なのと、ソースコードが読みやすいです。つまり: // 再帰呼び出し用のメソッ

    APIKit による通信リトライの実装と、OHHTTPStubs によるその実装のテスト - Qiita
    nabeatsu1
    nabeatsu1 2019/12/05
  • Swiftでビジネスロジックを実行するUseCaseのprotocolを作りたい話 2019 - Qiita

    この記事はSwift 5.7以前に書かれたものです。そのため下記のprotocolは型消去せずとも実装可能となっています。 最初にこの文章の結論 この文章は、ロジックを処理する次のような型をアプリケーションの中で定義してみたらどうかな、と考えているのを文章にしてみたものです。 protocol UseCase { associatedtype Parameters associatedtype Success func execute( _ parameters: Parameters, completion: ((Result<Success, Error>) -> ())? ) func cancel() } なぜこんな事を考えているかというと、iOS VIPERアーキテクチャ研究読(仮)という電子書籍を作ってみたいなと考えていて、まずはサンプルコードを作ろうとしているためです。 V

    Swiftでビジネスロジックを実行するUseCaseのprotocolを作りたい話 2019 - Qiita
    nabeatsu1
    nabeatsu1 2019/12/05
  • [Swift] AnyPokemonリターンズ ~型消去型の弁明~ - Qiita

    書いたこと 型消去型とは 型消去型の大変心苦しい立場 型消去型とは AnyPokemon について AnyPokemonは、平常心で型を消しさるで紹介された型消去型です。 これを変更して、型消去型とは何なのか、どうして必要なのかを考えてみます。 AnyPokemon おさらい ポケモンは、雷属性ポケモン、炎属性ポケモンのように属性によって分類することが出来ます。 この属性の違いを型として表す場合、オブジェクト指向で考えれば、ポケモンクラスからサブクラスとして派生させるアプローチが一般的です。 ですが、Swiftのstructは継承が許されていません。 そこでProtocolを用います。(※1)

    [Swift] AnyPokemonリターンズ ~型消去型の弁明~ - Qiita
    nabeatsu1
    nabeatsu1 2019/12/05
  • id(_): Identifying SwiftUI Views - The SwiftUI Lab

    nabeatsu1
    nabeatsu1 2019/12/05
  • |Swiftでバイナリ🔟🔟🔟を扱う?!>🐧  - Qiita

    Swiftでバイナリファイル扱うことはそんなに頻繁にはないと思うのですが、 案件の中でAndroidチームの人が、巨大なJSONファイルをバイナリに圧縮して処理していて、 iOSアプリでも同じようにできるんじゃないかということで、バイナリを扱うことになったので、その知見を残します。 なお僕がやりたかったのは、倍精度浮動小数点数(漢字多すぎですよね)のバイナリファイルを、 Swift上でDouble型の配列に落として使いたい、というのがゴールでした。 ※バイナリの絵文字として01が出したかったのですが、🔟しかなかったので、仕方なく🔟を使っています。 x進数のリテラル バイナリファイルを扱う前に、Swiftのリテラルを確認しましょう。 2.1.7. 数値リテラル | 基 | Swift let decimalInteger = 17 let binaryInteger = 0b10001

    |Swiftでバイナリ🔟🔟🔟を扱う?!>🐧  - Qiita
    nabeatsu1
    nabeatsu1 2019/12/05
  • SwiftUIアプリ開発実践ポイント - Qiita

    こんにちは、たなたつです SwiftUIが発表されて半年ほど経ちましたね。あっという間に時間は過ぎていき、iOS 13以降じゃないと使えないし、まだ気にしなくていいでしょなんて言ってられなくなるのもあっという間な気がします。 iOS Advent Calendarの5日目ということで今回は、いくつかSwiftUIでサンプルアプリを作ったり、実際にアプリをリリースしたりした中でたまってきた知見を書こうと思います。 SwiftUIは様々なプラットフォームで動きますがiOSアプリに注目し、開発する前に知っておきたい実践的なポイントなどを共有します。 ※ Xcode 11.2.1、iOS 13.2.1 での動作を元に記事を書いています。 SwiftUIの特徴 少ないコードでUIを作れる (コードレイアウト) 宣言的に記述できる Appleのすべてのプラットフォームで動く ただし、iOS 13、ma

    SwiftUIアプリ開発実践ポイント - Qiita
    nabeatsu1
    nabeatsu1 2019/12/05
  • FirestoreのArrayContainAnyクエリでタイムラインを実装してみた - Qiita

    nabeatsu1
    nabeatsu1 2019/12/05
  • [SwiftUI]sheetで遷移するView間で値を引き渡す - Qiita

    はじめに この記事はジーズアカデミーAdvent Calendar 2019 3日目の記事です。 こんにちは!Dev(週末コース)8期の@Ryu0823といいます。 ジーズではWebコースで、最後のDemo dayも参加できなかったのですが、卒業してからもいろいろな言語をかじり、最近はSwiftUIでアプリを制作しています。 SwiftUISwiftより簡単かつわかりやすいと感じていますが、まだ新しい言語のためできないこともあったり、情報も少ないのが現状です。 そこで今回は、sheetで遷移する場合にView間で値を渡す方法を探すのに苦労したので、備忘録的に書いてみます。 完成形は↓ やることと初期状態 FirstViewからsheetとしてSecondViewを表示し、SecondViewで入力された値をFirstViewに表示します。 struct FirstView: View {

    [SwiftUI]sheetで遷移するView間で値を引き渡す - Qiita
    nabeatsu1
    nabeatsu1 2019/12/05
  • apple好きやiOSエンジニアが活用したいよく見る情報リソース - Qiita

    Androidも大切だが、iOSアプリなどは特にレギュレーションが変わったり仕様の変更が激しい。 そんな中で随時情報を追いかけるのは大切なことなので個人的に定期的に参考にしている情報リソースのメモです。 そしてapple好き・ガジェット好きとしての趣味も含まれる。そんな方にオススメ。 iPhone Mania その名の通りiPhoneマニア apple関連のニュースや、レギュレーションの変更、リーク情報、iPhoneの便利機能など満載 カミアプ iPhoneの小技やニュースなど gori.me iPhone/iPad/Macbookの使い方や最新ニュースなど Akiba PC Watch 秋葉原のショップでapple商品のオトクな入荷情報など ガジェット好きにはおすすめ ITmedia News appleに関わらずIT関連の時事ニュース満載 GIZMODE ITmedia同様、apple

    apple好きやiOSエンジニアが活用したいよく見る情報リソース - Qiita
    nabeatsu1
    nabeatsu1 2019/12/05
  • [iOS] アプリクラッシュでリジェクトされた際のクラッシュレポート復元方法 - Qiita

    はじめに iOSアプリのストア申請時、アプリがクラッシュするとリジェクトされますよね。 そこで添付されたクラッシュログを復元する方法に手間取ったので、どのように解決したかを紹介します。 なぜ手間取ったか 調べると、dSYMからクラッシュログを復元する方法はたくさん出てきます。 私の環境では、CIでビルドからAppStoreConnectへのアップロードまで行っていた為、dSYMはAppStoreConnectからダウンロードしていました。 そのdSYMとアップルが送ってくれたクラッシュログの紐付けうまくいかず、手間取ってしまいました。 一般的には クラッシュログ(xxx.crash)と、予め保存しておいたdSYM(アプリ名.app.dSYM)を、symbolicatecrashにわせてやると、復元できます。 私の環境 AppStoreConnectからダウンロードしたdSYMは、appD

    [iOS] アプリクラッシュでリジェクトされた際のクラッシュレポート復元方法 - Qiita
    nabeatsu1
    nabeatsu1 2019/12/05
  • 詳解AdMob - Qiita

    広告に関する実装をしてきて、やっと納得のいく実装ができた気がしたので備忘録的にまとめようと思います。 今後モバイルアプリに広告の導入を検討されている方の手助けになれば幸いです。 ユーザー影響大きいのでご利用は計画的に... 下記のような実装は経験できたので関連でもし質問などあれば回答できることもあるかもしれません。 バナー広告 メディエーションする ヘッダービディングをラップする RecyclerViewの中で使う RemoteConfigと連携する ネイティブ広告 メディエーションする RecyclerViewの中で使う Firebase A/B Testingと連携する インタースティシャル広告 メディエーションする RemoteConfigと連携する AdMobについて(3行) Firebase機能群の1つで、アプリ内に広告を表示することができる機能 複数の広告フォーマットに対応して

    詳解AdMob - Qiita
    nabeatsu1
    nabeatsu1 2019/12/05
  • Effective Unit Testing

    nabeatsu1
    nabeatsu1 2019/12/05
  • CocoaPodsでFirebaseをmain target以外に入れることができない問題(解決済) - Qiita

    iGhostというアプリで @_mono さんと話したことをシェア。 Firebaseに強いSwiftラヴ🐶くん https://t.co/Rg8JX3gNwC #iGhost #チャットアプリ pic.twitter.com/Qcen4RZcGh — takasek (@takasek) 2018年2月19日 やりたいこと 3層アーキテクチャ(Presentation/Domain/Infra)でいうInfra層をembedded frameworkとして分割し、Infra層内にFirestoreを隠蔽したい。 しかし、そこに立ちはだかる問題。 Firebaseをmain target以外に入れることができない。 どういうことかというと、 (パターン1) Infra.frameworkにのみFirebaseを入れる Podfileを書きます。 platform :ios, '11.2'

    CocoaPodsでFirebaseをmain target以外に入れることができない問題(解決済) - Qiita
    nabeatsu1
    nabeatsu1 2019/12/05
  • 【再入門】UICollectionViewとUITableViewのセルを選択したときに見た目を変える方法 - Gunosy Tech Blog

    こんにちは。iOSアプリを開発している吉岡(rikusouda)です。 こちらは Gunosy Advent Calendar 2019、5日目の記事です。なお、昨日の記事は齊藤さんのA/Bテストの時間短縮に向けて 〜ベイズ統計によるA/Bテスト入門〜 でした。 qiita.com はじめに iOSアプリを開発していると、UICollectionViewとかUITableViewでセルを選択状態にしたときに表示を変えたいことがちょくちょくあります。 実現方法を検索エンジンで調べて見ると自前で選択状態を管理する方法が複数出てきました。具体的に言うと「 tableView(_:didSelectRowAt:) や tableView(_:cellForRowAt:) でcellに対して選択状態の変更通知を出して、そこで表示を切り替える方法」です。 この方法でももちろん機能を実現できるので選択肢

    【再入門】UICollectionViewとUITableViewのセルを選択したときに見た目を変える方法 - Gunosy Tech Blog
    nabeatsu1
    nabeatsu1 2019/12/05
  • ‎A Companion for SwiftUI

    Discover SwiftUI like never before with Companion for SwiftUI—an interactive documentation hub covering all SwiftUI elements, whether you're developing for iOS, macOS, tvOS, or watchOS. The latest update features the complete set of additions from WWDC 2023, bringing its repository to over 2800 entries. Here are some of its key features: • Comprehensive Coverage: Get in-depth insights into SwiftUI

    ‎A Companion for SwiftUI
    nabeatsu1
    nabeatsu1 2019/12/05
  • iOS13時代のSVG表示設定方法 - Qiita

    はじめに デザイナーからアイコン素材としてSVGが納入される機会が出てきたこの頃。 WWDC2019のIntroducing SF Symbolsの中で**AVOID rasterizing!**と言ってるくらいなので、 iOS13時代のアプリでSVGを扱う方法は何が最適か試行錯誤してみました。 (Xcode 11 beta3, Deployment Target = iOS 12.0) 前提: SVGKitなどのライブラリは使いません。 SVGのサイズ SVGは拡大しても大丈夫なはずなのですが、 SVGは3x画像のサイズに設定してください。 1x画像サイズにすると、2x画像、3x画像がギザギザになります。 (iOS12以下にて) デザイナーへ発注するときにお願いするのが理想的ですが、 **「SVGは拡大してもギザギザにならないんだからサイズ指定するとかおかしいでしょ!」**と些細な事で揉

    iOS13時代のSVG表示設定方法 - Qiita
    nabeatsu1
    nabeatsu1 2019/12/05
    SVGKitを使わないiOS13以降のSVGの扱い方について
  • Repositoryによる抽象化の理想と現実/Ideal and reality of abstraction by Repository

    Repositoryによる抽象化の理想と現実/Ideal and reality of abstraction by Repository

    Repositoryによる抽象化の理想と現実/Ideal and reality of abstraction by Repository
    nabeatsu1
    nabeatsu1 2019/12/05
  • 知ってますか?Youtubeのメタタグを見るとそのバンドが、人からどう見られたいか一目瞭然なんすよ - BASEMENT-TIMES

    音楽雑誌のヘッドラインの「○○が語ったホンネ。三万字インタビュー」みたいなのを見るたびに、なーにが音じゃ!と思う。 雑誌そのものの存在を否定するわけではないが、インタビューで音、というものに関しては疑問が残るのだ。 一応曲がりなりにもウェブマガジンを名乗りインタビューをしたりされたりした経験から語らせていただくと、インタビューで音なんてのは、芸能人のスッピン自撮りと一緒。普段より薄いだけでバッチリ化粧してるし、ゴリゴリにsnowされたスッピン風の何かである。 何故かというと、インタビューで音を語ったところで何の掲載する側も掲載される側もなんのメリットもないから。雑誌はバンドのことを「カッコいいもの」として推していきたいので格好のつかない音なんてのは載せたくないし、バンド側だってマイナスになるようなことをワザワザ言う必要は全くない。 面接でありのままの自分を語るヤツなんて一人もいな

    知ってますか?Youtubeのメタタグを見るとそのバンドが、人からどう見られたいか一目瞭然なんすよ - BASEMENT-TIMES
    nabeatsu1
    nabeatsu1 2019/12/05
  • さよなら本番サーバー - Qiita

    とあるSESの現場では番リリースの時期が近づいてきており、僕を含めた数人のエンジニアは間に合いそうもない残作業の開発を進めたり、番で使うためのデータの整備を番サーバー内で行ったりしていた。ほとんどがその案件のために集められたメンバーだったため特に和気あいあいとするでもなく、エアコンの風の音が響く小さなオフィスの片隅で静かに作業をしていた。 業務上のやりとりもRedmineで行われており、声を発するのもたまにメンバー同士で話をしたり、クライアントから電話がかかってきた時だけ。その日もメールで通知が届いてきており、確認してみるとRedmineで僕が関係しているチケットにコメントが届いているという通知だった。 通知のURLをクリックしてRedmineのチケットを確認してみる。 それによると一旦番サーバー上に存在するデータの中の一部の主要データをCSV形式で送ってほしいという依頼だった。無

    さよなら本番サーバー - Qiita
    nabeatsu1
    nabeatsu1 2019/12/05
  • 物事の深堀りと他の視点 - daiiz

    普段はこういうネタはTeamJのプライベートなScrapboxだけに書いていたのですが、よく考えると特に秘密にする内容ではなかった

    物事の深堀りと他の視点 - daiiz
    nabeatsu1
    nabeatsu1 2019/12/05
  • PREMY - 毎日を、プレミアムに。

    毎日を、 プレミアムに。 月額たったの3980円で、映画館も美術館も水族館も動物園も植物園も科学館も博物館も プラネタリウムもタワーもぜーんぶ1000円引きになるお得なパスポート。

    PREMY - 毎日を、プレミアムに。
    nabeatsu1
    nabeatsu1 2019/12/05
  • 権限移譲する技術 - 宮田昇始のブログ

    SmartHRの社長の宮田です。 この記事は SmartHR Advent Calendar 2019 3日目の記事です。 ソフトウェア開発にも役立つであろう「権限移譲」について書こうと思います。 胸を張って「これが得意です」と言えるものってそんなに無いのですが、CTOの芹澤さんから権限移譲だけはホメてもらえます。最近では「もしかしたら得意なのかも?」と思えるようになりました。そんな私が気をつけているポイントをまとめています。 権限移譲について学んだことはなく、独学です。そのため、すごーく当たり前のことしか書いてないかもしれませんし、逆に一般論からかけ離れている可能性があります。 あくまで、私が気をつけているポイントとして読んでいただければ。 いかに権限移譲してきたか? はじめに、私の権限移譲について紹介します。 半年でプロダクトにノータッチに 起業する前、私はWebディレクターとして仕事

    権限移譲する技術 - 宮田昇始のブログ
    nabeatsu1
    nabeatsu1 2019/12/05
  • メルペイで使っているBottomHalfModalをOSSにしました | メルカリエンジニアリング

    Merpay Advent Calendar 2019 の3日目は、 Merpay iOS チームの @masamichi がお送りします。 メルペイで使っているBottomHalfModalというUIをOSSにしました。このOSSの紹介と中身の実装について紹介します。 github.com 目次 BottomHalfModalとは 使い方 内部実装 SheetPresentationController SheetAnimationController 終わりに BottomHalfModal BottomHalfModalとは メルペイでは銀行からのチャージや、メルペイスマート払いの利用上限額の選択、メルカリ内購入の確認などにこのUIを使っています。 [左]銀行からのチャージ [右] メルペイスマート払いの利用上限額の選択 今回公開したメルペイで使用しているBottomHalfModa

    メルペイで使っているBottomHalfModalをOSSにしました | メルカリエンジニアリング
    nabeatsu1
    nabeatsu1 2019/12/05
  • 通信制大学 サイバー大学 オンラインでITとビジネスを学び、大学卒業資格(学士号)を取得できる

    サイバー大学 卒業まで一切通学不要で、学士号(大卒資格)を取得可能な通信制大学。「マイクロクレデンシャル制」を取り入れた独自のカリキュラムでIT・ビジネスのプロフェッショナル人材を育成するIT総合学部を設置しています。

    通信制大学 サイバー大学 オンラインでITとビジネスを学び、大学卒業資格(学士号)を取得できる
    nabeatsu1
    nabeatsu1 2019/12/05
  • 時間は有限なのでHabitifyを使って能力を高めることで一日を実質48時間にし圧倒的なパフォーマンス向上を実現する - Kentaro Kuribayashi's blog

    記事では、パフォーマンスを高める目的でよい習慣をみにつけるために必要な考え方、ツールを用いた実践について述べる。 良い習慣が限られた時間におけるパフォーマンスを高める 「人間は習慣の生き物である(Humans are creatures of habit)」とは、アメリカのプラグマティズム哲学者であるジョン・デューイの言葉だという。出典にあたって確かめたわけではないので、そのフレーズのいわれている文脈はわからないため誤解している可能性は否めないものの、習慣について語る文章では頻繁に引かれる言葉であるため、多くの人々の心を捉え続けていることは確かだろう。経験的にも、悪い習慣によってこれまで無駄にしてきた様々なことが思い浮かぶし、良い習慣を身につけることが高いパフォーマンスにつながることは普通にありそうなことだ。 また、時間は誰にとっても平等であるみたいなこともよくいわれる。長い目で見れば早

    時間は有限なのでHabitifyを使って能力を高めることで一日を実質48時間にし圧倒的なパフォーマンス向上を実現する - Kentaro Kuribayashi's blog
    nabeatsu1
    nabeatsu1 2019/12/05
  • マルチモジュールなプロジェクトにおける画面遷移の実装 | メルカリエンジニアリング

    Merpay Advent Calendar 2019 の4日目担当は メルペイ Android チームの @KeithYokoma です。 Android アプリ開発ではこれまで、画面を構築するためのフレームワークとして Activity と Fragment があり、画面遷移もそれぞれに異なる API を使って実装していました。 近年では Navigation Architecture Component が登場し、これまで自分の手で記述していた Activity や Fragment 間の画面遷移が XML で表現できるようになりました。 あるいは、bluelinelabs/Conductor のような Fragment を代替する UI フレームワークを使う場合、フレームワークに備わっているナビゲーションの API を使って画面遷移を実装しているはずです。 一方で、より軽量で効率の

    マルチモジュールなプロジェクトにおける画面遷移の実装 | メルカリエンジニアリング
    nabeatsu1
    nabeatsu1 2019/12/05
  • Slackの内容を見落とさない工夫 - Konifar's ZATSU

    Slackに慣れてない人は、流れが速すぎてメンションされていても見落としてしまう...という悩みがあると聞いた。そこで、Slackの内容を見落とさないために工夫できることを雑にまとめておくことにする。適当に書いていくので、自分にマッチしそうだと思ったら使ってみるといいかもしれない。 あまり見てないチャネルから抜ける いつの間にか参加しているチャネルが増えがち。チャネルが増えると未読が増えて、次第に未読を気にしなくなってしまう。このチャネル見てないし見てなくても実は問題ないなと思ったらエイヤとLeaveしてみるとよい。自分は定期的に10個くらい抜けたりする。 Mute機能で未読を無視するという手もあるけど、個人的には無視するくらいなら見なくていいはずなので抜けた方がいいと思っている。 スターを使う いわゆるお気に入り的なやつ。 スターをつけておくと、右上のスターボタンから一覧で確認できる。

    Slackの内容を見落とさない工夫 - Konifar's ZATSU
    nabeatsu1
    nabeatsu1 2019/12/05
  • 数学得意じゃない系の社会人エンジニアに競プロとAtCoderを全力で布教したい。あるいは競プロのよくある誤解と楽しむコツ - Qiita

    Help us understand the problem. What is going on with this article? このエントリはCompetitive Programming (1) Advent Calendar 2019 4日目のエントリで、バーチャル幼女プログラマーきりみんちゃんが書いています。 きりみんちゃんはVTuberとしてAtCoderの過去問を解く配信をしたりしています。 競プロ、しっていますか? さて、みなさんは競技プログラミング/プログラミングコンテストというものをご存知でしょうか。 かなり昔から行われているものではあるので、存在は知っているという方が多いかもしれません。 競技プログラミングをざっくり説明すると、期待される入力と出力が定義された問題が出題され、それをコーディングによって解き用意された自動テストを通すまでの速度などを競うコンテストです

    数学得意じゃない系の社会人エンジニアに競プロとAtCoderを全力で布教したい。あるいは競プロのよくある誤解と楽しむコツ - Qiita
    nabeatsu1
    nabeatsu1 2019/12/05
  • Cloud Runは便利!GCPの月額費用を4万円以上節約した話 - Qiita

    g4というサービスを運営しているのですが、ここ数ヶ月間でGCPの月額費用を4万円以上節約したので、経緯を書いておきます。 7月の費用 ¥53,818 9月の費用 ¥18,801 詳しくはこちらのレポート 11月の費用 ¥7,333 詳しくはこちらのレポート 5月はこんな感じでした。 完全にやらかしてますね!!敗因は 無料期間なのもあり利用料金気にせずに使っていた そして無料期間の終わりを忘れていた アラートを設定していなかった です。 まずは、 7月の費用から約3万円節約するために、GAEのオートスケール周りの設定を見直しました 7月の状態は 番: (GAE flexible/custom cpu x 2) x 2台 ステージング: (GAE flexible/custom cpu x 2) x 2台 (DBに関しては番とステージングで同じインスタンスを使っています) でした。これは、

    Cloud Runは便利!GCPの月額費用を4万円以上節約した話 - Qiita
    nabeatsu1
    nabeatsu1 2019/12/05
  • DIコンテナの実装を理解して、軽量 DI コンテナを自作しよう - Qiita

    なぜ DI コンテナを自作するのか 関心の分離がされているアプリケーションは変更に強く、良い設計と言えます。Dependency Injection(以下 DI) は関心の分離を実現する テクニックの 1 つとしてよく見られるパターンです。しかしクラス間の依存関係が増えれば増えるほど、注入する依存を作ることは困難になり、DI のコストは段々と膨らみます。そのようなとき、 依存を自動で解決し、欲しいインスタンスをすぐにとりだせる DI コンテナ は有効な解決手段となり得ます。 JavaScript/TypeScript においても DI コンテナを提供するライブラリが存在します。例えば、InversifyJS や tsyringe などが知られています。しかし既存の DI コンテナは、DI 以外の機能を持ち、また使い方も多岐にわたるため、知識の習得コストがかかります。そこで 必要最小限の機能

    DIコンテナの実装を理解して、軽量 DI コンテナを自作しよう - Qiita
    nabeatsu1
    nabeatsu1 2019/12/05
  • Node.jsへのコントリビュート解説、そしてOSSへ貢献するということ - 別にしんどくないブログ

    この記事は Node.js Advent Calendar 2019 - Qiita の2日目の記事です。遅くなってしまいました。 Node.js体へのコントリビュート解説記事です。この記事は不足している情報や更新があれば、モチベーションが続く限り更新していきたいと思っています。 JSConf JPのスタッフの打ち上げのときに日人のNode.jsへのコミットしている人が少ないという話がでました。 Node.jsに限らずOSSへのコミット経験があるという人は私の周りには少ないです。 もちろんOSSにコミットしているから良い悪いという話ではなく、Node.jsやOSSにコミットしてみたいと相談いただくことが時々あるので僕の経験でよければ伝えたいと思いました。 私の経験からNode.jsへのコントリビュート方法の解説とOSSへの貢献を通じて得たものについて書き残しておきたいと思います。 言葉

    Node.jsへのコントリビュート解説、そしてOSSへ貢献するということ - 別にしんどくないブログ
    nabeatsu1
    nabeatsu1 2019/12/05