メタプログラミングの手法に、C/C++言語で普通に使われているマクロ機能があります。最終回である今回は、それらより安全な実装となっているRustのマクロ機能について。
お知らせ Software Design 2019年4月号(2019年3月18日発売)にて「プログラマのための速習SQL」という特集記事を監修しました。 ちなみに、この記事の執筆者はソニックガーデンの同僚である西見公宏(@mah_lab)です。 記事の最後にはいちおう僕の名前も載せてもらっています。 どんな記事なの? O/RマッパーなしではSQLが書けないプログラマが対象読者 弊社ソニックガーデンはRuby on Railsをメインのフレームワークとして採用しています。 そしてRailsといえば、Active Recordと呼ばれるO/Rマッパーがプログラマの代わりにSQLを書いてくれます。 とはいえ、Active Recordを使えばSQLの知識がまったく不要になるのかというと、そうではありません。 むしろ逆に、本格的なWebアプリケーションを開発するためにはSQLの知識はある程度必須に
SQLite3.14(円周率πと同じですね!)が2016/08/08にリリースされました。 リリースノートによると、CSV仮想テーブルに対応したとありましたので、早速使ってみました。 Added the CSV virtual table for reading RFC 4180 formatted comma-separated value files. この機能を使うと、CSV形式のログファイルにSQLで問い合わせるといったことが簡単にできます。 仮想テーブルについて 仮想テーブル(Virtual Table)はSQLiteのデータベースで管理されていないデータを仮想的に管理されているように見せるテーブルです。 仮想テーブルで管理されているデータは、通常のテーブルのデータと同じように SQL インターフェースで操作できます。 SQLite では 全文検索インターフェース R-Trees
ソフトウェアのファーストフード化ソフトウェアを否定するものではありません。むしろソフトウェアは好きです。ソフトウェアの「開発」に焦点を当てた考察になります。そして、僕自身の仕事に対する姿勢というか、スタンスを述べるものになります。 自分の仕事を思考する僕は最近、深い森に入るように仕事について考えることが多くなってきて、考えたことを誰かに話したり、こうやって文章として残したりしています。先日もUI Crunchというイベントにも登壇させていただき、「いい仕事」についてお話しさせていただきました。スライドはこちらです。https://speakerdeck.com/kwmt/iishi-shi-wosiyou 驚くほどに反響があり、自分でもびっくりしています。仕事に対して抱く感覚は人それぞれだと思いますが、僕なりには解釈ができるようにちょっとだけ熟してきた気がします。 ソフトウェアのデザインを
2024-08-13 Q:1つでもチャンネルBANされたらアカウント全てBANされるのですか? A:私の場合は違反チャンネルだけでした YouTube 雑談 Q:複数チャンネルを取得中に1つでもチャンネルBANされたらアカウント全てBANされるのですか!?A:そのチャンネルだけだと思います (※あっ、もしかして再審請求中に他が生かされていただけ?と記事を書いてて自分で気が付いたり・・)複数チャンネルの管理につ… #YouTube #BAN #雑談 2024-08-13 Q:YouTubeのメインチャンネルとサブチャンネルの区別の仕方はどうやってやるのですか? A:デフォルトの指定があるだけです YouTube 雑談 detail.chiebukuro.yahoo.co.jp YouTubeのメインチャンネルとサブチャンネルの区別の仕方はどうやってやるのですか? 登録者2000人の弱小チャン
以下の記事を読んで。 530000micro.hatenablog.com 僕が勤めている会社では、原則、プログラムにコメントを書かないのがルールです。 人生で初めてプログラムに触れてからこのかた、プログラムには必ずコメントを書けと指導されて来ましたし、自分自身も、後輩たちにちゃんとコメント書けよと言い聞かせてきました。そんなわけで、最初に全然コメントのないソースコードの山を見たときは、正直「ゲッ、なんじゃこりゃ……」と面食らったのは確かです。 ところが、「なぜうちのプログラムにはコメントがないのか?」と同僚に尋ねてみると、実に納得の行く回答が返ってきたのでした。 なぜコメントが必要なプログラムを書くのか? 同僚いわく、「コメントが無くても読めるようなプログラムを書け」という思想が根底にあるのだそう。 適切に関数や変数が命名され、スコープがきちんと管理され、ロジックの流れが整理されているコ
2. 2015 Yusuke Hirao, CC BY-ND. 自己紹介 平尾優典(ひらお ゆうてん) === 株式会社ディーゼロ Webエンジニア ## コミュニティ活動 - 福岡フロントエンド友の会 Fukuoka Frontend Frogs - 福岡マークアップ勉強会 - baserCMSユーザー会 Yusuke Hirao @cloud10designs 3. 2015 Yusuke Hirao, CC BY-ND. 自己紹介 ## コミュニティ紹介 ### 福岡フロントエンド友の会 Fukuoka Frontend Frogs ### 福岡マークアップ勉強会 ### baserCMSユーザー会 「井の中の蛙」にはならないようにと集まった フロントエンドエンジニアのためのコミュニティ。 Webコーディング・アプリ開発の悩める蛙たちが その場で話題を決めて、アンカンファレンス形式で
コードを書くことコードを読むことコマンドラインをほぼ常に使うこと(「使わないわけないだろう」と思う人が多いと思うが、それができない人はそれよりも多い)ライブラリも可能な限り読むこともっとコードを読むことコピペしてもいいけど、コピペするコードの意味は絶対に把握すること自分の勤め先がクソなら、会社は辞めること(ある程度技術力があればどこでもやっていける)英語が読めること数学的・論理的思考をみにつけることオープンソースのコードを読むことなるべく根本的な概念を知ることひとつの言語に拘らず、何個も触ること(ひとつのパラダイムに固執する可能性がある)UNIX/Linuxをメインでつかうこと流行を追いかけ過ぎないこと(結局ソフトの上で踊らされているだけ)自分の知らない分野はいくらでもあると心得ること井の中の蛙にならないように心がけることマネジメント視点も取り入れること「他人のため」を考えること(独りよが
B! 20 0 0 0 vim-markdown で行っているVim上のMarkdownの畳み込みで ちょっと気になる所があったのでいじってみました。 vim-markdownで行ってる畳み込み 畳み込みの設定 vim-markdownでの畳み込みのアップデート vim-markdownで行ってる畳み込み vim-markdown ではafter/ftplugin/markdown.vim の中で畳み込みの設定してますが、 これはもともと Original版(plasticboy/vim-markdown) にあったものを取ってきたままのものでした。 これは、基本的に#で指定したり---の下線を引くことで作る 各セクション毎に畳み込む設定です。 ただ、先日のアップデート でYAMLブロックのハイライトを出来る様になって、 ファイルの先頭にあるYAMLブロックをハイライトしてくれる様にはなり
新しい仕事やプロジェクトを始める時に、コードベースを一から作ることはめったにありませんよね。なじみのないコードと格闘するのは骨が折れますし、新たに取り込む情報の多さを考えると、気の遠くなる思いがします。Rubyを使っていた環境からNestoriaに移った私の場合は、新しいコードベースの学習に加えて、Perlまで勉強しなくてはならなかったため、二重の苦しみを味わいました。そんな私が、できるだけ短期間で生産性を上げるために使った7つの方法を紹介します。 謙虚になろう プログラミングと聞いて、真っ先に”謙虚さ”を思い浮かべる人はいないかもしれません。何しろ”傲慢”が プログラマの三大美徳 の1つに数えられているくらいですからね。そうは言っても、なじみのないレガシーコードに出くわしたら、あまりにも分からないことが多すぎて、何度もミスをしてしまう自分にきっと嫌気がさすでしょう。このような場合は、謙虚
ある正規表現に対して、特定の文字列がマッチするかどうかをチェックするツールやサイトは沢山ありますが、正規表現そのものが何を意味しているのか、どんな文字列を期待しているのかを解析・解読・説明してくれるツールやサイトってなかなか見ない気がします。 他人の書いた正規表現を見て、「ん?」ってなったことはありませんか? 例えばこれ。 1 ^[a-zA-Z0-9-_.]@([a-zA-Z0-9_-]+\.)+[a-zA-Z]{2,4}$ これくらいなら分かりますが、複雑になってくるとつらい… いつかはマスターしたいけど…今は楽したい。 そう思ってググってみると…ありました! それがこちら。 Regexper http://www.regexper.com/ 正規表現を入力して Display をクリックすると、その正規表現が表す内容を図にして表示してくれます。 例えば先程の正規表現は、当記事の一番上の
ソフトウェアを「作らない」SIは後ろ向きか 岩切 ► 今回の対談は、市谷さんがギルドワークスを設立された際に、市谷さんから大石さんを紹介してほしいと言われたことが背景にあります。なぜ、大石さんに興味を持たれたのでしょうか。 市谷 ► ギルドワークスでは「正しいものを、正しくつくる」をミッションにしています。しかし、自分たちの周辺だけで全部やっていけるとは思っていなくて、それぞれ何かしら持っているいいところ結集して、いいプロダクトを作っていきたいと考えています。そこで、AWSに関して、自分たちでは手に負えないところに長けている大石さんに、色々お話を伺ってみたいと思いました。 岩切 ► 正しく作るために大石さんの力を借りたかった。一方で、作らない派の大石さんとしては、正しく作る派の市谷さんが大石さんに胸を借りたいと言っていることに対してどう感じましたか。 大石 ► いや、すごくありがたいです(
この連載は、Javaをいきなりやることになってしまった新卒の人や、Java以外の言語の使用経験しかない人など、Javaの初心者なのに業務アプリ(ビジネスで使われるアプリケーション)の開発で即戦力にならないといけない人達に向けての連載になります。標準のJavaでできることはもちろん、DB操作のためのSQLやよく使われるライブラリの使い方など、単なるJavaのみの紹介ではなく、Javaでの業務アプリの開発に必要とされる基礎知識全般について連載を通じて学んでいくことを目的としています。 はじめに 今回の記事では、Java(ジャバ)で業務アプリを開発するための開発環境の構築を行います。また、Javaのアプリケーションの開発では統合開発環境(IDE)を使って作業することがほとんどです。統合開発環境とはアプリケーションの開発をサポートする環境で、この連載では多くの現場で使われているEclipse(エク
二十五日半狂乱4日目(の分)の記事 前回引用したkilltreeスクリプトの中に以下のようなコードがあった. local _sig=${2:-TERM} この${2:-TERM}は、変数展開されたタイミングで、$2に値が設定されていない場合にTERMを出力する. すなわち、結果的に$2が空だった場合は変数_sigにTERMが代入される. なのでkilltreeは第二引数でシグナルを指定せずに実行したらデフォルトでkill -TERM [pid]が実行される. $ bash killtree.bash 4003 kill -TERM 4004 kill -TERM 4005 kill -TERM 4006 kill -TERM 4007 kill -TERM 4008 kill -TERM 4003 [2]+ Stopped bash mkpstree.bash 手元にあるUNIXシェルスク
エンジニア組織を強くするための本を出版しました Qiitaでエンジニアリングをめぐる様々なコミュニケーションの問題とその解決策や考え方を書いてきた。それらの背後にあるエッセンスをこの度書籍として出版するに至りました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング この書籍は、エンジニアリングを「不確実性を削減する」という第一原理で捉え直し、様々なエンジニアリングとその間のコミュニケーションをめぐる現象を説明していくものです。 あわせて読みたい 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 この記事について この記事は、新人向けの研修内容を再編集してお送りします。 この記事の内
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く