タグ

プログラミングに関するtfurukawのブックマーク (59)

  • オイ、そこのSELECT COUNT。余計な数え上げに意味なんかねえ - inSmartBank

    こんにちは。MySQLは秋の季語とする一派が世に存在していることを知り、私もMySQLに関わる記事を書いてみようと筆を取ることにしました。 さて、リレーショナルデータベースをバックエンドとするWebアプリケーション開発において、特定の条件に合致するレコードがN件だけ存在するかどうかを確認するロジックは頻出といえます。プログラマとして一度は書いたことがあるのではないでしょうか? この記事ではそのような件数カウントを行うためのクエリが引き起こした性能劣化と、その改善アプローチについて紹介していきます。 なお、記事の内容はMySQLを前提としており、アプリケーションコードの例はRuby on Railsを用いますが特別な前提知識は必要ありません。コードの雰囲気だけ感じ取っていただければと思います。 ありがちなコード if query.count == n の問題 冒頭で述べた通り、特定の条件に

    オイ、そこのSELECT COUNT。余計な数え上げに意味なんかねえ - inSmartBank
    tfurukaw
    tfurukaw 2024/10/11
    新人の頃存在チェックにcountして怒られたなぁ。oraclePL/SQLならselect-into。細かく制御したければopen-fetch-fetch使い分けろとか。まだこういう話になるのね。まだコーディング仕事できるかな?
  • 【プログラミング不要】suumoの物件情報をスプシに一覧化する方法|ハチ

    IMPORTXML関数を使ってsuumoの物件情報ページをスクレイピングし、スプシに一覧化する方法をご紹介します。 suumoから引っ張ってくる情報は以下の通り。 物件名 価格(万円) 広さ(m^2) 築年(年、月) 最寄り駅と駅徒歩 ※友人用に作ったスプシは坪単価も出したかったので、いったんデータを引っ張ってきてからスプシ上で価格と広さのデータをこねこねしてます。これは時間あるときに追記します! 手順1:suumoで希望の条件で物件を検索するPCsuumoを開き、希望の条件で物件を検索します。 モバイルサイトだと後々うまくいかないのでPCで検索してください。 ここでは、青山一丁目の中古マンションを検索してみました。 デフォルトでは表示件数が30件になっているので、100件に変更します。 このときのページのURLをコピーしておきます。 手順2:suumoのURLをスプシに貼り付けるまずス

    【プログラミング不要】suumoの物件情報をスプシに一覧化する方法|ハチ
    tfurukaw
    tfurukaw 2024/10/04
    heeeeeee!!!
  • 「経歴盛るのが当たり前」 新卒SEが派遣スクールで見た業界の闇 | 毎日新聞

    ばれるのは時間の問題だった。 システムエンジニア(SE)派遣会社に新卒で入社した20代の男性は「実務経験5年のSE」として取引先に送り込まれた。 実際は素人同然で、トイレの個室にこもっては専門用語を検索する日々が続いた。周囲からの冷ややかな視線に耐えかね、程なく退職する羽目に。 会社の対応に疑問を持った男性は、会社と闘うことを決意する。 トントン拍子で内定も… 「未経験でも応募可能」「スクールでスキルも学べる」 2021年2月、大手求人サイトに掲載されていたうたい文句に目が留まった。 当時、大学4年生。新型コロナウイルスが世界中で猛威を振るっていた。内定先の旅行会社から「倒産する」と連絡を受け、途方に暮れていた。 過去にプログラミングを学んだ経験があり、SEへの興味はあった。わらにもすがる思いで応募すると、トントン拍子で採用内定を得た。 会社は、取引先から依頼を受けて、見合った能力を持つS

    「経歴盛るのが当たり前」 新卒SEが派遣スクールで見た業界の闇 | 毎日新聞
    tfurukaw
    tfurukaw 2024/10/04
    20年前は普通にあったし、自分もある種その中にいたけど、今は難しいでしょう。専門的になり過ぎで俄仕込みじゃ追いつけない。逆に独学できる環境は充実しているけど、それを活かせてる人がどれだけいるのだろうか。
  • ニコニコ動画、8月5日にサービス再開へ ドワンゴが復旧状況報告

    ドワンゴは7月26日、サイバー攻撃の影響でサービス停止中の動画配信サイト「ニコニコ動画」を8月5日から再開すると発表した。ニコニコ生放送・ニコニコ大百科なども同日に再開する。 8月5日に再開するサービス一覧は下記の通り。 ニコニコ動画 (動画の投稿・視聴、コメント投稿が可能) ニコニコ生放送(公式番組の視聴、コメント投稿が可能) ニコニコ大百科(記事の閲覧・作成・編集、掲示板の閲覧・レス投稿が可能) ニコニコ静画 ニコニ・コモンズ ニコニ立体 ニコニコQ クリエイター奨励プログラム 各サービスの復旧の詳細は8月1日に、新バージョンの名称は5日に発表する予定。なお、ニコニコ動画はPC版/スマートフォンブラウザ版、ニコニコ生放送はPC版での再開となる。スマートフォンアプリの提供は8月上旬~中旬に提供予定。 ドワンゴは「新しい安全な環境にニコニコのシステムを再構築している関係上、安定した運用を確

    ニコニコ動画、8月5日にサービス再開へ ドワンゴが復旧状況報告
    tfurukaw
    tfurukaw 2024/07/26
    多分システム再構築してるっぽいので、このスピード感での再開はエンジニアの皆様ホント頑張ったんだと思う。いやこれからも大変なんでしょうけど。サービス再開直後は不正アクセスの嵐でしょうし。頑張って!
  • 2024年最新版:Pythonデータ解析ライブラリ総まとめ - 実践的ガイド - Qiita

    はじめに Pythonのデータ解析エコシステムは日々進化を続けています。2024年現在、効率的なデータ処理、直感的な可視化、高度な機械学習の自動化など、様々な新しいツールが登場しています。記事では、最新のPythonデータ解析ライブラリを紹介し、それぞれの特徴や使用例、実際のユースケース、そして導入方法まで詳しく解説します。 1. データ操作ライブラリ 1.1 Polars: 高速データ処理の新標準 Polarsは、Rustで実装された高速なデータ操作ライブラリです。pandasに似たAPIを持ちながら、大規模データセットでより高速に動作します。 特徴: 高速な処理速度 メモリ効率が良い pandasに似たAPI 使用例: import pandas as pd # サンプルデータを作成 data = { "age": [25, 32, 28, 35, 40, 50], "categor

    2024年最新版:Pythonデータ解析ライブラリ総まとめ - 実践的ガイド - Qiita
  • 競プロ出身者・機械学習出身者の問題コード

    https://anond.hatelabo.jp/20240625191650 競プロ出身者だけじゃなく、機械学習出身者も問題コードが多い 印象の問題ではなく実際に下記のようなコードが多い 念のため言っておくと底辺大や文系出身プログラマーも同様の傾向にある 正常系しか意識していない一番多いのはコレで異常系の動作を全く意識していない 入力値に想定外のものが入ることを考えていなかったりI/Oに関わるエラーについても配慮がない 「エラーが出たらとにかくtry-catchしてログ吐いて終わり」 ならまだマシな方で、「握りつぶして処理続行」みたいなことも平気でやる 「ここの処理でエラーログが出てるから対処よろしく」 「対処しました!(握りつぶし)」 とか滅茶苦茶多い セキュリティに関する意識が低い異常系の話と被るけど基的に性善説でコード書くのでセキュリティの不備がめちゃくちゃ多い API作らせて

    競プロ出身者・機械学習出身者の問題コード
    tfurukaw
    tfurukaw 2024/06/26
    両方経験したのでわかる。でも機械学習系はパッとコード書いて試して、違ったらちょっと変えてまた試しても繰り返し、そのサイクルを如何に回すかで、、業務系システムとは全く別世界な気がする
  • 高度に発達したウォーターフォールはアジャイルと見分けがつかない - An Epicurean

    tl;ldr ウォーターフォールという言葉を悪口として使うのは良くないんじゃない? 空想上の開発手法ウォーターフォールと進化したウォーターフォール アジャイル開発の説明がされるとき、アンチパターンとして「ウォーターフォール」が使われることがあります。これは「ダメな開発現場」と同義で使われており、共通仮想敵としての空想上の開発手法とも言えます。 それは、曰く、硬直化していて変化や手戻りを許さず、一道でフィードバックサイクルがない、数十年アップデートされていない古臭い手法のことらしい。 もちろんそういう開発をしている現場もまだ数多く存在するでしょう。ただ、ウォーターフォールをカイゼンし進化させている人達もいます。そういう人たちの話を聞くと、例えば以下のような話を聞きます。 一ヶ月で1ウォーターフォールを回す 前の手順に戻る手続きが定められている 初期フェーズから開発者を巻き込む 定期的なレビ

    高度に発達したウォーターフォールはアジャイルと見分けがつかない - An Epicurean
    tfurukaw
    tfurukaw 2024/06/22
    私は表向きウォーターフォールでの開発しかやったことないことになってるけど、要件定義向け文書書きながらコード書いて客の前でシステム動かしながらやってた。
  • MySQL8.0でSELECT COUNT(*)が低速になる動作は8.0.37で解消されていた! - CyberAgent SRG #ca_srg

    メディア統括部 サービスリライアビリティグループ(SRG)の鬼海雄太(@fat47)です。 #SRG(Service Reliability Group)は、主に弊社メディアサービスのインフラ周りを横断的にサポートしており、既存サービスの改善や新規立ち上げ、OSS貢献などを行っているグループです。 記事は、MySQ

    MySQL8.0でSELECT COUNT(*)が低速になる動作は8.0.37で解消されていた! - CyberAgent SRG #ca_srg
    tfurukaw
    tfurukaw 2024/06/14
    「SELECT COUNT()がセカンダリインデックスの代わりにクラスタ化インデックスを使用していることが原因である可能性があります」
  • pyenvを初心者に薦めるのはもうやめよう - methaneのブログ

    Pythonのパッケージ・プロジェクト管理ツールはまだ乱立状態にあって、どれを使えばいいのかわからないから慣れたpyenv+pipを使おうという判断をする人がいるかもしれない。その判断自体は別に否定しないけれども、初心者に教える時にpyenvを教えるのはもうそろそろやめてほしい。 Pythonをソースからビルドするので、コンパイラや依存ライブラリを事前に揃えないといけない。依存ライブラリが足りないと中途半端なPython環境もできうる。 デフォルトで最適化オプション(PGO+LTO)が付いてないので、最適化ビルドしたPythonより~5%程度遅い Windowsで使えない Rye, pdm, Hatch などは python-build-standalone と呼ばれるビルド済みPythonをインストールする機能があるので、これらの欠点が存在しない。 Pythonをインストールするところま

    pyenvを初心者に薦めるのはもうやめよう - methaneのブログ
    tfurukaw
    tfurukaw 2024/05/27
    もうバージョン管理システムのことを考えるのも面倒なので、毎回dokcerでコンテナ作ることにしてる。
  • 「エクスプローラー」に「Git」を統合 ~アプリ開発者のためのWindowsシェル改善/ファイル右クリックメニューからのTAR/7z圧縮、「Sudo for Windows」なども

    「エクスプローラー」に「Git」を統合 ~アプリ開発者のためのWindowsシェル改善/ファイル右クリックメニューからのTAR/7z圧縮、「Sudo for Windows」なども
    tfurukaw
    tfurukaw 2024/05/23
    windowsがオープン系の開発者に優しくなる時代がやってくるとは・・・いっつも独自の何かを作り出して反発買ってたのに。
  • SQL滅ぶべし | ドクセル

    SQL • リレーショナルデータベースシステムと会話するための言語 • 1970年 Codd が RDB モデルと同時に提案 (Alpha言語) • 1974年 Chamberlin と Boyce が改良 • 元々は SEQUEL (Structured English Query Language) だったが、商標登録されていた • 読み方は エスキューエル とそのまま読む (Glliespie 2012) SQLSQL は目的別に 4つに分けられる • DCL (データ制御言語) GRANT とか • DDL (データ定義言語) CREATE TABLE とか • TCL (トランザクション制御言語) ROLLBACK とか • DML (データ操作言語) • INSERT, UPDATE, DELETE, SELECT • データ分析者にとって重要なのは SELECT 文

    SQL滅ぶべし | ドクセル
    tfurukaw
    tfurukaw 2024/05/07
    「最初に結果がどうなるかを考える必要がある」「集計するときは結果は最後に考えたい」?仕様決まってないのにコーディングしてるということ?そもそも仕事の進め方に問題ある気が・・
  • みずほ銀行のシステム開発裏話、なんかもう俺らからすると当たり前すぎて、逆に何言ってるか解らなくなるまである→「これはひどい」

    𝕏 𝕃(おおきなえる)🌸⚒️ @ellnore_pad_267 雑談垢だよ。 ホロ沼にハマッているよ。 消費税を納税しているよ。 ふぁぼは既読マークだよ。 RTは賛同じゃあないよ。 フォロバはしないよ。 Amazon アフィプログラムに参加してるよ。 ホロ箱推し member of 🌸⚒️🐻💿🐏🌽🥐 sugaryo-pad.hatenablog.com

    みずほ銀行のシステム開発裏話、なんかもう俺らからすると当たり前すぎて、逆に何言ってるか解らなくなるまである→「これはひどい」
    tfurukaw
    tfurukaw 2024/04/27
    毎回データフロー図とジョブフロー図の合の子みたいの作ってた。毎回いろんな人に「意味あるの?」とか言われていたけど最終的にはそれがバイブルみたいになって、その後毎回作ることになってた
  • オブジェクト指向は必要なのか / Is object-oriented needed?

    2024/3/24に開催されたObject-Oriented Conferenceでの登壇資料です。 https://ooc.dev/2024/

    オブジェクト指向は必要なのか / Is object-oriented needed?
    tfurukaw
    tfurukaw 2024/03/24
    学生時代からちょこちょこ手を出しかけていたのに、結局それっぽいのを数本作っただけで、本格的なオブジェクト指向プログラム書かないまま人生終わりそう・・・
  • データ分析基盤まとめ(随時更新)

    はじめに データ分析基盤の資料を力尽きるまで追記していきます。 構成図にあるアイコンや記事の内容から技術要素を調べて記載していますが、不明分は未記載にしています。修正のコメント頂ければ助かります。 あと、この記事追加してっていう要望も歓迎いたします。 テンプレート 記事公開日 : 会社名(サービス名) データソース : データ処理 : アウトプット : 画像 URL 2025年 2024/03/14 : 株式会社エス・エム・エス(カイポケ) データソース : Amazon Aurora データ処理 : Datastream、BigQuery、dbt アウトプット : Looker Studio 2024/03/12 : 株式会社マイナビ データソース : SQL Server、Amazon S3 データ処理 : EmbulkAmazon MWAA、Apache Airflow、Snowf

    データ分析基盤まとめ(随時更新)
    tfurukaw
    tfurukaw 2024/03/16
    ・・・完全に時代に乗り遅れた(;;
  • Numpyが18年ぶりのメジャーアップデート! 改善点、変更点まとめ - Qiita

    NumPy 2.0.0の主要な変更点 皆さんもお世話になっているであろう科学計算ライブラリNumPyが、2006年以降初めてのメジャーアップデートを発表しました。そこで、変更点をざっくりとまとめてみました。以下は変更点の一部であり、それ以外については実際のドキュメントを参照してください。 免責事項:この記事は、NumPy 2.0.0の変更点について個人的な見解を述べたものであり、NumPyの開発チームや関係者の公式な見解を代表するものではありません。変更点の影響や対応方法については、必ず公式のリリースノートと移行ガイドを参照してください。また、この記事には不正確な情報が含まれている可能性があります。記事の内容を実際のプロジェクトに適用する前に、必ず公式ドキュメントで情報を確認してください。 概要 2006年以来の最初のメジャーリリース 破壊的な変更あり 多くの新機能とPython/C AP

    Numpyが18年ぶりのメジャーアップデート! 改善点、変更点まとめ - Qiita
    tfurukaw
    tfurukaw 2024/03/16
    あまり変えないで欲しい、と思う一方、実質文字列の扱いは面倒だったのでその辺強化されるのはありがたがったり・・・勉強しなおさないと
  • 昔の漫画のパソコン描写、勢いはすごいのに清々しいほど全部間違っててインターネット老人からツッコミの嵐

    SUPERリアルまりにゃんP7 @marinyan これほんと何もかも間違ってて当に面白い(そこを持ってはいけない、そんなに勢いよく突っ込んではいけない、そもそも前後が逆、多分裏表も逆、F-1はrunではない) x.com/pc8801_mk2_mr/… SUPERリアルまりにゃんP7 @marinyan これほんと何もかも間違ってて当に面白い(そこを持ってはいけない、そんなに勢いよく突っ込んではいけない、そもそも前後が逆、多分裏表も逆、F-1はrunではない) x.com/pc8801_mk2_mr/…

    昔の漫画のパソコン描写、勢いはすごいのに清々しいほど全部間違っててインターネット老人からツッコミの嵐
    tfurukaw
    tfurukaw 2024/02/20
    本物の老人になってしまったのか。ワタシ。。。カセットテープも8インチも10MB-HDDも使ってたよ。
  • ひろゆきがRubyの父・まつもとゆきひろに聞く「弟子募集しないんですか?」 - エンジニアtype | 転職type

    日々プロダクトに向き合うエンジニアのみなさんにヒントをお届けすべく、日最大の電子掲示板『2ちゃんねる(現5ちゃんねる)』を立ち上げた、ひろゆきさんを迎えた連載。国内外のプロダクトを、ひろゆきさんはどうみるのか? ひろゆきさんが開発者ならどこをブラッシュアップするのか?そんなことを、毎回話題のプロダクトを取り上げながらお届けすることでプロダクト開発で大切なことを探っていきます。 今回で3回目となるこちらの連載。1回目、2回目と若きエンジニアを論破してしまう回が続いたので「次回は論破しないひろゆきもみてみたい…」という気持ちに駆られてきた編集部一同。そこで、ひろゆきさんに聞いてみました。

    ひろゆきがRubyの父・まつもとゆきひろに聞く「弟子募集しないんですか?」 - エンジニアtype | 転職type
    tfurukaw
    tfurukaw 2024/01/25
    まつもとさんの後継者はAppleのジョブズ→クックのように違うタイプが良いのでは。コミュニティをまとめる&維持する能力ある人が良いと思う。ひろゆきはコード書けるし話せるからこのくらいの仕事はできるのでは
  • MySQLでUUIDv4をプライマリキーにするとパフォーマンス問題が起きるのはなぜ?(N回目)

    はじめに こんにちは、令和トラベルでバックエンドエンジニアをしている飯沼です。 MySQLでは、UUID (v4)などのランダム性の高いIDをプライマリキーに設定すると、パフォーマンスが低下すると言われています。私自身もこの問題については認識しておりアンチパターンとして避けて来ましたが、イマイチ理由を理解できず何度も調べていたので自分の理解を整理しました。 ※ この記事は令和トラベルのTech LT会で共有した内容を記事にしたものです。社外の方にもご参加いただけるTech LT会は connpass にて告知しています。 UUIDをプライマリキーにするユースケース そもそもUUIDをプライマリキーにするユースケースはどのようなものがあるのでしょうか? いくつかの観点から考えてみます。 パフォーマンス観点 大量の同時書き込みが発生するような状況でauto incrementを利用してIDを発

    MySQLでUUIDv4をプライマリキーにするとパフォーマンス問題が起きるのはなぜ?(N回目)
  • ひとりで作った「理想のタスク管理ツール」は5年でこうなった(なってない)|ガッシー|Repsona

    ─これから挑戦する次の誰かにとって、何かの気づきになったら嬉しいです。 @GussieTechです。ひとりで「理想のタスク管理ツール」を作っています。いつも使ってくださっているみなさん、当にありがとうございます。今日は、ひとり開発の知られざる5年間を、惜しみなくシェアします。 僕が作ったサービス5年前「理想のタスク管理ツールを作ろう」と思いたちました。軽くておしゃれで「人」に寄り添う、他にはないサービス。こんなものを無料でリリースしたら、世の中ひっくり返るんじゃないかって、気で思って作りました。それはもう、ワクワクしました。 総売上高 1,240万円。スペース 5,873登録¥12,403,567名前は「Repsona」といいます。ワクワクを原動力にひとりで作ったRepsonaは、5年でこうなりました。数字に感じるところは人によると思います。趣味個人開発としては大成功。スタートアップ

    ひとりで作った「理想のタスク管理ツール」は5年でこうなった(なってない)|ガッシー|Repsona
    tfurukaw
    tfurukaw 2024/01/12
    素晴らしい!ここまでやることに意義がある。
  • 実務に役立つSQLのテクニック集 - Qiita

    概要 実務で使用されたSQLをまとめました。Oracle19cとOracle12cでの利用実績がありますが、他のデータベースまたバージョンでの検証は行っていません。 随時追加予定です。 Oracleデータベースメタデータ抽出 オブジェクトの定義や作成に使用されるSQL文を抽出 SELECT sqlarea.sql_id AS sql_id, parsing_schema_name, CASE WHEN length(sql_fulltext) > 10000 THEN to_clob('sql is too long') ELSE sql_fulltext END AS sql_fulltext, sql_bind_capture.name AS param_name, sql_bind_capture.value_string AS bind_value, last_active_tim

    実務に役立つSQLのテクニック集 - Qiita