タグ

プログラムに関するtaka_m55のブックマーク (21)

  • Rust の最初のステップ - Training

    利用が広がり人気が高まっている新しいプログラミング言語の習得に関心がありますか? ここから始めましょう。 Rust で高速で効果的なプログラムを構築するために必要な知識の基盤を築きましょう。 このラーニング パスの内容は次のとおりです。 Rust コードの最初の行を記述するために必要なツールをインストールする。 Rust の基的な概念を学ぶ。 エラーを処理する方法を学ぶ。 Rust でメモリを管理する。 ジェネリック型と特性を使用する。 パッケージとクレート用のモジュールを設定する。 自動テストを記述して実行する。 コマンドライン プログラムを作成する。

  • 趣味で作ったソフトウェアが海外企業に買われるまでの話 - knqyf263's blog

    今回はソフトウェアエンジニアじゃない人や学生にも、ソフトウェアエンジニアという職業には夢があるかもしれないと思ってもらうために書いています。そのため既に詳しい方からすると回りくどい説明も多いと思いますがご容赦下さい。 基的に記事とかには技術的なことしか書かないスタンスでやってきましたが、今回の件はさすがに誰かに伝えておくべきだろうということで長々と垂れ流しました。 概要 GW中に趣味で開発したソフトウェアを無料で公開したところAqua Securityという海外企業(アメリカとイスラエルが社)から買収の申し出を受け、最終的に譲渡したという話です。さらに譲渡するだけでなく、Aqua Securityの社員として雇われて自分のソフトウェア開発を続けることになっています。つまり趣味でやっていたことを仕事として続けるということになります。 少なくとも自分の知る限り一個人で開発していたソフトウェ

    趣味で作ったソフトウェアが海外企業に買われるまでの話 - knqyf263's blog
  • 【転職エントリ】Googleに入社します|Lillian

    はじめに この記事には、Googleのオンサイト面接に向けて勉強した内容が記載されていますが、それらはすべて面接を受ける直前に書いておいたものです。このエントリを読むことで面接で聞かれた内容が予測されてしまわないようにそのようにさせていただきました。ご了承お願いします。 この記事について 令和元年に医師を退職し、ソフトウェアエンジニア転職します。 自分にとって大きな転機であったのと、とても大変な道のりであったので、私という人間が辿った道筋を最初から最後までちゃんとまとめておきたいと思いこの記事を書くことにしました。 私のような他業種から未経験での転職を目指されている方にとっても、何らかの参考になる内容であれば幸いです。 私の生い立ち 私は小さい頃からテレビゲームが大好きで、学校から帰るとずっと家でゲームをしている子でした。あまりにもゲームが好きだったので、遊ぶだけではなく自分で作ってみた

    【転職エントリ】Googleに入社します|Lillian
  • オブジェクト指向プログラミング -- 1兆ドル規模の大失敗

    CodeIQのブログより。🤔 なぜ、OOPから移行する時なのか Ilya Suzdalnitski OOPは、多くの人にコンピューターサイエンスの重要資産と考えられています。コード構成(code organization)に対する究極のソリューション。すべての問題の終焉。私たちのプログラムを書くための唯一の当の方法。自分自身をプログラムするという真なる唯一神から私たちに授けられました… それまでは、そうではなく、抽象化の負担、そして無差別に共有されるミュータブルなオブジェクトの複雑なグラフによって、人々は屈し始めています。現実世界の問題を解決するのではなく、「抽象化」と「デザインパターン」について考えるのに貴重な時間と頭脳が費やされています。 非常に著名なソフトウェアエンジニアを含め、多くの人々がオブジェクト指向プログラミングを批判してきました。驚くことに、OOP自身の発明者でさえ、今

    オブジェクト指向プログラミング -- 1兆ドル規模の大失敗
  • Linux メモリ管理を理解したい - Qiita

    Linux カーネルのメモリ管理方法について、勉強したことをまとめる。 メモリ管理はハードウェアに強く依存するため、x86_64 かつ OS起動後に 64bitプロテクトモード に移行したあとに話を絞る。また、OS は CentOS7.6、カーネルは次のバージョンを利用する。 ]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) ]# uname -a Linux localhost.localdomain 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux 概要 ノイマン型アーキテクチャ コンピュータの基的な構成のひとつ。次の図が参考になる。 ほぼ全てのコンピュータが、このアーキ

    Linux メモリ管理を理解したい - Qiita
  • ChromeのデベロッパーツールでJSをデバッグする方法(2022年版) - ICS MEDIA

    JavaScriptのデバッグは、ウェブ開発の必須スキルのひとつです。プログラムの実行をデバッグすることで、現在の変数の値や、処理がどのように進んでいるのかを確認できます。デバッグによってプログラムが意図した動作になっているかの分析に役立てられます。 記事ではGoogle Chromeブラウザーの「Chrome Developer Tools」(以下「デベロッパーツール」、「DevToolsデブ・ツールズ」という略称もあります)を使用してJavaScriptをデバッグする際の基的な使い方を解説します。「今までデベロッパーツールを使ったことのない」という方でもこの記事を読めば理解できるよう、チュートリアル形式になっています。20分ほどで理解できるようまとめているので、順番に試しながら読み進めてください。 この記事で学べること デベロッパーツールの使い方 JavaScriptのブレークポイ

    ChromeのデベロッパーツールでJSをデバッグする方法(2022年版) - ICS MEDIA
  • 総務省 ICTスキル総合習得プログラム

    このウェブサイトでは、ICT(情報通信技術)に関する教材の「総務省 ICTスキル総合習得プログラム」をオープンデータとして提供します。「総務省 ICTスキル総合習得プログラム」は、各5講座から成る4つのコース([1]データ収集、[2]データ蓄積、[3]データ分析、[4]オープンデータ・ビッグデータ利活用事例)によって構成され、ICTに関する基礎知識・基礎技術を学ぶことができます。 個々人の自学自習および学校・企業・コミュニティでの授業・勉強会にて、ご活用ください。 総務省 ICTスキル総合習得プログラム このウェブサイトでは、2017年度における総務省の事業として開発された「総務省 ICTスキル総合習得プログラム」に関して説明し、成果に関するファイルを提供します。このウェブページでは事業の成果であるIアイCシーTティー(Information and Communication Techn

  • MSDN Visual C#

    C# 言語のドキュメント C# ガイドには、C# および .NET プラットフォームの使用を開始するのに役立つ記事、チュートリアル、コード サンプルが含まれています。 経験豊富な開発者は、「新機能」セクションで新機能について学習できます。 経験豊富な開発者は、リファレンスと言語仕様から言語の動作の詳細について学習できます。

  • 低レイヤを知りたい人のための Cコンパイラ作成入門

    はじめに このオンラインブックは執筆中です。完成版ではありません。フィードバックフォーム このには一冊のに盛り込むにはやや欲張りな内容を詰め込みました。書では、C言語で書かれたソースコードをアセンブリ言語に変換するプログラム、つまりCコンパイラを作成します。コンパイラそのものもCを使って開発します。当面の目標はセルフホスト、すなわち自作コンパイラでそれ自身のソースコードをコンパイルできるようにすることです。 このでは、コンパイラの説明の難易度が急に上がりすぎないように、様々なトピックを書全体を通じて次第に掘り下げていくという形で説明することにしました。その理由は次のとおりです。 コンパイラは、構文解析、中間パス、コード生成といった複数のステージに概念的に分割することができます。よくある教科書的アプローチでは、それぞれのトピックについて章を立てて解説を行うことになりますが、そのよう

  • コンパイラバックエンド処理 データフロー解析 : Reaching Definition - Qiita

    はじめに Qiitaでは、コンパイラの最適化の話が少ないな~と思ったので、コンパイラのバックエンドの話をしようかと思います。 自分はCOINS(コンパイラ共通インフラストラクチャ)や、Ocelotで実装したことがあります。COINSはJavaで、OcelotはC++です。 まぁ、もちろん自作したコンパイラ上に実装しても良いと思いますが、今の時代に一人で現実的なコンパイラを作るのはナンセンスですからね。素直に共通インフラストラクチャとか使うのが良いと思います。 最適化とは コンパイラは、フロントエンドで字句解析、構文解析などをして、バックエンドでCFG(Control Flow Graph、制御フローグラフ)作成、各種最適化、レジスタ割り付け、実行可能コードの出力などの処理を行います。 今回は、そのうちの最適化の話です。最適化とは、簡単に言ってしまえば、より早く、より効率的にプログラムが動作

    コンパイラバックエンド処理 データフロー解析 : Reaching Definition - Qiita
  • Amazonが流行ると本屋が潰れる法則は正しいのか? | Tips of Rubbish

    エンジニア仕事がしたい」という人から「プログラムを覚えたいけどどの言語がいいか?」という質問をよく受ける。 個人的には「C言語」と言いたいトコロだけど、最近の事情を考慮して「JavaScript」と答えている。 インタプリタとして、簡易に構築も出来るため、勉強するにはサーバーがなくても勉強ができるJavaScriptは プログラム初心者にはとてもいい言語と言えるでしょう。 色々な基が盛り込まれている「電卓」 各種計算、表示、ボタンイベント、など、見栄えを良くしたければCSSも知っておく必要もあるが、 課題としてはとてもいいと思ってます。 とりあえず、プログラムも全て掲載しておきますが、是非初心者の人は、自分なりの電卓を企画して 構築してみてください。 例えば「関数電卓」や「メモリ機能付き」などのプログラムを作るとスキルもグッと向上すると思いますよ。 サンプル 電卓サンプルページ 画面

    Amazonが流行ると本屋が潰れる法則は正しいのか? | Tips of Rubbish
  • 「中年の危機」ど真ん中のオッサンがWEBサービス作ってみた。 - Qiita

    自己紹介 こんにちは。 Hirozといいます。 タイトルにある「中年の危機」は、かっこよく言えば「ミッドライフ・クライシス」と言うそうです。 私は、そんな中年の危機ど真ん中の文系非エンジニアのアラフォーおっさんです。 35歳くらいから「このままでいいのか」と思うようになり、葛藤の迷宮に入り込んでしまいました。 今もまだ抜け出せていません、たぶん。 その過程で「組織の肩書きによらない素の自分の力でやってみたい」、「直接人の役に立つ実感が得られることがしたい」と思うようになり、それを具現化する手段としてWEBサービスを造ってみたいと思うようになり、2017年12月にWEBサービスをリリースしました。 自分でプログラミングを習得しながら作るぞと思ったのが2017年の2月。 開発環境作りなどのトラブルに翻弄され、格的にコードを書き始めることができたのは2017年の5月末。 そこからコツコツと開発

    「中年の危機」ど真ん中のオッサンがWEBサービス作ってみた。 - Qiita
  • Unixコマンド”yes”についてのちょっとした話 | POSTD

    知っているUnixのコマンドで一番シンプルなものは何ですか? 例えば echo という、stdoutに文字列を出力し true を返す – すなわち常に0の終了コードで終了するシンプルなコマンドがあります。 シンプルな、と言えば yes もそうでしょう。引数なしで実行すると、改行されたyが無限に出力され続けます。

    Unixコマンド”yes”についてのちょっとした話 | POSTD
  • Amazonが流行ると本屋が潰れる法則は正しいのか? | Tips of Rubbish

    仕事で開発を行っていると、必ず通るのが「ドキュメント作業」 中でも、フローチャートは、テキストファイルだけでは書ききれなく、 cacooのようなサービスや、Excelのように、力技で書き込むパターンが多いと 思いますが、「Dot言語」というフローチャートを書く為だけの言語が 存在するのをご存知だろうか? フローチャートの基 プログラムの進行状況や関数の遷移などを、見た目で分かるように作るというのがポイントで いわゆる、他人が見てわかるようにするための資料なのですが、はっきり言ってプログラムがわからない人が見ても絶対にわからないので、果たしてこの「フロー図」というものの存在意義も疑わしいのですが、商品を買ったら必ずついてくる説明書と同じ理由で、作成することを前提に考えよう。 ・・・あれ?iphoneの説明書・・・ DotFlowの概要 フロー図を記述するのですが、今のところ、excelのよ

    Amazonが流行ると本屋が潰れる法則は正しいのか? | Tips of Rubbish
  • Research 調査研究/ブログ一覧 | 三井物産セキュアディレクション株式会社

    Prompt経由のSQL Injection攻撃について ブログは「生成AIセキュリティ」シリーズの第三弾です。これまで、DALL-E2やStable Diffusionなどの画像生成AIのSafety Fi…

  • Visual Studio Codeの設定「虎の巻」:IDE編

    Visual Studio Code(以下、VS Code)ではさまざまな部分をユーザーが自由に設定できるようになっている。画面の配色テーマもそうだし、エディタの表示方法も細かく調整できる。今回はそのうち、IDEを中心にVS Codeの基設定のカスタマイズについて見てみよう。ただし、個々の設定項目について話を進める前に、VS Codeの設定について簡単にまとめておこう。なお、稿ではWindows/64bit版のVS Code 1.22で動作を確認している(他の環境では異なる部分があるかもしれない)。 VS Codeの設定、基の「キ」 VS Codeの設定には「ユーザー設定」と「ワークスペース設定」の2つがある(加えて、キーバインドの設定もあるが、これについては稿では取り上げない。また、配色テーマとアイコンテーマは設定ファイルに記述されるので、以降で取り上げる)。 ユーザー設定はその

    Visual Studio Codeの設定「虎の巻」:IDE編
  • Zenko

    THE MOST FLEXIBLE WAY TO MANAGE YOUR DATA WITHOUT CLOUD LOCK-IN Zenko is infrastructure software for CIOs, DevOps, Data Managers to control Data in Multi-Cloud IT Environments “Zenko gave NodeWeaver a set of fundamental capabilities – complete AWS S3 compatibility, object storage replication, load balancing – in a way that is simple, consistent and reliable.” Carlo Daffara, CEO at NodeWeaver

    Zenko
  • GitHub - delihiros/pserve: make your interactive command work as an HTTP server! :)

  • Go言語と並列処理

    Go言語の特徴として挙げられる機能の1つに、「並列処理を書くのが簡単」というものがあります。 そこで今回は、Goにおける並列処理の機能を紹介してから、そもそも現代のコンピューターでどのようにして並列処理が実現されているのかをとりあげます。 複数の仕事を同時に行うとは? 複数の仕事を行うことを表す言葉には並行と並列の2つがありますが、これらには次のような区別があります。 並行処理(Concurrent) 並行(Concurrent): CPU数・コア数の限界を超えて複数の仕事を同時に行うこと ほんの少し前まで、コンピューターに搭載されているCPUはコア数が1つしかないものが普通でした。 そのような、今ではもう絶滅危惧種になりつつあるシングルコアのコンピューターであっても、インターネットを見ながらWordとExcelを立ち上げてレポートを書けます。 この場合に大事になるのが並行(Concurr

    Go言語と並列処理
  • 私はC言語を知らない | POSTD

    (注:2017/04/27、いただいたフィードバックを元に翻訳を修正いたしました。) この記事では、皆さん(特にC言語のプログラマ)に「自分はCを分かっていなかった」と気付いてもらうことを目標にしています。 Cの落とし穴は、思っているよりもずっと身近なところにあります。ちょっとしたコードにも 未定義の動作 が潜んでいることを以下で示しましょう。 この記事はQ&A形式になっており、それぞれの例題は独立したソースコードとして扱ってください。 1. Q: これは正しいコードでしょうか? (変数の二重定義エラーが発生するでしょうか。上述の通り、これは独立したソースファイルであり、関数体や複合ステートメントの一部ではありません) 解答 A: 正しいコードです。1行目は仮定義であり、2行目でコンパイラが処理した後に “定義” になります。 2. extern void bar(void); void

    私はC言語を知らない | POSTD