こんにちは。 id:Pocke です。マネーフォワードでは Rails を用いた Web アプリケーションの開発と、RBS という Ruby の静的型システムの開発を行っています。 最近 RBS の開発をする中で、「不要な処理を削除すると実行速度が遅くなる」という不思議な現象に遭遇しました。この記事ではその現象を解説しようと思います。 なおこの記事は Ruby の知識を前提としないように執筆されており、Ruby の知識が必要となるところには注釈を加えて補足しています。 普段 Ruby を書かない方にも読んでいただければ幸いです。 問題を引き起こした変更 今回の問題は、RBS のメモリ使用量の削減を行っている中で遭遇しました。まずはどんな変更を行おうとしていたかを解説します。 変更の動機 最近私は RBS のメモリ使用量の削減に取り組んでいます。1 その取り組みの中で、RBS のパーサーが作
本記事の目的 プログラミングを学習しはじめたら、誰しも一度は「株の自動売買で食っていきたい!」のようなことを考えるのではないでしょうか。そのための第一歩として、企業の財務情報を収集するのはとても大切ですよね(あなたがファンダメンタルズ分析を信じるならば、ですが...)。そこで本記事では、Python を使って、企業の財務情報を取得する 方法についてお伝えしたいと思います。 また、本記事で実装したソースコードについては GitHub にまとめましたので必要に応じてご利用ください。当記事のコードは全て Google Colaboratory で実装しており、2023年4月12日現在正常に動作することを確認しております。 財務情報の取得方法 良いニュースと悪いニュース さて、早速財務情報の取得方法について伝授していきますが、ここで良いニュースと悪いニュースがあります。何やら不穏ですね。 まずは良
きっかけ 東京大学のAWS講義「コードで学ぶAWS入門」、いわゆる東大AWSってやつが良いらしいと聞いたのでやってみました。 確かにこれは良いです。クラウドをこれから学びたい方にぜひおすすめ。 集中講義的に休日に半日もあれば学べます。 かかるAWS費用もわずか。 ほとんどのチュートリアルがAWSの無料枠で実行できてしまいます。ディープラーニング用のGPUインスタンスをぶん回すところは有料です。それでも数百円で済みます。 これは一通りハンズオンをやってみたAWSの費用です。 もはや学ばない理由が見当たりませんね。 これを書いた理由 けっこう有名な講義資料なのでいまごろ紹介するまでもないネタかと思っていましたが、いざやってみたらハンズオンのコードが最近のAWS環境では動作しない箇所がいくつかあったので。 動作するように修正した手順をまとめておきました。 本記事がはてブを950件ももらってしまい
If you're already using zsh or want to start this tutorial will help you understand how zsh works and how you can customize it to your needs. We won't go into every feature of zsh (read the man pages for that). Did you know zsh has a built in ftp client and calendar? Instead we will focus on functions of zsh that improve your productivity and help you get more out of your shell. We also will not b
docker-compose.yamlのversionがobsoleteという警告がでるようになったので、不要になっていたのはいつからか調べた docker compose が最近のバージョンで 'version' is obsolete という警告がでるようになったので、 警告にしたがって単純に削除する前に、いつから意味がないものになっていたのかを調べました。 警告でみつかる情報 警告メッセージで検索すると [BUG] `'version' is obsolete` · Issue #11628 · docker/compose がでてきて、 メッセージ通り今は不要だということがわかります。 しかし、いつから不要だったのかはこの issue からわからなかったので、 さらに調べてみました。 docker compose file format のバージョン https://docs.do
もともとruby、python、javascriptなどのインタプリタ言語を主に使っているため、 Rustでもreplが使いたかったので調べたらありました。 Rustでもreplが使えるライブラリevcxrがあります。 使うためには、下記のようにしてインストールする必要があります。
Level up your Rust, one exercise at a time You can learn only so much by reading books or watching videos. To truly master a new programming language, such as Rust, you need to practice. A lot. That's where our courses come in: they blend theory and practice, forcing you to write code to solve tailor-made exercises while you get familiar with the theory behind them. Go through "100 Exercises to Le
こんにちわ alivelimb です。 本記事ではプロジェクト毎に用意している Python 開発環境を紹介します。なお、本記事で紹介した環境構築の自動化スクリプトをgithubで公開しています。 概要 Python の開発環境は主に VSCode, pyenv, poetryを用いて用意しています。 pyenv は Python 自体のバージョン管理を行います。Python3.8 から 3.9 への切り替えもコマンド 1 つで行うことが可能です。Poetry は Python パッケージの管理を行います。これらに加えて VSCode の各種拡張機能を活用することで開発環境としています。 本記事で構築した環境デモ gif デモで示していることは以下の通りです リッチな予測変換 自動インポート(pathlib.Pathをインポート) ファイル保存時の静的解析 & 自動整形 Type Hint
概要 VSCodeのPythonエクステンションに、Poetryで作成した仮想環境を認識させる手順をまとめます。 一度VSCodeの設定を変更するだけで、「Pythonインタープリターの選択」から仮想環境を選択できるようになります。 動作確認環境 Mac OS Monterey VSCode 1.77.1 Poetry 1.4 前提 Python, Poetryインストール済み VSCodeにPythonエクステンション追加済み testというプロジェクトの仮想環境をPoetryで作成済み (プロジェクト名は任意です) 以下、作成したプロジェクト直下をワーキングディレクトリとする 手順 1. Poetryの仮想環境が保存されるパスを確認 以下のコマンドを叩くと確認できます。本環境では仮想環境は ~/Library/Caches/pypooetry/virtualenvsに保存されることが分
[Python / linting] 最近の VSCode linting の設定方法 - for Mac / Windows (WSL)(2023/12/05)PythonmypyVSCodeBlackRuff 1. 概要 今までVSCodeの setting.json に書いてきた Python linter 関連の設定方法が 非推奨になっている ことに気がついた。 そこで、新しい設定方法を調べて以下に書きました。 この記事の対象のlinterは以下の通り。 flake8 black mypy isort ruff (2023/12/05 追記!!) 2. 結論 setting.json の書き方が変わるよ flake8, black, mypy, isort, ruff については、 pip install とかしなくていいから、VSCode拡張を入れてね 3. 実行環境 以下の環境
Welcome Welcome to "100 Exercises To Learn Rust"! This course will teach you Rust's core concepts, one exercise at a time. You'll learn about Rust's syntax, its type system, its standard library, and its ecosystem. We don't assume any prior knowledge of Rust, but we assume you know at least another programming language. We also don't assume any prior knowledge of systems programming or memory mana
魔術師本: (名詞) MITの入門コースで使う計算機科学の優れた教科書 ハル・エイブルソン, ジェリー・サスマン, ジュリー・サスマン共著(和田英一訳)「計算機プログラムの構造と解釈 第二版」(ピアソン・エデュケーション 2000年). 表紙の魔術師ゆえにそういわれる. LISP/Scheme世界の聖典のひとつ. まれに紫本としても知られている. ハッカー英語辞典 第2版(MITプレス 1993)より λλλ 計算機プログラムの構造と解釈 第二版 λλλ λλλ(Structure and Interpretation of Computer Programs Second Edition) λλλ λλλ に関連するホームページ λλλ λ 訳者跋文 λ 正誤表 λ 人名地名考 Ben Bitdiddle, Alyssa P. Hacker, Slumervilleなどの意味 λ 問
In a high-level language, the programmer is deprived of the dangerous power to update his own program while it is running. Even more valuable, he has the power to split his machine into a number of separate variables, arrays, files, etc.; when he wishes to update any of these he must quote its name explicitly on the left of the assignment, so that the identity of the part of the machine subject to
コンテナクエリとは 基本的な使用例 コンテナ名指定 コンテナタイプと名前の同時指定 コンテナクエリ単位 関連項目 リンク コンテナクエリとは ブラウザの横幅などに応じて応じて異なるスタイルを適用するのが メディアクエリ ですが、画面内の矩形領域(コンテナ)の横幅等に応じて異なるスタイルを適用するのが コンテナクエリ です。 基本的な使用例 コンテナの container-type に inline-size または size を指定し、@container で異なるスタイルを指定する条件とスタイルを指定します。下記の例では通常コンテナ(#c1)内のテキストは赤色ですが、横幅が600px以上のコンテナ(#c2)内のテキストは青色になります。 .container { container-type: inline-size; } #c1 { width: 700px; } #c2 { widt
不正アクセスによるIDとパスワードの漏洩を受けて、MD5によるハッシュ化について話題になっていました。システムを作る上で、パスワードの管理や認証はどう設計すべきかを考えるために、少し整理をしてみます。もし事実誤認があれば、どしどしご指摘ください。 == 2023/8/21追記 == この記事は、ハッシュの保存の仕方一つとっても、沢山の対策方法が必要であるということをお伝えするために記載しています。そして、これから紹介する手法を取れば安全とお勧めしている訳ではないので、その点をご留意いただければと思います。攻撃手法に応じての対応策の変遷を知っていただくことで、セキュリティ対策は一度行えば安全というものではないことを知って頂くキッカケになれば幸いです。 == 追記終わり == パスワードのハッシュ化 まず最初にパスワードの保存方法です。何も加工しないで平文で保存するのは駄目というのは、だいぶ認
「デザイナーこそ、スプレッドシートに強くなれ」とずっと言い続けています。先日、とあるセミナー(#D2デザインダンジョン)で発したところ、「具体的にはどういうことでしょうか?」と質問いただきました。 よい機会なのでまとめてみました。重要なのは、スプレッドシートは数字はもちろんだけど、数字以外でも使いますよね、ということです。 なお、この記事では、次をまとめて「スプレッドシート」と記します。 Excel(デスクトップ版、オンライン版) Google スプレッドシート スプシ 表計算 Apple Numbers 「スプシ」という言葉には、なかなか慣れません… スプレッドシートは「思考の道具」である私自身、「マインドマップ」はよく使います。 マインドマップは思考を“発散”するには向いていますが、“収束”には不向き。たとえば、異なる“枝”のアイテムの関係性を表現できません。 詳しくは、こちらの記事に
Photo by Fotis Fotopoulos on Unsplash はじめにこんにちは、TIGの岸本卓也です。 シェルスクリプト連載 の7日目です。 シェルスクリプトで前提とするシェルは、大抵のコンピューターにインストールされていることが多いbashを選択することが多いと思います。当記事ではそのbashを対象に、意外と色々あるシェルの展開処理の概要をまとめました。シェルスクリプトに限らず普段のコマンド操作でも展開処理が便利なシーンは多々あると思いますので、皆さんの時間の節約に役立てば幸いです。 以降では、処理される順番に展開処理を紹介します。また、説明している動作と具体例はGNU bash version 5.1.4で確認しました。 なお、Windowsでは初期状態ではbashがありませんが、インストールする方法はいくつかあります。gitを使うためにインストールするGit for
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く