はじめに 冬休みに12ステップで作る 組込みOS自作入門を完走したをkozosを完走しました。 そのときの備忘録になります。 12STEPの各内容は以下のようになっています。 第1部 ブート・ローダーの作成 1stステップ 開発環境の作成 2ndステップ シリアル通信 3rdステップ 静的変数の読み書き 4thステップ シリアル経由でファイルを転送する 5thステップ ELFフォーマットの展開 6thステップ もう一度,Hello World 第2部 OSの作成 7thステップ 割込み処理を実装する 8thステップ スレッドを実装する 9thステップ 優先度スケジューリング 10thステップ OSのメモリ管理 11thステップ タスク間通信を実装する 12thステップ 外部割込みを実装する 1STEP、1commit単位でまとめて進めていきました。レポジトリは以下にあります。 環境構築 マ
指定した音声ファイルを、楽器ごとのパートに分解してくれるソフトです。 音声ファイルをドラッグ&ドロップで放り込むと、該当のファイルを ボーカル ベース ドラム その他(キーボード、ギター 等) ボーカル以外のインストゥルメンタル といった 5 つのファイルに分解してくれます。 処理を GPU(CUDA)で実行することもできます。
The Missing Semester of Your CS Education (日本語版) 大学の講義ではオペレーティングシステムから機械学習まで、 コンピュータサイエンスの様々な発展的トピックを学びます。 しかし、重要であるにも関わらず講義で教わることはめったになく、 したがって自分で学ばなければならないことがあります。 それは「コンピュータを操作するツールを習熟すること」です。 本講義では、コマンドライン操作をマスターすること、パワフルなテキストエディタを使いこなすこと、 バージョンコントロールの様々な機能に触れること、などなどを教えます! 学生は大学生活を過ごすうえでそういったツールを使うことに何百時間も費やします (その後のキャリア全体を考えれば何千時間も使うと言えるでしょう)。 よって、ツールを使う経験を可能な限り流暢で淀みない状態にしておくということは、 非常に有意義であ
どうも、まさとらん(@0310lan)です! 今回は、ブラウザ上からリアルなハッカー気分を疑似体験できるユニークな無料Webゲームをご紹介します! PCゲームとしてSteamからもリリースされていますが、今回ご紹介するブラウザ版は手軽に遊べるのでオススメです。ターミナル風のゲーム画面が特徴で、実際にJavaScriptを使ってプログラミングもできます。 ハッキングやセキュリティなどにご興味ある方も含めて、ぜひ参考にしてください! 【 Bitburner 】 ■「Bitburner」の遊び方 「Bitburner」は、西暦2077年のサイバーパンクをテーマにしたディストピアな世界を舞台にしています。 ゲーム画面は3Dグラフィックや派手な演出があるわけではなく、世界観にピッタリなCLIベースのターミナルを忠実に再現しているのが大きな特徴です。 遊び方ですが、面倒なユーザー登録などは必要ありませ
小説のバージョン管理をGitで行うにあたり手頃なエディターが欲しくなったので、ブラウザでも編集できるようVS Codeの拡張機能として作ってみた。 機能としては小説投稿サイトにあるような、 ルビや傍点を振る 行頭の字下げを揃える 字数のカウント プレビュー といったものを一通り備えている。 ルビや傍点の記法はカクヨムと同じものを採用し、傍点に対応していないサイト用にはルビによる代替表記に変換してコピーするコマンドを用意した。 ソースコードはGitHubで公開している: なおNode.jsで動作する小説用拡張機能としては、より多機能なものとしてSF作家の藤井大洋氏による が既にあり、今回の拡張機能を作る上でも参考にさせていただいた。 Web拡張機能 VS CodeはTypeScript製ということもあってブラウザでも動くようになってきている(Visual Studio Code for th
UNIXができたころのことを話そうとするとその頃のコンピューター事情が今とだいぶ違うのでなかなか話が伝わりません。そこでそのころ(1970年ごろ)のコンピューター事情について、正確性はちょっと置いておいて、分かりやすいようにざっくりと説明したいと思います。 アポロ11号の月面着陸が1969年なのでその辺りの映画などに出てくるでかいコンピューターを想像するとイメージしやすいかもしれません。 ## 大雑把な分類 初期のUNIXが開発されたころ(1970年ごろ)に使われていたコンピューターは主に下記の二種類でした。 - メインフレーム - ミニコン(ミニコンピューター) このころ主に"コンピューター"といえば今で言う"メインフレーム"のことを指していました。 マイコン(マイクロコンピューター)/パソコンは1980年ごろ普及しました。しかしパソコンでUNIXを動かすのが実用的になったのは1990年
クイックサマリー ‐ Webフォントは往々にしてWebのパフォーマンスをひどく低下させており、この問題に対して特に効果的なフォント読み込みの戦略は存在しません。しかし、今後公表されるフォントのオプションによって、フォールバックフォントを最終的なフォントに合わせやすくなるかもしれません。 フォントの読み込みはWebのパフォーマンスにとって長年にわたる悩みの種であり、これを解決する良い方法はありません。Webフォントを使用する場合は基本的に、フォントをダウンロードするまでテキストが表示されないFOIT(Flash of Invisible Text)か、最初はフォールバック用のシステムフォントを使用し、ダウンロードが済んだらWebフォントに更新するFOUT(Flash of Unstyled Text)のどちらかを選ぶ必要があります。正直に言って、どちらの選択肢もあまり満足の行くものではなく、
本記事は、Simon Holdorf氏による「10 Extraordinary GitHub Repos for All Developers」(2021年4月4日公開)の和訳を、著者の許可を得て掲載しているものです。 こちらもどうぞ すべてのウェブ開発者へ。人気GitHubリポジトリ9選 面接のリソース、build your own X、優れたパブリックAPIのリストなど Photo by Vishnu R Nair on Unsplash はじめに GitHubは、あらゆる種類の技術、フレームワーク、ライブラリ、コレクションなどを共有するためのNo.1プラットフォームです。しかし、その巨大さゆえに、最も有用なリポジトリを探すのが難しいという問題もあります。そこで私は、すべてのソフトウェアエンジニアに大きな価値のある、素晴らしいリポジトリ10選を作ることにしました。すべてに多くのGitH
開発環境にChromeを選ぶなら知っておきたい12のテクニック Photo by Morning Brew on Unsplash さて、何らかの理由で、開発ブラウザとしてChromeを選んだとします。次は、デベロッパーツールを開き、コードのデバッグを開始します。 Consoleパネルを開いてプログラムの出力を確認したり、Elementsパネルを開いてDOM要素のCSSコードを確認したりします。 でも、Chromeデベロッパーツールを本当に理解していますか?実は、パワフルだけど知られていない機能がたくさん用意されていて、開発効率を大幅に改善できるのです。 ここでは、最も便利な機能を紹介します。お役に立てたら嬉しいです。 ChromeのCommandメニューから始めましょう。ChromeのCommandメニューは、LinuxのShellのようなものです。コマンドを入力してChromeを操作で
唸れ俺の挑戦談!VR ADVツールを作った過程解説! – 東京クロノス 豪華開発陣が集まった事を売りにしているしている本作ですが、開発自体は少人数で行っている為プレイ時間が十数時間に渡る本作を作るには可能な限り作業効率を上げる必要がありました。 その一つとして、東京クロノスのメインコンテンツであるキャラクター同士の会話劇等の演出を作る為のツール「Uranus」を制作しました。今後同じジャンルのゲームを作りたいと思う人がいる事を期待して、今回はこのツールがどの様にして現在の形に落ち着いたか、そしてそもそも何故制作したのかという過程を紹介して行きたいと思います。 核となる要素の洗い出し まず制作にあたり、会話劇を作るのに最低限必要な要素を洗い出しいくと下記の様になりました: – プレイヤーの位置や向き指定 – キャラ操作(配置、モーション、等) – テキスト表示(セリフ&地の文) – 背景指定
こんにちは、エムスリーエンジニアリンググループの福林 (@fukubaya) です。 本記事はエムスリー Advent Calendar 2020 の8日目の記事です。 この記事とかこの記事とかこの記事で 書いているように、弊社ではオンプレ環境で稼動するサービスのAWSやGCPへの移行が進行中で、 ここ数ヶ月でクラウド移行作業が自分の業務の9割を占めています。 いろんなサービスのクラウド移行(主にECS Fargate)をやってきて知見が貯まってきたので一旦まとめてみます。 当初は何を考慮しなければいけないのかもよく分かっていませんでしたが、数をこなした結果、気をつけるポイントが分かってきました。 Docker化してECS Fargateで動かすのが目標ですが、GCPでk8sでも基本的に考える点は共通だと思います。 秩父ミューズパークは、埼玉県秩父市および秩父郡小鹿野町にまたがる地域にある
この記事は自作OS Advent Calendar 2020 7日目の記事となります。 はじめに 現在のオープンソースOSは、たとえばLinux開発ボードであればボードベンダーから移植済みのLinux環境が提供されたり、たとえばNetBSDであればクロスコンパイル環境が整備済みでドキュメントも用意されていて、最低限の移植作業で移植が完了したりします。 ぼくがNetBSDを移植した当時(1993年)はそうではありませんでした。ドキュメントもなくいろいろ手探りで、それも一人でやらざるを得ませんでした。苦労話のことは置いておいて、技術的にどういう物が用意され何を調べてどういう手順で移植していったかを記録に残せればと思います。(って前置きした割に苦労話が多いような気がします、すみません) かなり昔の話なので、けっこう忘れてることも多く、微妙に記憶が間違っていたりすることも、順番が前後していることも
Windowsで開発環境を整えた。 背景 開発環境を改善しようと思い、PCデスクの見直しなどをやっていたら、Windowsでも開発できるようにしようと思い至った。新しい環境を試してみたい気持ちが1割と、新しいゲーミングPCを組みたい気持ちが9割だ。 エディション Windows 10 Homeエディションを利用している。 Windows 10 ProにはHyper-Vという仮想化機能を直接利用できる利点があるが、WSL2で同じようなことをより便利に実現できるようになったおかげで、この点においてPro版の必要性は薄れてきている。今のところ自分のやりたいことはWindows 10 Homeですべて実現できている。 Windows Update WSL2を使うために、Windowsをバージョン2004・ビルド19041に更新した。 日々の自動更新ではバージョン1903で止まっていて、まだ自動では
Windowsの自動化の基本となるものにコマンドプロンプトと、そこから実行できるバッチファイルがあります。 Windowsのバッチファイルは古いマシンから新しいマシンまで使用できます。 今回は、それをまとめてみようと思いますが、百番煎じくらいになるので、なるべくMicrosoftが提供するドキュメントをベースになるように話を進めたいと思います。 文中のリンクは基本的に公式サイトへのリンクになっているので必要に応じて参照してください。 ※注意 なにがなんでもバッチファイルで書けという趣旨の記事ではありません。最近はPowerShellも使えますし、レガシーの環境ではWSHという選択肢もあります。 汝、ヘルプを愛せよ コマンドプロンプトでなんらかの操作を行う場合、手っ取り早くコピペですますのもよくあることですが、基本的にはヘルプを確認するようにしましょう。コピペ元のコマンドやオプションをよくわ
はじめに コンピュータを使用した多くの操作は自動化することができます。 この技術は運用や試験工程で大きな力を発揮します。 自動化の技術は一般的なソフトウェア技術者が、ちょっと努力すれば普通に身につく能力であって、特別なものではありません。 ただ残念なことにこれらの技術はあまり知られておらず、活用されているとは言い難い現場も多いです。 ユーザー企業さんができないのはしょうがないですが、ITで飯を食べているはずの自称IT企業においても、自動化を拒否して手動で心をこめて作業をしてリソースを無駄にするケースを稀によく見かけます。 自動化の拒否が「余剰人員のための経済対策だよ!」という身もふたもない理由でないと信じて今回は、Windowsでの作業の自動化についてお話しようと思います。 自動化のテクニックの話をする前に Windowsの自動化のテクニックの話をする前にちょっと重要なことを先に述べておき
Icon made by Freepik from www.flaticon.com こんにちは。 今年度、新卒で株式会社メルペイに入社し、SREチームの配属になったkeke(Twitter: @_k_e_k_e)です。 本記事では、メルカリの社内サービスであるWi-Fi打刻システムWIAS(Wi-Fi Attendance System)のお話をします。 会社に所属すると出退勤を記録する必要があります。その中で面倒に感じる、忘れてしまう、記録方法が分からない……など色々な問題が出てきます。しかし、Wi-Fiと勤怠システムをうまく組み合わせることによって社員体験を向上させることができた私達のチャレンジを紹介します。 目次 本記事は以下のセクションで構成されています。ご興味のあるセクションだけでもご覧ください。 目次 WIASとは 「社員体験の向上」というゴール WIASの開発背景 旧システ
開発速度を上げたいんです 「いかにして仕事を速く終わらせるか」を追求するのが大好きです。 なぜかと言うと、早くタスクを終わらせてゲームをしたいから 開発速度を上げるには、スキルを高めることも当然重要ですが 頻繁に行っている作業を、アプリや設定で高速化・自動化しつつ、いかにミスを減らすように工夫するか? これが、チリツモでかなり重要だと思っています。 そのために、僕が開発機である Mac book の設定やら、インストールしているアプリやらをメモしたいと思います。 (随時更新していきます) ちなみに、対象プロジェクトは以下をイメージしています。 業界 ソーシャルゲーム プログラム言語 Python フレームワーク Django DB MySQL KVS Redis バージョン管理 Git MacBookの設定 トラックパッドの速さ 必須レベル MacBookの設定で、トラックパッドのカーソル
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く