タグ

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

  • 僕「PDFとは何か知りたい」 - Qiita

    追記情報 - (2020/11/7 18:30) @scivola さんのコメントに基づき、 ラスタースキャン、 ベクタースキャン、 ブラウン管 の説明を追加しました。 TL;DR PDFについて次のような内容を(私の好奇心の赴くままに)調べたので共有したいと思います。 「PostScript」とは? 高速ロードの仕組み フォント埋め込み 「PDFってどんなファイルなんだろう」 PDFを使ったこと無い人はいないと思います。 それほど、PDFは身近な存在となる一方で、その仕組みについて触れる機会はほとんどないと言っても過言ではないです。 何百ページにも渡るPDFで開いた時、ページ移動したときに、パッと表示されたりしますよね。 あれってなんでか知っていますか? 私はもちろん知りませんでした。 たまたま仕事PDFをあれこれいじるにあたって、仕様がわかってないこともあり、なかなかうまくいかず

    僕「PDFとは何か知りたい」 - Qiita
    mczh
    mczh 2020/11/09
  • Slackコマンドで社内APIを叩くときに気をつけたこと - Qiita

    はじめに 遠い昔、緊急時などにサーバーへある設定を入れる必要があった際 会社に来る→サーバにアクセスする→設定を入れる という流れを踏む必要がありました。 (当時は社内ネットワークが無く、このような方法を取らざるを得ませんでした) この運用だと緊急にも関わらず、暫定対応ですら数時間後の対応となってしまい困っていました。 その解決のために、SlackAPIを利用して設定を入れる方式を導入しました。 Slackでコマンドを叩く → APIサーバーのAPIが叩かれる → 設定が入る。 しかし、Slackから叩ける = どこからでも叩けるサーバーになってしまうのでセキュリティをいかに担保するかが鍵になっていました。 今回は「どうやってセキュリティを担保したか」を説明していきます。 前提 対象サーバーがNode.jsで書かれていること(今回はNode.jsで実装したため、その説明になります) Sl

    Slackコマンドで社内APIを叩くときに気をつけたこと - Qiita
  • 【JavaScript】本日未明、[ async - await ]さんが死体で発見され... - Qiita

    「な、なんじゃこりゃあああぁあっtっt!!!!」 ・・・ ・・・ ・・・ 非同期処理を"ちゃんと"理解して使いたい 『非同期処理なんとなくの理解で書いている...』 『動いてるし、ヨシ!』 令和プログラマー*1である私自身、なるべく気を付けようと思っていますが、ついついなんとなくで書いてしまいそうになります。 (*1: 令和になってからプログラミングを知った人。初心者のこと。) ちなみに冒頭のコードは、「並列でいける処理をつい直列でやってしまっている」 例です。 実際に手を動かしながら非同期処理の理解を深める 記事は以下の構成で、順を追って非同期処理を学習し、明日から自信を持って非同期処理が書けるようになるためのハンズオンです。 JSの非同期処理について知る Promise について知る Async / Await を使えるようにする 冒頭のコードがリファクタリングできるようになる 実際

    【JavaScript】本日未明、[ async - await ]さんが死体で発見され... - Qiita
  • iPhoneの通信速度をXcodeから一時的に変更する方法 - Qiita

    デバッグの際などにiPhoneの通信速度を変更したい場合、iPhoneの設定アプリにあるNetwork Link Conditionerを使用することがあると思います。 これはとても便利なのですが、使用中においてそれを表す表示がないこともあり、切り忘れることがよくありました。 そこで、Xcode11かつiOS13からはiPhoneNetwork Link Conditionerを切り忘れることがないように、通信速度を変更できる方法が提供されているので紹介します。 iPhoneMacに接続しXcodeを開き、Xcode > Window > Devices and Simulatorsを選択します。 開いたウィンドウ内にDEVICE CONDITIONSというセクションがあり、そこでConditionをNetwork Linkにすることによって、通信速度を変更することができます。 ここで

    iPhoneの通信速度をXcodeから一時的に変更する方法 - Qiita
  • 「ビジネスロジック」とは何か、どう実装するのか - Qiita

    アプリケーション開発で、「ビジネスロジックは分離しろ」だとか「Controller にビジネスロジックを書くな」といったことをよく言われると思います。 しかし、ビジネスロジックという言葉の意味を聞いたり調べたりしてみても、「システムのコアの部分」とか「システムの目的になる処理をするところ」みたいなことを言われたりして、よく分かりませんでした。 そんな中、クリーンアーキテクチャや DDD の戦術的設計について学ぶことで、「ビジネスロジックとは何か」、「ビジネスロジックはどう実装するか」について、自分なりの考えが整理されてきたので、この記事ではそれをまとめます。 ※ 曖昧な言葉を自分としてどう使っているかという話になります。違う意味で使う方もいると思うので、ご注意ください ビジネスロジックとは何か 「システムのコアの部分」とか「システムの目的になる処理をするところ」といった説明も正しいとは思い

    「ビジネスロジック」とは何か、どう実装するのか - Qiita
  • 開発チームの生産性・健全性を客観的に知るためにリポジトリ履歴から機械的に可視化するツールを作った - Qiita

    はじめに ソフトウェア開発のチームの生産性や健全性というものは、内部の体感的として理解できるものの、外部の人間からは見えにくいものです。こういった情報の非対称性は開発チーム外の人々との関係の中での問題の原因になってきました。 また、複数の開発チームやプロダクトを束ねるEM、CTOや、管理職にとってそれぞれの状況を客観的な数字やグラフで可視化することは、全体的な戦略を考える上でも重要な参考情報になります。ですが、アンケートやプロジェクト管理を増やすほど、どんどんと開発メンバーに負担をかけてしまうことになり、計測のし過ぎによる疲れなども誘発してしまいます。 稿では、gitリポジトリのログ情報から、いくつかのグラフを生成し、チームの状況を可視化するためのツールgilotを作成したので、その目的と意図、そして使い方、注意点を解説します。 アプローチ方法 gilotのアプローチは、git log

    開発チームの生産性・健全性を客観的に知るためにリポジトリ履歴から機械的に可視化するツールを作った - Qiita
    mczh
    mczh 2020/06/04
  • PokéAPIを利用してMVP+CleanArchitectureのiOSアプリを作ったので解説する - Qiita

    はじめに 最近、勉強会などで、iOSの業務未経験の人たちと話している時に、これからiOSエンジニアとして仕事を得るためにどういったことを学べばいいのか、業務で実際にどういうことを意識して設計やツールを駆使しているかということをよく聞かれるので、それについて説明することができたらなと感じていました。 実際に業務で作っているコードを公開することはできないので、業務で作っているコードにかなり近い形のサンプルのアプリを作成、公開したので、それを参考にしながら私がどういったことを考えてiOSの業務をこなしているかについてを解説していきます。 注意:これはあくまで私が個人的に思う業務における考え方であって、正解というわけではありません。一つの意見として捉えてもらえると幸いです。 最も重要なことは何か 私は、iOSに限らずアプリケーション開発の業務を遂行する上で、最も重要なことは、アプリケーションのリリ

    PokéAPIを利用してMVP+CleanArchitectureのiOSアプリを作ったので解説する - Qiita
  • おれのおれによるおれのためのMacおすすめ設定 - Qiita

    はじめに 新年度が始まり、PCを新調された方も多いかと思います。 Macを買ったらやっておきたいおれのための初期設定をおれのために記事にまとめました(備忘録)。 皆さんのお役に少しでも立てたらと思います! 記事が長いので初期設定の際に必要な部分だけチラ見して頂ければと思います おすすめの設定がございましたら、コメント欄などで教えていただけますと喜びます 更新履歴 2020/04/28 finderの設定の章で、.DS_Store ファイルの作成を抑制について追記しました。 2020/04/19 スクリーンショットのファイル名変更について記載しました 2020/04/15 Homebrewの章で、Homebrew Cask, mascli, Homebrew Bundleについて追記しました。OpenInTerminal-Liteについて記載しました 2020/04/09 キーのリピート、入

    おれのおれによるおれのためのMacおすすめ設定 - Qiita
    mczh
    mczh 2020/04/07
  • 【翻訳】あなたの(多分)まだ知らない iOS パフォーマンスアドバイス(元アップルエンジニアから) - Qiita

    記事はこの記事の日語訳です。翻訳許可をいただいております。 以下翻訳: もし Cocoa 開発やソフトウェアビジネスのブートストラップについての最新の記事を常にキャッチアップしたいなら、ぜひ Twitter で私をフォローするかメールリストを購読してください。 開発者として、パフォーマンスの良さは我々のユーザにワクワクと嬉しさを与えるのに評価しきれないほど貴重なものです。iOS ユーザの目は非常に高く、そのためもしあなたのアプリが動作がモサモサしたり、すぐにメモリプレッシャーでクラッシュしたりすると、彼らはあなたのアプリを削除するか、最悪悪いレビューまで残してしまうでしょう。 私はアップルに 6 年間を在籍し、その歳月を Cocoa フレームワークやファーストパーティーのアプリに費やしてきましいた。私が手掛けたものには Spotlight、iCloud、app extensions、そ

    【翻訳】あなたの(多分)まだ知らない iOS パフォーマンスアドバイス(元アップルエンジニアから) - Qiita
  • iOSアプリ個人開発で使ってるツールとかノウハウを公開してみる - Qiita

    開発言語 開発当初はObjective-Cで書いていましたが、やはりSwiftの方がStruct/EnumなどSwiftyに書けるのが便利で、徐々にSwiftへ移行しています。 Swift / Objective-C(古い機能はObjective-Cで書いてあるので移行中) HTML/CSS(アプリサポート用サイトのコーディング) Python(画像のリサイズなどで自動化スクリプトをつくるとき) Ruby(fastlaneのアクション作成) Bash(Info.plistの設定変更やxcodebuildの自動化バッチをつくるとき) 利用しているWebサービス 定番のサイトも多いですが、カテゴリ分けして整理してみました。 リファレンス系 以下に書いてあるサイト以外にも個人の技術ブログなどにもとてもお世話になっています。 Qiita(情報収集/アウトプット) Developers.IO(情報収

    iOSアプリ個人開発で使ってるツールとかノウハウを公開してみる - Qiita
  • [GitHub] まだ PR レビューで『typo』ってコメントしてるの?(Suggestion機能で修正提案する) - Qiita

    [GitHub] まだ PR レビューで『typo』ってコメントしてるの?(Suggestion機能で修正提案する)GitHub Tl;Dr Suggestion(Cmd + g) で修正提案のコメントができ、 取り込む人は diff を確認し、 Commit suggestion からボタン一つでコミットして取り込める。 追記:2020/02/27 まだ、ベータ段階だが複数行の修正提案にも対応された。 Suggestion Change 冒頭のようにsuggestionをつけたコード形式で記述すると、修正提案という形でコメントできる。 単純なtypoであればこのままコメントしても伝わるだろうし、補足したいことがあれば冒頭のように説明を追加することも出来る(これが適切な例かは別として)。 取り込む人は diff を確認してボタン一つでコミットできるし、レビュアーは自身のコメントが取り込まれ

    [GitHub] まだ PR レビューで『typo』ってコメントしてるの?(Suggestion機能で修正提案する) - Qiita
  • Chrome拡張の高速な英語辞書ツールをつくりました(Mouse Dictionary) - Qiita

    経緯 もともとMouseoverDictionaryという素晴らしいFirefox用辞書があったのですが、Quantumの登場とXULの廃止とともに使えなくなってしまったため、自分用にChrome拡張をつくった次第です。 ソースコード 実装に関わる技術寄りの用語: React, esbuild, chrome.storage.local, chrome.storage.sync, Cross-extension messaging, Hogan, debounce, resizable/draggable, intl.v8BreakIterator, deinja, クロスブラウザ, など。 ※詳細は「Mouse Dictionaryの技術的な話」をご参照ください https://qiita.com/wtetsu/items/2a5568cb0b5a38c003fb 使い方 インストール

    Chrome拡張の高速な英語辞書ツールをつくりました(Mouse Dictionary) - Qiita
  • 自作JSの読み込みはbodyの最後に書いたほうがいいのに、なんで外部ライブラリはheadにあるんでしょうか? - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 調べるキッカケ 最近フロントエンドを触り出して、JQueryの勉強(初歩中の初歩)をしていたのですが、 「JSの読み込みはbodyの最後に」という決め事があるようで、ちょっと気持ち悪いので調べていました。 すこしググると見解として、 HTML中にJavaScriptファイルを読み込む記述があると、そのJavaScriptを読み終わるまで、ウェブページのレンダリング(描画)が止まってしまうからです。 https://allabout.co.jp/gm/gc/380498/2/ などと記載されていて、なるほどと思ったのですが、 Qiitaの

    自作JSの読み込みはbodyの最後に書いたほうがいいのに、なんで外部ライブラリはheadにあるんでしょうか? - Qiita
  • Slack Bot をサーバーレスで運用する時の、タイムアウト対策【小技】 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに Slack Bot をサーバーレスで運用したい、という需要、それなりにあると思います。 ここで Slack Bot と呼んでいるのは、例えば、こういうのです。 https://github.com/saken649/NameThinking https://github.com/saken649/NameThinkingLambda /ntcamel ユーザー名を取得する と打ったら、getUsername と返してくれる、そんなのです。 これを行うには、Slack API の Slash Commands という機能を使いま

    Slack Bot をサーバーレスで運用する時の、タイムアウト対策【小技】 - Qiita
  • 無料で最強のクラウドノート環境を手に入れる - Qiita

    最強の無料クラウドノートとは 自分がクラウドノートに求めていた条件 デバイス間同期 マークダウンで書ける コードブロックのシンタックスハイライト 高度な検索 ブラウザからアクセス可能 カラーセットのカスタマイズ プラグインによる拡張 Vimキーバインド バージョン管理 とまぁいろいろあったんですが、これを無料で実現するのは今まで無理でした。 というか有料でもあるのか分からん… が!最近、一見関係のない2つの記事を読んで閃いてしまいました。 ブラウザでVS codeが使えるクラウド IDEの大命「Coder」 (上記を自前ホストできるのがこちら→) code-server GCPで永久無料枠を利用してサービスを立ち上げたときにしたことの備忘録 (あれ?自分の求めてるクラウドノート、8割がたVSCodeで出来るやん?) ・ ・ ・ (ていうかcode-server使ってクラウドに乗せれば11

    無料で最強のクラウドノート環境を手に入れる - Qiita
  • Googleが大量の機械学習用データベースを無料公開してた - Qiita

    個人用メモです。 機械学習は素材集めがとても大変です。 でもこの素材集め、実は無理してやらなくても、元から良質な無料データベースがあったようなのです。 URLはこちら YouTube8-M https://research.google.com/youtube8m/explore.html 提供されているサービスは以下の通り 800万個の動画 19億個のフレーム 4800個の分類 使い方はExploreから画像セットを探し、ダウンロードするだけ。 他の方法も見つけた open images dataset 「すごい神だな」と思ったのは これもう完成されてますよね もちろんこの認識前の画像もセットでダウンロードできます。 Youtube-8Mとは、画像数を取るか、精度で取るか、という違いでしょうか。 他にも良い素材集を教えていただきました (はてなブックマーク情報 @sek_165 さん )

    Googleが大量の機械学習用データベースを無料公開してた - Qiita
  • 世の中のエンジニアのalias設定 - Qiita

    先日、同僚と「世の中のエンジニアはターミナルにどんなalias設定をしているんだろう?」という談義になったので、GitHub上の1000リポジトリのコードから調査してみました。 2019/04/10 コメントを元に微修正しました。コメントくださった方々、ありがとうございます。 2019/04/11 こんなのも書いてみました。 よく使われているvimrcの設定ランキング 2019/04/15 プラグイン版も書きました。よく使われているvimのプラグイン top20 aliasとは wikipediaより UNIXなどにおいてコマンドを別名で登録したもの。別名を登録するコマンド名。 長いコマンドやいつも利用するオプションを毎回入力するのは手間ですよね? ターミナルの設定ファイルにaliasを記述することで、別名として定義することが可能というわけです。 調査方法 GitHub APIを利用 do

    世の中のエンジニアのalias設定 - Qiita
  • ユーザのブラウザで起きた JavaScript のエラーを収集する - Qiita

    なぜエラーを収集するのか バグ探し バグを見つけて潰していくため ユーザからのバグ報告の補助 ユーザに報告の負担をかけないため エラーを取得する 取得タイミング window.onerror Promise のエラー フレームワーク毎の特定のタイミング window.onerror window.onerror にメソッドを登録しておくことでエラー発生時にそのメソッドが呼ばれる。try-catch でハンドリングしていないエラーが流れてくる。

    ユーザのブラウザで起きた JavaScript のエラーを収集する - Qiita
  • 【2019年4月版】JavaScriptのconsoleがすごいことになってた。 - Qiita

    JavaScript の console がすごいことになっているらしい。 日、以下の記事を見つけました。 Getting creative with the Console API! この記事で紹介されている console のメソッド全然知らなかったのでビックリしましたが、実際にどう表示されるのか載っていなかったのでChromeのコンソールでスクショを取ってみました。 console.log() 文によるとlogメソッド内のテキストリテラルは以下の書式で値のフォーマットと置換ができるそうです。 %o / %O - for objects; %d / %i - for integers; %s - for strings; %f - for floating-point numbers; マジすか・・・ そんなわけで以下のコード console.log("Object value:

    【2019年4月版】JavaScriptのconsoleがすごいことになってた。 - Qiita
  • Slack API 新機能の Block Kit を使ってより情報的なレストラン検索コマンドを作ろう - Qiita

    Published: 2019-03-28 Updated: 2020-02-11 OAuth 権限設定についての変更がありましたので、チュートリアルのその設定部分の編集しました。 こんにちは、みなさんいかがお過ごしですか。さて最近、Slack の新しいメッセージ UI フレームワーク Block Kit がリリースされました。これを使えば皆さんの Slack アプリから送信できるメッセージがさらにリッチになり、例えばタスクのリストや投票結果などが一つのメッセージでより情報的になります。 Block Kit は、ビジュアルツール Block Kit Builder を使うとさらに簡単にプロトタイプでき、さらにこのツールで生成された JSON ストリングをコードにそのまま組み込むことができます。 このチュートリアルでは、シンプルなレストラン検索結果を表示させ、そのユーザ・エクスペリエンスを

    Slack API 新機能の Block Kit を使ってより情報的なレストラン検索コマンドを作ろう - Qiita