タグ

ブックマーク / qiita.com (2,516)

  • なぜシェルスクリプトはPOSIX準拠でも環境依存が激しいのか? 〜POSIXの問題点とその解決策の案〜 - Qiita

    なぜシェルスクリプトはPOSIX準拠でも環境依存が激しいのか? 〜POSIXの問題点とその解決策の案〜ShellScriptBashshellPOSIX まえがき この記事は「シェルスクリプトで高い移植性と生産性を両立させるシリーズ」の第一弾です。移植性と生産性を両立させるための前提知識として POSIX コマンドの問題点について解説します。第二弾では高い移植性と互換性を実現させるための考え方、そして第三弾、第四弾ではそれを実現するシェルスクリプトの具体的な実装テクニックを紹介します。第五弾では現実的な問題と回避方法について解説する予定ですがまだ具体的な内容は決まっていません。第五弾はその前に「シェルスクリプト入門(仮)」の記事を書こうと思ってるので少し遅くなると思います。もし興味がある方は記事をストックしていると更新時に通知されると思います。 2021-07-11 追記 記事が長くなった

    なぜシェルスクリプトはPOSIX準拠でも環境依存が激しいのか? 〜POSIXの問題点とその解決策の案〜 - Qiita
  • エラトステネスの篩の活用法を総特集! 〜 高速素因数分解・メビウスの反転公式 〜 - Qiita

    とても久しぶりです! 1 年ぶりの投稿となりました、大槻 (通称、けんちょん) です。 去年、『AtCoder 版!マスター・オブ・整数』と題して、プログラミングコンテストで出題される整数問題を解くときに有効な考え方を特集する記事を 2 書きました! AtCoder 版!マスター・オブ・整数 (素因数分解編) AtCoder 版!マスター・オブ・整数 (最大公約数編) 今回はその続編として、素数を列挙するアルゴリズムであるエラトステネスの篩を特集していきます。なお今回の記事の内容は、競プロへの応用を意識していますが、純粋に数学的興味に沿って読み進めることもできるものになっています。下図は、これから紹介するエラトステネスの篩のイメージ図です。 0. はじめに エラトステネスの篩は、$1$ 以上 $N$ 以下の素数をすべて列挙する方法です。たとえば $20$ 以下の素数を列挙すると、$2,

    エラトステネスの篩の活用法を総特集! 〜 高速素因数分解・メビウスの反転公式 〜 - Qiita
  • Markdownファイル校正手順 - 実務編 - Qiita

    npm のちょっとしたオプションについては以下を参照。 Step.1 体と最低限のルールをインストール 任意のフォルダを作成。 C:\workspaces\textlint_work cd C:\workspaces\textlint_work npm init -y npm install --save-dev textlint textlint-rule-preset-ja-spacing textlint-rule-preset-ja-technical-writing 上記で、textlint 体 + プリセット2つをインストールする。 preset-ja-spacing preset-ja-technical-writing npx textlint --init で、.textlintrc が生成される。 Step.2 追加のルールをインストール 上を参考に入れてみる。 n

    Markdownファイル校正手順 - 実務編 - Qiita
  • 綺麗なコミットログを作りたいときのgitテクニック - Qiita

    これは何 僕は開発作業をしているとき、PRをあげるまでの開発途中はwipコミットに変更を記録していき、最後にコミットを仕上げていくような作業をよくします。 初めからコミットを綺麗に書きながら開発ができれば良いのですが、 にあるようなコミットログを仕上げていこうと思うとどうしても最後にコミットログを整理したくなります。 この記事はこのようにgitを使うと綺麗なコミットログを作れるよ、というTipsです。 具体的にこういうコミットを作ると良いよ、みたいな話はこの記事ではしません。 僕はこのような工程でPRを出す前にコミットログを作っています。 git rebase -iで作業中のコミットを全て一つのコミットにsquashする git reset HEAD~で一度コミットを取り消す git add -pで作りたいコミットごとに変更をstageにあげていく コミットを作成する git rebase

    綺麗なコミットログを作りたいときのgitテクニック - Qiita
  • エンジニアリングマネージャーになる前に知りたかった考え方 - Qiita

    Qiitaで期間限定開催中の、「エンジニアによるマネジメント」に関する記事を投稿するイベントへの参加記事です。 マネジメントを始めて悩んだこと 約1年前、アシスタントマネージャーという役職をいただき、エンジニアリングマネージャー(以下、EM)としての業務を開始しました。EMになると1on1やメンバーの目標設定、チームづくり、チームの代表として事業部リーダーズミーティングへの参加などの新しい業務をしながら、それまでのプレイヤーとしての業務も行い、目の前の業務をこなすのにいっぱいいっぱいでした。 そんな中で常に「自分がマネージャーとしてきちんとできているのかが分からない」という不安を持っていました。また、どんなスキルをつけて、どうなれたら正解なのかというイメージが見つからず悩んでいました。 ある時、先輩との1on1で、「(メンバーとの1on1やメンバーの育成を)どうしてそれをやるのか」と問われ

    エンジニアリングマネージャーになる前に知りたかった考え方 - Qiita
  • COCOAの開発経緯について調べた - Qiita

    (2021/6/17 思った以上に伸びたため、主語がデカイままだと問題かと思いましたので、タイトルを修正しました。失敗、と当初書いたのは調査のモチベーションのためでしたが、現在進行形で運用されているシステムに対して失敗、と書くのは大変失礼な記述でした。関係者の方々、誠に申し訳ありませんでした。この記事のモチベーションは、COCOAの初回リリースまでを主なターゲットにしており、2020年夏以降のことについては、あまり追えてもいなければ、正直、理解もできておりません。) このメモの目的 COCOAアプリの成り立ちを深く知ることで、COCOAアプリの開発経緯を探りたい。 立ち入らないこと セキュリティ周りの話 Exposure Notification APIの挙動 調査のモチベーション 精神的に苦しい思いをした人が居る 何があったか 現場(厚労省結核感染症課)目線 現場目線は「仕方ない」の連鎖

    COCOAの開発経緯について調べた - Qiita
  • ブラウザのUser-Agentが滅茶苦茶になってしまった理由 - Qiita

    はじめに ブラウザとそうでないもの(ブラウザのふりをしないボットなど)を見分けるためには、HTTPリクエストで使われているUser Agentヘッダーを使用することが多いです。 例えば、みなさんもこの怪しいUser Agentを見たことがあると思います。ChromeのUser Agentです。 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36 ChromeがWebKitを使っているのは分かるのですが、Mozilla、Geckoとかとは全く関係ないはずですがw... むしろ敵同士です。しかも何故かSafariのバージョンまで入ってます。 少し古いですがUser Agent一覧を見ると、ほとんど全てのブラウザがMoz

    ブラウザのUser-Agentが滅茶苦茶になってしまった理由 - Qiita
    alcus
    alcus 2021/06/15
  • 単一責任の原則とは何だったのか - Qiita

    はてブで単一責任の原則(Single responsibility principle)について、もう一度考えるといふ記事を見掛けて、なんとなく懐かしい気持ちになった。久し振りにこの言葉を見たなって。 「一つのモノに一つの責任 (役割) を」といふモットーは、初めて聞いた時にはすごくもっともらしく聞こえるんだけど、いろいろ考へてくと結局「責任が一つであるとはどういふことなのか?」「といふか、責任って一つとか二つとか数へられるものなのか?」といふ疑念を抱くよね。俺も昔さう思ひました。 で、この菅野さんの記事では「責任が一つであるとは、一人の利用者 (アクター) に対してだけ責務を果たすこと」といふ話をしてゐる。その理解はたぶんそんなに間違ってはゐないと思ふ。ブコメに「作者の人そこまで考えてないと思うよ」とかいふコメントもあったけれども、菅野さんの記事が信用できないと思ふんならボブ人による記

    単一責任の原則とは何だったのか - Qiita
  • 無料プランは百害あって一利なし - Qiita

    Don't offer a Free Planという非常に力強い主張があったので紹介してみます。 著者はGuido( Twitter / GitHub / Webサイト )です。 Don't offer a Free Plan もしあなたがSaaSプロダクトを提供しているのであれば、無料プランを提供することに意味はないかもしれません。 無料プランはホスティングコストだけではなく、リアルのコストがかかります。 サイトでは、これらの検討事項について解説し、そして無料プランにかわる手段について提案します。 The costs of a free plan 無料プランは、ユーザにプロダクトを知ってもらい、そして後に有料プランにアップグレードしてもらうことを期待します。 プロダクトにもよりますが、無料プランのユーザが増えてもサーバ代にはほとんど変化がありません。 しかし、実際には大きなコストがかか

    無料プランは百害あって一利なし - Qiita
  • 色々書き比べた結果Tailwind CSSにしたという話 - Qiita

    Twitterでこういう発言を見かけまして Tailwind CSSはデザインに凝ってるサイトでは使えない こだわりが無い場合に向いている は?何いってんの? って思ったので、自分がいろいろ試した結果、Tailwind CSSを選んだ話を書きます。 はじめに 以前、Tailwind CSSは結構いいぞって話を書いたんですが、この記事の立ち位置的にはその続きみたいなものなので、以下の記事を始めにご参照いただけるとより分かりやすいかもしれないです。 この記事では、前回記事を書いた後、個人仕事でWebサイトをGatsbyで作り、その中で、どうやってCSSを書くのが良いのか模索した結果、自分はこれを選んだっていうのを、同じUIを色々な方法で書き比べたコードを並べつつ、どうのこうの筆者の考えを述べていきます。 その仕事はほとんど筆者が「まかせてくださいよーいい感じに作りますよー。デザインそろってない

    色々書き比べた結果Tailwind CSSにしたという話 - Qiita
  • Angular と Firebase で月間 3.5億PV になった PWA の収益性改善とコストカット - Qiita

    と、振り返ってみると毎年綺麗に 300% 成長でこれていますね。 (流石に来年はきついと思います^^; 今回は、そんな サービスを拡大する上で欠かせない収益の話 と 成長したからこそ表面化したコストの話 をまとめていきたいと思います。 収益の話 参照:https://jp.freepik.com PWA は稼げない 昨年の Advent Calendar にて、私はたいそう嘆いておりました(TДT) Web 側の広告は MPA(マルチページアプリ)を前提にしているものがほとんど Web 側では広告の表示を最適化できない(MPA 前提の規約上バックグラウンドで読み込んでおけない それに加えて、SPA のページ遷移が早すぎて広告が表示される前に通過してしまう アプリ側にはインタースティシャル広告やリワード広告といった単価の高い広告商材が豊富に存在する そういった要因から、PWA におけるページ

    Angular と Firebase で月間 3.5億PV になった PWA の収益性改善とコストカット - Qiita
  • フロントエンドの刺激的なコーディング課題6選 - Qiita

    素晴らしい課題でコーディング意欲を高めよう。 Photo by Ferenc Almasi on Unsplash. はじめに コーディングを上達させる最も効率的な方法の1つは、できるだけたくさん作ることです。 コーディング課題は、ものを作ることで自分のスキルアップする楽しい方法です。この記事のリストを参考に、何か選んで作り始めましょう! 急いでいる時や、コーディングのアイディアを枯渇させたくない時は、100以上の課題をここにまとめてあります。 課題には好きなツールを使えるので、練習したいものがあれば、気軽に挑戦してみてください。 1. タスクマネージャUI なんて美しいアプリケーションでしょう!クリーンでモダン、インテリジェントなUIです。 Aysenur Turkによる「CSSグリッドを使ったタスクマネージャーUI」 学べること HTMLCSSを使用する方法。新しいCSSグリッドを試

    フロントエンドの刺激的なコーディング課題6選 - Qiita
  • イスラエル8200部隊出身のガチプロハッカーに、一流のハッカーになる方法について聞いてみた。 - Qiita

    私がインターンで勤めている企業のハッカーは、イスラエル国防軍におけるサイバー攻撃・防御の超精鋭部隊、 8200部隊出身のガチプロハッカーです。8200部隊はアメリカのNSAと並んで世界最高のハッキング技術を持つと言われています。高校卒業後に兵役の義務があるイスラエルで、なんと彼は大学の学位を取り終えて、入隊したそう。 そんなスペシャルなハッカーに、東京大学で(一応)コンピュータ関係を専攻する私が、「一流のハッカーになる方法」について聞いてみたら面白かったので、人の許可を得てその邦訳を記事にしてみました。 イスラエルのハッカーエコシステム イスラエルの8200部隊について教えてください。 8200部隊はイスラエル軍におけるインテリジェンスユニットです。詳しい内容は秘密事項でお伝えすることはできませんので、Wikipediaなどを見ていただくのが早いと思います(笑)。主にサイバーセキュリティ

    イスラエル8200部隊出身のガチプロハッカーに、一流のハッカーになる方法について聞いてみた。 - Qiita
    alcus
    alcus 2021/06/01
  • スクラムにおける朝会の目的は進捗共有ではないよという話 - Qiita

    これは何 スクラムを採用していてもしていなくても、朝会(デイリースクラム)を行っているチームは多いと思います。 最近僕が在籍するQiita株式会社のチームで朝会が形骸化してない?みたいな話があったので、そもそも朝会を行う目的と、朝会で行うべきことについて記事化していきたいと思います。 今回はスクラムを採用している前提で話をするので、朝会=デイリースクラムとします。 デイリースクラムの目的は進捗共有ではない デイリースクラムで、進捗共有をして終わりになっているチーム、意外と多いのではないでしょうか。 しかし、そもそも進捗の共有をしないといけない理由を考えなければなりません。 もしチームのみんながやっていることを知りたいだけであれば、朝会などでみんなで集まらなくとも日報や日々のチャットの中で把握はできるのではないでしょうか。つまり、朝みんなで時間をとって集まっている以上、ある程度のリターンがな

    スクラムにおける朝会の目的は進捗共有ではないよという話 - Qiita
  • 家のポストに荷物が投函されたらSlackに通知が来るIoTやってみた - Qiita

    概要 最近は家にいることが多くQOLを上げていきたいと常々考えております。家のポストに荷物やチラシが投函されたら、Slackに通知が来るIoTをやってみました。 仕様 ① エントランスのポストのフタが開いたらCloud Functionsをコールする ② コールされたCloud FunctionsがWebHookでSlackに通知を送る どうやって実現するか? 仕様は簡単です。ただ「ポストのフタが開いた」ことをトリガーとするデバイスが、ネットワークに接続している状態でなければ実現ができません。マンションのエントランスにあるポストから、自分の部屋のWifiを接続することはできません。 その課題を解決するためにSORACOMが販売している「SORACOM LTE-M Button Plus」を購入して実現することにしました。 SORACOM LTE-M Button Plus とは? SORA

    家のポストに荷物が投函されたらSlackに通知が来るIoTやってみた - Qiita
  • Ricty を神フォントだと崇める僕が、フリーライセンスのプログラミングフォント「白源」を作った話 - Qiita

    誰もが知る(?)プログラミングフォントこと Ricty にインスパイアされ、Ricty のように英文フォントと和文フォントを合成したプログラミングフォントを作りました。 その名も、プログラミングフォント「白源 (はくげん/HackGen)」です! 白源 (はくげん/HackGen) 通常版 生成元にはプログラミング向け英文フォント Hack と、Adobe 製作の源ノ角ゴシックに丸みを付けた派生フォント 源柔ゴシック を使用させていただきました。 白源の生成元である Hack、及び源柔ゴシックには、いずれも SIL Open Font License Version 1.1 という大らかなライセンスが適用されているため、改変及び配布が自由となっています。したがって、白源の生成済みフォントファイル (ttf ファイル) は GitHub からダウンロードして、すぐにご利用いただけます。 「白

    Ricty を神フォントだと崇める僕が、フリーライセンスのプログラミングフォント「白源」を作った話 - Qiita
  • 実生活に学ぶアルゴリズム【第 1 回:セブンイレブンでは 500 円で何カロリー得られるか?】 - Qiita

    こんにちは、大学 1 年になったばかりの E869120 です。 私は競技プログラミング趣味で、AtCoder や日情報オリンピックなどに出場しています。ちなみに、2021 年 5 月 9 日現在、AtCoder では赤(レッドコーダー)です。 記事では、アルゴリズムが実生活と結びつくトピックについて紹介したいと思います。 【シリーズ】 実生活に学ぶアルゴリズム【第 1 回:セブンイレブンでは 500 円で何カロリー得られるか?】 実生活に学ぶアルゴリズム【第 2 回:3 つのアルゴリズムで最適なソーシャルディスタンスを求める】 実生活に学ぶアルゴリズム【最終回:1000 個の六角形ピースをたった 45 回の切断で作る方法、そしてアルゴリズムを学ぶ意義】 1. はじめに 21 世紀となった今、世の中には様々な問題があふれていて、そのうちいくつかは皆さんの生活の中で考えたことがあると思

    実生活に学ぶアルゴリズム【第 1 回:セブンイレブンでは 500 円で何カロリー得られるか?】 - Qiita
  • 2021年に知っておきたいJavaScript最適化技術34選 - Qiita

    最新の省略テクニック、コツ、秘訣で、JavaScriptコードを最適化する。 開発者の生活というのは常に新しいことを学ぶことで、その変化についていくことは決して難しいことではありません。私は、フロントエンド開発者として知っておく必要のある省略形や機能など、JavaScriptのすべてのベストプラクティスを紹介して、2021年の生活をより快適にしたいと考えています。 JavaScript開発に長く携わっている人でも、コードを追加しなくても問題解決できるような最新機能を知らないこともあるかもしれません。ここで紹介するものは、クリーンで最適化されたJavaScriptのコード記述にも、2021年のJavaScriptの面接準備にも役立ちます。 これは新しいシリーズで、2021年版のJavaScriptコーディングチートシートです。 1. 複数の条件を持つif 配列に複数の値を格納し、includ

    2021年に知っておきたいJavaScript最適化技術34選 - Qiita
  • クラウドエンジニア(AWS)ロードマップ2021 - Qiita

    お知らせ 2022年初頭に記事を元にしたAWS書籍が技術評論社より全国出版決定いたしました。 関係者各位のご協力に深く感謝いたします。 タイトル:AWSエンジニア入門講座――学習ロードマップで体系的に学ぶ 書籍出版までの制作プロセス、チーム執筆の方法論などをまとめました チームで技術書を出版して学べた共同執筆メソッド はじめに インフラ初学者がAWSを用いた設計・構築レベルに到達するため、学習の全体像をロードマップ図にまとめました。 背景 パブリッククラウド全盛期においてAWSは全エンジニアにとって「常識」となりました。 しかしながら、情報過多によってAWS学習に必要な情報がネット上のノイズに埋もれてしまい、初学者の直感による判断が誤った学習に行き着くこともあります。 このロードマップはAWS学習の全体像を俯瞰でき、パブリッククラウドを用いた設計・構築レベルに到達するまで導く体系的なス

    クラウドエンジニア(AWS)ロードマップ2021 - Qiita
  • Amazon Auroraの先進性を誰も解説してくれないから解説する - Qiita

    TL;DR; Amazon AuroraはIn-Memory DBでもなくDisk-Oriented DBでもなく、In-KVS DBとでも呼ぶべき新地平に立っている。 その斬新さたるやマスターのメインメモリはキャッシュでありながらWrite-BackでもなくWrite-Throughでもないという驚天動地。 ついでに従来のチェックポイント処理も不要になったのでスループットも向上した。 詳細が気になる人はこの記事をチェキ! Amazon AuroraAWSの中で利用可能なマネージド(=運用をAWSが面倒見てくれる)なデータベースサービス。 ユーザーからはただのMySQL、もしくはPostgreSQLとして扱う事ができるのでそれらに依存する既存のアプリケーション資産をそのまま利用する事ができて、落ちたら再起動したりセキュリティパッチをダウンタイムなしで(!?)適用したりなどなどセールストー

    Amazon Auroraの先進性を誰も解説してくれないから解説する - Qiita