サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
円安とは
matsu.teraren.com
概要 Ubuntu 22でMinecraftのBedrock(統合版)サーバを動かすための方法を記載します。(Bedrock版と、Java版が存在します。Java版を使っていない場合はBedrockを使えばOKです) Minecraftのサーバは無料です。Linuxの操作に慣れていれば3分ぐらいでセットアップが完了します。 手順 Bedrockのサーバは以下のURLで公開されています。 以下に、現時点での最新のサーバをダウンロードして解凍する手順を記載します。 % mkdir bedrock % cd bedrock % wget https://minecraft.azureedge.net/bin-linux/bedrock-server-1.19.52.01.zip % unzip bedrock-server-1.19.52.01.zip 起動方法 以下のコマンドを打てば立ち上がり
概要 知的労働者にとって作業環境は重要です。 良い機材にはお金をかけても効率が上がればすぐに回収できます。早く買えば、利用した日数で金額を割ると日割り金額が低く済みます。 ということで、私がトライアンドエラーしてたどり着いたデスク環境を紹介するので参考にしていただければと思います。 身体に触れる部分である、デスク、チェアー、モニタ(視覚的に)には良いものを使いたいという思いが強いです。 ユースケース定義 デスクで何をするかを考えます。 仕事: プログラミング、設計図書く、文書を書く、音楽を聞く、テレカンをする、写真のレタッチ。 趣味: 電子工作 要求定義 上記のユースケースを実現するための要求は以下になります。 電動の昇降機能付きデスク 音質が良いスピーカー ノイズが少なくて指向性のあるマイク 良い感じのWebカメラ 長時間座っても疲れにくい椅子 長時間使っても疲れないモニター。解像度が高
概要 私は個人でWebサイトやWebサービスを色々公開しております。 この度、個人開発でWebサービスを運用するときにCloudflareを利用すると様々なリスクを無料でヘッジできるので事例を紹介します。 しかも無料です。 個人開発サービスの問題 費用をかけられない お金をかければWAFや計算処理の高いサーバやコンテナなどの環境を使えますが、テストで開発したサービスや収益化するかどうかわからないサービスをたくさん運用することになるので固定費は可能な限り抑える必要があります。 いかに安く安定的にサービスを提供できるかは腕の見せどころでもあります。 複数サービスがダウンする可能性 固定費を抑えるために1ホストにいろいろなサービスを動かすことが多いと思います。 よって、1つのサービスに対してDoS攻撃や突発的にWeb上でバズって大量のトラフィックが来ると捌ききれなくなってあるホストで運用している
チップセットを調べる matsu@lenovo:~/$ lspci |grep net 08:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0e) matsu@lenovo:~/$ sudo lshw -c network *-network description: Ethernet interface product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller vendor: Realtek Semiconductor Co., Ltd. physical id: 0 bus info: pci@0000:08:00.0
概要 以下のように、自分がどこにいるのかを自動的にSlackのアイコンに表示する方法を紹介します。2年前(2020年)ぐらいに設定した内容なのでちょっと古いところがあるかもです。 slack-wifi-status じゃあ、どうやってステータスを変えるのかと言うと、以下のようなロジックです。 wifiのSSIDが変更されたときのイベントをhookするSSIDとアイコンの定義を予め用意しておいて、それを元にSlackのAPIを使ってアイコンを変更する。 以下のバイナリをダウンロードします。このバイナリファイルをデーモンとして稼働させてWiFi APの変更を検知してアイコンを変更することになります。 設定ファイルを以下のような感じで書きます。slackのtokenの項目にはユーザトークンを入れます。 % cat ~/.slack-wifi-status.toml [slack] token =
背景 m1(arm)のmacで既存プロジェクトのdocker-compose upをすると以下のようなエラーが出ます。 Host '172.21.0.4' is not allowed to connect to this MySQL server 理由はこちらの記事がよくまとまっています。 アプローチ あちこちで使われている、Docker公式イメージである、’mysql’ はamd用しか提供されていません。arm用は、別のイメージ名で提供されているようです。 しかしながら、Docker HubにあるMySQLが提供している、mysql/mysql-server イメージはintel用とarm用を提供しています。設定ファイルを共通化したいのでimage名が同じマルチアーキテクチャビルドしてあるmysql/mysql-serverを使います。 MySQL Server 8.0, the la
概要 15年前ぐらいに設計、実装したシステムの設計と実装を公開します。 目的は、誰かに特許を取られてしまっても困るので。自分で特許を取るほどでもないので共有資産として残しておきます。特許というか、どちらかと言うと論文で発表するほうが向いていそうです。 航空会社のマイルで使われているポイント管理機能の実現方法です。このようなポイントシステムの要求はビジネスサイドではよくありそうですが、設計内容が公開されている事例を見つけられませんでした。 類似ポイントシステム JALやANAのマイルシステム まさにこれと同じ機能の実現方法です。 設計と実装が比較的難しいので、当時はこの機能を実現しているサービスは見つけられませんでした。 2022年の今となってはこのポイントの仕組みはメジャーになりつつあります。様々な大手ポイントサイトで使われています。設計と実装の難易度が高かかったり、ユースケースが限られて
問題 M1macでDockerのrubyイメージからを使おうとすると、nokogiriの部分でエラーが出ます。 % docker run --rm -it ruby:3.0.3-buster bash root@489921d6a766:/# gem i nokogiri Fetching nokogiri-1.13.4-aarch64-linux.gem Successfully installed nokogiri-1.13.4-aarch64-linux 1 gem installed root@489921d6a766:/# irb irb(main):001:0> require 'nokogiri' ERROR: It looks like you're trying to use Nokogiri as a precompiled native gem on a system
概要 最近買ったPC LinuxサーバにWiFi子機をインストールします。本来は有線でつないでおきたいのですが、筐体が大きくて邪魔なので無線にして部屋の奥底へ設置しようと思います。 Amazon | USB3.0 WiFi 無線LAN 子機 1200Mbps 高速度 デュアルバンド 2.4G/5G 802.11ac技術 Windows10/8/7/XP/Vista/Mac 対応 (M-1200Y) | Carantee | 無線LAN子機 通販 事前準備 下調べ。 matsu@dell ~> cat /etc/issue Ubuntu 19.04 \n \l matsu@dell ~> uname -a Linux dell 5.0.0-37-generic #40-Ubuntu SMP Thu Nov 14 00:14:01 UTC 2019 x86_64 x86_64 x86_64 G
概要 自宅サーバをIPv6対応するためにはDynamic DNSを設定しないといけないです。zoneサーバはAWS Route 53で運用されているのでCLIで書き換えるスクリプトを書くのが面倒だったので長らく放置していました。ちょっと探してみると、AWS APIをラップしているスクリプトがあったので設定してみました。https://github.com/crazy-max/ddns-route53/ Route53の設定 理想の手順 こちらのドキュメントを参考にIAMユーザと、Policyを作成します。 設定ファイルをddns-route53.ymlという名前で作成します。 credentials: access_key_id: "YOUR ACCESS KEY" secret_access_key: "YOUR SECRET ACCESS KEY" route53: hosted_zo
概要 ActiveRecordでトランザクションを入れ子にするケースがあり、ActiveRecordのトランザクションの処理を追ってみるとなかなか興味深かったので文章にまとめておきます。おそらく、この内容を知っておかないと排他制御を考慮したクラス設計、実装ができないと思う。 問題 以下のようなコードがあったときに、1つ目のセンテンスである’Kotori’と’Nemu’が作られます。(一見、一切コミットされないように思えるかもしれませんが) User.transaction do User.create(username: 'Kotori') User.transaction(requires_new: true) do User.create(username: 'Nemu') raise ActiveRecord::Rollback end end こんなコードは普通は書きませんが、クラ
概要 自宅サーバをipv6対応しました。Ubuntu Linuxを普通に使っていると、ipv6のアドレスは7日で変わってしまう。セキュリティ的な理由で。詳細は:RFC3041最近、Web上で話題になっていた、ipv6のパケットフィルタリングルールに関する話題にも関連しています。 仕様の調査 IPv6の仕様の一つに、Privacy Extensions for Stateless Address Autoconfiguration in IPv6 (IPv6ステートレスアドレス自動設定のプライバシー拡張)があります。 要するに、IPv6はNATが基本的に存在しなく、グローバルアドレスが直接ノードに振られてしまう事によってサーバサイドから追跡可能になってしまう可能性があるからそれを防ぐために定期的に使うアドレスを変更する技術です。 逆に、勝手にIPv6アドレスが変わってしまっても困るので固定の
要件 AWS Systems Manager Session Manager (以降AWS Session Manager)経由でEC2インスタンスにログインする。AWS Session Manager経由でログインするとssm-userでログインされてしまうが、IAMごとに別のユーザでログインする。rsync over sshできる。 前提となる環境 AWS Session Managerがセットアップ済み利用するregionにおいて、 Enable Run As support for Linux instances にチェックが入っているhttps://ap-northeast-1.console.aws.amazon.com/systems-manager/session-manager/preferences AWS上でのIAM設定 policyを作成する。policyレベルでユ
概要 AWS Session Managerを使うと踏み台サーバが不要になるのでサーバサイドは設定しました。クライアント側でわざわざEC2のinstance IDを指定するのが大変なのでかんたんにssh接続できるように設定します。 設定手順 同じ作者のshell scriptである、ssh-over-ssmとssm-toolを使います。接続のたびに、裏で勝手にsshのキーペアを作成してログインできるようにしてくれます。また、EC2のisntance idを人間がわかりやすい名前でアクセスできるように設定してくれます。 % ghq get [email protected]:elpy1/ssh-over-ssm.git % cp ~/ghq/github.com/elpy1/ssh-over-ssm/ssh-ssm.sh ~/bin/ % ghq get [email protected]:
概要 写真のバックアップを安価で安全に保存したいと10年ぐらい前からぼんやりと考えていました。この記事では、やっと満足の行くバックアップ方法を実現したので共有します。ファイルサーバをLinuxにしたことで柔軟なワークフローを構築できました。プロ写真家の場合は、この記事に書いてあるバックアップの期間の単位を1段階粒度を細かくして設定するとより頻度を高められて安全になると思います。 私の写真ファイル保存ワークフロー 私の写真の使い方をまとめておきます。 月に1回ぐらい、デジタル一眼レフカメラでRaw画像で撮影。データはカメラに挿入しているXDカードに保存。XDカードからLightroom経由でローカルPCに転送し、レタッチ、現像。良さそうな写真は現像してGoogle Photo, Facebook, iCloudなどにアップロードして共有。Lightroomからファイルサーバのディレクトリをs
概要 no space left on deviceは、日本語訳すると「空きディスク容量がありません」ということです。まずは、OS自体のディスク容量不足をまずはチェックします。 OSのディスク容量が空いているのに、no space left on deviceが表示された場合はDocker自体に割り当てられたディスク容量が枯渇したことが原因です。 例えば、Docker for Macは20GB分しか確保しないです。 普通にDockerを利用しているとゴミデータが溜まっていくので、不要なデータを消していきます。 下に行けば下に行くほど、重要なデータを消していくことになりますのでご注意ください。 0. 割当領域の拡張 macOSであれば以下のような設定画面から、割り当てているディスク容量の変更を行えます。設定を変更後はDockerの再起動が必要になります。 そもそも、自分が思っている以上にDo
概要 ネットワークレベルで広告をブロックするというPi-holeを動かしてみました。どういうアーキテクチャでブロックしているのかすごい気になっていました。普通はE2Eで暗号化されているのでネットワークにPi-holeを設置したところでどうやって防ぐのかと。。。まぁ、意外と仕組みは簡単で、Pi-holeがホスト名の広告サーバリストをブラックリストとして保管していて、ウェブブラウザを行う端末のDNSリゾルバをPi-holeのホストに向けることで広告コンテンツの配信をブロックします。これにより、各自がブラウザでad blockerを入れなくても対処できます。会社で言えば、一元的にブラックリストを管理できるという利点がありそうですが、マーケティング関係者や制作関係者にとっては困ります。 設定 名前にPiと書いてあるからRaspberry-Piで動かすために作られたソフトウェアのようです。Docke
概要 github上でmentionされても気づくのが難しい状態でした。メールはいろいろな通知が送られてくるし、githubのwebサイト上の通知欄は自分から見に行かないと行けないし、後ほどTODOとして未読に変更ができないので自分のタスク管理がしづらい状態でした。github-mention-to-slackというGithub Actionがあったので設定してみたところ、かなり快適でした。紹介されている設定では、運用に不十分なところが多かったので、ほとんどコピペでできるような設定をgistに置いておきます。 設定 githubのrepositoryまたはorganizationのSecretにSLACK_WEBHOOK_URL_FOR_MENTIONとうキーでSlackのwebhook URLを登録します。 (organizationに登録しておけば設定を使い回せるので楽です) 以下を実
背景 CTOA Advent Calendar 14日目の記事です。 CTOの役割や業務については他の素晴らしいCTOが書いてくださっているので、この記事では会社員エンジニアとして働きながら事業アイデアを仮説検証し、自社プロダクトのスタートアップを立ち上げるまでの話をしたいと思います。 一般的にスタートアップを立ち上げるのはハイリスクと思われているかもしれませんが、しっかりとリスクヘッジをすれば超低リスクにスタートアップを立ち上げることができると、実体験ベースで思いました。今回はリスクヘッジの要点を5つに絞ってそのコツをお伝えできればと思います。 概要 私の人生の目標のうち、一部を抜粋します。0からサービスとビジネスを作る。世の中を効率的、便利、公平にする。そのためには、スタートアップをやろうと20年前からの目標です。そのためにはITを使ったスタートアップを立ち上げるというアプローチが最適
背景 事業規模の拡大に伴いオフィスの移転がありました。それに伴い社内ネットワークインフラの構築を行いました。中小ベンチャーのネットワーク構築の記事は5年前の@wadapさんの記事が詳しいです。まぁ、5年前なので細かいアップデートが色々あるので記事にしておきます。 要求定義 ゲスト用ネットワークの分離(インターネット回線、LAN回線)将来のシステム監査で指摘されるであろうことなので。トラフィックのQoS制御のため。役割(部署)毎にLANの分離ウィルス感染した場合に被害を減らすため。重要情報を扱うエンジニアのネットワークを守るため。安定ストリーミングを扱うプロダクトを扱っているので安定性を高める。特にWiFiは安定してほしい。WiFiと有線を用意してL1レイヤの冗長性を確保しておく。低レイテンシー初期費用、固定費は安く。20人ぐらい (平均3台/人で計算して60端末同時接続) ぐらいには耐えら
ギガビット8ポートアンマネージプラス・スイッチ。デスクトップ型。VLAN、 QoS、 ブロードキャスト制御、 ポートミラーリング、 Ping死活監視などの機能を実装。電源アダプター同梱。本体リミテッドライフタイム保証。RoHS、WEEE対応など、環境保護に配慮した製品です。 ※重要なお知らせ※ 【ライフタイム製品保証期... 資料 PVID とは、Port VLAN ID の意味で、ポートに設定されたPVID により、タグ無しのパケットを受信した場合、どのVLAN に送信するかを決定します。タグ付きのパケットを受信した場合は、PVID とは関係なくタグの送信するパケットのVLAN IDを参照し、送信先のVLAN を決定します。 http://buffalo.jp/products/catalog/network/setting_ex/bs/g20/vlan-internet/ こちらでは、
概要 コーポレートページや、ランディングページなどの静的サイトを自動デプロイする設定を行いました。 AWSの基本設定に追加して、CircleCIの設定ファイルを1つだけ追加するのみで出来ます。 一般的な構成のはずなのに、設定ファイルが出回っていなかったので作りました。 前提となるサービス構成 CDPのCache Distributionパターンで静的サイトを運用している場合。 S3(Public Hosting) -> CloudFront (AWS Certificate ManagerでSSL配信) やり方 設定方法 CircleCI CircleCIの管理画面から、github連携を行う。 以下の設定を.circleci/config.ymlに入れる。 括弧内は、自分の環境に合わせる。 S3のbucket名 CloudFrontのID CircleCIの環境変数にAWSのアクセスキー
概要 リモートワークが増えてWebカメラやPCの内蔵カメラを使う機会が増えました。しかしながら、Macbook Proの内蔵カメラの解像度は1024 x 720ピクセルなので解像度が低いです。(まぁ、テレカンには問題無いかと思いますがちょっと解像度が高いテレカンシステムの場合は見劣りします)以下にサンプル画像。FaceTimeで表示して拡大した画像です。 それに比べ、iPhone 11 Proのカメラは、2,436 x 1,125なので解像度は4倍になります。NDIが公開しているソフトを使うとiPhoneのカメラをPCの入力として扱えるようになり、カメラの入力として使えるようになります。以下、サンプル。 Amazonや家電量販店ではWebカメラが売り切れたり、高騰しているのでiPhoneを流用できるととても良いです。しかも無料。 NDIとは? NDI(ネットワーク・デバイス・インターフェイ
要点 MessagePartは再帰で1:nを保持している重要なデータが入っているクラスとそのプロパティArray[MessaegPartBody] MessaegPart.parts[MessaegPartBody] MessaegPart.body[Array] MessaegPart.headers件名[String] MessagePartHeaderのnameがsubjectのvalue[String] MessaegPartBody.data 感想 Subjectが入っているクラスが深い所にあるので取得するのが大変。
概要 dockerをクリーンインストールしたら繋がらなくなった コードを追っていく必要あって、ちょっと面倒だった トレース mysqlの権限が無くなっているっぽいから、docker-compose execして、mysqlの中身を見てみると、からっぽ。rootのパスワードも設定されていない状態。 host テーブルに許可情報を入れようと思って、entry-point.sh を見てみて、MYSQL_ROOT_HOST を設定したりしたけど、実行されていない。 このあたり のコードが実行されていれば良いのだけれど、実行されていない。 もうすこし entry-point.shを見てみると、mysqlのデータディレクトリの存在チェックが行われている。 docker-compose.ymlで定義してあるvolumeの中身を消して、docker-compose upしたら直った。 まとめ 発生原因ちょ
概要 「日本のインターネットの父」と呼ばれる慶応大環境情報学部教授の村井純さん(64)が定年を迎え、16日、最終講義があった。村井さんは「インターネットに国境はない。国や政府が分断したり規制しようとしたりする試みは続くだろうが、若い人たちで守ってほしい」と呼びかけた。 https://www.asahi.com/ 村井先生の最終講義。16年ぶりに村井先生の講義を聞いて懐かしくなりました。せっかく良いことをたくさんおっしゃっていたので人力で書き起こしをしました。(Amazonウィッシュリスト) 共同授業担当 佐藤特任准教授(以下教員): そろそろ始めましょうか。 村井: はい。それでは皆さん、こんにちは。インターネットの、2019年秋学期の最終回ということで集まっていただきましてありがとうございました。学生は、履修者があふれるはずだけど来てない。ハハハ。その代わり、なんか変な普段見慣れない人
背景 日経 xTECHが出版した「受発注革命」というタイトルの記事。B2Cの業界は古くからECが発展しているが、B2B受発注はアナログが多い。 「未来投資戦略 2018 ―「Society 5.0」「データ駆動型社会」への変革―」にて商流EDIと金融EDIについて言及されている。EDIとはElectronic Data Interchangeの略。 ⅲ)金・商流連携等に向けたインフラの整備 ・本年 12 月の全銀 EDI システムの稼働、平成 32 年までの送金電文の全面的 XML 化を着実に実現するため、全国銀行協会、商工会議所等の金融界・産業界や関係省庁が連携し、周知活動や当該システムの活用事例の共有などの取組を推進する。 ・企業間の受発注の電子化(商流 EDI)の共通化を引き続き推進するとともに、金融界・産業界・関係省庁が連携して、全銀 EDI システムを用いた送金情報と商流EDI
概要 ソフトウェアの開発プロセスを説明しているサイトを見てもデファクトスタンダードが見つからない。粒度が異なったり、用語が異なったりしている。既存のプロセスも私の感覚と異なっており、ベストなモデルが見当たらなかった。私の理想とする開発プロセスは、ウォーターフロー的にスケジューリングや観測が可能で、アジャイルのプラクティスによって進められるようなモデルです。ここ数年、大手企業のシステム開発に携わる事がありますが、この開発工程についての正しい認識と進め方が行われていないという印象があるので私の頭の中をドキュメント化しておきます。先行事例を確認するためにIPAの最新の開発プロセス体系である「共通フレーム2013」を確認してみましたが、しっくりこない。https://www.ipa.go.jp/files/000027415.pdf資料の中には複数の開発プロセスが前提となった記述があったりして、資
概要 二酸化炭素濃度と集中力には密接に関連があるとのことです。CO2センサを3つ買って、いろいろな場所で計測出来るようにしました。以下の記事に詳しく書かれているので割愛します。 あちこちで計測 車 いつもは、暖房効率と外部の臭い空気を吸いたくないので、内気循環にしています。長時間ドライブになると結構眠くなる時があるのですが、内気循環だとすぐにCO2濃度が上がります。おそらく、眠気はCO2が原因というのが大きいです。 会社 室内でも、1部屋内の人数が多い場合はすぐにCO2濃度が上がります。計測された数値は上下が結構大きいので、計測値の履歴を見るようにした方が良いです。ほんと、締め切りだとすぐにCO2濃度が上がっちゃいます。環境によっては常時ある程度の換気が必要なかんじです。特に、見落としがちなのは寝室。寝るときは換気をしないのでにCO2濃度が上がります。寝ているときには酸欠に気づくことができ
次のページ
このページを最初にブックマークしてみませんか?
『matsu.teraren.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く