めちゃくちゃ良い記事でした。 「OSS は使っていることを公言するだけでも貢献になる」と songmu さんが言っていたので、私も貢献したいと思います。 僕も貢献したいのでよく使うコマンドラインツールを紹介していきます。 特定のプログラミング言語等に依存するツールは省いています。 actionlint - GitHub Actions の Workflow ファイルの静的検査 GitHub Actions の Workflow ファイルの静的検査ツールです。 かなり精度が高く、色々な設定ミスを検知してくれます。 エラーメッセージも見やすくて助かります。 aicommits - コミットメッセージを自動生成 変更内容を元に自動でコミットメッセージを AI が生成してくれるツールです。 コミットをする前にちゃんと確認してくれるのも安心感があって良いです。 cLive - ターミナル操作を自動化
TL;DR Shift_JISにしただけでコンパイラが通らなくなる恐ろしい事件とその回避法について。 \ (¥)のASCIIコードは0x5c 表、能は良くない UTF-8は神 2023/12/06追記 誤りがあったので訂正します。こんな読まれると思ってなかったので正直ちょっとびっくりしていますが、いろいろコメントありがとうございました。(ツイート等全て拝見しました。) Shift_JISが悪いわけではない(デフォルトのエンコーディング設定の問題)→追記しました UTF-8にはUTF-FSSという仕様でこの問題が回避されている→マジでタメになる知識ありがとうございます OSによってデフォルトのエンコーディング設定が異なるせいで、デフォルト環境での動作がOSにより異なる→なるほど?(調査中) CRLFとLF問題では→なるほど?(調査中) そんな問題何を今更→UTF-8が出てから生まれたからです
いちいち行かなくていい。高いわりに役に立たない。本を買ったりネットの解説動画を見ながら自分でやるんだ。 毎日勉強できるならカリキュラムはこう。大事なのは「わかんなかったら自分で調べる」ということ。これをひとつひとつ解説していくとあっという間に1年ぐらいのカリキュラムになって金がかかるようになる。ググれば全部出てくる。出てこなかったら調べ方が悪いのでググりかたを変えればおk。この記事にも初心者から見ると「なにその言葉。初耳」っていうのがあると思うけど、全部重要なキーワードなのでググって咀嚼して血肉としてほしい。ググればすぐ出てくる。 1日目: Linuxのインストール(Linuxの中でもUbuntuっていうのがおすすめ)とりあえずLinuxを自分のパソコンにインストールする。Linuxを触れるようになればいい。 PCがない場合は、中古のPCなんて3万ぐらいで買えるからそれ買ってきてインストー
最近golangでCLIツールを作っていたのだけど、Linuxのお作法とかいまいち分かっていなかった。そこでそのあたりのことが学べそうな「ふつうのLinuxプログラミング」を読んだ。 ふつうのLinuxプログラミング 第2版 Linuxの仕組みから学べるgccプログラミングの王道 作者:青木 峰郎SBクリエイティブAmazon この本はLinuxにおいてC言語でプログラミングする方法を、Linuxでの重要な概念も含めて教えてくれる本。この本を読めばとりあえずC言語を使ってLinux用のプログラムを書き始めることが出来るようになりそうだった。 それでC言語を使わない場合でも役に立つの?ということだけど、非常に役立ちそうで面白かった。なぜなら、単なるプログラミングの方法を教えてくれるだけではなくて、 Linuxの重要な考え方をファイルシステム・プロセス・ストリームという概念にまとめて教えてくれ
はじめに 以前書いたエントリー、重大な脆弱性(CVE-2017-5932)で少し話題になったbash4.4の補完機能の便利な点で、bash4.4からでないとタブの補完機能のソート処理が制御できないという問題について、ソースコードレベルで調べた結果をまとめていたのですが、bashの実装そのものを深く掘り下げ過ぎてしまい、内容が膨大になったので、何回かに分けて書こうと思います。 今回はbashが起動されてからインタラクティブモードでキーボードの入力を待ち受けるまでのお話です。普段使っているbashがどのような処理を行っているのか一緒に覗いてみませんか? 検証ソースコード Bash version 4.1.0(1) release GNU bashの生誕 bashのプロセスが起動されるのはOSへのログイン時にユーザーのログインシェルがbashに設定されている場合、あるいはログイン後に明示的にba
巷ではDeep Learningとか急に盛り上がりだして、機械学習でもいっちょやってみるかー、と分厚くて黄色い表紙の本に手をだしたもののまったく手が出ず(数式で脳みそが詰む)、そうか僕には機械学習向いてなかったんだ、と白い目で空を見上げ始めたら、ちょっとこの記事を最後まで見るといいことが書いてあるかもしれません。 対象 勉強に時間が取れない社会人プログラマ そろそろ上司やらお客様から「機械学習使えばこんなの簡単なんちゃうん?」と言われそうな人 理系で数学はやってきたつもりだが、微分とか行列とか言われても困っちゃう人 この記事で行うこと 数学の基礎知識に慣れるための、数式が最初から出てこないプログラマ向けの数学入門書の紹介 機械学習の初学者には鉄板の、オンライン講座(MOOC)の機械学習コース紹介 環境 WindowsでもMacでもLinuxでも大丈夫(MATLAB/Octaveというツール
要約 この記事では、LinuxカーネルにてLinuxプログラムがどのように関数を呼び出すのかについて紹介していきます。 システムコールを行う様々な方法、システムコールを行うための独自のアセンブリの作成方法(例あり)、システムコールへのカーネルエントリポイント、システムコールからのカーネルイグジットポイント、glibcのラッパ関数、バグなど多くの点について説明します。 要約 システムコールとは? 必要条件に関する情報 ハードウェアとソフトウェア ユーザプログラム、カーネル、CPUの特権レベル 割り込み モデル固有レジスタ(MSR) アセンブリコードでシステムコールを呼び出すことの問題点 レガシーシステムコール 独自のアセンブリを用いたレガシーシステムコールの使用 カーネル側での int $0x80 エントリポイント iret を使用したレガシーシステムコールからの復帰 高速システムコール 3
こんにちは、吉岡(@yoshiokatsuneo)です。 Dockerはシンプルで軽量な仮想環境という特徴から急速に広まっており、paizaでも利用しています。ただし、発展が早いことから、断片的な情報や古い情報などもあります。そこで、ここでは今のDocker(Ver1.13: 2017/1/20更新)について、5分でわかるように簡単にまとめてみます。 目次 Dockerの特徴 コンテナと仮想マシンの違い Dockerの発展 Dockerの構成(5つの要素) Dockerの基本コマンド Dockerコマンド一覧 Dockerの仕組み 考え方 まとめ Dockerの特徴 Dockerは、Linux上のシンプルで軽量な仮想環境(コンテナ)で以下の特徴があります。 早い・軽い OSレベルの仮想化なので、起動は一瞬です。コンテナ間でイメージを共有できるので、コンテナの起動自体ではディスクは消費しませ
インフラエンジニアの中西です。 最近プログラマーからこのような話を耳にします。 「ネットワークって難しい/よくわからない」 最近ではAWS,GCPをはじめとするクラウドサービスが充実しているのでWeb界隈のエンジニアはなおさら気にするシーンが少なくなったように思います。 今日は最低限これだけ覚えていたら有事の際にちょっとは役に立ちますよという話が出来たらなと思います。 書式統一のため sudo を省略しています。ご容赦下さい。 コマンド編 ping ping です。疎通確認を行う時のコマンドです。 さすがに分かると聞こえてきそうですね。 例えば、192.168.1.1 というサーバに通信を確認したい場合はこうです。 $ ping 192.168.1.1 繋がる場合はこうなります。 $ ping 192.168.1.1 PING 192.168.1.1 (192.168.1.1): 56 d
先日、Buffaloの無線ルータ WZR-450HP にDisplayLink社のUSBグラフィックスアダプターを接続して、PCモニタにshellを表示することに成功したのでそれまでの道のりを紹介しようと思う。 実験記録みたいな感じなので、単にアダプタを接続するためのHowToではないことに注意。とにかく語りたいだけ(笑) この記事の内容は、先日弊社で開催のFULLER エンジニアミートアップで発表した未完成のスライドおよびkosen10sLT #03で発表したスライド(下記)と同一だが、内容を時間の都合で多少端折っていたので、この記事では発表でしゃべらなかった細かい所も詳細に語りたいと思う。 ルータでルータのプレゼンをした話。 ~# 技術解説 from Takumi Sueda www.slideshare.net 事前におことわりしておくが、私は電波法を侵さないよう細心の注意を払いなが
プログラミングにはレベルの低い・高いがある。ここでいうレベルとはCPUとかストレージデバイスといった生のハードウェアに近いかという意味である。レベルが低いほど生のハードウェアを意識しなければならない。カーネルは低レベルなソフトウェアの代表である。高尚かどうかと混同されることを嫌ってか、低レイヤ・高レイヤという言い方も良くする。私はあえて混同させたくてレベルという単語を使用している。 私は元々低レベルのプログラミングの方が計算機を操ってる感があって好きだった。しかし、しばらく離れてJavaとかPythonとか高レベルなことをやっていたが、ふと低レベルのところを再び触りたくなったので、 ハッカーのたのしみ Binary Hacks Cプログラミング高速化研究班 等を読み返しながら勉強している。低レベルはちょこちょこっとチューニングするだけで演算が高速化していき、ハッカー感が得られるので楽しい。
このホームページについて このサイトの概要 プログラミング関連, PC設定関連で自分がハマったこと, 便利だと思ったことなどを書き残していく, web上のメモサイトです. 自宅ではMac, 自宅以外ではLinuxを使うことが多いので, PCの設定に関しては, そちらがメインになるかと思います. このメモが, どなたかの参考になれば幸いです. また, 始めたばかりで記事が少ないですが, 随時増やしていく予定です. ソースコードについて このサイトに載せてあるソースコードをクリップボードにコピーしたいときは, コードの領域をダブルクリックすることで, すべての文を選択出来ます. その時選択領域内でもう一度クリックすれば, その位置にカーソルがフォーカスされるので, 部分的にコピーしたい場合は, そこから任意の部分を選択して下さい. 選択状態を解除したいときは, コード以外の領域をクリックすれば
ネットワークプログラミングの基礎知識 ここでは IP アドレスやポート番号、クライアントとサーバの役割などを説明し、 perl・C言語・Java などでソケット (Socket) を使った HTTP クライアントや POP3 クライアント、簡単なサーバを作成してみます。 要はネットワークプログラミングをやってみよう、ということです。 このページのサンプルプログラムは、RFC などの規格に準拠した「正しい」プログラムではありません。 また、全体的にエラー処理が不十分です (今後改善する予定です)。 あくまでも概要を理解するためのサンプルととらえてください。 もし本気でしっかりとしたクライアントやサーバを書きたいなら、このページを読んだ上で、 さらに RFC を熟読し、そして wget・Apache・ftp コマンドなどのソースを参考にしてください。 このページに間違いを見付けたら、掲示板 で
はじめに 恐怖のエディタ、Vim。 僕はこの間までずっとサクラエディタを愛用していましたが、最近Vimを使うようになりました。 ええ、Vimです。あのVimです。Viでもいいけど。 Vim・・・使いこなしている人はそれだけで玄人っぽく見られる伝説のエディタ。 実際にVimを使えばすさまじいスピードのコーディングが可能になる。(らしい) しかしそんな憧れだけで手を出しても大半の技術者は全く手に負えず、すぐに尻尾を巻いて元のエディタに舞い戻ってしまう恐怖のエディタ。 それがVimである。 ・・・はい、僕の中でVimやViのイメージはそんな感じでした。 実際、Unix/Linuxマシンのターミナル上で何度か(いやいや)使ったことがありましたが、まあ扱いにくいのなんのって。 「カーソルは十字キーで動くけど、どうやって入力するの? 」 「えっ? "i"を押せ? 」 「入力が終わったらESC? なんで
サクラエディタなど基本的なエディタに慣れたら、次に気になるのはさらに高性能エディタの代表格、vimではないでしょうか?Vimはプログラムコードやシステム設定ファイルなどの編集で威力を発揮するためエンジニアにファンが多いのも特徴ですが、エンジニアを惚れ込ませるその高性能さは一度惚れてしまうと離れられなくなるほど。慣れるまでは少し大変かもしれない上級者向けエディタですが、今回はその苦労を補って余りある高性能エディタ、vimの魅力をご紹介しようと思います! "CodeCampus"はオンラインプログラミングスクール No.1のCodeCampが運営するプログラミング未経験の方のための学習メディアです CodeCampとは?(受講生体験記) 「エンジニアは女性のキャリアとして魅力的」未経験からの転職体験記リモートワーク×多拠点居住の新しい生き方を実現する。元バレエダンサーの挑戦普通の文系大学生/営
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く