タグ

ブックマーク / qiita.com (1,266)

  • 駅とか路線のマスターデータの入手方法 - Qiita

    背景 WEBサービスで駅とか路線のマスター情報とか使いたいときが結構あると思います。自分でマスター管理するのは大変なので、どこかにお願いしたいですよね。そんな時はこちら。 無料 駅データ.jp 無料(有料プランもあり) 事業者マスタ、路線マスタ、駅マスタ、接続駅マスタがCSVで提供されます APIでの提供も用意されています 商用利用やデータの改変についても制約がなく使い勝手が良さそうです 有料契約すると取得できる情報がちょっと詳細になります リクルートWEBサービス 無料 APIでの情報提供になりますが、沿線マスタAPIで全件取得できますので、それをもとにAPIをぐるぐる回せば自分で駅マスターは作れそうです ただ利用者としてリクルート社のコンテンツをマッシュアップしてサービス提供したい人向けのようなので、全く無関係のシステム・サービスで利用しようとしている場合は利用許可がでないかもしれませ

    駅とか路線のマスターデータの入手方法 - Qiita
    gfx
    gfx 2024/05/26
  • JavaScript でキューを実装して性能を比較してみた - Qiita

    JavaScript でキューを実装して性能を比較してみた。 今回は、以下の条件で実装を行った。 クラスとして実装する 1個のデータのエンキューとデキューを行うメソッドをそれぞれ実装する それ以外のメソッド (要素数、先頭を削除せずに取得など) は実装しない エラー処理 (空のときにデキューを試みるなど) は行わない なお、実装で出てくる # つきのメンバ変数はプライベートプロパティである。 方針・実装 配列のpush・shift 配列の末尾に要素を追加するメソッド push をエンキューとして用い、配列の先頭から要素を取り除いて返すメソッド shift をデキューとして用いる。 エンキューとデキューがともに1回メソッドを呼び出すだけで実現でき、シンプルな実装になる。 class QueueShift { #q = []; enqueue(value) { this.#q.push(val

    JavaScript でキューを実装して性能を比較してみた - Qiita
    gfx
    gfx 2024/04/17
    ベンチマークが現実のプログラムのワークロードとかけ離れている気はするが、push//shift法がChromeとFirefoxで全然速度の性質が違うのはけっこう驚きだな。
  • ”転職活動を10年続けてたら人生行き詰ってきた話” が重い - Qiita

    人生の黄昏に差し掛かったおっさんの就職事情 元々文系だった俺がインターンを経てIT企業に入った話、とか、全くの別業種から半年独学してエンジニア転職に成功した話 的なキラキラとしたエントリはQiita上で散見されるものの、転職活動を10年続けてたら人生行き詰ってきた話 は、そういった20代、30代のなんとなく眩しい物とは違った、人生の晩年に差し掛かってきたおっさんの絶望や閉塞感というものを感じさせて、なんとも言えない読後の余韻を感じたのであります。 おおよそ同世代ということもあり、昭和の価値観を引きずった世代であり、就職氷河期世代と言われ、さらに、東北の震災とコロナで、2度、全てを失ってから次の人生をどうしようかと絶望した個人的な経験から、非常にリアリティを感じさせられる内容でありました。 お前は今まで何をしてきたのか 自分の場合は、以前の記事にも書いたけど、大学を中退後、フリーのフロントエ

    ”転職活動を10年続けてたら人生行き詰ってきた話” が重い - Qiita
    gfx
    gfx 2024/01/18
    まず他人の顔写真(Perlのオリジナル開発者Larry Wallと思われる; この人は絶対にLarry Wallではない)をアバターにするのをやめたらどうか…。
  • プログラミング用語の中国語の漢字表記がカッコ良すぎるし初心者に優しいからもっとみんなに知ってほしい - Qiita

    経緯 筆者は外国語大学で中国語を専攻しているのですが、偶然にも中国語のプログラミング関係の記事を読む機会がありました。その中で日語だと直接カタカナで使用している用語も、中国語では意味のある漢字に置き換えられており、興味をそそられたので基礎的な用語を調べてみました。私自身は漢字文化圏で育った者として、こうした用語の漢字表記には元素記号の漢字表記のような魅力を感じます。また同時に、漢字は表意文字であるため初学者にもやさしく見えるので、日でも(自然言語好きな変人たちの間で)もっと広まっていってほしいな、と思います。 個人的6選 Guard:守衛 かっこえぇ!錯誤(error)が発生しても、コードの安全性をしっかりと担保してくれそうな強さを感じますよね? ええ、感じます。 Delegate: 代理 初心者には取っ付きづらいDelegateも代理とされたら、仕事の一部を任せるんだな、ということが

    プログラミング用語の中国語の漢字表記がカッコ良すぎるし初心者に優しいからもっとみんなに知ってほしい - Qiita
    gfx
    gfx 2024/01/02
  • DB初心者が自作DBMS始めてみた - Qiita

    この記事は DeNA 24 新卒 Advent Calendar 2023 の 23 日目の記事です。 TL;DR DBMSの基的な仕組みを知るのに有益だったリソース CMUのDBMS講義 先人の素晴らしい自作DBMSの解説記事&ソースコードリーディング 小さな小さな自作DBMSの設計と実装 最小限SELECTやINSERTなど基的なSQLが動く この記事のゴール データベースの内部構成を超ざっくり理解するために有用なリソースを知り、そして(全開発者のロマンである)自作 DBMS に一歩踏み出すきっかけになればうれしいです。 モチベーション 自分は普段業務でアプリケーションのような割と高レイヤーな開発がメインなこともあって、ミドルウェアやOS、ネットワークと言った低めのレイヤーに憧れを持っており、この気持ちをまずは自作DBMSをやってみることによって解放してあげようと思ったことがきっか

    DB初心者が自作DBMS始めてみた - Qiita
    gfx
    gfx 2023/12/24
  • 新幹線でもQUICで快適にSSHする - Qiita

    はじめに 今日は、劣悪な通信環境でも快適にSSHができるquicssh-rsをご紹介します。そして、実際に改善されるかを試してみます。 長くなったので最初に結論 quicssh-rsを使うと、 パケットロスに対して明らかに強くなった こちらのIPアドレスが変わっても通信が継続できた 遅延(pingのRTTが大きいこと)は改善されない模様 30%パケットロス環境での比較 IPアドレスを変更しても切れない SSHは新幹線(劣悪通信環境)に弱い 鉄道での移動時間が長いと、パソコンを開いて各種開発の続きをしたくなります。 …なりませんか? 時には、別のサーバーにSSHでログインして何かコマンドを打ったり。 在来線1であれば概ね問題ありませんが、新幹線になると通信品質が大きく悪くなるため、SSHでの操作は大きなストレスが溜まりがちです。なんとかならないかとずっと思っていました。 新幹線の通信環境 通

    新幹線でもQUICで快適にSSHする - Qiita
    gfx
    gfx 2023/12/16
    "quicssh-rsは(…)クライアントとサーバー双方で動作し、お互いはQUICで通信を行い、ssh/sshdとの中継を行います"
  • Lightning Memory-Mapped Database(LMDB)について調べてみた - Qiita

    はじめに これは データベース・システム系 Advent Calendar 2023 の12/23の記事である そして Nostr (2) Advent Calendar 2023 の12/2の記事である LMDBというDBMSについて調べてみた内容をつらつらと書く Discraimer 筆者はデータベースシステムの専門家ではないため、頓珍漢な記述をしている可能性あり。その点ご留意頂きたく。誤っている点があれば指摘頂ければ幸甚 一部、推測に基づいた内容あり。それらの箇所は推測に基づいている旨分かるように記述する (実装を確認するといったところまでは行えなかったため) LMDBについて調べようと思ったきっかけ nostrなる分散アプリケーションのための通信プロトコル・アーキテクチャがある 比較的自由度の高いものであるが、現状の主なアプリケーションが分散SNS(マイクロブログ)であるため、その

    Lightning Memory-Mapped Database(LMDB)について調べてみた - Qiita
    gfx
    gfx 2023/12/12
  • 社内をパスワードレスにするため頑張った話(中編) - Qiita

    はじめに 記事はMicrosoft Security Advent Calendar 2023、11日目の記事になります。 シリーズ3部作です。 IdP基盤を整理したことによるメリット IdP基盤をオンプレADとEntra IDのみの構成に整えることができたことで、Entra IDを中心にアカウント保護やSSOを考えていくことができるようになりました。 IdP基盤を整理することのメリットはいくつもありますが、セキュリティ目線で考えると、 ユーザーリスク サインインリスク の検知があげられます。 IdPがバラバラだった場合 以下のようにユーザーからのアクセスがあった場合、認証基盤がバラバラだった場合はそれぞれなにも検知できず、紛れ込んでいる悪意のあるユーザーもサービスを利用することができてしまいます。 IdPを統一した場合 上記のサインインをまとめて把握することができると、以下のように、ど

    社内をパスワードレスにするため頑張った話(中編) - Qiita
    gfx
    gfx 2023/12/12
    "SSOを構成することができるプランは上位プランのみになっているサービスが多いです"
  • 社内をパスワードレスにするため頑張った話(前編) - Qiita

    はじめに 記事はMicrosoft Security Advent Calendar 2023、10日目の記事になります。 シリーズ3部作です。 きっかけ 所属企業にて、2022年7月頃、情報システム部門に異動。種々の課題感に対する解決策(ここも話すと長くなる)としてMicrosoft 365 E5を導入することに決定。2023年1月にテナントにライセンスが適用され、E5セキュリティの実装を始める。同時に、組織内でIdPが複数運用されていることに対しても課題感を持っていたため、IdPの整理・統合も始める。 さらに同時期に、セキュリティ侵害の多くの原因が、パスワード漏洩だということを知る。 フィッシングメールでパスワードが漏洩(個人1位)し、クレジットカードが不正利用(個人4位)されたり、インターネット上のサービスに不正ログイン(個人10位)されたり…。スマホ決済の不正利用(個人5位)もで

    社内をパスワードレスにするため頑張った話(前編) - Qiita
    gfx
    gfx 2023/12/12
  • Twitterカードが貼られたツイートはすべて詐欺です、という時代 - Qiita

    最近見つけた現象で既に論じられているかと思ったがちょっと解説が見つからなかったのでまとめておく。 手短に X(旧Twitter)クライアントで表示されるTwitterカードについてカードに表示されるドメインとは違うページにリンクさせる手法が存在する この手法は第三者のTwitterカードを利用することができる つまり悪用者は第三者のTwitterカードを表示させながら自身の意図するページに閲覧者を誘導することができる これはフィッシングの手法になりうる 見つけたツイート 以下のツイートはGoogleBloomberg、日経ビジネスのTwitterカードが添付されているがクリックするとそれらとは異なる情報商材サイトにジャンプする。リンク先に危険な仕組みはないと思われるがクリックは自己責任で。念を入れたい人は curl -L で。 PCブラウザでカーソルを合わせてもXの短縮URLサービスであ

    Twitterカードが貼られたツイートはすべて詐欺です、という時代 - Qiita
    gfx
    gfx 2023/12/08
    UAをみてコンテンツを出し分けるのが邪悪という話かな。Xだけの問題ではなさそう。抜き打ちでChormeとかのUAにしてときどき確認して、当初のドメインと違ったら強めの制裁をするくらいしか思いつかないな。
  • 本番サーバー60台のホスト名を全部 cat にしてしまった話 - Qiita

    この記事は、番環境などでやらかしちゃった人 Advent Calendar 2023 の4日目です。年末進行、いかがお過ごしでしょうか?みなさま無事に仕事が納まることを願っております… 新人インフラエンジニアが、番ウェブサーバー60台のホスト名を全部 cat にしてしまった話について、ここに供養させていただきたいと思います 背景 おそらく今から7年くらい前、インフラエンジニアとして転職してきて1年ほどが経ち、番環境での作業もこなれてきたなというバッチリのタイミングで事を起こしてしまいました。サーバーは CentOS 6 だったと思います。 職場としてはまだまだベンチャー感にあふれ大きな裁量が与えられスピード感のある環境ながら、サービスの登録ユーザー数は1,000万を超え、番環境の規模としては既になかなかの大きさがあり、ウェブサーバーだけでも60台くらいあったと思います。ひと山につき

    本番サーバー60台のホスト名を全部 cat にしてしまった話 - Qiita
    gfx
    gfx 2023/12/05
    `uname --nodename` or `uname -n` でホスト名を得られるということを知った。なるべくこっちを使おう。
  • GitHub.com の Markdown でアラート記法が増えた話 - Qiita

    GitHub.com で利用できる Markdown 記法のアラートは、これまで [!Note]・[!Warning] と 2023 年 7 月 23 日 に追加された [!Important] がありました。 このアラート記法は断続的に更新されており、2023 年 11 月 14 日にいくつかの重要な変更がなされました。 記事では、これらの変更を紹介します。 追加されたアラート 2023 年 11 月 14 日に、これまでのアラートに [!Tip] と [!Caution] が追加されました > [!NOTE] > Highlights information that users should take into account, even when skimming. > [!TIP] > Optional information to help a user be more su

    GitHub.com の Markdown でアラート記法が増えた話 - Qiita
    gfx
    gfx 2023/12/02
  • Rustプログラムのデバッグ辛すぎ問題 - Qiita

    この記事は Rust Advent Calendar 2023 シリーズ2 の1日目の記事である。 Rustは良くも悪くもシステムプログラミング言語なので、何も工夫しなければデバッグの体験がC言語と同じレベルになってしまう。例えば「rust lldb」でググると上位に Debugging Rust programs with LLDB is a nightmare というスレッドが出てきてしまう。 使うべきツールを知っていれば幾分かマシな体験にできる。Rustコンパイラはデバッガとして LLDB, GDB, WinDbg/CDB をサポート していて、僕はWinDbGは10年くらい触ってないので、この記事ではLLDBとGDBについて書く。 LLDB Apple SiliconのMacだとGDBが使えないので、必然的にLLDBを使うことになる。 CodeLLDB GDBと同じく、LLDBにも

    Rustプログラムのデバッグ辛すぎ問題 - Qiita
    gfx
    gfx 2023/12/01
    "rr が便利すぎるというか、LLDBはリプレイやReverse Debuggingができない時点で全然話にならないため、最近はほとんどGDBしか使っていない"
  • 私がエンジニアをイラっとさせてきた質問時の態度5選 - Qiita

    上司に質問をすると、いつも相手を不機嫌にさせてしまいます…」 このような悩みを持つエンジニアは少なくないのではないでしょうか。実際、誰もが「こんな質問をして怒られたらどうしよう」と躊躇したことがあるでしょう。 ただ、もしかしたらその悩みは簡単に解消できるかもしれません。なぜなら、エンジニアがイラっとする質問の態度はある程度きまっているからです。質問者として適切な態度を理解することで、質問が改善されるはずです。 はじめに まず、これは全員の共通認識だと思うのですが、大前提として『質問をすること』は難しいです。ですので、この記事ではあえて「良い質問」と「悪い質問」の違いには触れません。その手の議論にはすでに飽き飽きしているからです。 次に、エンジニアという生き物について説明します。多くのエンジニア技術力を身につける必要があるため勤勉家な人が多いです。少なくとも私は「自分で学ぶ気のない人に厳

    私がエンジニアをイラっとさせてきた質問時の態度5選 - Qiita
    gfx
    gfx 2023/10/24
    うーん、本当に急いでるとき(e.g. 顧客に急かされてるとき)は「早めの回答をお願いします」とか言って欲しいけどね。ほかの質問も同様で、別に全然気軽に質問なりなんなりしてもらっていいですよ。
  • ImageMagick の Canvas / Page について - Qiita

    はじめに PNG や GIF 画像で identify を実行すると、よく分からない座標が表示される件です。JPEG では問題になりません。 なお、このエントリは実質 +repage の紹介記事となります。 % identify crop.png crop.png PNG 200x200 640x480+100+100 8-bit sRGB 183c 4344B 0.000u 0:00.000 ImageMagick はこの 640x480 を (Layer) Canvas サイズ、200x200 は (Image) Page サイズと呼びます。 (canvas は書き込み作業途中の image データを表す事もあって多義的なので注意) Canvas / Page のイメージ図 ImageMagick で crop を繰り返すと意図しない動きをしたり、GIF アニメーションの resize

    ImageMagick の Canvas / Page について - Qiita
    gfx
    gfx 2023/08/20
  • strlen() の深淵 - Qiita

    あらまし strlen() という関数がある。御存知の通り、文字列の長さを算出する標準 C ライブラリの関数だ。 やってることは単純で、例えば以下のように実装できる。 size_t strlen_simple(const char* str) { const char* p = str; while (*p) ++p; return size_t(p - str); } '\0' が見つかるまでポインタを進め、初期位置との差分を返すだけだ。これで機能的には std::strlen() と同等である。 では、速度的にはどうだろう?適当にベンチマークを書いて MSVC 2022 でコンパイル&実行するとこうなった。

    strlen() の深淵 - Qiita
    gfx
    gfx 2023/08/07
  • 新世代ターミナルエミュレータWarpが最高なのです - Qiita

    Mac OSで作業する場合、ターミナルエミュレータといったらデフォルトのターミナルかiTerm2を使うことが多いんじゃないかと思います。 自分は「みんな使ってるからなんか嫌」という理由でiTerm2は頑なに使わずデフォルトのターミナルを使い続けて来た(まあ不満はなかった)のですが、ついにこの度、長年求めていたものを発見しました。 それがRust言語製の新世代ターミナルエミュレータ、Warpです。 Warpは多くの便利機能に加え、モダンでかっこいいUIとコードエディタのような使い心地で、一度使ったらもう今までのターミナルには戻れなくなりました。 当にテキストエディタのような操作感で、コマンドの入力と出力が1つのブロックになっており、非常に見やすく、コピペなども楽ちん。コマンドの補完等もめっちゃスマートです。 デフォルトで何も設定をいじらずともgitのブランチを表示してくれるのもいいですねー

    新世代ターミナルエミュレータWarpが最高なのです - Qiita
    gfx
    gfx 2023/07/24
  • OpenAI Function callingで複雑なタスクを簡単に実現 - Qiita

    Function callingの登場 6/13ごろにOpenAI社から発表された新しいgpt-3.5-turboのインスタンスにFunction callingという機能が追加され話題を呼んでいます。このFunction calling、非常に強力な機能なのですが、仕組みがいまいちピンとこないといった方も多いのではないでしょうか。筆者もその一人で、ドキュメントを3回くらい読んでもしっくり来なかったのですが、実際にFunction callingを実装してみてなるほど、これは凄いな、となったので紹介します。 ここでは、具体的なソースコードを紹介しながら、実際に動作するサンプルを作っていきます。 TL;DR ソースコードだけ見られればいい!という方は以下へ https://github.com/canada/openai-function/blob/master/app.py ソースコードを

    OpenAI Function callingで複雑なタスクを簡単に実現 - Qiita
    gfx
    gfx 2023/06/17
    "Function callingを実装したモデルでは、「回答を生成するために、関数の呼び出しを依頼する」といった出力もするように"
  • エンジニアのための刑事事件対策まとめ - Qiita

    こんにちは。モロと申します。 実は数年前警察のお世話になり、数年裁判等をやって、昨年晴れて無罪放免となったのですが、そういえばその後どこにも情報をまとめていなかったことに気が付きました。 正直にいうとまったく気の進まない作業ですし、数年間これにかかりきりだったこともあり「わざわざまとめなくても誰でも知ってることでは……?」みたいな気持ちもあります。 とはいえ冷静に考えると大抵の人は一生関わり合いになることのない知識で、お世話になった界隈に対して何も残さないのも不義理という感じがしたため遅ればせながら筆を執らせていただきます。 はじめに 当記事は、実際に警察のお世話になり、数年間弁護士の方にご指導いただきはしたものの、あくまで法律の専門家でも何でもない一エンジニア(というか多少エンジニアリングをかじったデザイナー)によるもので、第三者による監修等もなされていません。 実体験に基づいて少しでも

    エンジニアのための刑事事件対策まとめ - Qiita
    gfx
    gfx 2023/05/30
    "もしもう一度やり直せるのなら(全然やり直したくありませんが)この時点で弁護士の方に連絡し、不当な家宅捜索がなされないよう監視する役目を担っていただくのがベストだったように思います"
  • CTOの視点から見たAzure OpenAI ServiceとOpenAIのChatGPT APIの深堀り比較 - Qiita

    ※ この記事の内容は先日のQiita Nightでお話ししたことと一部重複します。 Qiita NightではLTの制限時間(10分)に収めるため、結構端折りました。 はじめに ChatGPTが登場してから数ヶ月が経ちました。 ChatGPTをはじめとしたGenerative AIは完全に現在のIT業界のトレンドとなっています。 今や多くの企業でChatGPT APIをサービスに組み込んで顧客提供を開始したり、自社の社内システムに組み込んだりと積極的に利用するようになりました。 私もGenerative AIが無くなると業務に支障が出るレベルで利用しています。 そして、2023年5月時点ではChatGPTAPIを利用する方法として、OpenAI社が提供しているAPIを利用する方法とMicrosoft社が提供しているAzure OpenAI ServiceのAPIを利用する方法の2つが

    CTOの視点から見たAzure OpenAI ServiceとOpenAIのChatGPT APIの深堀り比較 - Qiita
    gfx
    gfx 2023/05/16