タグ

ブックマーク / gihyo.jp (33)

  • まつもとゆきひろさん「Better Ruby」~RubyKaigi 2024 3日目キーノート | gihyo.jp

    2024年5月15日から17日まで、沖縄県那覇市の那覇文化芸術劇場なはーとでRubyKaigi 2024が開催されました。3日目の基調講演はRubyの作者である、まつもとゆきひろさんが登壇し、「⁠Better Ruby」というタイトルで講演を行いました。 まつもとさんは、Rubyの良さ、Rubyをより良くするための4つの側面、Rubyの未来像について話しました。 まつもとさんによるキーノート Rubyの良さ 「Ruby当に素晴らしい言語で、これを日語で自画自賛と言います」とまつもとさんは話し始め、Rubyの良さについて順に紹介しました。 楽しい まず最初にRubyの良いところとして、コードを書いていて楽しいという点を取り上げました。Rubyの公式サイトにある「A PROGRAMMER'S BEST FRIEND」というスローガンは、「⁠プログラマーがコードを書くときにRubyが友であ

    まつもとゆきひろさん「Better Ruby」~RubyKaigi 2024 3日目キーノート | gihyo.jp
    mizdra
    mizdra 2024/06/30
  • 第2回 スクロールとページングのUIを考える(2) | gihyo.jp

    スクロールするUI UIの基を見てきましたが、Web UIの世界では、今まで当たり前だったものが、時代の変化に伴って廃れていったり、新しいものに置き換えられていくということが頻繁に起きます。今回のテーマであるスクロールとページングを例に、まずはスクロールバーの歴史を紐解いていきましょう。 スクロールバーとは スクロールバーは上下または左右にスクロールするために使用されるGUI(Graphical User Interface)の代表的なUIコンポーネントの一つで、近年、役割が変化しつつある部品です。 スクロールバーの役割としては次のようなものが挙げられます。 ページ全体の分量がどの程度なのか把握する 現在の位置がどこなのか把握する 指定位置にジャンプする 細かいスクロールをする 最初に登場したスクロールバーは、直接操作して画面を上下または左右に動かすものでした(図1・注3⁠)⁠。 図1 

    第2回 スクロールとページングのUIを考える(2) | gihyo.jp
  • 第2回 スクロールとページングのUIを考える(1) | gihyo.jp

    連載2回目となる今回は、WebページにおけるスクロールとページングのUIを取り上げます。ユーザに最高のUX(User Experience)を提供するためにフロントエンドUI(User Interface)設計は欠かせません。エンジニア観点から見たUI設計思想について語りたいと思います。 UIの基礎知識 最適なUIというものは、表示するデータの性質や利用者の使い方、使用しているデバイス、慣れによって変化していきます。 「万人にとって普遍的で、そこそこ使いやすいUI」を目指すべきなのか、あるいは、「⁠一部の人にとって最高に使いやすいUI」を目指すべきなのか。UIを設計する人それぞれでポリシーは異なるでしょう。 誰でもそこそこ迷わずに使える優等生的デザイン。最初はとっつきにくくても、慣れれば最速で使える奇抜なデザイン……。一口にWebページのUIと言っても多種多様です。 たまにしか使わないサ

    第2回 スクロールとページングのUIを考える(1) | gihyo.jp
    mizdra
    mizdra 2024/05/22
    10年以上前の記事だけど良いこと書いてある
  • あなたの知らない超絶技巧プログラミングの世界

    2015年9月25日紙版発売 2015年9月25日電子版発売 遠藤侑介 著 B5変形判/272ページ 定価2,948円(体2,680円+税10%) ISBN 978-4-7741-7643-7 Gihyo Direct Amazon 楽天ブックス honto ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle 楽天kobo 書のサポートページサンプルファイルのダウンロードや正誤表など このの概要 「役に立たないプログラムには価値がない?」 「プログラミングは仕事以外でやりたくない?」 書には,アスキーアート化,自己生成,縛りのあるプログラミングなど,実用性を追求するだけでは出会えないテクニックが満載。プログラミングが好きな方はもちろん,プログラミングが苦手な方でも楽しめる遊びをIOCCC入賞常連の著者が紹介します。ちょっぴり不思議

    あなたの知らない超絶技巧プログラミングの世界
    mizdra
    mizdra 2024/04/19
  • 第7回 テストコードの認知負荷 ~テストの名前、構造、情報量を工夫する~ | gihyo.jp

    サバンナ便り ~ソフトウェア開発の荒野を生き抜く~ 第7回テストコードの認知負荷 ~テストの名前⁠⁠、構造⁠⁠、情報量を工夫する~ 開発の現場では、既存のテストコードから仕様を読み解く機会がよく訪れます。そのようなとき、テスト対象の仕様やテストの意図を読み解きやすいテストとそうではないテストがあることに気付きます。今回はテストコードの読み解きやすさに寄与する要素を考えます。 認知資源と認知負荷 人間は何かを読み解くときに脳のリソース(脳内のワーキングメモリ)を使います。リソースの量は有限で、個人差があります。このような脳のリソースは「認知資源」と呼ばれています。 人間が何かを読み解くときに認知資源が何にどのくらい割かれているかという概念を「認知負荷」と言います。「⁠どのくらい」は状況に左右されます。たとえば、読み解く対象を知っているかどうかで認知資源が割かれる量は変化します。「⁠何に」も状

    第7回 テストコードの認知負荷 ~テストの名前、構造、情報量を工夫する~ | gihyo.jp
  • 第79回 最近Perlに追加された実験的機能 try文、defer文、class文(1) | gihyo.jp

    Perl Hackers Hub 第79回最近Perlに追加された実験的機能 try文⁠⁠、defer文⁠⁠、class文(1) 連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはcharsbarこと石垣憲一さんで、テーマは「最近Perlに追加された実験的機能」です。 もとになるモジュールが存在している新機能 最近Perlに追加された新機能の中には、開発サイクルを速く回すためにCPANモジュールとしてプロトタイピングを行ったうえで、Perl体に実験的な機能として移植し、正式な機能への昇格を待っているものがいくつかあります。稿ではそのような実験的機能を紹介していきます。 なお、稿のサンプルコードは基的に執筆時の最新開発版であるPerl 5.37.11(2023年5月)で動作確認をしています。 try~catch文 ─⁠─正しいエラー処理 Perlで例外を

    第79回 最近Perlに追加された実験的機能 try文、defer文、class文(1) | gihyo.jp
    mizdra
    mizdra 2023/08/18
  • 第6回 自動テストのサイズダウン戦略 ~テストダブルを作る前に考えるべきこと~ | gihyo.jp

    このコラムの主なテーマは、信頼できる実行結果にできるだけ短い時間でたどり着く自動テスト群の構築です。稿では、テストダブルをうまく活用してテストピラミッドを構築する戦略を立てます。 信頼性の高い自動テスト群を求めて 自動テスト全体の中長期的な信頼性を守るために、図1のようにLargeからMediumへ、MediumからSmallへテストサイズを適宜下げ、テストピラミッドを構築します[1]。テストサイズとは、単一プロセスに閉じたテストをSmall、単一マシンに閉じたテストをMedium、そういった制約がないテストをLargeテストと呼ぶ分類基準です。 図1 テストピラミッド サイズダウンを考えるとき、テストダブルの活用が思い浮かびます。テストダブルとは、自動テストに使用する偽物、代用品のことです。単一プロセスや単一マシンに収まらない外部依存を偽物に置き換え、テストサイズを下げます[2]。 テ

    第6回 自動テストのサイズダウン戦略 ~テストダブルを作る前に考えるべきこと~ | gihyo.jp
    mizdra
    mizdra 2023/08/11
    忠実度をできるだけ下げずにサイズダウンするために、どういう順で手札を切っていくと良いかまとまっていてよかった。できるだけ痛みなく機能互換性を維持するテクニックもおもしろい。
  • 第5回 テストピラミッド ~自動テストの信頼性を中長期的に保つ最適なバランス~ | gihyo.jp

    粒度の異なる各自動テストをどの程度書くか悩まれている方は多いと思います。今回は、自動テストの理想的なバランスを示す「テストピラミッド」について説明します。 テストピラミッドとは何か テストピラミッドとは、コスト(記述コストと実行コスト)と忠実性(物の挙動を反映している度合い)が高く、実行速度と決定性(テストが毎回同じように安定して動く度合い)が低いテストほどケース数を減らすべきだという、自動テストケース数の望ましい比率をピラミッド型に視覚化したものです。 図1は、テストの粒度をユニットテスト、インテグレーションテスト、E2E(end to end)テストの三段階で示しており、テストピラミッドの説明によく用いられます。ユニットテストが最も多く、E2Eテストが最も少ない状態に近づけることで、開発速度と信頼性の高いバランスが得られると言われています。 図1 テストピラミッド なぜ比率を意識する

    第5回 テストピラミッド ~自動テストの信頼性を中長期的に保つ最適なバランス~ | gihyo.jp
    mizdra
    mizdra 2023/08/11
    上段のテストを中段に移植するのなるほど
  • 『WEB+DB PRESS』 休刊のお知らせ:WEB+DB PRESS

    WEB+DB PRESSは,2023年8月発売のVol.136をもって隔月刊誌としては休刊させていただきます。物価上昇による製作費の高騰など諸般の事情により,今回の決定に至った次第です。 突然の休刊案内にてたいへん恐縮ではございますが,何卒ご理解を賜りますよう,お願い申し上げます。 22年以上の長きにわたり,絶大なご支援をいただきましたことを,厚く御礼申し上げます。 弊誌で扱っていた分野のコンテンツは,今後も弊社刊行のSoftware Designやgihyo.jp,書籍などで提供させていただきます。また,必要な場合には「特別号」の編集・刊行なども検討してまいります。 最後に,皆様の一層のご活躍を心より祈念しております。

    『WEB+DB PRESS』 休刊のお知らせ:WEB+DB PRESS
    mizdra
    mizdra 2023/05/01
    えっ
  • 開発視点から見る、新しい分散型SNS「Bluesky」とAT Protocolの可能性 | gihyo.jp

    開発視点から見る⁠⁠、新しい分散型SNSBluesky」とAT Protocolの可能性 2023年4月初旬、日で盛り上がりの兆しを見せ始めた分散型SNSBluesky⁠」⁠。記事では、Blueskyのクライアント開発を行う筆者が、開発視点から見たBluesky、そのコア技術であるAT Protocolについて解説します。 なお、Bluesky誕生の背景や基機能などについては、syui氏の記事「ネクストブレイク分散型SNSの大命、Blueskyを先取り!」を併せてご覧ください。 Bluesky をコマンドラインから扱う Blueskyクライアント開発のきっかけ Blueskyにはすでにクライアントが存在します。BlueskyのオフィシャルからはiOSアプリが、また Android向けにはkamakuraさんが開発している青雲というアプリが提供されています。 通常はこれらのクライ

    開発視点から見る、新しい分散型SNS「Bluesky」とAT Protocolの可能性 | gihyo.jp
    mizdra
    mizdra 2023/04/11
  • ネクストブレイク分散型SNSの大本命、Blueskyを先取り! | gihyo.jp

    今、分散型SNSへの注目が高まっています。4月に入り、日での盛り上がりの兆しを見せ、ネクストブレイクの大命と見られているのがBlueskyです。記事では、Bluesky登場の背景から分散型SNSの特徴、そして、今後について紹介します。 招待コード無限祭りで注目を集めたBluesky 先日、2023年4月5日にBlueskyの「招待コード無限祭り」がありました。 Blueskyとは、次世代のTwitterになるのでは、と目されている大命の分散型SNSのこと。 この分散型SNSに参加するには、2023年4月10日現在、招待コードが必要となります。 Blueskyリリース以降、招待コードはサーバ管理者のみ発行可能でした。しかし、先日のアップデートによって、Blueskyにアカウントを持つユーザは、回数限定(最大5回)で招待コードを発行できるようになったのです。 話はここで終わりません。今

    ネクストブレイク分散型SNSの大本命、Blueskyを先取り! | gihyo.jp
    mizdra
    mizdra 2023/04/11
  • 第4回 テストダブル ~忠実性と決定性のトレードオフを理解する~ | gihyo.jp

    自動テストを書く際に使いどころをマスターしたいテクニックがテストダブル(Test Double)です。テストダブルを効果的に使えばテストの網羅性、速度、再現性を向上させますが、使いどころを誤れば変更や改善の妨げになりかねません。今回は、テストダブルの利点と注意点をまとめます。 テストダブルとは何か テストダブルとは、自動テストに使用する偽物、代用品のことです。たとえば、データベースや外部サービスの動作を模倣した偽物(テストダブル)を作り、自動テストから使います。 自動テストで偽物を活用するテクニックを「モック」(⁠Mock)と呼ぶ方も多いですが、より正確には、テストに偽物を使う技術を総称してテストダブルと呼びます。この場合の「ダブル」は身代わりや影武者のようなイメージでとらえてください。テストに使う身代わりなのでテストダブルです。テストダブルの種類として詳しくはスタブ(Stub⁠)⁠、スパ

    第4回 テストダブル ~忠実性と決定性のトレードオフを理解する~ | gihyo.jp
    mizdra
    mizdra 2023/02/24
    良い
  • Node.jsの2022年を振り返り、Node.jsの未来を見つめてみた ~TechFeed Experts Night#8講演より | gihyo.jp

    TechFeed Experts Night Pick up Node.jsの2022年を振り返り、Node.jsの未来を見つめてみた ~TechFeed Experts Night#8講演より 記事は、2022年11月に開催された「TechFeed Experts Night#8 ~ JavaScriptランタイム戦争最前線」のセッション書き起こし記事「Node.jsの2022年を振り返り、Node.jsの未来を見つめてみた by @shisama_」を転載したものです。オリジナルはTechFeedをご覧ください。 「Node.jsの2022年と未来」というタイトルで話します。よろしくお願いします。サイボウズでフロントエンドエンジニアをやっているshisamaです。 今日はNode.jsの18と19の主な変更点を紹介したいと思います。その後は、現在実装中の機能から、いくつかおもしろそう

    Node.jsの2022年を振り返り、Node.jsの未来を見つめてみた ~TechFeed Experts Night#8講演より | gihyo.jp
  • 実践Node.js入門 ―基礎・開発・運用

    このの概要 Node.jsの入門書です。Node.jsは今やWebアプリケーション開発には欠かせない存在です。 書には,Node.jsで実際にアプリケーション開発をはじめるための知識がまとまっています。 基礎知識,環境構築,重要文法,非同期,CLIツール開発,Expressを用いたサーバーサイドの開発やフロントエンドReact)との連携などNode.jsの全体像が学べます。 現場で活躍する第一人者が,Node.jsのアプリケーション開発の指針やノウハウを教えます。 こんな方におすすめ Node.jsを学びたいエンジニア JavaScriptへの基的な知識のあるエンジニア,サーバサイドもある程度しっかりやりたい人 他言語でサーバサイド開発の経験があり,Node.jsも身につけたいエンジニア この書籍に関連する記事があります! 人気のNode.jsをはじめよう 書には、Node.js

    実践Node.js入門 ―基礎・開発・運用
  • 2023年のWebアクセシビリティ | gihyo.jp

    あけましておめでとうございます。株式会社ミツエーリンクスの中村直樹です。昨年と同じく、2022年のWebアクセシビリティに関連する出来事を振り返りつつ、2023年のWebアクセシビリティの展望について俯瞰していきたいと思います。 WCAG 2.2 2022年9月版のWCAG 2.2で、文書のステータスとしてはようやく勧告候補(Candidate Recommendation)にまでたどり着き、仕様文書として完成する勧告(Recommendation)が見えてきた…と思っていたところですが、12月になって達成基準4.1.1構文解析を削除するという話が急浮上してきました。 達成基準4.1.1がどういったものなのか、改めて振り返ってみましょう。この達成基準については、もとはWCAG 2.1(原文、参考日語訳)と同じものであり、WCAG 2.0とも同一です。達成基準4.1.1は、マークアップ言語

    2023年のWebアクセシビリティ | gihyo.jp
  • 第3回 テストサイズ ~自動テストとCIにフィットする明確なテスト分類基準~ | gihyo.jp

    テストの分類として開発者に馴染み深いのは、検証の対象となるコードの範囲や粒度での分類でしょう。範囲が狭く粒度が細かい順に、ユニットテスト、インテグレーションテスト、E2E(end to end)テストなどと呼ばれます。今回は、自動テスト前提の時代にうまくフィットするテスト分類について考えます。 現場の混乱 実は、範囲や粒度による分類に現場は混乱しがちです。「⁠1つの対象」を検証する狭いテストをユニットテスト、単体テスト、コンポーネントテストなどと呼びますが、これらをほぼ同じものと言う人も、異なると言う人もいます。「⁠1つの対象」も関数、メソッド、クラス、モジュール、パッケージ、振る舞い、1つの画面と、人や組織によってバラバラです。 複数のレイヤ、たとえばコントローラとモデルをまたいで検証するテストをインテグレーションテストと呼ぶ人もいれば、それもユニットテストと呼ぶ人もいます。ユニットテス

    第3回 テストサイズ ~自動テストとCIにフィットする明確なテスト分類基準~ | gihyo.jp
    mizdra
    mizdra 2022/12/23
    テストサイズというテストの分類手法、それぞれのテストサイズへの立ち向かい方について。テストに使用されるリソースの量や実行場所、実行時間で分類していくの面白い。
  • 第2回 偽陽性と偽陰性 ~自動テストの信頼性をむしばむ現象を理解する~ | gihyo.jp

    自動テストに期待することはいくつかありますが、「⁠失敗することで、テスト対象の動きが予期せず変わったことをプログラマーに教えてくれる」という役割は特に重要です。 この観点における期待外れの自動テストは2つ考えられます。失敗すべきでないときに失敗するテストと、失敗すべきときに失敗しないテストです。 失敗すべきでないときに失敗してしまうことを「偽陽性」(⁠false positive)と言います。失敗すべきときに失敗してくれないことを「偽陰性」(⁠false negative)と言います。今回はこの2つを整理します。 4象限で整理する 偽陽性と偽陰性は4象限で整理すると理解しやすくなります。プロダクトコードの正しさ、自動テストの実行結果(成功/失敗)という2つの軸で整理すると、表1ができあがります。 表1 偽陽性と偽陰性 偽陽性とは、プロダクトコードが正しいにもかかわらずテストが失敗してしまう

    第2回 偽陽性と偽陰性 ~自動テストの信頼性をむしばむ現象を理解する~ | gihyo.jp
  • 第1回 学習用テスト ~学びを自動テストとして書く~ | gihyo.jp

    こんにちは、今回からコラムを書かせていただく和田(t_wada)と申します。 現代のソフトウェア開発の対象領域は、広く複雑で不確実なものになりました。この連載では、自動テスト(Automated Test)に関わるトピックを中心に、ソフトウェア開発の荒野を生き抜いていくためのプログラミングやソフトウェアエンジニアリングの考え方を書いていきたいと考えています。 初回のテーマは、学習や調査が目的のテストコードを書くテクニック「学習用テスト」(⁠Learning Test)です。では、よろしくお願いします。 二兎を追わない プログラミングのコツに、「⁠一度に2つ以上のものを相手にしないこと」があります。 未知の技術を使って問題を解決するコードを書こうとするとき、私たちは2つのものと同時に戦うことになります。未知の技術そのものと、その技術を使った問題解決の2つです。2つ以上のものを同時に取り扱おう

    第1回 学習用テスト ~学びを自動テストとして書く~ | gihyo.jp
    mizdra
    mizdra 2022/12/22
    ライブラリやフレームワークの使い方を学ぶために、専用のテストを書くの面白い
  • Python 3.10から導入されたBetter error messagesの深掘り | gihyo.jp

    鈴木たかのりです。今月のPython Monthly Topicsでは、Python 3.10から導入されたBetter error messagesについて紹介します。Better error messagesがどういったものであるかの紹介と、どのようにこのエラーメッセージが出力されているか、Python内部の処理についても触れようと思います。 Better error messagesとは Python 3.10からBetter error messagesという機能が追加されました。この機能は名前のとおり「エラーメッセージを改善」するものです。「⁠エラーメッセージの改善」により以前よりもわかりやすいエラーメッセージが出力され、ユーザーがエラーの意味に気づきやすくなりました。 例として、以下のようなリストの閉じカッコ(])を忘れたコードを実行し、出力されるエラーメッセージを見比べてみま

    Python 3.10から導入されたBetter error messagesの深掘り | gihyo.jp
    mizdra
    mizdra 2022/12/11
    良かった。PEG パーサーが新構文のサポートに貢献していることは分かったけど、エラーメッセージの改善にどう貢献しているのかはよく分からなかったので、もうちょっと詳しく知りたい!
  • Twitter、Card Validatorからプレビュー機能を削除。カード情報のキャッシュは最大7日 | gihyo.jp

    Twitter、Card Validatorからプレビュー機能を削除。カード情報のキャッシュは最大7日 Twitterは今月、開発者コミュニティサイトにおいて、Card Validatorからプレビュー機能を削除したことを告知した。また、Twitterカードの情報が通常、最大7日キャッシュされることもあわせてコメントした。 Card Validator - preview removal - Twitter Developer すこし前まではCard Validatorを使うことでTwitterカードをプレビューできていたが、Twitterは、異なるプラットフォーム環境において正しいプレビューとは限らなかったとし、プレビュー機能を削除することにした。Card Validatorは引き続き、ほかのデバッグ目的で提供を続けるとのこと。 Twitterカードのプレビューについては、ブラウザやiO

    Twitter、Card Validatorからプレビュー機能を削除。カード情報のキャッシュは最大7日 | gihyo.jp
    mizdra
    mizdra 2022/08/09