タグ

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

  • ClangのlibToolingでASTをダンプするツールを作ってみた(その2) - Qiita

    Microsoft Visual Studio Community 2013は? 前回は、clang / LLVMのlibToolingによるAST簡易ダンプ・ツールを、MinGWでビルドしQtCreatorでデバッグできるようにしました。 でも、王道(?)はMSVCの方っぽいので、勉強がてらMSVCでもビルドしてみました。と言ってもビルドだけならやはり簡単でしたので、MSVCのソリューション・ファイルをCMakeで生成できるようにしてみました。 ついでにAST簡易ダンプ・ツールも少し成長させました。目玉はアノテーションです。他にクラス・テンプレートもダンプしてますぞ。(ザルですが) 1.使用ツールのインストール 今回はVisual Studioを使いますので、下記のようにツールをインストールします。(コンパイラとIDE以外は前回と一緒です。) ツール 使用目的

    ClangのlibToolingでASTをダンプするツールを作ってみた(その2) - Qiita
    hironei
    hironei 2023/06/03
    Clang
  • Clang の libTooling を利用して C/C++ のソースコードを字句解析するための調査 - Qiita

    はじめに いろいろと調べて理解した(つもりの)ことをメモしておきます。 内容は、非効率だったり間違いだったりする可能性があります。 環境 Ubuntu Server 20.04.2 LTS Clang 10.0.0 CMake 3.16.3 Ninja 1.10.0 参照情報 https://github.com/llvm/llvm-project/tree/llvmorg-10.0.0 https://clang.llvm.org/doxygen/ (※) https://llvm.org/doxygen/ (※) https://cmake.org/cmake/help/v3.16/ ※2021/03/08 現在は "13.0.0git" の表記があり、実行環境とバージョンが異なる点に留意。 準備 以下のようにパッケージをインストールしました。 sudo apt-get install

    Clang の libTooling を利用して C/C++ のソースコードを字句解析するための調査 - Qiita
    hironei
    hironei 2023/06/03
    Clang
  • コードレビューで嫌われる人の特徴7選 - Qiita

    コードレビュー・・・うっ頭が」となっているそこのアナタへ。 先週弊社キカガクで人生初の実務コードレビュー体験をしました。 控えめに言って最高すぎました。 お互いが「気持ちよく・効率的に」学びを深められるように組まれた一級品のレビュー構成。 細部に渡る心遣いとテクニックの為せる技だと思いました。 そこで私は考えた ー。 真逆のことをしたらどうなるんだろう? 想像してみたらなかなかブラックな開発環境が脳内で出来上がりました (大学時代のコードレビュー現場そっくりだなと思ったのは内緒)。 自分がコードレビューに参加する時こうはなるまいぞいう戒めを込めて紹介していこうと思います。 具体的な改善案も5選紹介しています。 共に愛され系コードレビュアー & レビューイを目指しましょう! 想定している対象読者 「もうすぐ初めてコードレビューを受ける予定で不安・・・」 「コードレビューを行うことになったけ

    コードレビューで嫌われる人の特徴7選 - Qiita
    hironei
    hironei 2022/03/17
  • 「技術的負債」への処方箋と「2つのDX」 - Qiita

    はじめに 稿は、日経クロステックにて筆者が昨年連載していた3回分の記事一部変更して1つにまとめたものです。 https://xtech.nikkei.com/atcl/nxt/column/18/01394/ 有料記事として配信されておりますが、無料でも閲覧できるようにということで日経クロステック様に許可を得てQiitaにも掲載しています。 第1回:技術的負債はなぜ生じるか。 第2回:ソフトウエア開発を「制御」する意外な処方箋 第3回:技術的負債への取り組みはなぜ「2つのDX」につながるのか。 第1回:技術的負債はなぜ生じるか。 年間12兆円ものマイナスの影響をもたらす技術的負債(あるいはレガシーシステム)はどのように生まれるのでしょうか。それを防ぐ方法はあるのでしょうか。第1回は、技術的負債をとりまく歴史をたどりながら、ソフトウェアエンジニアではない人にも理解できるようにその正体に迫り

    「技術的負債」への処方箋と「2つのDX」 - Qiita
  • 要求定義と要件定義の違いを考える - Qiita

    要求定義と要件定義についての記事というのは需要があるようですね。 検索されるだけなのか?そもそも話し合いの中では、その「定義」を確定して、話しておくことが大事なのですよね。言語を学ぶ上で、まずはひらがなからカタカナからそしてローマ字など文字を学ぶように、プログラミング用語や現場で使う単語などというのは意識して使っていかないと追いつけなくなってしましますからね。 役割分担、期日を決めるなどマネージメントの方もプロジェクト進行では、考えていきたいですね。 ##最近の近況 バーチャルな世界に興味があり、バーチャルSNSなどにも顔を出しながら作業してます。 ##はじまり はぁ… なんでシステム開発が失敗するんだろう… 仕様の変更が多くて… 言った言ってないのトラブルから避けたい… システム動かしてみても全然使えない… 実は.. 事業運用をオペレーションレベルに展開しないままに、 システム開発をして

    要求定義と要件定義の違いを考える - Qiita
    hironei
    hironei 2021/12/20
  • VMWare, VirtualBoxのネットワーク接続方式の違いを整理する - Qiita

    はじめに VMWare, VirtualBoxでネットワーク設定をする際、何をどう設定するのがよいかたびたびわからなくなるため、改めて接続方式・構成についてちゃんと理解しておこうと思いました。 そうすることで今後仮想環境を構築する際、ユースケースに応じて適切な設定を選択できればと思います。 対象 仮想環境のネットワークを何となく設定して繋がったので終わりにしている人 何となく設定したけれども思うように繋がらず困っている人 ちょっと前の自分 想定環境 ホストPC: Windows10 Pro 64bit 仮想化ソフトウェア: VMware WorkStation Player 12 Oracle VM VirtualBox 6.0 会社内LANなどに接続したホストPCで仮想環境を構築し、仮想マシンをネットワーク接続させる場合を想定 ネットワーク設定と概略 ざっくりまとめると以下のようになりま

    VMWare, VirtualBoxのネットワーク接続方式の違いを整理する - Qiita
  • 鬼滅の概念モデリング - Qiita

    はじめに 概念モデリングとは、システムのドメインを構成する概念を発見しその属性・振る舞い・関連を定義する活動である。例えば、段階的に理解する O/R マッピングで実例として挙げたシンプルな課題管理システムにはプロジェクト・課題・コメントの 3 概念が登場するが、これらを概念モデルとして表すと以下のようになる。 来、概念モデリングは DDD の主要な活動の一つである。DDD の Whirlpool プロセスの図を見てみよう。Model は Code Probe と Scenario に挟まれた中心概念であり、常時フィードバックを受けて更新されることが想定されている。 にもかかわらず、日での DDD 関連の議論においては、概念モデリングが語られることは少なく、レイヤ分割やクラス類型といったアーキテクチャ的側面への偏りが見られる。パターンカタログを眺めればわかる通り、それらの要素は DDD

    鬼滅の概念モデリング - Qiita
  • Microsoft Build の OpenJDK をプレビュー版として提供開始 - Qiita

    この記事は https://devblogs.microsoft.com/java/announcing-preview-of-microsoft-build-of-openjdk/ の記事を翻訳した内容です。 日、Microsoft Build の OpenJDK のプレビュー版を発表できることを心より嬉しく思います。 今回提供する Microsoft Build の OpenJDK はオープンソースで、どなたでも、そしてどこでも無料で利用可能な ロングタームサポート(LTS)付きの新しいディストリビューションです。OpenJDK 11.0.10+9 をベースに、MacOSLinuxWindows の x64 サーバーおよびデスクトップ版を用意しています。 また最新の OpenJDK 16+36 をベースにした、Windows AArch64/ARM64 版 Java16 のアーリ

    Microsoft Build の OpenJDK をプレビュー版として提供開始 - Qiita
  • マイクロサービスアーキテクチャの経済と適応度 - Qiita

    はじめに マイクロサービスアーキテクチャは、独立してデプロイ可能で疎結合サブシステム群によってサービス開発を行うというアーキテクチャパターンです。現在のソフトウェアサービス開発では欠かすことができない考え方です。 従来では一定のコストが掛かり、またパフォーマンス上の問題もあったため、必要に応じての分割には難しい側面も多かったのですが、様々なエコシステムの発達によってわずかな機会費用で実現できるようになってきました。もちろん分散システムとしての質的な難しさやアーキテクチャの移行の質的な難しさは解決したわけではありませんが、手軽にコンテナレベルで分割された様々なサービスを作成することのコストは急速に下がってきました。 これらが、うまくサブドメイン境界によって分割されることで、ある開発チームが知らなければならない情報が制限されるため、スピード感のある開発力を維持しながら開発組織のスケールでき

    マイクロサービスアーキテクチャの経済と適応度 - Qiita
  • Python と Playwright でブラウザを自動操作させるコードを自動生成したよ - Qiita

    Playwright が昨年1年間で大幅パワーアップしていたので、使い方を確認したときの記録のまとめです。 ブラウザを自動操作できるということは、簡単なスクレイピングやブラウザ側のテスト自動化が簡単にできるようになります。 特に、Python での解説がまだまだ少なかったので、自分の学習を含めてまとめました。 今回は入門編ということで全体像をつかみつつ使用方法の流れを確認していただければありがたいです。 Selenium や Puppeteer を使っている方も、一度試す価値ありと思っています。 選定した理由 ブラウザのテストを Python で自動化したかったんです。 私なりの要件がありまして、非常にわがままな要件でしたが余裕ですべてクリアしました。 Python で書けること。社内で Python を使える方が多いので。pytest と連携してくれるとなおうれしい。 Docker コン

    Python と Playwright でブラウザを自動操作させるコードを自動生成したよ - Qiita
  • 異常検知入門と手法まとめ - Qiita

    異常検知について勉強したのでまとめておきます。 参考文献 下記文献を大いに参考にさせていただきました: [1] Ruff, Lukas, et al. "A Unifying Review of Deep and Shallow Anomaly Detection." arXiv preprint arXiv:2009.11732 (2020). [2] 井手. "入門 機械学習による異常検知―Rによる実践ガイド" コロナ社(2015) [3] 井手,杉山. "異常検知と変化検知 (機械学習プロフェッショナルシリーズ)" 講談社サイエンティフィク(2015) [4] 比戸. "異常検知入門" Jubatus Casual Talks #2(2013) [5] Pang, Guansong, et al. "Deep learning for anomaly detection: A rev

    異常検知入門と手法まとめ - Qiita
  • フロントエンドを100倍速くした( ^ω^) - Qiita

    おはようございます、なのくろです。年の瀬ですね。 この記事は ABEJA Advent Calendar 2020 の最終日です。 追記:おかげさまで Qiita LGTM賞 を受賞いたしました、ありがとうございます! 私は2020年01月にABEJAへ入社しました。チームではフロントエンド開発全般を任されています。 参入してちょうど1年が経過しましたので、今年取り組んだことをまとめました。 「フロントエンドを100倍速く」というタイトルは誇張気味なのですが、難しいことはせず、基的なパフォーマンス改善を素直に実践したという話を書きます。 稿では事例とやったことを紹介するのみですが、何かしらの知見や改善のきっかけに役立てば幸いです。 サービスについて 話をする前に、どんなサービスを開発しているかについて少しだけ触れます。 ABEJA社では「Insight for Retail」という、小

    フロントエンドを100倍速くした( ^ω^) - Qiita
  • EmacsとWindowsと人生と - Qiita

    ハッカー向けのエディタといえばviかEmacsか、という時代があって、演習で触った大学のUnixワークステーションでターミナルのviはカーソルキーで移動できなくて、GUIで動いていたEmacsでは移動出来た。だからEmacsを使うことにした。 家にあるパソコンといえば、ふとした拍子にHDDがジジジという音を無限にたて始めて、その後フリーズしてしまう非力なWindowsマシンだったけど、それでもEmacsを諦める理由にはならなかった。無限のように長い再起動中の暗闇も、すぐにスワップするメモリも、平気だった。なにしろ、私はハッカーになりたかったのだ。 今日、EmacsはWindowsで使用することが出来る。日語もIMEも問題ない(パッチを当てた「日語版」を探す必要すらない)Vimmerたちが揶揄したメモリ使用量も15MB~200MB程度だ。VSCodeなどのElectronベースのエディタ

    EmacsとWindowsと人生と - Qiita
  • Playwrightも知らないで開発してる君たちへ - Qiita

    重要なのはここで、 pw.webkit.launch() とするか pw.chromium.launch() とするかで 起動するブラウザが変わるだけです。 デバイスの設定も簡単 pw.devices に主な端末のviewport, UAの情報がまとめられています。 デバイスのリスト: https://github.com/microsoft/playwright/blob/master/src/deviceDescriptors.ts const pw = require('playwright'); // iPhone11のデバイス情報を取得 const iPhone11 = pw.devices['iPhone 11 Pro']; (async () => { const browser = await pw.webkit.launch(); const context = awai

    Playwrightも知らないで開発してる君たちへ - Qiita
  • 1年半のソフトウェアエンジニア長期インターンで出会ったオススメ本をたくさん紹介します - Qiita

    イントロ ABEJAアドベントカレンダーの4日目に一昨日飛び込みました、長期インターン生の佐藤(Twitter: @TodayInsane)です。 去年は機械学習を通して、TWICEというK-POPグループへの愛を語りました。 ABEJAには昨年4月、「当に何も出来ないけど、休学してプログラミングとかエンジニアの経験を積みたいんです」という何とも不安な主張をするぼくを受け入れていただきました。 この1年半のエンジニア / リサーチ両インターンの過程で出会った良いをどしどし紹介します。 ちなみにインターン開始時は プログラミング、Pythonだけならちょびっと書けます!(ABCのB問題とか機械学習ライブラリの写経) HTMLってどんな風になってるんですか?(?) サーバ...??リクエスト...?? JavaScript、名前は聞いたことあります 英語の論文しんどい、2時間ぐらいかけてI

    1年半のソフトウェアエンジニア長期インターンで出会ったオススメ本をたくさん紹介します - Qiita
  • 今時のPythonはこう書く2020 - Qiita

    はじめに システム作ってるとかライブラリ作ってるみたいなある程度Pythonを綺麗に1書くことが求められる方々に向けた記事です。 (機械学習系のライブラリを使うためにPython書いてる方とか、初学者の方にはちょっとあわないかも知れません) 綺麗に書くための作法の難しさって共有が面倒なところだと思うんですよね。その書き方は間違いじゃない、間違いじゃないけどもっといい書き方があるぞみたいなやつってなかなか指摘し辛いですし、じゃあ1人に対してレビューしたら他のメンバーにはどう伝える?そもそも伝える必要?俺の工数は?みたいになりがちです。 一番いいのはこういう時はこう書く!みたいなドキュメントを作って「ドキュメント違反です」ってレビューをしてあげることなんですが、まーそれもそれで超面倒じゃないですか。なのでこの記事がそのドキュメントの代わり、とまではいかなくとも礎くらいになればいいなと思って書き

    今時のPythonはこう書く2020 - Qiita
  • 【毎日自動更新】湯婆婆 LGTMランキング! - Qiita

    Wrapping up @momeemtさんの記事にある通り、入力を受け取ってそれを変換して出力するというのは、プログラミングの基ーー大きく言うと、つまり湯婆婆はこれからの"Hello, World"における例題の一つのような気がしています 将棋の原田泰夫九段が提唱された**三手の読み(こうやる、こう来る、そこでこう指す)**に通じるものがあるような気がします 令和のHello World!との呼び声も!(@everylittle さん) 令和2年なのに未だにRaspberry Pi 2しかもっていない私の虎の子のRaspberry Pi 2が毎日自動更新しております コミット 自動更新は、Elixirというプログラミング言語がありまして、そのElixirで作られたNervesというナウでヤングなcoolなすごいIoTフレームワークを使ってつくったアプリケーションで行っております Ner

    【毎日自動更新】湯婆婆 LGTMランキング! - Qiita
  • VSCode + ESLint + Prettier + React + TypeScript (自分用メモ Fall, 2020) - Qiita

    Help us understand the problem. What are the problem?

    VSCode + ESLint + Prettier + React + TypeScript (自分用メモ Fall, 2020) - Qiita
  • React, Redux 初心者が、Hooks 時代の React, Redux, React-Redux に触れてみて感じたこと - Qiita

    React, Redux 初心者が、Hooks 時代の React, Redux, React-Redux に触れてみて感じたこと JavaScriptReactredux 筆者は、 Reactも ReduxReact-Reduxも初心者で、プライベートでちょっと触っている程度のペーペーです。 React に Hooks が導入されてしばらく経ちますが、React-Reduxにも Hooks が導入されていることを最近知りました。ちょっと試して見たところ、Hooksを使うことで少しだけモヤモヤが晴れてきたので、これまで理解したことを整理したいと思います。 useState, useReducer は(規模の大きな開発には)使わない useState, useReducer はとっつきやすくてわかりやすいです。なので、ちょっとしたプログラムでは使うと思います。便利です。YoutubeのR

    React, Redux 初心者が、Hooks 時代の React, Redux, React-Redux に触れてみて感じたこと - Qiita
  • インターネットの本質から理解できるプロトコル「BGP」についてまとめた! - Qiita

    BGPを通してインターネットが何なのか理解しよう リンク ・Macのオススメな初期設定15選(メールアプリ設定編) ・Macのオススメな初期設定30選 (システム環境設定編) ・Macのオススメな初期設定20選(Finder設定編) ・Chromeのオススメな初期設定10選(Mac) ・Macのオススメなアプリ40選 インターネットってそもそも何? インターネットの仕組みを知らない人に インターネットってどんな仕組みなの?って言われたらなんて答えますか? この答えをここで示したいなと思って書きました。 記事では以下のような 「インターネットは世界中の誰とでも繋がることができるんだよ」 みたいな話はしません。 なるべく専門用語を少なくして、インターネットの仕組みを理解することを目的とします。 書籍では氷山の一角しか書かれないため非常に全体像が分かりにくくなっています。 そして専門用語が多す

    インターネットの本質から理解できるプロトコル「BGP」についてまとめた! - Qiita