タグ

関連タグで絞り込む (538)

タグの絞り込みを解除

programmingに関するa2ikmのブックマーク (1,217)

  • deoplete.nvim開発者、Shougoが考える「Vimの限界ギリギリ」を攻めるプラグイン開発の裏側 - エンジニアHub|Webエンジニアのキャリアを考える!

    deoplete.nvim開発者、Shougoが考える「Vimの限界ギリギリ」を攻めるプラグイン開発の裏側 多くのエンジニアに愛されるテキストエディタ『Vim』のプラグインを作り続けるShougoさん。Vimmerならば一度は使ったことがある、というほどに広く知られたプラグインを作り続ける理由を聞きました。 「あなたにとって、テキストエディタとは何ですか?」 こう聞かれたとき、あなたは何と答えるでしょうか。開発に不可欠な大事なツール、あるいは、ただの道具──。きっと十人十色の回答が返ってくるでしょう。 この問いに対し、「テキストエディタとは世界」と迷いなく答えるエンジニアがいます。Vim/Neovimのプラグインマネージャーdein.vimや、Neovim/Vim8用の入力補完プラグインdeoplete.nvimなどの開発者であるShougo(しょうご/ @ShougoMatsu )さんで

    deoplete.nvim開発者、Shougoが考える「Vimの限界ギリギリ」を攻めるプラグイン開発の裏側 - エンジニアHub|Webエンジニアのキャリアを考える!
  • プログラミングを勉強しているのですがライブラリやプログラミング言語自体を作っちゃう人ってどういう勉強をしているのでしょうか?それらを勉強するのにおすすめの書籍とかはありますか?

    回答 (3件中の1件目) プログラミング言語に限った回答になりますが、最近はいろいろ良いが出ているので、参考にされると良いと思います。 適当にアマゾンとかでチェックしてみました(もっと、いろいろあると思います)。 * 2週間でできる! スクリプト言語の作り方 (Software Design plus) * 作りながら学ぶ | 育男, 中田 | | 通販 | Amazon * Go言語でつくるインタプリタ | Thorsten Ball, 設樂 洋爾 | | 通販 | Amazon * Rubyのしくみ -Ruby Under a Microscope- * Ruby...

    プログラミングを勉強しているのですがライブラリやプログラミング言語自体を作っちゃう人ってどういう勉強をしているのでしょうか?それらを勉強するのにおすすめの書籍とかはありますか?
  • モブプログラミングに向いてない私の話 - 誰かの役に立てばいいブログ

    新型コロナウィルスの影響も長引いてますが、皆さま無事お過ごしでしょうか。私は幸い無事です。 日ごろチームでソフトウェア開発をしているのですが、近年社内ではペアプログラミングやモブプログラミングが流行しています。 私のいるチームでもここ二年ほどモブプログラミング(ないし類似のプラクティス)に取り組んできました。 モブプログラミングについて正確にどのようなものかは以下の記事などをご参照いただければと思います。 簡単にまとめると、要求分析やコーディング等幅広い開発作業を、同じ場所に集まったチームの共同作業でこなしていくというものです。 このご時世ですので、最近はオンラインのミーティングルームに集合する形式でしたけど。 www.agilealliance.org ここから先は、非常にパーソナルな、私に限定された体験になります。 どの人・チームにも適用できる話ではありません。ではありますが、どの人・

    モブプログラミングに向いてない私の話 - 誰かの役に立てばいいブログ
  • ExcelでVBAを使わないでドラクエ3を再現する | パパセンセイ365

    English 久しぶりにExcelゲームを再現してみました。 ツイッターでどんなゲームを作るのが良いか募集したところ、なんと1位がドラクエ。 初めて質問箱を使ってみます。なかなか決められなくて‥‥。 VBAを使わないExcelゲーム、どれを作るのが良さそうですか? — パパセンセイ@Excelを眺める人 (@10mikiya) September 21, 2020 正直どう作って良いか見当もつかないまま見切り発車で進めましたが、なんとか形になったので公開の流れになりました。最適化されてないロジックもありますので温かい目で見守っていただけますと幸いです。 一応、再度伝えておきますがVBAは一切使っていません。 [ad01] どんなものが出来たか 実際にどんなものになったか、見ていただいた方が早いのでまずは結果をご覧ください。(※音声はありません) あのイルカ 最後まで見た方が面白いですよ

  • 記号だけで brainfuck インタプリタ - まめめも

    Ruby 1.9 の新機能のひとつに「lambda { ... } を -> { ... } と書ける」というのがあります。この表記は反対意見が根強い *1 ですが、確実にすばらしい点があって、全部記号だということです。これによって Ruby が記号だけでチューリング完全になります *2 。 デモとして、brainfuck インタプリタを記号だけで書いてみました。 $___,@_,@__,$_=(@@__="")=~//,?#=~/$/,->(_){_<(__="####"=~/$/)**__&&(@@__<< _;@__[_+@_])},[*$<]*@@__;@__[$___];$____,$_,@___,$__,@__=$_[@_+($_+?!=~/!/ )..-@_],$`,[],[],->(_){(__=$_[_];__=~/[><+\-\.,]/?$__<<$_[_]:__==?

    記号だけで brainfuck インタプリタ - まめめも
  • Rust入門を兼ねてプロジェクト・オイラーの問題を解く - 再帰の反復blog

    とりあえず問100まで解くことに決めて始めたのだけど、問題の難易度やプログラムを書く面倒さが速いペースで増加していくので割と早い段階で問題を解くことが優先になって、Rustの機能やライブラリを理解することがおざなりになってしまった。 それでも言語の初歩的な部分についてはそれなりにRustの感覚が得られた気がする。 1. 整数とベクター 大部分の問題は、整数、整数のベクター、整数のベクターのベクター等々だけを使って解ける。 そのため、プログラムを書くときに所有権などのせいで書き方に困ることはあっても、そうした所有権とか生存期間とかの規則が問題を解く上で質的な障害になることはそんなに無い。 「gotoしかない言語でプログラムを書いていた人がforやwhileだけでプログラムを書く」とか「破壊的変更が普通の言語を使っていた人がデータは基的に不変な言語を使う」ような感じかも。 ベクターすら使う

    Rust入門を兼ねてプロジェクト・オイラーの問題を解く - 再帰の反復blog
  • 自動テストに限界を感じた私がなぜ形式手法に魅了されたのか - 若くない何かの悩み

    長らく自動テストとテスト容易設計を生業としてきましたが、最近は色々な限界を感じて形式手法に取り組んでいます。 この記事では、既存の自動テストのどこに限界を感じてなぜ形式手法が必要なのかの私見を説明します。なお、私もまだ完全理解には程遠いため間違いがあるかもしれません。ご指摘やご意見はぜひ Kuniwak までいただけると嬉しいです。 著者について プログラマです。開発プロセスをよくするための自発的な自動テストを支援する仕事をしています(経歴)。ここ一年は R&D 的な位置付けで形式手法もやっています。 自動テストの限界 自動テストとは 私がここ数年悩んでいたことは、iOS や Web アプリなどのモデル層のバグを従来の自動テストで見つけられないことでした。ただ、いきなりこの話で始めると理解しづらいと思うので簡単な例から出発します。 この記事でいう自動テストとは以下のようにテスト対象を実際に

    自動テストに限界を感じた私がなぜ形式手法に魅了されたのか - 若くない何かの悩み
  • 著名なオープンソースRailsアプリのapp/以下を見る

    Railsにおける app/ とは app/はRailsのアプリケーション用ディレクトリで、普通のRailsアプリケーションでは、この下にmodels,controllers,viewsを含めた様々なディレクトリが作られます。 基的には新しいディレクトリを追加する必要はないのですが、アプリケーションが複雑になると、Railsを拡張するべくここにアプリケーション固有のディレクトリを作って、その下に関連するファイルを置くことがあります。 中には、servicesやserializersのように、多くのRailsアプリケーションで見られるものもあれば、完全にアプリケーション独自のものが作られることもあります。また、アプリケーションによっては独自のディレクトリは一切作らないものもあれば、大量に作るものもあります。それぞれアプリケーションの開発方針によるものです。 記事では、比較的有名なOSSの

    著名なオープンソースRailsアプリのapp/以下を見る
  • GitHub - microsoft/cascadia-code: This is a fun, new monospaced font that includes programming ligatures and is designed to enhance the modern look and feel of the Windows Terminal.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

    GitHub - microsoft/cascadia-code: This is a fun, new monospaced font that includes programming ligatures and is designed to enhance the modern look and feel of the Windows Terminal.
  • Zigソフトウェア財団とZenプログラミング言語に関する声明 ⚡ Zig Programming Language

    Original English version available below. We are thankful to 株式会社HYPERIA and all the members of the Zig community that helped us with the Japanese translation. Zigソフトウェア財団とZenプログラミング言語に関する声明Zigソフトウェア財団は、Zigの開発者アンドリュー・ケリーによって創設された501(c)(3)非営利組織です。財団はZigプログラミング言語開発のサポートと優れたグローバルコミュニティの育成を目的としています。 対してZenはコネクトフリー社によって保守されているZigのクローズドソースフォークです。コネクトフリー社は最近Zenコンパイラのためのライセンスモデルを発表し、ソフトウェア開発者は自分で作成したコードの

  • 旧石器時代のポインタをご利用の皆様へ ~provenance入門~ - Qiita

    現代のプログラミング言語ではポインタは単なるアドレスではなく,provenanceを伴った参照として扱われています. 世界は既に変わっています. 概要 ポインタは単なるアドレスではありません. ポインタにはprovenanceという,どのオブジェクト由来かの情報が含まれています. Provenanceを使うことで,最適化が効きやすくなったり,堅牢なプログラムを書きやすくなったりします. 追記: 次の英語記事を読むとprovenanceが必要な理由についてもっとよく知ることができます.クリックしよう!!!!(2020-12-15) https://www.ralfj.de/blog/2020/12/14/provenance.html ポインタはアドレスではない 次のCプログラムを見てみましょう. #include <stdio.h> #include <string.h> int main

    旧石器時代のポインタをご利用の皆様へ ~provenance入門~ - Qiita
    a2ikm
    a2ikm 2020/09/07
    “ポインタは単なるアドレスではありません. ポインタにはprovenanceという,どのオブジェクト由来かの情報が含まれています.”
  • CodeGen: Semantic's improved language support system

    EngineeringOpen SourceCodeGen: Semantic’s improved language support systemThe Semantic Code team shipped a massive improvement to the language support system that powers code navigation. Code navigation features only scratch the surface of possibilities that start to open up when we combine Semantic‘s program analysis potential with GitHub’s scale. The Semantic Code team shipped a massive improvem

    CodeGen: Semantic's improved language support system
  • カロリーメイトリキッドのQuineを書きました - まめめも

    縁あって、カロリーメイトリキッドのプロモーション用にちょっとした Ruby プログラムを書かせてもらいました。 www.otsuka.co.jp ↑のリンクを開いて、cd .Quine したところにある CML_quine.rb がそれです。 cat CML_quine.rb とすると中身が見えます。ruby CML_quine.rb すると動きます。 CalorieMate-Liquid-Quine 実行してみましたか?サイト上で気楽に実行できるので、ぜひ試してみてください。 これがどういうプログラムなのか、簡単に解説しておきます *1 。 ローカルでの遊び方 サイト上で ruby CML_quine.rb をするだけでも楽しめますが、自分のパソコンに保存するとより楽しめます。 まず、cat CML_quine.rb した中身をまるごとコピーしてください。 n=2;で始まる行の頭から、'

    カロリーメイトリキッドのQuineを書きました - まめめも
  • Goで作るテキストエディタ - Sansan Tech Blog

    はじめに みなさんこんにちは。Sansan事業部プロダクト開発部のiOSエンジニア荒川です。 以前はRDBMSの記事*1を寄稿し、好評いただいたこともあり、定期的に車輪の再発明系の記事を書いていこうと思います。 さて日はタイトルの通り、VimEmacsに代表されるターミナルで動作するインラインテキストエディタをGoで開発してみました。 ソースコードは以下のリポジトリに置いているため、ぜひ参考にしてください。 github.com 完成品 文字だけだとイメージも湧きにくいので、まずは完成品をお見せします。 最低限エディタの動きは出来ている、というレベルの完成度ですね🙏 特徴 1000行インラインエディタ 文字入力/挿入/削除 画面スクロール キーボードショートカット ファイル読み込み/保存 Goのコードハイライト機能 実装の方針 今回はただ開発するだけではなく、いくつかのこだわりポイン

    Goで作るテキストエディタ - Sansan Tech Blog
  • 中年プログラマの競プロ事始 - hydrakecat’s blog

    これはなに 自分がここ2年ほど趣味として競技プログラミングをやった経緯と感想です。いわゆるプログラマの定年と呼ばれる35歳を過ぎてから始めたのですが、思ったよりも楽しめました。自分のようなシニアと呼ばれるプログラマが競プロに興味を持ってくれたらいいなと思って書きました。 競技プログラミング競プロ)とは 競技プログラミング(以後、競プロ)は、プログラミングをして順位を競うコンテストです。コンテストはたいていオンラインで毎週のように開かれており、誰でも参加できます。形式としては、与えられた時間内にいくつかの問題を解くコードを提出して、その正解数と提出までにかかった時間を競うというものです。たいていは、コードの実行時間および使用メモリに制限があり、その制限内で実行できるコードを書く必要があります。またコードが正解かどうかは出題者が用意したテストケースをパスするかどうかで判定されます。 多くのコ

    中年プログラマの競プロ事始 - hydrakecat’s blog
  • 実践的低レベルプログラミング

    はじめに 学校で習わないが(習う学校もある)、現実に必要になるプログラミング技術に、低レイヤプログラミングなどと呼ばれるものがある 厳密な定義は聞いたことがないし、おそらく存在しないとは思うが、大体のみんなの共通認識として、 「高級プログラミング言語を使わないプログラムを書き、OSで抽象化されないデバイスの機能を使う」といったような認識があると思う。 筆者の経験から言わせてもらうならば、低レイヤプログラミングに関する知識は、プログラミングにおいてあらゆる場面で、常に、少しずつ役立てられる知識だと言えると思う。 普段はRubyPHPなどを書いてる人であったとしても、メモリが足りなくなった場合や、デバッガを使っている場合、性能が足りなくなった場合など、 厳しい環境におかれた時に低レイヤプログラミングに関する知識が必ず役に立つ場面が来ると信じている。 また、役に立つかどうかは置いておいても、「

  • インタフェースの実装パターン #golang - Qiita

    はじめに この記事は,以下の過去にQiitaに投稿したインタフェースの実装パターンの記事に,typeやメソッド,インタフェースの基的な説明を追加してわかりやすくしたものです. Go言語における埋め込みによるインタフェースの部分実装パターン structにinterfaceを埋め込んで,動的に入れ替えるパターン まずtypeとメソッド,基的なインタフェースの実装方法についておさらいすることで,さまざまなインタフェースの実装パターンを扱う準備をしましょう. typeで型を宣言する まずはじめに,Go言語における型の宣言方法をおさらいします.Go言語をはじめたばかりの方の中に,typeの使い方を限定的にしか理解していない方をよく見かけます.ご存知のとおり,typeは型を宣言するために使うキーワードです.以下のように,構造体型やインタフェース型の宣言の際に,使用することが多いでしょう. //

    インタフェースの実装パターン #golang - Qiita
  • Google社のテクニカルライティングの基礎教育資料がとても良かったので紹介したい - Qiita

    はじめに エンジニアにとって、仕様書などの技術的な文章を書くこと(テクニカルライティングとも言います)は避けて通れません。ただ20年来多くのエンジニアの方々と同僚として接してきて思うことは、エンジニアの方の中には「文章を書く」ということに苦手意識がある方が一定数いるということです。 でもこの「テクニカルライティング」のスキルは、才能というよりは一種の「技能」だと思うんです。ある一定の原理原則を理解して実践を繰り返すことで、必ず一定レベルで習得できるものだと著者は信じています。 もしこのテクニカルライティングの原理原則をまだ体系的に学習したことがない、または過去学習したが改めて再学習したいという方に、お勧めのコンテンツを見つけたのでご紹介します。 https://developers.google.com/tech-writing Every engineer is also a write

    Google社のテクニカルライティングの基礎教育資料がとても良かったので紹介したい - Qiita
  • [RubyTips] 頻出名詞をクラスに抜き出す - komagataのブログ

    プログラミングスクールのフィヨルドブートキャンプの提出物のレビューでよく指摘するシリーズ。 メソッド名に同じ名詞が頻出する場合、その名詞をクラス名として抜き出すとスッキリすることが多い。特にそれらのメソッドが同じインスタンス変数を使ってる場合は尚更。 Bad: class File attr_accessor :permission def open # ... end def check_permission # ... end def fetch_permission # ... end def permission_characters # ... end end Good: class File def open(path) # ... @permission = Permission.new(file) end end class Permission def initializ

  • 今井健男さんの「計算機科学から見たディープラーニング」 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    id:bonotake(今井健男)さんから、「こんな論説を書きました」と連絡をいただきました。 計算機科学から見たディープラーニング この論説を紹介し、僕の感想を述べたいと思います。「計算機科学から見たディープラーニング」は、『n月刊ラムダノート〈エヌゲッカンラムダノート〉』の Vol.1, No.2 に掲載された記事です。関連するブログ記事もあります。 ちなみに、この号(Vol.1, No.2)には、他に次の記事もあります。 LISP 1.5の風景 by 川合史朗 Q#で始める量子プログラミング by 田中孝佳 三つとも面白そうですね。 内容: プログラムとしてのディープラーニング 従来のプログラムとは著しく異なったパラダイム ホーア論理とプログラム意味論 しかし、それでも意味論は必要 プログラムとしてのディープラーニング この論説においてbonotakeさんは、ディープラーニングの現状

    今井健男さんの「計算機科学から見たディープラーニング」 - 檜山正幸のキマイラ飼育記 (はてなBlog)