タグ

2021年12月4日のブックマーク (17件)

  • 定期スクリプト実行環境としてのGitLab CIのススメ - Qiita

    ラクスAdvent Calendar 2021 の2日目は、スプリットキーボードならぬデュアルキーボード歴2ヶ月の @oohira が、左手に Magic Keyboard、右手に REALFORCE というごった煮環境からお送りします。 昨日は「初日取ったった!」してくれた @Y-Kanoh さんの「GASでカユいところに手が届いたTips3選」でした。勢い、大事ですね。 はじめに これまで定期実行したいちょっとしたスクリプトは、個人PCプロジェクト共用サーバー、Jenkins などを使って実行していましたが、ここ数年で GitLab CI を使って実行する方法に完全に落ち着きました。この記事では、社内のメンバーも読者に想定しつつ、GitLab CI のよさと簡単な始め方を紹介したいと思います。 背景と前提 GitLab CI(や GitHub Actions)が登場する前の世界では、

    定期スクリプト実行環境としてのGitLab CIのススメ - Qiita
  • お財布に優しい個人開発の戦略 - spaces.bzの場合

    こんにちは。asatoです。 Qiita Advent Calendar 2021 個人開発 3日目の記事です。 みなさん、今日も楽しく個人開発やってますか?? 個人開発は「楽しい」し「スキルアップ」できるし「夢(収益が出れば...)」もありますよね! 2021年9月、僕は友人とふたりでspaces.bzをリリースしました。 合言葉は「なるべく無料で...」。 そう、個人開発には潤沢な資金はありません!リリースしたはいいけどランニングコストだけかかって全然使われないは避けたいのです! 実際、spaces.bzは2021/12/3現在、支出は最初のドメイン代の3,000円のみです。 一方で、PV数は12000+/月、Twitterボットのフォロワー数は1,000+、それなりに利用してもらっているサービスになりました🎉 この記事では、spaces.bzがランニングコスト0で運営するためにとっ

    お財布に優しい個人開発の戦略 - spaces.bzの場合
  • 記憶のスペシャリストによる「2つの勉強法」で3回復習した結果。覚えたい欲求が湧いてくる! - STUDY HACKER(スタディーハッカー)|社会人の勉強法&英語学習

    「単語自体は暗記したものの意味がおろそかで、テストでいい点を出せない」 「参考書を読んだのに覚えられず、勉強する気がなくなってきた」 このように勉強でありがちな記憶の悩みを解決するには、繰り返し復習するのが最適。 脳は一度で覚えられない仕組みになっており、東大生や世界記憶力グランドマスターも「3回は復習している」と言います。そこで今回は、勉強のスペシャリストや脳科学者が推奨する学習法を組み合わせた「3回復習法」を、筆者の実践例とともにご紹介しましょう。 一度で覚えられないのは、脳科学的に当たり前 「テキストを1回読むだけで、内容を覚えられたらいいのに」 勉強する人の多くが、一度はこう考えたことがあることでしょう。しかし、脳の仕組みを考えるとそれは難しいだろうと、トレスペクト教育研究所代表で脳科学にも詳しい宇都出雅巳氏は言います。なぜなら、変化する環境に柔軟に対応できるよう、あえて曖昧に記憶

    記憶のスペシャリストによる「2つの勉強法」で3回復習した結果。覚えたい欲求が湧いてくる! - STUDY HACKER(スタディーハッカー)|社会人の勉強法&英語学習
  • なんでドロワー、下に行ってしまうん??

    はじめに 初めまして、福岡でアプリ開発をしている合同会社Moderationの華頂です。 この記事はFlutter Flutter #1 Advent Calendar 2021 4日目の記事です。 BottomNavigationBarとDrawerを実装したところ、DrawerがBottomNavigationBarの下に行ってしまうという問題にぶち当たりました。今回はその解決方法についてまとめてみました! 問題のコードと挙動は以下 import 'package:flutter/material.dart'; void main() => runApp(const MyApp()); class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); static const String

    なんでドロワー、下に行ってしまうん??
  • GitHub Actions の OpenID Connect サポートについて

    この記事は GitHub Actions Advent Calendar 2021 の 3 日目の記事です。 2021/10/27 に GitHub Actions の OpenID Connect (OIDC) サポートが正式にアナウンスされました。 この機能を一通り触ってみて気づいたことをまとめます。 概要 これまで、GitHub Actions のワークフロー実行中に AWSGCP といったクラウドプロバイダにアクセスする必要がある場合、クラウドプロバイダ側でクレデンシャルを発行して GitHub 側にシークレットとして保存するのが一般的でした。 しかし、GitHub に長時間有効なクラウドプロバイダのシークレットを保存すると、例えば退職者が発生したときにシークレットを更新する作業が必要になるなど、面倒な作業が発生してしまいます。また、シークレットの漏洩リスクについても考慮が必

    GitHub Actions の OpenID Connect サポートについて
  • Unity 2021におけるパッケージ関連の変更について - Qiita

    はじめに Unityにおける「パッケージ」とは、さまざまな機能やアセットをまとめたものです。たとえば JSON関連の機能を提供する「JSONSerialize」パッケージ 2Dマップエディターの機能を提供する「2D Tilemap Editor」パッケージ IDEであるRiderとの統合機能を提供する「JetBrains Rider Editor」パッケージ などがあります。Unityはさまざまな用途に使われおり、コア機能・パッケージが提供する機能も多岐に渡ります。自分のプロジェクトに合わせて、適切なパッケージを選択し導入することが大切です。 そんなパッケージですが、Unity 2021.1で変更がありました。今まで検証済みパッケージだったいくつかのパッケージがコアパッケージに移行されました。また、パッケージの検証状態の名称とその意味・区分が変更されました。 「パッケージの検証状態の名称と

    Unity 2021におけるパッケージ関連の変更について - Qiita
  • 大規模ゲームインフラとしての Kubernetes とノーメンテナンス運用

    Reliable_and_Performant_DNS_Resolution_with_High_Available_NodeLocal_DNSCache.pdf

    大規模ゲームインフラとしての Kubernetes とノーメンテナンス運用
  • TargetFramework net5.0 なコードを .NET 6 ランタイムで動かす

    .NET のアップデート 昔の C# アプリ (例えば去年作った TargetFramework net5.0 なアプリ)をそのまま最新のランタイム(例えば .NET 6 ランタイム)で動かすことを考えます。 .NETAPI レベルでの破壊的変更はめったにないので、 「API が合わなくてロードできない」みたいな根的な問題はほぼ起こりません。 一方、挙動レベルでは時々破壊的変更があるんで、確実に動く保証はなかったりします。 (それでも、体感、9割方は動きますが。) ここ数バージョンであった影響がありそうな変更でいうと、 .NET Core 3.0 の頃同期 I/O が例外を出すようになったものがちらほらある ネットワークなどを介する場合、非同期でないとパフォーマンスが出ないので .NET 5 で、国際化対応に ICU を使うようになった 文字列の紹介順や、IndexOf の挙動がち

    TargetFramework net5.0 なコードを .NET 6 ランタイムで動かす
  • .NET6 が起動するまでのコードを追ってみよう - Qiita

    こちらのAdventCalendarの2日目の記事です。 はじめに 先日.NET6が正式リリースされました! 目につくものと言えばやはり、C#10や、SourceGeneratorなどがありますね! 「.NETのランタイムそのものがどのような仕組みで動いているか」なんてことは誰も気に留めません。 それはミドルウェアとしてとても理想的なことです。 しかし、エンジニアたるもの、やっぱり中身がどうなっているのか気になりませんか? ということで、.NETアプリケーションを起動した瞬間から、エントリポイントが呼ばれるまでをトレースしてみましょう! .NETCore時代の解説にはなりますが、.NETCoreの起動までを概念的に解説した良い記事があります。 記事では、概念的な部分よりも、コード、実装にフォーカスていきます。 なので、その前に読んでおくと、イメージがしやすくなると思います。 相手は.NE

    .NET6 が起動するまでのコードを追ってみよう - Qiita
  • How To Decompile .NET Applications (Easy)✅

  • GitHub - pakrym/jab: C# Source Generator based dependency injection container implementation.

    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 - pakrym/jab: C# Source Generator based dependency injection container implementation.
    s_ryuuki
    s_ryuuki 2021/12/04
  • xunit.netで、テストに対して独自の属性を付ける(Trait) - Qiita

    はじめに dotnet/runtimeの単体テストでは、OuterLoop属性を付けることで、CI/CD時の通常のユニットテストフローでは実行しないような単体テストを作成することができる。 この機能がどのような仕組みに基づいて作られているかということを調べたので、記事にする。 まず、dotnet/runtimeのテストフレームワークには xunit.net が使われている。 このフレームワーク自体の詳しい解説は、今回の記事では触れないので、公式ドキュメントを参考にしてほしい。 独自の属性を付ける意味 いくら単体テストは一つ一つ短くするべきと言われても、何百、何千(何万?)という巨大プロジェクトでは、全体を通して実行すると多大な時間がかかる場合がある。そして、CI/CDで回す時ならともかく、個別コンポーネントでテストを回したいときは全体ではなくて一部だけでテストを行いたいものである。 そこで

    xunit.netで、テストに対して独自の属性を付ける(Trait) - Qiita
  • .NET6 ASP.NET + React + TypeScriptでリアルタイムチャットアプリを作る - Qiita

    新しい技術を勉強するに当たって、ToDoリストなどでは物足りない気がしたので、プッシュ通知などを実装したSlackのようなチャットシステムにグループウェアのようなスケジュール管理の機能を加えたWebアプリを作ってみようと思い、現在作成しています。 想定していたよりもだいぶ難しく、完成には程遠く、挫折しかけていますので、何か得るものがあればと思い、汚いソースで恥ずかしいながらもソースを公開しました。 ドメイン駆動 + クリーンアーキテクチャを勉強しながら作成していますが、理解できていない部分が多々ある気がしています。 コードレビュー大歓迎です。アンチパターンなどがあればご指摘いただけると嬉しいです。 勉強方法や、現時点での苦労した点や工夫した点などをまとめたいと思います。 言語、環境 バックエンド(API)は.NET6 ASP.NET(C#)、フロントエンドUI)はReact + Type

    .NET6 ASP.NET + React + TypeScriptでリアルタイムチャットアプリを作る - Qiita
  • .NET 6 で動的にJsonパースする標準クラス JsonNode - Qiita

    C#で動的にJsonパースしたい! C#でもクラスを準備することなくjsonを jqや python 、node.js のようにダックタイピングしたいことがあります。たとえば、 C#クラスを準備するのが面倒。ネストが多くてPOCOクラスだらけになる。 int なのに "NULL" や "-" が入ってくるWebAPIがいる。 ちょっとデータ欲しいだけなのにコンバーター作ったり、属性つけたり面倒。 APIが適当すぎてクラス定義できない・・・ .NET6 で動的にjsonを扱うクラス JsonNode が追加されています。その使い勝手をベンチマーク含めて他の方法と比較します。 サンプルのjsonデータ HeartRails Express から 山手線の駅一覧 を使わせていただきました。このjsonから駅名一覧を抽出するサンプルを作っていきます。 jqコマンドなら jq ".response.

    .NET 6 で動的にJsonパースする標準クラス JsonNode - Qiita
  • DataTable からデータ抽出方法の性能比較 on .NET 6

    12 年前に以下のような記事を書いたのですが、この記事が長らく自分のブログのページビューの 1 位に君臨していました。 流石に、今はアクセス解析で上位に来ることは無く、月間ページビューも 500 に届かない程度になります。 ということで?同じ内容を .NET 6 でもやってみようと思います。ついでに .NET Framework 4.8 とも比べてみて .NET 6 が早い!ということも証明できたらいいなという感じで行こうと思います。 因みに、これを書いてる時点では計測していないので結果は爆死してる可能性があります。 計測に使ったコード 50000 行で 100 列のデータを適当につくって、検索をするパターンを DataTable の Select メソッドを使う方法(SelectMethod)と、インデックスを事前に作成した状態で Select を使う方法(SelectMethodWit

    DataTable からデータ抽出方法の性能比較 on .NET 6
    s_ryuuki
    s_ryuuki 2021/12/04
  • .NET 6でLINQに追加されたメソッド - Qiita

    .NET 6において、LINQにいくつかのメソッドが追加されました。また、既存のLINQメソッドに新たなオーバーロードが追加されました。非常に便利なメソッド、「一見するとこれは便利なのか?」と疑問が浮かぶけれど実は活躍するメソッドなど、様々なメソッドがあります。 この投稿では、そんな.NET 6において追加されたLINQメソッドを紹介します。 指定した条件での最大・最小を探す「MinBy、MaxBy」 このようなPlayer型と

    .NET 6でLINQに追加されたメソッド - Qiita
    s_ryuuki
    s_ryuuki 2021/12/04
  • Windows Subsystem for Linuxガイド 第1回 基本編

    写真01: Windows Subsystem for Linux(WSL)は、Windows 10/11の中でLinuxを動作させるための仕組み この記事では、Windows Subsystem for Linux(以下WSLと表記する)のインストールから基的な設定までを解説する。なお、記事の読者としては、ある程度Windowsを使い慣れていることを想定するが、必ずしもLinuxのコマンドになれているとは限らないレベルを想定している。 WSLの基的なこと WSLとは、Windows 10/11の中でLinuxのアプリケーションを実行する仕組みだ。これを利用することで、Windowsの中でLinuxが実行可能になる。また、Windows 11からは、コンソールアプリケーションだけでなく、Linux GUIアプリケーションの利用も可能になっている。現在サポート期間にあるWindows10

    Windows Subsystem for Linuxガイド 第1回 基本編