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

  • レガシーエンジニアによるDocker入門 - Qiita

    初めに この記事は技術進化が5年前くらいで止まっている環境で働く私が、モダンな技術に触れる為に学習したことを記録したものです。 暇潰しに読んでいただければ幸いです 記事では、 Windows10 Home + WSL2の環境に、Dockerをインストール Golang + GitがインストールされているコンテナをDockerfileで立ち上げる VSCodeからコンテナに接続してHello World の3つを行います。 Dockerとは? DockerOracleVM等と同様、仮想環境を提供するソフトウェアです。OracleVMのようにOS全体を仮想化せず、OSの一部とアプリケーションの実行環境をまとめたコンテナと呼ばれる仮想環境を提供します。 コンテナはDockerfileというテキストファイルを元に作成され、Dockerfileが同一であれば、どのOSでも同一の環境を作ることがで

    レガシーエンジニアによるDocker入門 - Qiita
    shikiarai
    shikiarai 2020/08/11
    追いついた気になろ……
  • なぜ大学生はプログラミングが上達しないのか - Qiita

    はじめに 最近、情報系の大学でプログラミングの勉強をしたのに、プログラムが書けない人が結構いるというご意見を拝見しました。 実際、私の友人を何人か思い浮かべてみてもほとんどの人が簡単な計算程度のプログラムしか書けないと思います。 しかし、ほとんどの学生がエンジニア志望なのです。 人事の方で、授業でのプログラミング経験などをアピールされて採用したのに蓋を開けてみたら全然プログラムが書けなかった!という方もいらっしゃるのではないでしょうか? なぜ大学生はプログラミングが上達しないのか?私の経験を踏まえて考察していきたいと思います。 ※あくまで私の経験をもとに客観的に分析した結果です。大学の在り方を否定しているわけではありません。 1. 講義時間が少ない 大学の講義は半期に渡り90分 × 15回行われます。 つまり、一つの講義ではトータルで22.5時間しか勉強しないのです。 さらに、基的に授業

    なぜ大学生はプログラミングが上達しないのか - Qiita
    shikiarai
    shikiarai 2020/08/11
    プロのちゃんとしたコードを見た事がない。見るのはいつも「弊社は豊富な実績が〜!」と言ってきたベンダの営業の言葉を鵜呑みにしてアウトソーシングした結果帰ってくるベンダの新人が書いたコードばかり。
  • 本当にあったやらかしDB設計シリーズ一覧 - Qiita

    当にあったやらかしDB設計シリーズをまとめてみました SQLアンチパターンで書かれているほど高尚な問題ではなく、もっと初歩的な、でもありがちな問題を取り上げています 初心者を脱出したと思っている人に是非読んでもらい、正しく設計してもらうことを目的としています もしここに載っていないパターンを経験したことのある方がいたら是非教えてください 当にあったやらかしDB設計①【R無しRDB当にあったやらかしDB設計②【囚人番号テーブル】 当にあったやらかしDB設計③【ロジカルクエリー】 当にあったやらかしDB設計④【テストチューニング】 当にあったやらかしDB設計⑤【第三正規化病】 当にあったやらかしDB設計⑥【見えない削除フラグ】 当にあったやらかしDB設計⑦【ステートフルDB当にあったやらかしDB設計⑧【ファンクションDB当にあったやらかしDB設計⑨【文字列日付】

    本当にあったやらかしDB設計シリーズ一覧 - Qiita
    shikiarai
    shikiarai 2020/08/10
    第一正規形くらいなら外部キー良いんだけど、一体第n正規形なんだ……みたいな正規化をされた上で外部キーバリバリ張ってあるとデータ払い出しの時に泣きそうになる。どっちにしろ開発部隊のエゴを押し付けられるが
  • アプリで「ログインしっぱなし」はどのように実現されているか? - Qiita

    このツイートを見て、「アプリで再ログインを頻繁要求されるってユーザビリティ良くないな。」と思ったのですが、普段裏側の仕組みは意識していなかったりテックリードの方に任せきりだったりしていたので、これを機に調べてみました。 そもそもスマホアプリ の時代、もはやauthenticationですらないと思うのよね。(何を言ってるかわからねえだろうと思うが。) — Hiromitsu Takagi (@HiromitsuTakagi) 2019年7月8日 この記事は「アプリでログインしっぱなしは、どのように実現されるの?」という疑問と調べた結果を共有するために書いていきます。 間違いや「もっとこんな仕組みが使われてるよ!」等のツッコミがあれば、どしどし貰えると助かります! 疑問1. アクセストークンという仕組みとは? 「なぜアクセストークンという概念が必要なのか?」 モバイルアプリでユーザー認証をし

    アプリで「ログインしっぱなし」はどのように実現されているか? - Qiita
    shikiarai
    shikiarai 2020/08/06
    ん〜?
  • 【PHP8.0】非厳密な比較演算子`==`の挙動が今さら変更になる - Qiita

    結果は順にtrue、true、falseです。 これがPHP7までの非厳密な比較(等価)演算子だったわけですが、まあおかしいよねってことで、この挙動がPHP8.0で変更になることになりました。 よもや今さら基中の基である比較演算子の動作を弄ってくるとは思わなかったぞ。 以下はSaner string to number comparisonsの日語訳です。 PHP RFC: Saner string to number comparisons Introduction ==やその他の非厳密な比較演算子を用いた文字列と数値の比較は、現在は、文字列を数値にキャストし、その後整数か浮動小数の比較を行っています。 この結果、多数の不可解な結果が得られますが、中でも注目すべきは0 == "foobar"がtrueになることです。 このRFCでは、文字列が実際に数値型文字列である場合にのみ数値型

    【PHP8.0】非厳密な比較演算子`==`の挙動が今さら変更になる - Qiita
    shikiarai
    shikiarai 2020/08/03
    相変わらずふわふわだなぁ
  • 糞コードは直すな。 - Qiita

    とりあえず落ち着け。 みなさん、毎日なにかしらのコードを読み、開発する日々を送っていると思います。そんな中で、 糞コードは死ぬべきである!!絶対に直すべき!! という感情に取りつかれてしまうことがあると思います。自分の技術力に自信のある人ほど、無理やりにでも直そうと試みると思います。それがどんな修羅の道か。そして、糞コード修正がどんな道を歩むのか。この記事では糞コード修正の罠とありがちなストーリーについて書きたいと思います。 ビジネスとしてのプログラムは質的に糞である 例えば、「携帯電話の利用料金」のプログラムがあります。 「携帯電話 透明性高め料金値下げを」という記事もあるように世の中の携帯電話の料金プランはかなり複雑です。例えば、auだと「auでんき」といった電気料金とパックされた電話料金プランがあります。また、「auスマートバリュー」といったプランもあり、家のインターネット回線をa

    糞コードは直すな。 - Qiita
    shikiarai
    shikiarai 2020/08/02
    奇跡的なバランスで何故か倒れない積み木のような糞コードもある。上流に行け。上流に行くと下流は上流のこと何も知らないんだな……と辛くなることが出来る。
  • エンジニアの劣等感との付き合い方 - Qiita

    はじめに 私は、不完全な人間です。 人より劣っているところ、弱みもたくさんあります。 しかしながら、なんとか、今日までエンジニアとして生きていくことができました。 私がこれまで、劣等感とどう折り合いをつけてエンジニアとして生きてきたか、説明したいと思います。 この記事で最も言いたいことは「不完全な自分を認めながら、でも、自分の成長の可能性を失わない」ということを伝えたいです。 劣等感にまみれたエンジニア人生 ふりかえると、劣等感にまみれたエンジニア人生でした。 「自分はダメなエンジニアなんだ…」 という想いが、思考の隅につきまといながら、なんとか生きています。 思い返せば、この想いの最初のきっかけは、新人時代に先輩社員にコードレビューの指摘で、叱咤された事でした。 「こんなことも知らないの」 「コードを書く才能がないんじゃない」 「…あぁ、もう、いいから、こっちで修正しとく。いいよ。さわら

    エンジニアの劣等感との付き合い方 - Qiita
    shikiarai
    shikiarai 2020/07/26
    全能感に支配されたままバグや変更に弱いコードを大量に埋め込んで納品して知らんぷりするクソ開発になるよりも何億倍もマシなのでコードレビューは厳しくていい。保守はクソコードを言い訳にしても一蹴されて死ぬ
  • 「(HTML) + CSS」のみを使って、今「リアルな電卓」を作ってみた - Qiita

    続編を書きました。CSSも大幅改善してるので、一度見てみてください。 【小数点実装】「(HTML +) CSS」のみを使って、今「もっとリアルな電卓」を作ってみた - Qiita 完成品 まずは、CodePenで完成品を紹介します。ボタンを押して計算を試してみてください。 ※ スマホだと反応が悪い場合があります。 See the Pen qiita_calc_last by j5c8k6m8 (@j5c8k6m8) on CodePen. はじめに はじめて、CSS カウンター の存在をはじめて知ったときは驚きました。 テーブルの行番号は (必要であればJavaScriptで動的に) HTMLに記載するしか方法がない と思っていたからです。 Qiitaにも、CSSカウンターのサンプルを載せた良記事があります。 CSS でテーブルに行番号を振る - Qiita CSSで見出しタグに連番をつけ

    「(HTML) + CSS」のみを使って、今「リアルな電卓」を作ってみた - Qiita
    shikiarai
    shikiarai 2020/07/16
    変態の所業
  • DI (依存性注入) って何のためにするのかわからない人向けに頑張って説明してみる - Qiita

    追記 2022/11/12 追記 この記事読んで、DI 便利だなって思ったらこちらも併せて読んでみてください。クリーンアーキテクチャーの開設の中で依存性逆転の説明が出てきます。難しいかもしれませんが、一度理解すればつぶしが効く考え方なので腰を据えて読んでみてください。 文 ここでは、最近のそこそこの規模のアプリだと大体使われてる(と私は思ってる)Dependency Injection(DI)について、何故使ってるのか?というのを私の理解で書いていきたいと思います。 今回の対象言語は C# ですが、DI 使ってる言語であれば大体同じ事情なのかなと思います。 単体テストしたいよね アプリケーションを作るとうまく動いているかテストをすると思います。 たとえ、そのアプリがハローワールドだとしても動かして目視で確認してると思います。 もうちょっとアプリの規模が大きくなってくるとクラス単位やクラス

    DI (依存性注入) って何のためにするのかわからない人向けに頑張って説明してみる - Qiita
    shikiarai
    shikiarai 2020/07/10
    DJってみんな言うからJavaのフレームワーク作っていなくなったと思ったら急にDJとして浮上してきた彼のことを思い出してしまった
  • Kindle蔵書一覧を取得する方法 - Qiita

    Kindleの蔵書が1万冊を超えてきて、そろそろ蔵書管理したくなり、 蔵書一覧を取得する方法を調べたので、まとめておく。 概要 蔵書一覧の取得方法としては大きく2つあり、 コンテンツと端末の管理ページからスクレイピングする方法と、 Kindle Cloud Readerが使っているWeb SQL Databaseのクライアント側のDBからそのまま取得する方法がある。 後者のほうが簡単なため、ここでは後者の方法について記載する。 (前者の方法が知りたい方は、https://qiita.com/yshr1982/items/072e8b44d456f6d9358bなどを参考にしてください。) // 追記 上記の2つの方法以外のやり方を情報共有してもらったので追記。 @error_401さんから頂いた情報によると Kindle for PCを利用している場合、の情報が入ったXMLが生成されるた

    Kindle蔵書一覧を取得する方法 - Qiita
    shikiarai
    shikiarai 2020/07/08
    プライムリーディングをDLして斜め読みして消すのを繰り返してる。読みたい本は基本的に完結作品のみで一気読みして読み終わったら端末からサヨナラ。これが一番メンタルに良い
  • 図解 X.509 証明書 - Qiita

    はじめに X.509 証明書について解説します。(English version is here → "Illustrated X.509 Certificate") ※ この記事は 2020 年 7 月 1 日にオンラインで開催された Authlete 社主催の『OAuth/OIDC 勉強会【クライアント認証編】』の一部を文書化したものです。勉強会の動画は公開しており、X.509 証明書については『#4 X.509 証明書(1)』と『#5 X.509 証明書(2)』で解説しているので、動画解説のほうがお好みであればそちらをご参照ください。 1. デジタル署名(前提知識) この記事を読んでいただくにあたり、デジタル署名に関する知識が必要となります。つまり、「秘密鍵を用いて生成された署名を公開鍵で検証することにより」、「対象データが改竄されていないこと」や「秘密鍵の保持者が確かに署名したこと

    図解 X.509 証明書 - Qiita
    shikiarai
    shikiarai 2020/07/06
    久々にこれ系に触れて懐かしくなったけどこの知識を活かすことは今はない
  • 2020年のフロントエンドマスターになりたければこの9プロジェクトを作れ - Qiita

    以下はSimon Holdorf( dev.to/ Twitter / GitHub )による記事、9 Projects you can do to become a Frontend Master in 2020の日語訳です。 9 Projects you can do to become a Frontend Master in 2020 Introduction あなたがプログラミングの初心者であるか、既に経験豊富な開発者であるかにかかわらず、この業界では、急速な変化に追いつくために新しい概念と言語・フレームワークを学び続けることが必要です。 たとえばFacebookが4年前にオープンソース化したReactは、既に世界中のJavaScript開発者にとって第一の選択肢になっています。 もちろんVueAngularにも多くのフォロアーがついています。 さらにはSvelte、Next

    2020年のフロントエンドマスターになりたければこの9プロジェクトを作れ - Qiita
    shikiarai
    shikiarai 2020/07/04
    実力よりも何が得意で苦手でを網羅的にキャッチアップしないとうちみたいに流行ってるからと飛びついて実は不適切でしたみたいになりかねない
  • 【反省】新卒1年目がAWSの認証キーを流出させてしまった話 - Qiita

    はじめに 私は新卒1年目で神戸のSIerに勤めています。 この度AWSキーを流出してしまうという、 初心者であるもののエンジニアとして恥ずべき行為をしてしまったので 2度とこのような失態を踏まないように再発防止の意味を兼ねてここに記そうかと思います。 また今後AWSキーを流出してしまうことを完全に防ぐことは難しいかと思いますが、 今までAWSキーを無意識に扱っていた方の認識を改める記事になればと思います。 何をしたのか ことが起こったのは2020年6月24日。 Github Actionsを利用して、CI機能を実装しようとしていた時のこと。 やろうとしていたことはGithubのリモートリポジトリにpushされたときに、 AWS S3に公開ファイルをデプロイするというものでした。 Actionsにはワークフローとして、AWS認証キーを設定する処理が含まれていたので、 アクセスキーとシークレッ

    【反省】新卒1年目がAWSの認証キーを流出させてしまった話 - Qiita
    shikiarai
    shikiarai 2020/06/28
    もはや恒例の記事
  • ワイ「何でそんな小っさいコンポーネント作ってるん?w」 - Qiita

    とあるWeb制作会社にて ワイ「ハスケル子ちゃん」 ハスケル子「はい」 ワイ「今日ワイは何の仕事するんやったっけ?」 ハスケル子「確か今日からは」 ハスケル子「Nuxt.jsとVuetifyを使って管理画面を作る案件が始まるんじゃなかったでしたっけ?」 ワイ「おお、せやった」 ワイ「とある管理画面のフロントエンド開発をするんやったな」 ハスケル子「もうFigmaのデザイン見ましたか?」 ワイ「ヒグマ?」 ワイ「ヒグマなんて、写真でしか見たことないけど」 ハスケル子「Figmaです」 ハスケル子「ブラウザ上でも使えるデザインツールですよ」 ワイ「ああ、そっちな」 ワイ「Higumaのほうね」 ハスケル子「じゃあ、さっそくデザイン見ながら」 ハスケル子「コーディングしていきましょう」 ワイ「おお、頑張っていこか!」 デザインを見てみる ハスケル子「↑このキャンセルボタンとOKボタン」 ハスケル

    ワイ「何でそんな小っさいコンポーネント作ってるん?w」 - Qiita
    shikiarai
    shikiarai 2020/06/22
    要件を自分で握ってる時は作らないけど他人が要件握ってる時は必ず作りつつワイくんみたいな後輩に全てを台無しにされる
  • オワコン大手SIerに学ぶアンチパターン - Qiita

    軽い読み物としておもしろおかしく読んでください。 はじめて社外の人の仕事を見た 今まで社内の成果物しか目にしてこなかったのですが、ふとしたきっかけで外部ベンダーが作ったシステムを移行することになりました。 会社名を見て、よく知った会社でちょっと安心しました。 「ここなら設計書とかもきちんとしてるだろう、多少古臭くても堅実にやってるんじゃないかな」って思ってました。ええ。 実態は全然違った とんでもない量のExcel設計書として渡されました。 さすがに設計が専門だけあって設計書の量はすごいなぁ。と思って読んでいるといろいろ察してきました。 正直、「オワコン大手SIer」と呼ぶしかありません。設計しかできないと思っていたのに、何もできないなんて・・・ 実際に自分が見た「オワコン大手SIer」のアンチパターンをご紹介していきます。 自分が多く当てはまっている場合は今すぐ直してください。移行する

    オワコン大手SIerに学ぶアンチパターン - Qiita
    shikiarai
    shikiarai 2020/06/15
    90年代にメモリ数十MBしかない前提で作られたシステム相手にすれば特に何も感じるものはなくなる。中間ファイル沢山作っちゃうぞ〜
  • awsって最近すごいらしいね?あれいくらで作れる?を雑に見積もる - Qiita

    規模大きめの皮算用のお時間です。 まずはこちらのツイート zoomの話じゃないけど、「awsって最近すごいらしいね?あれいくらで作れる?1000万くらい?」と聞かれたことはある — じゃすてぃ🍖🐈駆け出しYouTuber (@justy_sh) June 9, 2020 そもそもAWSを作ることを考えたことは無かったなーと反省し 今後日でも新しいクラウドサービスを1から作ることになる可能性も0ではないと思ったので AWSのようなものを1から作ることを雑に考えてみましょう。 AWSとは まずは1000万円で作れると思われているAWSってなんでしょうか。 まあAWSのHP見ろって話ですよね。 AWSとは 小学生でも分かるように言うと、すっげえクラウドサービスでしょうか。 どこかの国会議員には分からないかも知れませんがwwwwwww。 参考のためにWikipediaを引用すると Amazo

    awsって最近すごいらしいね?あれいくらで作れる?を雑に見積もる - Qiita
    shikiarai
    shikiarai 2020/06/13
    最初の数行で読む価値ないと分かるセンスだった
  • Kuwahara filterとかいう明らかに日本人の名前な画像フィルターに出会い、試してみたらすごかったので紹介する。 - Qiita

    Kuwahara filterとかいう明らかに日人の名前な画像フィルターに出会い、試してみたらすごかったので紹介する。Python画像処理画像加工フィルター 6/15追記 あとがきの提案について書きました 写真表現としての桑原フィルターの提案 #はじめに Kuwahara filter(桑原フィルター)とは 桑原フィルターは桑原道義さんという大学教授(Wikipedia曰く)が考案した平滑化フィルターの一種で、内容のシンプルさに反して上手いことかけるとまるで油絵のようになる、なんだかすごいフィルターであーる(先に結果が見たい方は記事の一番下を覗いてみよう) Kuwahara filter -Wikipedia SPECT用データ処理 (元論文?) #桑原フィルターの内容 https://upload.wikimedia.org/wikipedia/commons/4/49/Kuwahar

    Kuwahara filterとかいう明らかに日本人の名前な画像フィルターに出会い、試してみたらすごかったので紹介する。 - Qiita
  • Dockerとはどういったものなのか、めちゃくちゃ丁寧に説明してみる - Qiita

    お詫びと訂正 おまけ2 の内容に関して誤りの情報を記載していたので、修正いたしました。(2020/6/6 22:55) またコメントで大変丁寧にご指摘&アドバイスをくださった@souchi00さん、ありがとうございます🙇‍♂️ 追記(コンテナについて)(2020/6/8 11:10) @inductorさんがコンテナに関するわかりやすい資料を紹介してくださいました! https://www.slideshare.net/zembutsu/what-isdockerdoing コンテナについてより詳細を知りたい方は是非ご覧になってください ### 追追記(2020/6/8 12:30) 記事で何点か誤った表記があったので、コメントで指摘くださった方々のアドバイスの元修正しております。(文中でも修正しておりますが、コメント欄を見ていただければより詳細がわかると思います。) 以後このような

    Dockerとはどういったものなのか、めちゃくちゃ丁寧に説明してみる - Qiita
    shikiarai
    shikiarai 2020/06/07
    ここで言うコンテナの説明が欲しい……やってることは何となくわかるのにコンテナにずーっと引っかかってる
  • ZOOMと全く同じ機能をwordpressで実装した時の概算見積を真面目に考えてみる - Qiita

    的にはビデオ会議機能の提供ですね。 有料版では参加人数や時間の制限が変わる形ですね。 プロ版以降の機能はZoomのメインの機能ではなく、付加機能であると思われるので Zoomと同じことをしたいと思うならとりあえず、ビデオ会議できればいいんですよね。 wordpressとは WordPress(ワードプレス)は、オープンソースのブログソフトウェアである。PHPで開発されており、データベース管理システムとしてMySQLを利用している(後述のプラグインよりSQLiteでの使用も可能)。単なるブログではなくコンテンツ管理システム (CMS) としてもしばしば利用されている。b2/cafelogというソフトウェアのフォーク(後継)として開発、2003年5月27日に初版がリリースされた[4]。GNU General Public License (GPL) の下で配布されている。 参考:wikip

    ZOOMと全く同じ機能をwordpressで実装した時の概算見積を真面目に考えてみる - Qiita
    shikiarai
    shikiarai 2020/06/07
    クソ遅延1対1限定のビデオ通話でいいならそんなにコストかからずに作れるだろうけど、多分そこが1番の要件なんでしょ?
  • 家の中のセンサデータをRaspberryPiで取得しまくり、スーパーIoTハウスを実現 - Qiita

    はじめに 巷ではスーパシティ法によるデータ管理が話題ですが、 インドア派な私はシティの前にハウスで時代の波に乗ろう!と思い立ち、 大量のセンサデータをリアルタイムでダッシュボード表示する仕組みを作りました。 結論から言うと、センサデータを安定して見える化できるシステムが構築できたと感じています。 初心者の方でもわかりやすいよう、説明の飛躍のない記事作成を心がけたいと思います。 飛躍、間違い等あれば、ご指摘頂けるとありがたいです! 2021/12追記 さらに進化?したので以下の記事もご参照ください 必要なもの ・RaspberryPi(今回はPi3Model Bを使用) ・Python実行環境(今回はプリセットのPython3.7.3使用) ※RaspberryPiでのPython開発環境は試行錯誤の結果、こちらに落ち着きました ・Googleアカウント(スプレッドシートを使うのに必要) ・

    家の中のセンサデータをRaspberryPiで取得しまくり、スーパーIoTハウスを実現 - Qiita
    shikiarai
    shikiarai 2020/06/07
    ポエムじゃないQiita良いね。