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

  • シェルスクリプトは変数代入で = の前後にスペースを置けない!・・・の本当の理由を知ると優れた文法が見えてくる - Qiita

    シェルスクリプトは変数代入で = の前後にスペースを置けない!・・・の当の理由を知ると優れた文法が見えてくるShellScriptBashUNIXshellPOSIX はじめに シェルスクリプトの変数代入で = の前後にスペースを置くことができない理由は、検索すれば「プログラマーの君! 勘違いするな! シェルスクリプトでは読みやすさのためにスペースを置くな!! という話」のような記事がすぐに見つかります。記事に書いてあるとおり変数代入とコマンド呼び出しと区別がつかないからです。それは間違いではないんですが、私はもう少し説明が足りないと感じています。そこで今回は = の前後にスペースを置けない当の理由を解説したいと思います。 の前に皆さんにはこの話を読みながら、自分がシェルスクリプトの言語設計者だったとしたら、どういう言語仕様にするかを考えて欲しいです。なぜかと言うとシェルスクリプトの文

    シェルスクリプトは変数代入で = の前後にスペースを置けない!・・・の本当の理由を知ると優れた文法が見えてくる - Qiita
  • ハイフンに似ている横棒を全て統一するᅳㅡ˗𐆑–᭸‒-─−▬𐄐—━‐‑ー﹣―ー﹘-⁃➖⁻! - Qiita

    はじめに これらの横棒、コンピュータにとっては全て違うのですが 見分けがつくでしょうか? -˗ᅳ᭸‐‑‒–—―⁃⁻−▬─━➖ーㅡ﹘﹣-ー𐄐𐆑 郵便番号、住所、電話番号など、横棒が使われているデータを扱うとき、 人が入力したデータや購入したデータであると、同じ記号が使われていないことはよくあることです。 090-1234-5678 090᭸1234᭸5678 090‑1234‑5678 090−1234−5678 これらの電話番号の文字列も phone_no_list = ['090-1234-5678', '090᭸1234᭸5678', '090‑1234‑5678', '090−1234−5678'] # 文字をUnicodeコードポイントに変換 for n in phone_no_list: # 文字列の4番目の横棒の文字コードを見てみる print(n[3], ord(n[3]

    ハイフンに似ている横棒を全て統一するᅳㅡ˗𐆑–᭸‒-─−▬𐄐—━‐‑ー﹣―ー﹘-⁃➖⁻! - Qiita
    shikiarai
    shikiarai 2021/11/03
    逆にこの横棒出してぇ!って時にIMEによっては全然出してくれなくてキレそうになる。こんなことになるなら全部滅ぼしてくれればいいのに
  • スクラム開発の現場にJoinして失敗した俺が悪い話 - Qiita

    ほぼノー知識でスクラム開発の現場に乗り込んで失敗した話を書き記します。 「なぜスクラムは上手くいかないのか」「スクラム開発のアンチパターン」などチームにフォーカスした記事はあれど、個人にフォーカスした失敗談が見当たらなかったので書こうと思いました。 はじめに 大前提として、その現場が悪かったとかスクラム開発が悪いとかそういったネガティブキャンペーンをするつもりではありません。 ウォーターフォールと比較して、継続的にプロダクトを作って完成に近づけていくスクラムのメリットは十分理解しているつもりです。 その中で自分が「あ、無理かも」と感じてしまった理由を記して同じ立場に立ってしまった人の救いになれればいいなと思い記します。 概要 AWSを基盤とするインフラ開発の現場Joinし、スクラムメンバーとしてプロダクトを開発する役目を受けました。 結論から言うと2週間のスプリントでベロシティを上げること

    スクラム開発の現場にJoinして失敗した俺が悪い話 - Qiita
    shikiarai
    shikiarai 2021/10/25
    まぁこれは現場との相性の問題。つってもこの働き方できる場所少ないのよねぇ。すぐコスト扱いしてくるからなぁ。
  • ie11がお亡くなりになった後に利用可能なcss周辺 - Qiita

    aspect-ratioを利用しない場合は、以下のように、beforeにpadding-top: 56.25%;を指定し、親や子の要素にpositionを設定するという面倒な対応をしないといけない .parent { position: relative; width: 100%; &:before { content: ''; display: block; padding-top: 56.25%; /* 16 : 9 */ } .child { position: absolute; top: 0; left: 0; } } min(), max(), clamp() 便利css関数 例えば以下のようなコードをminを利用すると1行で置換可能 追記:minとmaxの認識が逆になっていました。。申し訳ありません。 ↓この様な認識が正しいですね。 min('基幅', '最大幅') max

    ie11がお亡くなりになった後に利用可能なcss周辺 - Qiita
    shikiarai
    shikiarai 2021/10/17
    IEに縛られててあまり触れられなかったけどsticky便利というかcss便利になってるよね
  • プログラミングスクールの講師を2年間続けて限界が来て辞めた話 - Qiita

    はじめに 某プログラミングスクールで二年間講師をしてました。 受講生の方からの評価点は平均より高く、最終的には全インストラクターの中から代表に選ばれる立場にまでなりました。 始めた経緯 もともと、プログラミングスクールをいつか開きたいと思っていたこともあり、業務委託契約で経験が積めそうなところに応募。 即採用していただき、正社員で働く傍、副業としてプログラミング講師に。 エンジニア歴は当時は5年 得意な言語はPHPのみでした。 コロナ禍で全てが変わった 特定を避ける為に細かな時期は記述しませんが、この復業を始めてから今も尚世界を苦しめているウイルスの流行で事が大きく変貌していきました。 というのも、私が請け負っていたプログラミングスクールでは生徒様が作成したいと言う物をベースにプログラミングを教えるスクールでした。 その中で、コロナ禍前までの生徒様達は明確に、 「ECサイトが作りたい」 「

    プログラミングスクールの講師を2年間続けて限界が来て辞めた話 - Qiita
    shikiarai
    shikiarai 2021/10/17
    分かる分かる。暖簾に腕押しなのよね。
  • 洗濯物の乾き具合を知りたくて、M5StickCで物干し部屋の湿度を測って Azure IoT Central で分かるようにしてみた - Qiita

    洗濯物の乾き具合を知りたくて、M5StickCで物干し部屋の湿度を測って Azure IoT Central で分かるようにしてみたAzureおうちハックM5StickCAzureIoTCentralQiitaAzure はじめに 少しずつ秋が近づいてきて、真夏のように洗濯物がすぐに乾いて、すぐに畳めるという時期もだんだん終わりに近づいてきてます。そして、これから冬にかけて少しずつ大変になってくる洗濯物の乾かない問題。 そこで今回は、M5StickC と Azure IoT Central を活用して、少しでも家庭の課題を解決できるようにしたいと思います。 洗濯物の乾燥についてはこんなことを思っています。 洗濯物が乾いたタイミングを知りたい 乾いたのが分かったら、手が空いているうちに畳みたい たくさん干し過ぎると生乾きっぽくなって困る もし、乾くまでに長く時間が掛かっていたら、コインランド

    洗濯物の乾き具合を知りたくて、M5StickCで物干し部屋の湿度を測って Azure IoT Central で分かるようにしてみた - Qiita
    shikiarai
    shikiarai 2021/10/03
    そこまでやるなら乾燥機買うかなぁ……
  • エンジニア200人に聞いて、業務委託単価表を作りました - Qiita

    ISSUEへ移動しました 診断機能の結果も元に単価表の精度をアップデートしています。購読してお待ちいただければと思います。 2022年度最新版はこちら こちらの単価表を元に単価診断機能を作りました 様々なご要望を受け、新たに単価診断機能を作成しました!質問形式で現時点での単価目安を診断することができます。改良に改良を重ねていくのでぜひ一度受けてもらえると嬉しいです! はじめに 私は「ISSUE」という副業プラットフォームを運営しているのですが、プラットフォームを構築する際にエンジニアの方々約200人とお話しました。そのヒアリング内容からエンジニア業務委託単価表を作成してみました。単価はこれから副業フリーランスとして活動しようという方々がよく悩むところだと思います。私もそうでした。またすでに業務委託をしている方もどのタイミングで単価を上げる交渉をすればいいかとても悩むものだと思います。そん

    エンジニア200人に聞いて、業務委託単価表を作りました - Qiita
    shikiarai
    shikiarai 2021/09/30
    時間単価5000円で月80万だけ分かっていればそんなに困らんけどちょっとねぇ
  • やっと React Server Components が腑に落ちた - Qiita

    2020 年末に発表された React Server Components は、一言でいうと React コンポーネントをサーバ側でレンダーする仕組みです。……が、初見ではちょっと魔法すぎて訳が分からない技術でもあります。トーク動画だけ見てても「具体的にどんな仕組みで動いてるの?」みたいな疑問が山ほど浮かんでくると思います。 一体裏で何がどうなっているのか、この技術はどう使うのか、デモコードを触りながらやっと具体的に理解しはじめたので、なるべく動作が想像しやすいようにまとめました。なお、この記事単体よりは、他の記事や上記動画を見てある程度概要や公式の売り文句を掴んでからの方が理解しやすいと思います。 これまでの、普通にブラウザで動作するコンポーネントのことを、区別のためにクライアントコンポーネントと呼びます(単に区別のために既存のコンポーネントに別名がついただけです)。以下ではサーバコンポ

    やっと React Server Components が腑に落ちた - Qiita
  • 「次から気をつけます」に対抗する、反省文よりは効果が上がる再発防止、学びの機会 - Qiita

    再発防止策を書くのは難しい。 良い再発防止策 良い再発防止策について、順位付けするとしたら、 その種類の問題について二度と意識することがなくなる解決策 その種類の問題を開発時に自動的に検知することができる解決策 その種類の問題が発生しても自動的に復旧することができる解決策 その種類の問題が発生しても影響が局所化される、フールプルーフ、フェールセーフになる解決策 と言うのは意識したいと思いつつ、やはり難しい。 再発防止はむずかしい 障害の再発防止策は、 メカニズム ツール ルール チェックリスト の順番に検討せよ。と言われても、急いで書けなんて言われると「次回からは複数人でチェックします。」とか「チェック項目を追加します。」とかいう徹底できなそうな「反省文」になってしまう。 まさにこの有名な...。 **「なぜミスを繰り返すのか」「どうすればミスを防げるのか」を真剣に考えていないことがミス

    「次から気をつけます」に対抗する、反省文よりは効果が上がる再発防止、学びの機会 - Qiita
    shikiarai
    shikiarai 2021/08/17
    これはそうなんだけど下手くそなぜなぜ分析するとこれにたどり着けないんだよ
  • 技術ようつべチャンネル集 - Qiita

    役立つYouTubeのチャンネルまとめ 数学、物理、アルゴリズム、プログラミング、などなど自分が使う技術に役立ちそうだな、困ったときによく見たなと思うチャンネルを紹介する。 取っ掛かり、ハマりがち、コツみたいな物が拾える。数学がメイン。随時更新していくつもり。 当たり前だけどちゃんとも読んで勉強するんだぞ。 背景 YouTubeは視聴する登録チャンネルの数が増えると、チャンネルが埋もれて発掘困難になりがち (chrome拡張でできるチャンネルのフォルダ分け機能は、ぽちぽち登録するのも面倒で、そのフォルダの中から掘り出すのも難しい) モチベが上がる(おべんつよしたい)チャンネルを探してるうちに湧いてくる、わんにゃんコンテンツ(だいちゅき)に流され一日が終わるため、 モチベが上がる有用なチャンネルにすぐにたどり着くために、よく使うQiitaに列挙しておくことにした Streamや大学専用サイ

    技術ようつべチャンネル集 - Qiita
    shikiarai
    shikiarai 2021/07/15
    調べりゃあるんだろうなぁと思いつつ調べる元気がないのでブクマ
  • 設計を学びたいときに読みたい本一覧 - Qiita

    これは何 の参加記事です。 エンジニアとして開発をしていく以上、設計についての知識を身につけていくことはとても重要です。 とはいえ設計という言葉からは何を勉強するべきかがいまいちピンときません。 この記事では、僕が読んできた設計に関するおすすめのを網羅的に紹介しています。 これから設計を勉強する方の役に立てれば幸いです。 おすすめの一覧 おすすめのを紹介していきます。 他にもおすすめがあればぜひ編集リクエストをください! オブジェクト指向設計実践ガイド 設計を始めに学ぶならこれ、という一冊です。 エンジニアとして開発を行なっている中で、オブジェクト指向設計は一番汎用的に使う設計知識なのではないでしょうか? オブジェクト指向設計を学ぶことで、いわゆる「におう実装」と「良い実装」を見極めることができるようになると思います。 知らなかったら読んだほうが良いキーワード SOLID原則 Cle

    設計を学びたいときに読みたい本一覧 - Qiita
    shikiarai
    shikiarai 2021/07/15
    インフラはクラウドだから〜とか言ってるとある日急に痛い目を見るからあいつは早いうちに勉強した方がいい。/特にお財布に来る
  • スクラムにおける朝会の目的は進捗共有ではないよという話 - Qiita

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

    スクラムにおける朝会の目的は進捗共有ではないよという話 - Qiita
    shikiarai
    shikiarai 2021/05/28
    絶対に困ってる事を語られない方いらっしゃいますよね。後で燃えると「ちょっと気になってたけど、まだ大したことじゃ無いかなって思ってて〜」とか仰られるので非常に尊敬してます。光栄すぎて別チームになりたい
  • 「ASCIIをUTF-8にして」それが『できない』ことを理解してもらえなかった話 - Qiita

    物語の始まり 事の発端は納品後。 先方からメッセージが届きました。 クライアント様「このファイルの文字コードがShift_JISになっておりますので、UTF-8で再納品をお願いいたします。」 拙者(あれ…UTF-8にしてたと思うんだけどな) 拙者「確認いたします。」 文字コードを確認する 案件はいわゆる更新案件で、今回の納品時に言われていたのは、「文字コードがUTF-8ではないものは変換して納品してくれ」ということ。 そして、ご指摘いただいたのは、今回の更新案件で中身はいじらなかったJavaScriptファイル。 来ならば納品するファイルではないのですが、文字コード変換という要件があったため、納品ファイルとして加えられたものでした。 一括で文字コードを変えたので作業漏れかなぁと思っていました。 ファイルの中身は記事用にかなり適当につくったものですが、まあだいたいこんな感じです。

    「ASCIIをUTF-8にして」それが『できない』ことを理解してもらえなかった話 - Qiita
    shikiarai
    shikiarai 2021/04/03
    隙があれば納品ソースの最初に日本語で用途を書くようにしてるね。
  • 【図解】初心者が知っておきたいサーバ周りの仕組みの話 - Qiita

    ※2021年 3月28日 更新※ たくさんの方にご一読いただき、ありがとうございます。お読みいただいた方からご指摘を賜った点をもとに記事を修正いたしました。修正・追記箇所は末尾をご確認ください。 サーバ周りの仕組みについて、初心者でも最低限知っておくべきだと感じた内容を整理しています。 ここでいう「最低限」とは、プログラミング言語を勉強し、何かしらアプリケーションを作成して、ユーザが利用可能な状態にし(デプロイ)、公開するうえで必要になる知識のことです。 「サーバ」とは何か ユーザの要求(リクエスト)に応じて、サービスを提供(レスポンス)するコンピュータやプログラムのことを「サーバ」と言います。 例えば、ユーザが「このWebページを閲覧したい」とリクエストしたら、サーバはそのWebページの表示に必要な処理を実行し、ユーザに返します。これによってユーザが使用しているブラウザに、Webページが

    【図解】初心者が知っておきたいサーバ周りの仕組みの話 - Qiita
    shikiarai
    shikiarai 2021/03/27
    インフラ屋さんはいつも基礎から入るとそんな事は知ってると言われ基礎を飛ばすと基礎から説明しろと言われる仕事をしてるから……
  • 「正直9年経ったいまでもfor文ググってる」 - Qiita

    「正直9年経ったいまでもfor文ググってる」 という議論記事があった。正直なところ私もググる方の人だ。私の感想: ポンとテキストエディタだけ渡された時に書けるか自信ないぞ...IDEがあればまあ大丈夫かなあ。 JavaScriptだけじゃない。言語色々扱うしという言い訳。正規表現とか毎度調べる。 だから世の中にチートシートというものがあるのだ。お気に入りチートシート多数。 実戦でどうしているか?結局周りのソースを見て馴染む書き方にしていますよ多分。 暗記するかしないかは受験勉強みたいなもので、コーディング面接に受かるなら必要。暗記そのものには意味はないとは思う。 競技プログラミングが使えないとかいう論もあったな。 ググり力も大事。 でも「最低限」もできないのはやはり恥ずかしい気持ちはある。 なんかこれ英語できるできないと似てるな。英語なんてGoogle翻訳、DeepL翻訳あればいいけど、実

    「正直9年経ったいまでもfor文ググってる」 - Qiita
    shikiarai
    shikiarai 2021/03/25
    最近はコード書いてないけど補完機能がない時はもうばっしゅとかで辞書登録してた。それはそれで面倒だった
  • モダンプログラマになれない組込みプログラマの苦悩 - Qiita

    はじめに 10年以上組込みエンジニアをしている@yagisawaです。 Qiitaのトップ記事では新しいフレームワークの使い方とかモダン言語の新しい言語仕様の解説とかが流れてきて、いつも羨ましいなーと思いながら読んでいます。 記事は組込みシステム開発をしていて経験したこと・感じたことを自虐ネタとして書き連ねていこうと思います。他ITエンジニアの人に「うわっ、可愛そう」って思ってもらうのが目標です(ぇ 各業界それぞれに悩みはあると思うので、自分たちが一番不幸とかは思っていません。おそらく隣の芝が青く見えているだけです。それよりあまり組込みの記事は見かけないので、「組込みエンジニア仕事ってこんな感じ」というのを知ってもらう意図があったりします。 内容によっては「それはあなたの設計が悪いからです」と言われてしまうようなところもあるとは思いますが、建設的なご意見は大歓迎ですが基は温かい目で見

    モダンプログラマになれない組込みプログラマの苦悩 - Qiita
    shikiarai
    shikiarai 2021/03/18
    今更組み込みでモダンになるには0から立ち上げるしか無いよなぁ。会社としての蓄積があるとそこを無視できないよね。最終的に行き詰まるとしても。
  • 続・マクドナルドで一日分の栄養を取れる組み合わせを計算したらさらに衝撃の結果に - Qiita

    # Constraints problem += 47.7*AA+ 55.8*AB+ 66.6*AC+ 48.4*AD+ 52.4*AE+ 36.4*AF+ 31*AG+ 27.1*AH+ 57.5*AI+ 38.9*AJ+ 36.8*AK+ 35.5*AL+ 57.5*AM+ 9.5*AN+ 38.1*AO+ 27.3*AP+ 27.2*AQ+ 31.4*AR+ 30.8*AS+ 39.2*AT+ 37.7*AU+ 37*AV+ 47.3*AW+ 30.3*AX+ 0*AY+ 92.9*AZ+ 40.2*BA+ 41.8*BB+ 35.8*BC+ 26.4*BD+ 29.1*BE+ 52.7*BF+ 30.2*BG+ 34.3*BH+ 41.9*BI+ 42.4*BJ+ 42.4*BK+ 31.2*BL+ 0.1*BM+ 62.8*BN+ 76*BO+ 44.1*BP+ 31*BQ+ 3

    続・マクドナルドで一日分の栄養を取れる組み合わせを計算したらさらに衝撃の結果に - Qiita
    shikiarai
    shikiarai 2021/03/02
    “食塩相当量 (g) 27.1” 地獄への直行便か?
  • レンタルサーバー運営会社に不正利用を通報したときの窓口と、各社の対応をまとめた。 - Qiita

    動機 おそらくCMSがクラッキングされて、私のブログの文章を断片的にコピーしたサイトがフィッシングサイトへの誘導に使用されているのを見つけたので、コンテンツをホスティングしている会社に片っ端から不正利用を報告しました。各社の窓口と対応スピードをまとめておけば、今後の自分の役に立ちそうだったのでまとめておきます。 なお、他人のブログをコピーしたものをつなぎ合わせたり、キーワードがひたすら埋め込まれたページを追加してフィッシングサイト等に誘導する手口はジブリッシュハックと呼ぶそうです。 意味不明な内容によるハッキングを解決する  |  Web Fundamentals  |  Google Developers 被害を受けるとこういう感じのページが量産されます。 今回の報告はすべてジブリッシュハックに対するものです。 なお、今回の報告対象は脆弱性ではないのでIPAには報告していませんが、脆弱性

    レンタルサーバー運営会社に不正利用を通報したときの窓口と、各社の対応をまとめた。 - Qiita
    shikiarai
    shikiarai 2021/03/01
    さくらインターネット安いから使いたいけどこれだからなぁ
  • Java7からJava16までの変遷。 - Qiita

    まえがき ずっとJava11を使っていました。そのためすっかりラムダ式やStreamAPIでの書き方に慣れていたのですが、最近Java7を使って稼働しているプロジェクトに異動したので、何ができて何ができないのか、ちょっと調べてみました。 Javaの変遷 私見ですが主要だと思う仕様変更を並べてみました。アプリ実装に関係する部分のみピックアップしています。 このバージョンのこれは入れておいたほうが良いよ!との意見がありましたらコメントにぜひお願いします。 Java8 2014/03/18 正式リリース(GA) https://openjdk.java.net/projects/jdk8/ ラムダ式 https://openjdk.java.net/projects/lambda/ https://qiita.com/sano1202/items/64593e8e981e8d6439d3 pub

    Java7からJava16までの変遷。 - Qiita
    shikiarai
    shikiarai 2021/02/09
    あくまで制約で他の言語が使えない人用に進化してくれてる感じで全ての機能がjavaを使う理由には繋がらない感じある
  • やってみたら簡単!ディープラーニング・オセロを作って自分を負かすまで強くした話(その1) - Qiita

    オセロのAIアルゴリズムをディープラーニングで作成し、私が勝てないぐらいまでには強くなった、という話です。 また私の場合は2ヶ月ぐらいかかってしまいましたが、実装自体はそんなに難しくなかったので、実装方法についても説明したいと思います。 この記事でわかることは、ディープラーニングでオセロのAIアルゴリズムを作る方法です。基的な考え方は他のボードゲームも同じなので、流用できると思います。 対象読者は、TensorFlowなどディープラーニングのライブラリを使い始めて、MNISTの数字分類など基的な処理はできたけれど、それ以外の問題だとやり方がわからない、というような方です。 きっかけ 私の所属するエンジニア人生コミュニティで、リバーシチャレンジなるものが開催されたことがきっかけです。このコンテストは「リバーシならどこにこだわっても良い」というルールでした。 私は、ちょうど少しまえに「将

    やってみたら簡単!ディープラーニング・オセロを作って自分を負かすまで強くした話(その1) - Qiita
    shikiarai
    shikiarai 2021/01/18
    関係ないけどオセロそろそろ完全解析してくれないかなって思ってる。謎の飛沫シミュレーションの合間に一発流しておいて欲しい