テクノロジー

MySQLのINFORMATION_SCHEMA.TABLESにおけるテーブルの行数(レコード数)は、概算値だから正確ではないらしい

SQLのパフォーマンスをテストするために、試験用にテーブルを作って大量のレコードを入れました。 その時に試験をやり直そうと思い、テーブルをリセットする局面があったのですが。 ふと疑問に思い、「DELETE FROM テーブル名」と「TRANCATE TABLE テーブル…

JavaScriptのES2019の変更点と新機能のガイド

@flaviocopesさんのサイトで、ES2019のガイドが公開されています。 flaviocopes.com ひととおり目を通したので、自分なりに解釈した要約を書きます。 Array.prototype.flat() flat()は、配列内の配列を平坦に整えた、新しい配列を生成します。 引数で深さを…

シェルスクリプト内のエラーで実行を停止する「-e」と、実行コマンドを出力する「-x」オプションを使ったシェルスクリプトの開発

「ソフトウェアデザイン2020年1月号」を読んでいるのですが、その中に次の一節がありました。 GitLab のCI に関する部分は.gitlab-ci.yml に書き、単独でも実行できる内容はシェルにまとめて、scriptで呼び出すのがお勧めです。 そうすると、.gitlab-ci.yml…

SQLのCOUNT関数内で、判定条件を使って集計するときは「OR NULL」を追加しよう

SQLのSELECT結果からCOUNT関数を使い、複数のデータ集計をしたい局面がありました。 /* aのカラムには、「0」と「3」の値が入っている */ mysql> SELECT * FROM sample; +---+ | a | +---+ | 0 | | 3 | +---+ 2 rows in set (0.00 sec) そこで次のSQLを実行…

スペシャリストのキャリアを諦めた結果、技術力が向上した - 「挫折論への招待」その後の物語

「セイチョウ・ジャーニー」「挫折論への招待」アドベントカレンダー Advent Calendar 2019の19日目の記事です。 「挫折論への招待」は、技術書典6でGrowthfactionが頒布した、挫折をテーマとした同人誌です。 私は本書に、スペシャリストを目指したけど挫折…

90年代のパソコン通信とインターネットがわかる同人誌 - ゆゆ式'90と続・ゆゆ式'90

【推し祭り】技術書典で出会った良書 Advent Calendar 2019の9日目の記事です。 今回推しとしてご紹介するのは、サークルLavenderBlueさんの「ゆゆ式 '90」と「続・ゆゆ式'90」です。 私は技術書典6で購入しました。 techbookfest.org 「ゆゆ式'90」と「続・…

Kuin for Web - Kuin言語のJavaScript出力機能と、KuinをKuinでコンパイルするKuinInKuin

この記事は、「write-blog-every-week Advent Calendar 2019」の2日目の記事です。 「write-blog-every-week」は、毎週ブログを書くことを目標としたコミュニティです。 kojirooooocks.hatenablog.com 私がブログを書き始めたのは2017年の8月ですが、アクセ…

「Pythonで機械学習入門: 深層学習から敵対的生成ネットワークまで」を読み始めた - お妃さまシリーズ第3作目

オーム社の「Pythonで機械学習入門: 深層学習から敵対的生成ネットワークまで(著:大関真之さん)」を読み始めました。 Pythonで機械学習入門: 深層学習から敵対的生成ネットワークまで作者: 大関真之出版社/メーカー: オーム社発売日: 2019/05/31メディア:…

駆け出しWEBエンジニア(新人WEBエンジニア)の失敗談 - エンジニアアンチパターンNEXT

技術書典7で頒布した「エンジニアアンチパターンNEXT」は、私自身の失敗談から教訓を得るという同人誌です。 konosumi.booth.pm 新人のWEBエンジニアとしてキャリアをスタートした入社1年目から始まり、プロジェクトマネージャーとして炎上プロジェクトを経…

2019年のテック系ポッドキャスト - フロントエンド・モバイル・WEB・インフラ・アジャイルなど

最近は忙しく、テック系ポッドキャストをあまり聴けていない日々が続いていたのですが、また聴き始めることにしました。 ただ、以前書いた「2017年とテック系Podcast(ポッドキャスト)を、紹介しつつ振り返る」という記事から、すでに1年以上が経過しています…

ボット作成で学ぶ、Dockerとdocker-compose入門 - 技術書典7「BotFrameworkで勤務報告Bot作った」

「BotFrameworkで勤務報告Bot作った」は、技術書典7でさとう( @honhotate )さんが頒布していた本です。 私は技術書典7にサークル参加していたのですが、ほとんどサークルを出られなかったため、お隣のサークルさんで唯一普通に購入することができた本とも言…

ポッドキャスト駆動の技術学習と、ブログから始まり商業誌へ至る執筆によるアウトプットのふりかえり

技術書典7に向けて、「エンジニアアンチパターンNEXT」という技術系同人誌を書いてます。 自分の失敗談をアンチパターンに見立てた本で、そこから「どうすれば良かった?」を考える本です。 その中に「キャリア」をテーマとした章があるのですが、自分のエン…

Ionic + Stencil + CapacitorでWeb Componentsを使ったPWA & ハイブリッドアプリ開発

Ionicチームが開発しているStencilとCapacitorを組み合わせることで、Web Componentsを使ってハイブリッドのモバイルアプリ開発ができます。 「Stencilってなに?」「Capacitorってなに?」と、思われるかもしれません。 どちらも2019年にバージョン1.0系が…

CoffeeScriptとCoffeeScript2を試してみた - AltJS(代替JavaScirpt言語)

技術書典7に向けて「Node.js中級者を目指す」という本を書いてます。 その過程でAltJSについて勉強していたのですが、「CoffeeScript 2」の存在を知りました。 本記事はその備忘録にあたり、実行したインストールおよびサンプルプログラムと所感を共有します…

ES2015・ES2016・ES2017・ES2018を手早く学習するTHE ES Guide

技術書同人誌博覧会(技書博)向けのNode.js同人誌を書いてる際に、オススメのサイトを見つけたのでご紹介します。 @flaviocopesさんの「THE ES Guide」です。 ES2015(ES6) ES2015はlet・const・class・Promiseをはじめとする重要な構文や機能が目白押しなの…

続・未踏ジュニアのスーパークリエイタという世界 - 2018年度未踏ジュニアの感動を語り隊

「未踏ジュニア」というプロジェクトがあります。 独創的なアイデア、卓越した技術を持つ17歳以下の小中高生および高専生を対象とした、ミニ未踏です。 jr.mitou.org 優れた能力を持つ若い人材を発掘・育成することを目的としているプロジェクトですが、これ…

JavaScriptの配列風オブジェクトと「[].slice.call()」による配列変換について

書店で購入したオライリーの「Node.jsデザインパターン」を読んでます。 本の内容はNode.js流のコードの書き方「The Node Way」を学ぶことに主眼が置かれており、さらにクラスタリングをはじめとするNode.jsのスケーラビリティや負荷分散についても書かれて…

TypeScriptでsetTimeout()がNodeJS.Timerになる理由から、window.setTimeout()との違いを理解する

AngularのSPA(Single Page Application)のプログラムを書いてたら、以下の問題に遭遇しました。 TypeScriptのコード内でのsetInterval()の返り値には罠がある https://blog.kubosho.com/entry/setinterval-trap-on-typescript/ 内容としては「Type 'Timer' i…

ALOHAnet - 有線LANより早く生まれた無線LANの起源と、CSMA/CA方式への発展

2019年秋の情報処理試験で、「ネットワークスペシャリスト」を受験してみることにしました。 そこで毎日少しずつ学習を進めているのですが、データリンク層の学習でハワイの「ALOHAnet(ALOHAネット)」に出会いました。 無線LANの先駆的存在で興味深かったの…

PHP中級者を目指すステップアップ本「レベルアップPHP」について

「レベルアップPHP」という本を書きました。 技術書典6の個人サークルでお披露目しまして、現在好評発売中です。 レベルアップPHP ?言語を理解して中級者へ? (技術の泉シリーズ(NextPublishing))作者: 佐々木勝広出版社/メーカー: インプレスR&D発売日: 20…

くいなちゃん & Kuinの歴史を探訪する - 公式サイト編

技術書典6向けに「Kuin & くいなちゃん」の入門書を書いたのですが、 「どうやって今のくいなちゃんへとたどり着いたのか?」 その歴史については書きませんでした。 公式サイト(Kuin & くいなちゃんを知らない方向け) http://kuina.ch/ ふと気になってしま…

Kuinの設計の理由からプログラミング言語自体の設計という技術への理解を深めてみる

技術書典6で「Kuinプログラミング入門 くいなちゃんとはじめるゲーム& 実用アプリ開発」という本を出します。 その過程の一環で、Kuinの公式サイトにあるプログラミング言語の「設計の理由」をまとてみました。 techbookfest.org Kuinは「設計の理由」が公式…

湊川あいさんのマンガでわかるDocker3 〜AWS編〜を読みました & 寄稿しました【技術同人誌】

湊川あいさんの「マンガでわかるDocker3 〜AWS編〜」を読みましたので、簡単な概要と感想を書くことにしました。 llminatoll.booth.pm 執筆が忙しいのでさらっとしか読めてないのですが、マンガやイメージ図で概要を理解した後に、実際に構築をチャレン…

雅なPerl入門で学ぶ現代Perl - 再学習でPerlの知識をアップデート

BOOTHで購入した「雅なPerl入門第3版」がおもしろかったので、一気読みしました。 booth.pm 本書が読みやすい理由は、プログラミング初心者の雅とPerlハッカーであるクロウの、会話形式で物語が進んでいくからです。個人的には、プログラミングの経験はある…

rebuildfm のQuoraで学ぶrobots.txt入門 - 検索ボットやクローラーのアクセスを制御しよう

rebuildfmの@kosamariさん回で、Quoraのrobots.txtについての話題がありました。 rebuild.fm そんなにすごいのかと気になったので、調べてみることにしました。実際のQuoraのrobots.txtがこちらです。 https://www.quora.com/robots.txt User-agent: Googleb…

YAPC::Tokyo 2019の感想 - Perl6、レガシーPerl、綱渡りバッチ、CPANとエンジニアの成長物語

「YAPC::Tokyo 2019」に参加してきました。 yapcjapan.org 最近はPerlを書けてないのですが、言語としての自由度の高さはとても好きで、久々にたくさんのPerl成分をもらった気がします。 そして何より楽しかったです。「ブログを書くまでがYAPC!」というこ…

技術書典6に向けて、技術系同人誌の執筆・制作環境についてまとめてみる

私は技術書典4・5と、個人でサークル参加をしてきたサークル主です。本の制作環境を迷いながら選択することが多かったので、技術書典6にサークル参加される方への備忘録も兼ねて、まとめてみました。 まずは技術同人誌を執筆するための制作環境ですが、私が…

エンジニアブログの探し方 - カンファレンスを起点に、自分に合うブログで情報収集を追い求める

1年以上前の記事なんですが、エンジニアブログを使った情報収集はオススメだと書きました。 www.konosumi.net あれから1年が経つのですが、ひとつ反省していることがあります。何も考えずエンジニアブログを購読(RSSフィードを登録)していった関係で、記事が…

失敗と向き合い改善を目指す - 成長のための振り返りと、失敗を予見する力を身に付ける

セイチョウジャーニーのアドベントカレンダーには、「やる気を出さずに成長を目指す、自然な学習とスキルアップ戦略」という記事を書きました。 www.konosumi.net 実は、アドベントカレンダー向けにもうひとつ書こうか迷っていた記事があります。「失敗から…

仮想DOMをきっかけに、React.jsがヒットした理由を探求する- JSフレームワーク × ビアバッシュ 初心者勉強会

「仮想DOMで探る、React.jsがヒットした理由」で、登壇しました。勉強会は、初心者向けのJSフレームワーク勉強会です。 sakeganaito.connpass.com 会場の風景を撮り忘れていたのですが、すごくシックで雰囲気が良かったです。写真は「好きだけじゃ辛いScala.…