みたいなのが挙げられます。これが話題になった時にSNSで見かける言説が「十進小数 (decimal) 型ならこういう問題はない」です。 ですが、decimal型は十進小数を正確に表現できるという話でしかなく、全ての実数を正確に表現できるわけではありません。例えば、 1.0 / 3.0 * 3.0 の計算を考えてみましょう。数学的には、これはちょうど 1.0 になるはずです。 C#の場合 C#には標準の decimal 型があります。これで 1.0 / 3.0 * 3.0 を計算してみましょう。
「これはHEAD^^」 「これはHEAD^2」 「これはHEAD~2」「HEAD@{2}、reflog用」「全部いっしょじゃないですか」「違う!!もっとよく見ろ!!」Git 画像略 TL;DR(Too Long; Didn't Read) ~nは単純なコミットの親をたどる(ブランチの分岐がある場合は現在のブランチのみで辿れるコミット) ^nはマージコミット向けで^2は「そのコミットの2番目の親(取り込んだブランチの前回のコミット)」 だからHEAD^n(n > 2)は存在しない 2024/06/04追記: OctopusなMergeだと3つ以上のブランチからマージできるので^nも存在する......があまり見かけることはない HEAD^^は「HEAD^の親」、HEAD^2は「HEADのもう一人の親」みたいな......。タラちゃんがHEADだと波平がHEAD^^でマスオがHEAD^2です(
概要 pythonでテストコードを書くときがありますが、(筆者のように)超初心者からすると難しい用語や書き方がたくさん並んでいてハードルが高いです。 テストコードの入口となる最低限(最低限過ぎるかもしれませんが)の書き方を備忘を兼ねて書きます。 pythonでのテストコードを書く時のライブラリの種類 筆者が簡単に調べたところ、2つのライブラリがよく使われているようです。 unittest : python標準ライブラリ。インストールが必要ない。pytestと比較すると、柔軟なテストケースを書きづらい。 pytest : サードパーティ製のライブラリ。インストールの必要がある。柔軟なテストケースが書ける。pythonのテストコードを書く時のデファクトスタンダートになりつつある模様(これが本当かは確認していないですが、そういう記述を見かけることが多かったです)。 筆者個人としては、以下の3つの
※本記事で言及しているReflexのdiscord内に日本語チャンネルをつくってもらいました。もし、興味をもった人がいたら参加してみてください。 1.PythonだけでWebアプリをつくるライブラリが増えている 最近(2024.05)、Python界隈ではPythonだけでWebアプリが作れるライブラリが増えています。詳しくは他の記事を参照してもらえればと思います。 以下の記事がとても参考になりました。ありがとうございます。 2.ライブラリの分類 こうしたライブラリも大きくわけて2つの種類があるように思います。 ①データ解析の結果を表示するダッシュボードライブラリ ②汎用的なWebアプリをつくるローコードライブラリ ①ダッシュボード系ライブラリ たとえば、上記の記事にも出てきますし、ネットでもかなり情報の多い、StreamlitやDashは項番1のダッシュボードライブラリに該当すると思いま
はじめに 34 歳のとき、勤めていた会社の経営が傾き早期退職を促されたのを契機に独立しました。その後、41 歳で Authleteオースリート 社を設立しました。諸般の事情で現在も Authlete 社の代表取締役という肩書きを持っていますが、経営者的な仕事は他の人に任せ (参照: シリコンバレーのプロフェッショナル CEO を迎えて米国市場に挑戦する日本のスタートアップの話)、50 歳目前の現在もプログラマとしてコードを書き続けています。 Authlete 社設立 (2015 年 9 月) から 8 年半弱経過したものの、まだまだ小さな会社で道半ばであるため、起業家として何か語るのは時期尚早ではあるものの、軽い体調不良が長引く中、『自分のエンジニアとしてキャリアを振り返ろう!』という記事投稿キャンペーンを見かけ、生きているうちに子供世代のエンジニアの方々に何か書き残しておこうと思い、文章
世の中には、一見関係なさそうな物理現象がITシステムに不可思議な影響を及ぼすことがあります 例えば,500マイル以上離れた場所にメールが送れないという話だったり 中国人のAさんがお茶を入れると会社のネットが繋がらなくなる という話があります。 私の場合は、祖母が就寝するとDBインサートが失敗する、という状況でした 実家の見守りシステム 問題が起きているのは、離れた実家にいる一人暮らしの祖母の状態を見守るために作成した自作のシステムです。 気温や湿度、CO2濃度、明るさ、部屋のドアの開閉、冷蔵庫の開閉の状況をモニタリングできるようにしています。 Raspberry Piに各種センサが接続され、定期的にInfluxDBに送信し、Grafanaという可視化ツールでいつでも見られるようにしています。 これらの情報を見ることで、祖母の家の部屋の温度が適切か、活動しているか、部屋にいるかなどが分かりま
最近見つけた現象で既に論じられているかと思ったがちょっと解説が見つからなかったのでまとめておく。 手短に X(旧Twitter)クライアントで表示されるTwitterカードについてカードに表示されるドメインとは違うページにリンクさせる手法が存在する この手法は第三者のTwitterカードを利用することができる つまり悪用者は第三者のTwitterカードを表示させながら自身の意図するページに閲覧者を誘導することができる これはフィッシングの手法になりうる 見つけたツイート 以下のツイートはGoogle、Bloomberg、日経ビジネスのTwitterカードが添付されているがクリックするとそれらとは異なる情報商材サイトにジャンプする。リンク先に危険な仕組みはないと思われるがクリックは自己責任で。念を入れたい人は curl -L で。 PCブラウザでカーソルを合わせてもXの短縮URLサービスであ
この記事は、本番環境などでやらかしちゃった人 Advent Calendar 2023 の4日目です。年末進行、いかがお過ごしでしょうか?みなさま無事に仕事が納まることを願っております… 新人インフラエンジニアが、本番ウェブサーバー60台のホスト名を全部 cat にしてしまった話について、ここに供養させていただきたいと思います 背景 おそらく今から7年くらい前、インフラエンジニアとして転職してきて1年ほどが経ち、本番環境での作業もこなれてきたなというバッチリのタイミングで事を起こしてしまいました。サーバーは CentOS 6 だったと思います。 職場としてはまだまだベンチャー感にあふれ大きな裁量が与えられスピード感のある環境ながら、サービスの登録ユーザー数は1,000万を超え、本番環境の規模としては既になかなかの大きさがあり、ウェブサーバーだけでも60台くらいあったと思います。ひと山につき
1. はじめに ソフトウェア開発のチームに、新しいメンバーが入ってくることはよくあります。 以前に新卒社員がチーム入ってきた場合の育成方法を紹介しました(こちら)。 今回は、新卒社員ではなく、他の会社から中途入社か同じ会社の部署異動で来る新メンバーの話です。 (エンジニアが数百人などで規模が大きい会社の場合、部署が違うと仕事のやり方が全く変わる場合があるので、今回は中途入社と他の部署からの異動を同じように「新メンバー」として扱います) 会社や部署が変わると仕事のやり方が大きく変わるため、仕事のやり方に戸惑うことが多いと思います。 本稿では、そのような「新メンバー」を活躍しづらくしてしまうアンチパターンとその対策を紹介します。 2. 中途入社や部署異動で来た新メンバーが適応することの困難さを理解する 中途入社や部署異動で来た新メンバーが組織に適応することは、新卒社員のそれとは別の難しさがあり
何の話 エンジニアの勉強として始めたWebサービスの個人開発。 せっかくやるなら収益化をしようと思い、個人開発2作目にして、売上月10万円を目標にサービスをリリースしました。まだ目標の売上は達成出来てないですが、その収益化モデル、サービス内容の確定、デザイン、システムアーキテクチャ、など全てを公開しようと思い、本ブログを書きました。 私はつよつよ個人開発者ではなく、1年前に組み込みエンジニアからWeb系に飛び込んだ若輩者なので、悪しからず。 [公開したサービス] オンライン動画学習のランキングサイト | Tech Course Rank 後半で詳しく本サービスについて、説明します。 プロフィール 大学卒業後、セキュリティ製品のサポートエンジニア -> Webエンジニア -> ロボット系の組み込みエンジニア-> Web系のエンジニアという経歴です。現在30才。 得意言語は、Python。フロ
Twitterの内部構造を読解してみる 前口上 Twitterのようなマイクロブログサービスでは短時間で書き込みも多く、特にタイムライン周りは単にRDBのデータを出し入れるするだけではスケールしなくなります。 インターネット上に断片ながらTwitterの中の人がアーキテクチャについて解説した記事や動画がいくつか落ちていたので、Twitterがタイムラインをどうやってキャッシュしているかについてまとめてみたいと思います(推測を含みます)。 Twitterのテーブル構造 単純なTwitterのテーブル定義をRDBで定義すると以下のようになると思います。 tweets ツイート id user_id contents tweet_at followers フォロワー source_user_id destination_user_id users ユーザー id user_name timeli
はじめに こんなタイトルをしていますが、私はChatGPTを悪く言う意図は全くありません。ChatGPTは非常に優れた製品ですし、実際に、世界はChatGPTによって大きく変わりました。LLMを大きく普及させた先駆者として、とても偉大な存在です。 今回は、利用料金に焦点を当てた話になります。 Chat GPT Plusを使いたいけど(もしくは、使っているけど)、ちょっと金額が高いな・・・と感じている方に向けた記事になりますので、ご理解いただけると嬉しいです。 ChatGPT、ちょっと高い・・・! GPT-4、精度が高くていいですよね! 僕もプログラムを書くときや、採用するプロダクトを決めるときなんかによく使っています! でも、ChatGPTのGPT-4を使うには、月額3,000円(※)を払う必要がります。 会社が払ってくれるのなら全く問題ないのですが、個人で使うとなると、正直ちょっと高いっ
追記(2023.09.13) X にて、この記事が引用されて多くの議論が投稿されました。 それらの多くは以下の通り「ALB等の利用できる環境の現代であればもうNginxコンテナは不要」という内容が多数です。 その上で、本文に入って頂ければと思います。一部「いいね」が多いポストを貼り付けさせていただきます。 本文にショートカットしたい場合は、ここをクリック ここから本文 以前、チームで以下のような会話が生まれました。 「コンテナに nginx 立てずに、直で rails Appサーバに ALB から流せばいいじゃん?」 みたいな話。その際に理由を即座にレスできなかったので、調査しました。 puma や Unicorn はあくまでAppサーバなのでユーザ直アクセス用途として設計されていない バッファリング処理が弱い バッファリング処理(処理速度や処理にかかる時間の違いを調整すること) ngin
【データ分析の必読10冊+差をつける10冊+100冊超】データサイエンス、データ分析、機械学習関連の本がご好評いただいてましたが古くなりごちゃごちゃしているので新たに作り直しました 本記事のめあて IT系の技術者の方がデータ分析関連の仕事をするために役立つ本を紹介する(私が学び始めた時にあれば欣喜雀躍したであろう)記事として書いております。 本記事作者の青木はバイオインフォマティクス(ゲノムデータのDB化中心・Perl・MySQL)からRで時系列分析→Pythonでデータ分析一般と業務をしてまいりました。 ですので研究者目的の本はありません。また、データ分析の基礎は主にRで学んだのですが、昨今の流行に合わせてPython本を中心に、Rの本は参考程度にしています(本記事のR版のご要望があれば爆裂書きます!) こういうリストをあげる奴は大抵読んでいない、と過去にも言われたのですが、ほとんど読ん
pictBLandとpictSQUAREに対する不正アクセスがあり、パスワードがソルトなしのMD5ハッシュで保存されていたことが話題になっています。 2023年8月16日に外部のフォーラムにpictSQUAREより窃取した情報と主張するデータ販売の取引を持ち掛ける投稿が行われた(中略)パスワードはMD5によるハッシュ化は行われているもののソルト付与は行われていなかったため、単純なパスワードが使用されていた29万4512件は元の文字列が判明していると投稿。(それ以外の26万8172件はまだMD5ハッシュ化されたままと説明。) 不正アクセスによるpictBLand、pictSQUAREの情報流出の可能性についてまとめてみた - piyolog より引用 これに関連してMD5ハッシュやソルトに関するツイート(post)を観察したところ、どうもソルトの理解が間違っている方が多いような気がしました。
はじめに 今回は私が良くやっている「一人議論」という方法について紹介いたします。 これはアイデア出しや壁打ちに便利な手法です。 「使えるかも」と思った方は、ぜひやってみてください。 一人議論とは? ChatGPTを使った議論のシミュレーションの一つです。 具体的には次のようなプロンプトを利用して行います。 # タスク テーマについて議論してください。 # ルール - 登場人物を3人出してください。 - 議論をまとめないでください。 - 10回会話を続けたところで会話を止めてください。 # テーマ ChatGPTがもたらしたもの すると、次のような議論が始まります。 ここからが一人議論のポイントです。 次に、自分の意見を差し込みます。 ChatGPTにて次のような文章を打ち込みます。 すると、それを元に、次のような会話が続きます。 あとはひたすらこれを続けるだけです。 強めの反論をしても誰も
はじめに 社内でTodo管理の勉強会を実施した際に作成した資料があったのですが、今回自分の中の考えをまとめるせっかくの機会だと思い、字面で書き起こすことにしました。 意外と世の中では語られることのなく、『あたりまえ』として扱われてしまう『自己管理』について自分が半年間運用し、週ごとにカイゼンを続けたどり着いた、現時点でのHowを多くの人に伝えられればなと思っています。 もちろん最適解がこの形とは言いませんし、自己管理は人の数分だけ最適解はあると思っています。「みんな正しい、ただし部分的に」ということを念頭に、楽しんで読んでいただければ幸いです。 タイトルを付けた理由としては、かなりシステマチックな内容になってしまっていると感じてしまったため、「運用レベルが高い」人物を想定した結果、このタイトルになりました。 概念篇 『自己管理』を行っていく上で、確実に「ここは飛ばしてはいけない」と思ったた
はじめに Linux利用歴はそこそこありますが、よく使うディレクトリやコマンドのフルネームを全て知っているかというと、そうでもないなと思ったので、今回はそれについてまとめてみました。 特にLinux初学者の方にとっては、各ディレクトリ名やコマンド名は何の略称かを知っておいた方が、覚えやすいと思うので、ぜひ参考にしていただければと思います。 注意事項 本記事では、よく使うディレクトリやコマンドの中で略称になっているもののみを取り上げています。すべてのディレクトリやコマンドを網羅しているわけではありません。 略称のフルネームがすべて明確に文書化されているわけではありません。これらの略称は、元々UNIXや他のプラットフォームで使用されていたものや、開発者やコミュニティの独自の規則や慣習に基づいています。 Linuxディストリビューションによっては、独自の命名規則や用途を持っている場合もあります。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く