タグ

ブックマーク / qiita.com (36)

  • SwiftでAPI KEYなどの秘匿が推奨される情報の隠蔽化 - Qiita

    何が問題なの? 普段あまり、AWSやFIREBASEなどのサービスの利用を何とか避けてニッチなアプリで凌いでいましたが、ついにそんな悠長な事も言って入れなくなってきました。 改めて、この種のサービスを利用する際に常に気になっていたのが、こんな記法です。SDKがこれらの情報を必要とするのは理解できますが、これらの情報をリテラルで渡すのはかなり気になります。スクリプトなどを介在して環境変数から、これらの情報を渡す場合もあるようですが、コンパイル時にはリテラルになっているのでやはり気になります。 例えば、ターゲットとなるアプリがあったとします。WorldGreatServiceを利用しているのがわかっているものとします。そして、WorldGreatServiceがSDKを公開していたとします。 自分でも同SDKを組み込んでみるとします。自分用のapi-keyとsecret-keyを取得して上記同

    SwiftでAPI KEYなどの秘匿が推奨される情報の隠蔽化 - Qiita
  • 素晴らしいSwiftのポインタ型の解説 - Qiita

    導入 Swiftにはポインタを表すための型として UnsafePointer<T> とその仲間達があります。CoreFoundationなどC言語のライブラリを使う時などに利用することになります。これらのポインタ型のAPIはとてもよく考えられた素晴らしいものです。この記事ではそれを紹介、解説します。C言語ユーザ、C++ユーザにとっても興味深い内容だと思います。(swift 3.0.2) ポインタ型には下記のものがあります。 基ポインタ型 UnsafePointer<T> UnsafeMutablePointer<T> UnsafeRawPointer UnsafeMutableRawPointer UnsafeBufferPointer<T> UnsafeMutableBufferPointer<T> UnsafeRawBufferPointer UnsafeMutableRawBuff

    素晴らしいSwiftのポインタ型の解説 - Qiita
  • iOSアプリ開発にSwift Package Managerを使おう - Qiita

    Xcode 11からSwift Package Manager(以下、SwiftPM)がiOSアプリ開発にも使えるようになりました SwiftPMとは SwiftPMは、Swiftのソースコードで構成されたパッケージを、依存関係を解決しつつ利用できるようにしてくれる、Apple製のパッケージ管理ツールです。オープンソースで公開されています。iOS開発者の人なら、CocoaPodsやCarthageのようなものだと言った方が伝わるかもしれません。 GitHubリポジトリ https://github.com/apple/swift-package-manager Xcode 11が登場するまでは、SwiftPMを使ったアプリというのはコマンドラインからのビルド&実行しかありませんでした。ですから、macOSまたはLinuxのターミナル上で実行するCUIアプリやサーバーサイドのプログラムなどに

    iOSアプリ開発にSwift Package Managerを使おう - Qiita
  • Markdownで画像を挿入するためのMacアプリ「Imgur Uploader」を作成しました。 - Qiita

    宣伝 後継のmacOSアプリ「QuickImageUploader」をリリースしました。 そのため「Imgur Uploader」の更新を終了いたします。長らくご利用いただき当にありがとうございました! Mac関連の記事を発信しているサイト「AAPL Ch.」にてアプリが紹介されました! Imgurに画像をアップロードしてMarkdown形式で返してくれるMac用アプリ「Imgur Uploader」がリリース。 概要 「Markdownはすごく便利だけれど、画像が貼り付けられないのが不便だなあ…」そう思ったことはないでしょうか。 エディタによっては画像貼り付けに対応しているものもありますが、画像はそのエディタ内で保存されてしまうため、共有や移植性を考えると不便なことがあります。 そこでGooglePhotosに代表されるアップロードサービスにアップロードし、そのURLをMarkdow

    Markdownで画像を挿入するためのMacアプリ「Imgur Uploader」を作成しました。 - Qiita
  • なるべく切れない回線のつくりかた(物理) - Qiita

    ※当然ながら、障害発生時はどのグレードでも0bpsになります 「なら専用線選んでおけばいいじゃん」と思うかもしれませんが、費用が圧倒的に違い、同じ帯域なら1段あがるごとに2~10倍ほどになります。たとえば5倍として、ベストエフォート100Mbpsで月額10万円なら、帯域確保は50万円、帯域保証は250万円、専用線は1000万円という差になってしまうでしょう。予算は有限ですから、むやみに高い品質を選んでしまうと帯域がとれないということになります。同じ予算であれば、1Gbpsベストエフォートがよいのか、200Mbps帯域確保がよいのかは場合によって異なるので、適切な選択をするべきです。 そして、ベストエフォートはベストエフォートでも、1Gbpsで100Mbpsしか出ないキャリアもあれば、1Gbpsで900Mbpsくらいを保証しているキャリアもあります。これは概ね値段に比例しますが、つまりベスト

    なるべく切れない回線のつくりかた(物理) - Qiita
  • 【令和】Microsoft の元号対応が迷走している件 - Qiita

    はじめに 私は Delphi 使いです。なので、新元号対応は Win32 API に依存していることになります。 Delphi の FormatDateTime() / DateTimeToString() は元号レジストリを参照するので、レジストリに新しい元号が追加されれば新元号対応できる...はずでした。 Era Handling for the Japanese Calendar (Microsoft) 元号が改正された場合の西暦と和暦の相互変換について [JAPAN] (Embarcadero) Delphi/C++Builder 10.2.3 Tokyoの新元号対応について (Embarcadero) 事の始まり 4/10 の井之上@エンバカデロさんのツイートが発端でした。 Windows 10 1809 向けに今日付け(2019/04/10) でリリースされたアップデートのうち

    【令和】Microsoft の元号対応が迷走している件 - Qiita
  • JSONからCodable化されたstructを自動生成するツールを作った話 - Qiita

    はじめに 皆さん,Codableは使用していますか? 便利ですよね。 CodableによってJSONが簡単に扱えるようになった一方で,まだまだ途上という段階で,扱いづらさを覚えている方もいらっしゃるのではないでしょうか。 中でも, Codable: Tips and Tricks One of the major downsides of Codable is that as soon as you need custom decoding logic - even for a single key - you have to provide custom everything: manually define all the coding keys, and implementing an entire init(from decoder: Decoder) throws initial

    JSONからCodable化されたstructを自動生成するツールを作った話 - Qiita
  • システムで「性別」の情報を扱う前に知っておくべきこと - Qiita

    0は性別に関する情報が得られない場合に使います。性別に関する情報はあるのだけど1とも2とも言えない場合は9を使います。要は「0でもなくて1でも2でもなければ9」です。 これを知っていればMだとかFだとかを議論をせずに済みますね。 国際規格に従うべき理由 国際規格に従うことは色々と利点があります。まず、どうしてそういうコード体系にしたのかを説明しやすいです。また多言語対応する際も規格通りに書けば伝わるはずなので迷わずに済みます。別システムへのデータの移行や、異なるシステム間でのデータの統合もコード体系が同じならラクラクです。もしかしたら別のプロジェクトで書いたコードをそのまま使いまわせるかもしれません。技術者に対するトレーニングも不要です。 対して、わざわざ国際規格に反する実装をする場合は上記のメリットがそのままひっくり返ってデメリットになりはしますが、もちろん、それなりの理由があれば規格と

    システムで「性別」の情報を扱う前に知っておくべきこと - Qiita
  • Google Homeで子供の朝支度を促してみる - Qiita

    はじめに うちには幼稚園に通う子供がいます。「バス来ちゃうよ、ご飯急いで!」「遅れちゃうよ、早くトイレに行ってきて!」そんなやり取りが繰り返される毎日。少しだけ険悪なムードになることもあって、はぁ、なんだか朝から嫌だなぁ...。 と、Google Homeで任意の言葉を読み上げることができると知ったより「これ、使えないの?」との発言。人に指摘されるのを嫌うのは、幼稚園児だって同じはず。ナイスアイデア! やりたいこと から指定された要件は以下でした。 指定時刻に、指定した文章を読み上げて。 各曜日ごとに読み上げる文章は変更したいな。 読み上げ以外にも、指定時刻に特定の処理を実行できるようにしておいて。 お、おっけー...。 どうやったか 処理フロー 処理フローは、Googleスプレッドシート→Firebase→ラズパイ→Google Homeとしました。 それぞれの連携では(1)Goog

    Google Homeで子供の朝支度を促してみる - Qiita
  • bashの変数展開によるファイル名や拡張子の取得 - Qiita

    沢山のファイルの名前を変更したり、拡張子を変更する際には、シェル上での操作が便利なことがあります。この場合、ファイル名や拡張子、ファイル名から拡張子を取り除いたものを取得できると便利です。 basenameとdirnameの利用 MacOSLinuxではbasenameコマンドやdirnameコマンドを利用すると、パス名からのファイル名の取り出しやパス名からのディレクトリ部分の取り出しが出来ます。この2つのコマンドの動作は

    bashの変数展開によるファイル名や拡張子の取得 - Qiita
  • 初心者向けシェルスクリプトの基本コマンドの紹介 - Qiita

    こんにちは、初心者向け基コマンドを紹介しているシェルスクリプト入門です。 最後で、ファイル名を一発で変える簡単なシェルスクリプトを書いてみましょう。 環境:Mac OSX El Capitan Terminal; bash / sh shell environment; シェルスクリプトとは シェルスクリプトとは、簡単に言うとUnixコマンドなどを並んで実行するだけです。 いつ何の条件で何の命令を実行するとか、ファイルコンテンツを読み込むとか、ログファイルを書き出すとかをする役割です。 基設定 test.shファイルを作成します。 シェルスクリプトファイルは基的に.shの拡張子で作成します。 実際のコードを書く前に最初の一行目は #!/bin/shを書き、システムにこれからシェルスクリプトを書きますようと知らせるものです。(#はhash、!はbangですから、#!をshebangと言

    初心者向けシェルスクリプトの基本コマンドの紹介 - Qiita
  • [Xcode] 環境変数を設定して、iOS10のおせっかいなログを撃退 - Qiita

    今日の収穫。 iOS 10 からだと思うのですが、コンソールに無駄に(失礼)システムから出力されるので、デバックの為に出力していた print の結果がみずらいと思っていましたが、検索中にこんな情報に遭遇。コンソールに静けさが訪れ快適になったものの、問題のある警告に単に目をつぶってしまう可能性もあるので注意する必要がありそうです。 Xcode のメニューから Product > Scheme > Edit Scheme ... とたどり Run > Arguments > Environment とさらにたどれば、環境変数を設定できます。ツールバーからでもたどる事ができます。 設定する環境変数は以下のとおりです。 Environment Variables Name Value

    [Xcode] 環境変数を設定して、iOS10のおせっかいなログを撃退 - Qiita
  • macOS で ネットからURLでダウンロードするコードが動かなくなり焦って調べてみた - Qiita

    macOS のアプリのコードでネットからのコンテンツがダウンロードされない!? macOScocoaアプリの新規プロジェクトを作り、こんなコードを書いたら動かない事に気がつきました。 do { let url = URL(string: "https://www.apple.com")! var encoding = String.Encoding.utf8 let text = try String(contentsOf: url, usedEncoding: &encoding) print("contents: \(text)") } catch { print("error: \(error)") } dnssd_clientstub ConnectToServer: connect()-> No of tries: 1 dnssd_clientstub ConnectToS

    macOS で ネットからURLでダウンロードするコードが動かなくなり焦って調べてみた - Qiita
  • @codelynxのマイページ - Qiita

    flagParticipating posting campaigns0Participation summarizePosted articles0Articles

    @codelynxのマイページ - Qiita
  • 画像処理の数式を見て石になった時のための、金の針 - Qiita

    $k$は定数で、だいたい0.04~0.06くらいです。Rの値によって以下のように分類できます。 Rが大きい: corner Rが小さい: flat R < 0: edge 図にすると、以下のようになります。 CSE/EE486 Computer Vision I, Lecture 06, Corner Detection, p22 これで手早くcornerを検出できるようになりました。ここで、corner検出についてまとめておきます。 cornerは複数のedgeが集まる箇所と定義できる 変化量をまとめた行列の固有ベクトルからedgeの向き、固有値の大きさから変化量の大きさ(edgeらしさ)がわかる 2つの固有値の値を基に、edge、corner、flatを判定できる 固有値の計算は手間であるため、判定式を利用し計算を簡略化する なお、Harrisはedgeの向きである固有ベクトルを考慮す

    画像処理の数式を見て石になった時のための、金の針 - Qiita
  • 暗黙的アンラップ型(Implicitly Unwrapped Optional)をいつ使うべきか? - Qiita

    仕事Swiftのコードをよくレビューするのですが、どうやら暗黙的アンラップ型(Implicity Unwrapped Optional)をいつ使うべきか迷う方が多いようです。 以下、文中では「暗黙的アンラップ型」で表記を統一します。また、Optional.Noneはnilという表現で統一します。説明を簡潔にするために一部正確でない表現をしている箇所があります。 復習 暗黙的アンラップ型は、 Optional型だけれど、アクセスするときには明示的なアンラップがいらない(強制的にアンラップされる)型 です。 以下のように!を型の後ろにつけて宣言します。

    暗黙的アンラップ型(Implicitly Unwrapped Optional)をいつ使うべきか? - Qiita
    eienf
    eienf 2016/02/22
  • なるべく短い正規表現で住所を「都道府県/市区町村/それ以降」に分けるエクストリームスポーツ - Qiita

    rex = /ごにょごにょ/ p "東京都文京区後楽1丁目3−61".match(rex).captures #=> ["東京都", "文京区", "後楽1丁目3−61"] みたいなやつ。なるべく短く。 実用性? そんなもの、うちにはないよ。 TL;DR 「読むのめんどくさい」という人用に最初に最終結果を置いておきます (...??[都道府県])((?:旭川|伊達|石狩|盛岡|奥州|田村|南相馬|那須塩原|東村山|武蔵村山|羽村|十日町|上越|富山|野々市|大町|蒲郡|四日市|姫路|大和郡山|廿日市|下松|岩国|田川|大村)市|.+?郡(?:玉村|大町|.+?)[町村]|.+?市.+?区|.+?[市区町村])(.+) あまり厳密ではないのでちゃんとしたとこでは使わないほうがいいです 住所データを用意する 郵便局からデータをダウンロードしておく。一ヶ月毎に更新されている。 → 郵便番号データ

    なるべく短い正規表現で住所を「都道府県/市区町村/それ以降」に分けるエクストリームスポーツ - Qiita
  • 完全に単一のHTMLファイルで動作するMarkdownエディタ作った - Qiita

    概要 完全に単一のHTMLファイルで動作するMarkdownエディタ「かんたんMarkdown」を作ったというお話。 お断り 一応簡単に動作検証はしていますが、とんでもないバグが潜んでいるかもしれません。 かんたんMarkdownを利用して大切な文章がなくなってしまったり、その他損害が生じても責任は取れませんm_ _m 経緯 前回の記事(そろそろExcelで資料作るのやめたい)で、 単一ファイルで動くMarkdown 画像をbase64で埋め込んでしまう というアイデアに可能性を感じて下さった方が多いようです1。 しかしながら、 エディタとプレビューアが別なのが面倒 base64に変換するのが面倒 といった意見も多く聞かれました。 そこで思ったのです。ならばエディタを作ってしまえと。 かんたんMarkdown かんたんMarkdownは完全に単一のhtmlファイルで動作するMarkdown

    完全に単一のHTMLファイルで動作するMarkdownエディタ作った - Qiita
  • 旧石器時代のJavaScriptを書いてる各位に告ぐ、現代的なJavaScript超入門 Section1 ~すぐにでも現代っぽく出来るワンポイントまとめ~ - Qiita

    はじめに ネットには様々な情報が溢れており、JavaScriptに関する情報も多数存在しております。 その中には、「今時こんな書き方しねえよ…」と思わずツッコミを入れたくなるような、当に、当に古い内容について書かれている古文書も存在します。 そんな罠記事の情報に囚われてしまって、いつまで経っても現代的なJavaScriptが書けない皆さんのために、このシリーズの記事では、各セクション毎に分けて、旧石器時代の記述と、現代の記述を紹介する形で、文明開化をしていきたいという思いで記述する。 最初は、現在比較的メジャーなブラウザで一通り動作する「ECMAScript 5」までの内容に関してポエムを書き連ねていき、最終的には一連の内容を読むだけで「ES6(ES2015)」による新機能や、絶賛提案中の「ES7」の一部提案内容についても把握し、おおよそ現代人を育成することを目標とする。 …なんてめっ

    旧石器時代のJavaScriptを書いてる各位に告ぐ、現代的なJavaScript超入門 Section1 ~すぐにでも現代っぽく出来るワンポイントまとめ~ - Qiita
  • Programming Langs - Qiita

    Calendars for Programming Langs category in 2015.

    Programming Langs - Qiita