タグ

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

  • 本屋で技術書みてたら人生詰みかけた - Qiita

    はじめに こんにちは。WatanabeJin(@Sicut_study)です。 今回は以前Twitterでも話題にした「成長しないエンジニアほど屋に行く」という理由について解説したいと思います。 成長が遅いエンジニアほど屋に行く話 最近、エンジニアとして成長が遅い人たちに共通する特徴を発見しました。それは「技術書コーナーを好む」ということです。これに気づいたのは、自分自身がエンジニア1年目で、同じ行動をしていたからです。… pic.twitter.com/p35NaS6T4a — Watanabe Jin (@Sicut_study) January 7, 2024 もしあなたが説明することに当てはまるところがあれば、それをきづけたのは大きな分岐点だと思います。ここから自分の学習方法などを見直してみてください。 成長が遅いエンジニアほど屋に行く 私はプログラミングコーチングJISOU

    本屋で技術書みてたら人生詰みかけた - Qiita
    asuka0801
    asuka0801 2024/07/04
    無駄な本などない、本は読んどけ
  • しょーもない事務作業を快適にするためのツールを作りたいとき 〜セキュア意識の高い会社編〜 - Qiita

    Pythonインストールできないんだけど! なんかいつもこれ同じ作業してるよな、自動化出来ないかな…よしやったる! ↓ みんなー!こんなツール作ったよー、使ってみてー! ↓ そして起こる「ちょっと、俺、.pyとかいう拡張子使えないんだけど」の声。 会社のPCって外部のアクセス禁止だったり新規ソフトウェアのインストール制限があったりと、色々制約がありますよね。この制約のせいで、作ったはいいが使えなかった、みたいな理不尽なハマり方したり、一方で試してみたら意外とこれ動いちゃうんだ!?みたいなこともあったりするので、ここではそんなずる賢い業務改善を必死に考える社員のみんなに、どれでやれば利用可能なツールづくりができるのか、その選択肢を載せていくよ。 Python + exe化ツール(Pyinstaller) やっぱ中身含めてファイル操作系でちょこちょこやるならPythonが楽だよね。ただ、Pyt

    しょーもない事務作業を快適にするためのツールを作りたいとき 〜セキュア意識の高い会社編〜 - Qiita
    asuka0801
    asuka0801 2024/06/29
    Windowsでありもの使うしかない環境ならPowerShellが最強ではある
  • パスワードがハッシュ値で保存されているサイトのSQLインジェクションによる認証回避の練習問題 - Qiita

    SQLインジェクションによる認証回避 SQLインジェクションによる影響として、情報が漏洩するとか、データが勝手に更新されてしまうなどとともに、認証回避の例がよく紹介されます(私のでも取り上げています)。 典型的な例は下記のとおりです。 // $id と $password は外部からの入力 $sql = "SELECT * FROM users WHERE id='$id' AND password='$password'";

    パスワードがハッシュ値で保存されているサイトのSQLインジェクションによる認証回避の練習問題 - Qiita
    asuka0801
    asuka0801 2023/09/18
    php詳しくないから試してみないと分からないがfetchで取得する1つ目の結果セットが空なら2つ目のSQLの結果が取得出来るのかもしれない。sqllite3はmultiple query defaultで動くはず。
  • ソルト付きハッシュのソルトはどこに保存するのが一般的か - Qiita

    pictBLandとpictSQUAREに対する不正アクセスがあり、パスワードがソルトなしのMD5ハッシュで保存されていたことが話題になっています。 2023年8月16日に外部のフォーラムにpictSQUAREより窃取した情報と主張するデータ販売の取引を持ち掛ける投稿が行われた(中略)パスワードはMD5によるハッシュ化は行われているもののソルト付与は行われていなかったため、単純なパスワードが使用されていた29万4512件は元の文字列が判明していると投稿。(それ以外の26万8172件はまだMD5ハッシュ化されたままと説明。) 不正アクセスによるpictBLand、pictSQUAREの情報流出の可能性についてまとめてみた - piyolog より引用 これに関連してMD5ハッシュやソルトに関するツイート(post)を観察したところ、どうもソルトの理解が間違っている方が多いような気がしました。

    ソルト付きハッシュのソルトはどこに保存するのが一般的か - Qiita
    asuka0801
    asuka0801 2023/08/17
    saltとhashが両方流出した場合、所謂「流出済のよくあるパスワード」とsaltの組み合わせで同値のハッシュ値を算出出来てしまうのではなかろか と思ったのだが計算コスト考えると割に合わないのか
  • フリーランスエンジニアのための税ハック 〜個人事業税編〜 - Qiita

    フリーランスエンジニアの皆様、個人事業税、払ってますか? こんにちは、モロ(@moro_is)です。 結論から申し上げますと、エンジニアは個人事業税払わなくて大丈夫です! 完。 個人事業税とは 個人事業税とは、個人事業主、つまりフリーランスを対象とした地方税のひとつです。 開業届を出したが最後、毎年8月と11月(に徴税されるのでそのちょっと前)に各都道府県税事務所から仰々しいA4の封筒が送られてきて、よくわからないまま2万円くらい請求されます。 「個人事業税ってつまりなんじゃい」というと、 この税金は、事業を行う際に利用する道路などの公共施設や各種の公共サービスに必要な経費の一部を負担していただくもので、個人に課税される事業税と法人に課税される事業税とがあります。 https://www.pref.kanagawa.jp/zei/kenzei/a001/b004/index.html 個人

    フリーランスエンジニアのための税ハック 〜個人事業税編〜 - Qiita
    asuka0801
    asuka0801 2023/06/16
    個人事業税は対象外だということは知っていたので払った事ないな
  • 【個人開発】世の「家事やれよ論争」を撲滅するスマホアプリをリリースしました - Qiita

    なぜ家事は紛争を呼ぶのか 私の周りも結婚・出産をする友人が増えました。 そこで必ずと言っていいほど上がる議題がこれ。 「夫()がぜんっぜん家事をやらない」 日で婚姻制度が発足してから早100年。 これだけ長い年月「夫婦」という形が取られているのに、なぜこんなにも初歩的な不満が世に蔓延するのでしょう。 私も結婚して5年経ちます。 知人からの愚痴なども収集した結果、いくつかの原因が考えられました。 その1. 人は「自分が一番やってる」と思う生き物である これは私がサラリーマンとして働いてて出した結論です。 殆どの人が「自分は結構仕事してる」と思いがちです。(これはマジ) 少なくとも同等の仕事量だとまず間違いなく「自分のほうが仕事してる」と勘違いします。 そのため、仮に夫婦が全く同じ量の家事を分担してたとしても、 それが正確に見える化されない限り、必ず「俺(私)のほうが家事をやってる」と

    【個人開発】世の「家事やれよ論争」を撲滅するスマホアプリをリリースしました - Qiita
    asuka0801
    asuka0801 2023/04/25
    Flutterっぽいなと思ったらFlutterだった
  • Go言語でプログラマーが進化する過程 - Qiita

    はじめに 「The Evolution of a Go Programmer」こちらの解説がおもしろかったので、コードごとに解説しようと思います。 下記のコードは階乗計算の異なる実装方法を示しています。 Junior Go programmer 初心者のGoプログラマーが書くことが多い、繰り返し文を用いた階乗計算の実装です。forループを使って階乗を計算し、その結果を返します。 package fac func Factorial(n int) int { res := 1 for i := 1; i <= n; i++ { res *= i } return res }

    Go言語でプログラマーが進化する過程 - Qiita
    asuka0801
    asuka0801 2023/04/22
    "汎用的なGoプログラマー" お、おう…ネタなのは分かるがこんなコード書かれたらrejectせざるを得ない
  • GPT-4時代のエンジニアの生存戦略 - Qiita

    GPT-4時代のエンジニアの生存戦略 ※ この記事の内容の一部はこちらのイベントでお話したことと重複します。 はじめに 2023年3月1日にOpenAI社よりChatGPTAPIが公開されました。 さらに14日にはGPT-4が登場し、その翌々日にはMicrosoft 365 CopilotでGPT-4をOffice製品に搭載することが発表されるなど、AI領域で大きな変化が起きています。 変化の速度の速さと変化量の大きさにより、私自身も追いつくのが精一杯な状態です。 個人的には、iPhoneの登場時以上の衝撃を受けています。 人類の歴史上、過去3回AIブームがありました。Generative AIが4回目のブームになります。 そして、特に日においては顕著なのですが、AIへの過度な期待とそれへの失望の繰り返しがここ数十年にわたって繰り返されてきました。 直近だと数年前のDeep Learn

    GPT-4時代のエンジニアの生存戦略 - Qiita
    asuka0801
    asuka0801 2023/03/30
    “エンジニアには「コードを書くこと」自体では無く、「ビジネスサイドが実現したいこと」を実現する能力がより強く求められる” ITエンジニアの職業で一番重要なのはコミュニケーションだったりするんですよね。
  • 何故Javaは敬遠されるのか? - Qiita

    何故かJavaは敬遠される!? 筆者はIT業界に努めて17年ほどです。 SESとして働きに出ることが多かったのですが、近年はWebエンジニアとして PHP(Laravel)を使った開発が多くなってきています。 そんな開発現場ですが、プログラミング言語の話題に上がると 「Javaはわからない」 「Javaって難しいんでしょ?」 「環境構築がなぁ・・・」 なんて話をよく聞きます。 私はJavaの方が経験した期間が長かったので、特にそういった苦手意識は無いのですが Laravelの現場でもそういった話を聞くので、 「フレームワークの特性や、コードの書き方は結構似ているところが多いのに、何でみんな苦手なんだろう?」 と思ってしまうのです。 今回はそのギモンについて、私が思っていることを書いていきます。 (注:Java嫌いな人を論破したいわけではありませんw) 原因その1:インフラ構造上、難しいと思

    何故Javaは敬遠されるのか? - Qiita
    asuka0801
    asuka0801 2023/02/22
    Kotlinがある現状で敢えてJavaを選択する必要はあんまりないという話かと思ったら違ったっぽい。
  • ChatGPTのビジネス利用検討 - Qiita

    記事の目的 この記事は、自然言語処理(NLP)に詳しくない方を主な対象として、ChatGPT について特にビジネスでの利用法という観点で概説するものです。ChatGPT の現在の提供内容や機能および利用例を紹介し、専門外の方の理解を助けることを目的としています。 ChatGPTとは ChatGPT とは、OpenAI2022年11月に公開したチャットボットです。 従来のFAQチャットボットとは異なり、単に質問に答えるだけでなく、それ以外の使い方(例:文章の要約や翻訳など)もできます。他にも、チャットボット自身の間違いを認めたり、ユーザ(利用者)の質問の矛盾点を指摘・拒否する機能もあります。また、多言語対応しており、例えば英語や日語を扱うことができます。 なお現時点(2023年1月)では、企業独自のマニュアル等、特定のデータでのチューニングができません。事前に学習した一般的な知識に基づ

    ChatGPTのビジネス利用検討 - Qiita
    asuka0801
    asuka0801 2023/02/11
    アバターと音声入力とChatGPTを利用した格安の英語学習サービスとかはアリな気はする。
  • PostgreSQLのプライマリーキーはSERIALとUUIDのどっちが速いのか実験してみた - Qiita

    注意 この記事の実験は実際の運用を正確に反映していない恐れがあります(コメント欄の @hmatsu47 さんの投稿を参照)。 実務のアプリケーションでは異なる結果になる可能性もあるので、記事の内容はあまり鵜呑みにせず参考程度に留めておいてください。 ※「実務に近い環境で実験してみた」という投稿もお待ちしています! はじめに データベース(この記事ではPostgreSQLを対象とします)の主キーは1,2,3のような連番の整数値を主キーにするSERIALと、"00009236-b73c-4338-8ebd-e1f6c4f4fdd8"のようなランダムな文字列を主キーにするUUIDがあります。 それぞれメリットとデメリットがありますが、パフォーマンスについてはどうでしょうか?なんとなくSERIALの方がシンプルなぶん、速そうなイメージがありますが、実際はどうなのか調べてみました。 実行環境 Ma

    PostgreSQLのプライマリーキーはSERIALとUUIDのどっちが速いのか実験してみた - Qiita
    asuka0801
    asuka0801 2023/02/08
    MySQLの場合はクラスタインデックス構造だからUUIDを指定すると分散してしまって遅いという理屈は分かるんだけどPostgreSQLで遅くなる理由は何だろう。もう少し詳細が知りたい。
  • RSAの終わりの始まり - 暗号移行再び - Qiita

    前振り 全国の暗号を使うエンジニアの皆さんこんにちは。今日は暗号移行とRSA暗号の話をしたいと思います。まず暗号を利用している皆さんであればCRYPTRECの「電子政府推奨暗号リスト」のことはご存じですよね!(言い切るw) CRYPTRECから2022年7月(昨年夏)に暗号強度要件(アルゴリズム及び鍵長選択)に関する設定基準(PDF直リンク)が公開されました。この中では暗号のセキュリティ強度で各種暗号と鍵長が整理されています。セキュリティ強度はビットセキュリティと呼ばれるビットサイズ(共通鍵暗号の場合のビット長)で区分されます。暗号アルゴリズムが違ってもセキュリティ強度で比較ができるということですね。例えば現在一般的に良く使われているセキュリティ強度は112ビットセキュリティが多く、これにはデジタル署名であればRSA暗号の2048ビットやECDSAのP-224等が含まれます。今日は公開鍵暗

    RSAの終わりの始まり - 暗号移行再び - Qiita
    asuka0801
    asuka0801 2023/01/19
  • golangで便利ツール作ろうと思ったらos/execでハマった話 - Qiita

    はじめに PoCの初期段階などで、いくつかのシステムを組み合わせて動作させるような場面では、 リポジトリが分散し、開発者ごとに違う言語で小規模なシステムを構築していることがあります。 そんな中で、動作確認をしたり、不具合を再現させたりする際、以下のような手作業が発生していました。 1. システムAを実行してCSVを吐く 2. CSVをシステムB直下にコピーする 3. システムBを実行して結果を得る プログラマーの三大美徳の怠惰担当の私は、手動で何かをすることが嫌いなので、自動化するツールを作成していきます。 シェルスクリプトで書いても良いのですが、実行するデータパターンが複雑だったり、分岐したりすると面倒なので、私はgolangで作成することが多いです。 この記事では、そんな中でハマった出来事と、回避方法をご紹介します。 根解決していないものが多いので要注意&コメントお待ちしています。

    golangで便利ツール作ろうと思ったらos/execでハマった話 - Qiita
    asuka0801
    asuka0801 2023/01/17
    正直標準パッケージで機能提供されているならos/exec使わない方が良いと思うんスよ
  • システムの負荷の原因を切り分ける方法 - Qiita

    サーバのボトルネックを探る サーバが重い時、主に以下の4つがボトルネックとなる。 CPU使用率 メモリ使用量 ディスクI/O TCPコネクション数 この記事では、これらのうちどれがボトルネックとなっているかを突き止める方法について書く。 ロードアベレージを見る まずはロードアベレージを見ることで、おおまかに問題を切り分ける。 ロードアベレージの確認方法はload averageを見てシステムの負荷を確認するに書いた。 ロードアベレージが高い場合 現在のホストの「1. CPU使用率」, 「2. メモリ使用率」, 「3. ディスクI/O」を疑う。 ロードアベレージが1以下であれば軽く、1〜3くらいだとやや重く、それ以上だとこれらがボトルネックの可能性が高い。 ロードアベレージが低い場合 「4. TCPコネクション数」か、リモートホストがボトルネックになっていないか疑う。 特定のホストの問題を解

    システムの負荷の原因を切り分ける方法 - Qiita
    asuka0801
    asuka0801 2023/01/07
    TCP connection、REST APIのような使い方している時は気にならないんだけど、自動でスケールする環境かつgrpcのstreamingのように比較的生存期間が長いと結構万を超えちゃったりするので事前に想定しておく必要がある。
  • GitHub Actionsの実行・結果確認をターミナルで完結させるalias - Qiita

    この記事を読むとできるようになること git commitしてpushして、ブラウザ開いてactionsタブを開いてワークフロー探して・・・ というちょっと面倒な手間をなくして、gh-runとターミナルで叩けばワークフローが実行できるようになります。 $ gh-run # my-workflow.ymlをcurrent branchで実行 $ gh-watch # 実行状況をターミナルに表示 $ gh-view # 実行結果をターミナルに表示 $ gh-log # 実行ログをターミナルに表示 # gh # 実行する alias gh-run='gh workflow run .github/workflows/$workflow --ref $(git branch --show-current)' # 実行を見守る alias gh-watch='gh run list --workfl

    GitHub Actionsの実行・結果確認をターミナルで完結させるalias - Qiita
    asuka0801
    asuka0801 2022/12/27
    gh-xxx でも良いけど gh alias setでgh自体にaliasセット出来るからわざわざ~/.zshrcに書かなくても良いそっちの方が好き
  • Golang の Generics で使いたいものは大体 samber/lo にあった話 - Qiita

    はじめに 記事は Go Advent Calendar 2022 の18日目の記事です。 Generics を使った関数でやりたかったことが、samber/lo に大体揃ってたという話をします。 すでに自前で書いてた関数もいくつかあったのですが、このライブラリを知り置き換えていったという体験談です。 ※結果的に「samber/lo のなかでこの辺り使えるかも」というものを私の独断と偏見でピックアップする記事になってます。 samber/lo とは samber/lo は 16日目のアベンドカレンダーの記事 でも取り上げられていまして、そこから説明を引用させていただきました。 samber/loは,多種多様な便利関数を提供するパッケージです。 JavaScriptのライブラリのLodashライクであるとREADMEにも記載があります。 個人的には大好きなパッケージでして,Map,Filte

    Golang の Generics で使いたいものは大体 samber/lo にあった話 - Qiita
    asuka0801
    asuka0801 2022/12/19
    reflectで書いてるとかじゃなくてちゃんとgenerics使ってるのね。良さそう。
  • Goの並列テストでよくあるバグ(tt := tt忘れ)に対する対策 - Qiita

    どうもナレッジワークのtenntennです。 記事は、Gopher塾で扱ったテストの話で、参加者の方から質問が出た並列テストにおけるよくあるバグについての解説とGo 1.20以降で入る対策について書きます。 並列テストとサブテスト Goでは、テスト関数内で(*testing.T).Parallelメソッドを呼び出すとテストを並列に実行できます。テストを並列に実行することでテストを効率よく行い、実行時間の削減が見込めます。 また、*testing.T型には、サブテスト(子テスト)を実行するためのRunメソッドがあり、サブテストを並列に実行できます。Goではテーブル駆動テストがよく用いられため、各テストケースがサブテストとして実行されます。テストの効率化を考えて、各テストケースをParallelメソッドを用いて並列に実行することが多いです。 並列テストでよくあるバグ サブテストを並列に実行す

    Goの並列テストでよくあるバグ(tt := tt忘れ)に対する対策 - Qiita
    asuka0801
    asuka0801 2022/12/01
    独自でlinter書いてたので標準のgo vetで検知出来るようになるのは有り難い
  • SUUMOも木から落ちる?データの入力ミスらしいものがいくらかあったので紹介。 - Qiita

    こちらの記事をご覧いただきありがとうございます。 以前SUUMOの物件データをスクレイピングした記事を投稿しました。今回はスクレイピングしたデータから見つかった、入力ミスと思われる変なデータをご紹介します。 スクレイピングした記事 ↓でスクレイピングしたデータから見つかった変なデータを紹介します。 前置き:SUUMOに批判的な意見を主張したいわけではありません。 やっていること自体は人の揚げ足取りと思われて致し方ないことですが、決して批判的な意見を言いたいわけではありません。 機械学習をするうえで、イレギュラーなデータを見つけることは分析精度を上げることにつながります。 てかむしろSUUMO凄くない? と思います。どう見ても入力ミスだよな…?と思う場面はそんなにありませんでした。 人は誰しも細かいミスをしてしまうものだと思いますし、自分も毎日ミスだらけです。スペルミスのエラーとか1分に1回

    SUUMOも木から落ちる?データの入力ミスらしいものがいくらかあったので紹介。 - Qiita
    asuka0801
    asuka0801 2022/10/31
    新規登録の住居だと都内4LDK 2万円(本当は20万円)みたいな間違えは割と定期的に見つける気はするけど修正が早いんだろう。
  • イラスト生成AIに対するよくある誤解 - Qiita

    イラスト生成AIに対するよくある誤解 目次 イラスト生成AIに対するよくある誤解 目次 はじめに 注意事項 AIは既存のイラストを切り貼りしている/コラージュしている 解説 ベクトルについて 厳密には「切り貼り」も間違いではない AIイラストは既存のイラストの模倣である 解説 AIにひらめきは存在しない 解説 人間のイラストレーターを守るために、AIが描いたイラストを見分けるAIを作るべき 解説 AIで生成されたイラストは画質(解像度)で見分けられる 解説 イラスト生成AIは、学習元のイラストに酷似したイラストを生成する 解説 AIイラストを無断で学習しており違法 解説 AIイラストを学習させるのは無条件で合法 解説 AIが生成したイラストには著作権が存在しない 解説 AIを使えば狙ったイラストを簡単に生成できる 解説 おわりに 参考文献 更新履歴 はじめに Twitterを眺めてい

    イラスト生成AIに対するよくある誤解 - Qiita
    asuka0801
    asuka0801 2022/10/18
    AI絵を判定するAIを作成すると必然的にGANが作られ結果的により高度な絵画が生成されるというのはあるのだけど「作るべきではない」と言いつつ結局その流れは止められないんじゃないかしら
  • あなたのDockerfileはベストプラクティスに従っていますか?(ベストプラクティスとチェックツール) - Qiita

    Dockerfileのベストプラクティス ベースイメージには公式のレポジトリを使用する FROM命令において、使用するベースイメージは公式のリポジトリのものを使用し、軽量なものが推奨されている。 例えば、Debian イメージなど。 FROM [--platform=<プラットフォーム>] <イメージ名> [AS <名前>] FROM [--platform=<プラットフォーム>] <イメージ名>[:<タグ>] [AS <名前>] FROM [--platform=<プラットフォーム>] <イメージ名>[@<ダイジェスト>] [AS <名前>]

    あなたのDockerfileはベストプラクティスに従っていますか?(ベストプラクティスとチェックツール) - Qiita
    asuka0801
    asuka0801 2022/06/20
    linter入れとけばここらへんは勝手にチェックしてくれるのでこの手の話は「linter入れてね」の一言で終わることが多い。