並び順

ブックマーク数

期間指定

  • から
  • まで

121 - 160 件 / 24973件

新着順 人気順

コンパイラの検索結果121 - 160 件 / 24973件

  • Big Sky :: Windows ユーザは cmd.exe で生きるべき。

    [D] Windowsはターミナルがダメだから使えないってのは過去の話? 基本的にはいい感じに見えますが、いくつか問題は発覚してます。 http://blog.drikin.com/2015/01/windows-2.html 僕は Cygwin よりも msys2 が好きです 理由は最後の方に書きます。 cygwin は windows 上に完全な POSIX を提供するのが目的であって、msys2 は native な windows アプリケーションをビルドするのが目的なのでゴールが違うのよね。そして僕は全て cygwin で染められるのが好きじゃ無い。それだけの話です。 — mattn (@mattn_jp) April 10, 2016 もちろん msys2 を POSIX 環境としても使いますが、一番の目的は cmd.exe から Windows ネイティブなアプリケーションを

      Big Sky :: Windows ユーザは cmd.exe で生きるべき。
    • すべてのプログラマーが試すべき挑戦的なプロジェクト

      Austin Z. Henleyのブログより。 更新12/14: この投稿は、Hacker NewsとRedditに関する多くの議論に拍車をかけました。 提案されたプロジェクトのいくつかを収集し、この投稿の最後にリストに入れました。 私はよくサイドプロジェクトを始めたいが、何を作るべきか分からない多くの学生やプロの開発者と話します。以下は、私に多くを教えてくれたいくつかのソフトウェアプロジェクトです。実際、それらは何度も作ることができ、毎回新しいことを学ぶことができるので素晴らしいです。従って、何を作るのか分からない場合、または新しいプログラミング言語またはフレームワークを学びたい場合は、私は次のいずれかから始めます。 テキストエディタ 2Dゲーム - スペースインベーダー コンパイラ - Tiny BASIC ミニ・オペレーティング・システム スプレッドシート (難しい!) ビデオゲーム

        すべてのプログラマーが試すべき挑戦的なプロジェクト
      • モダン C++ プログラミング - 日本語公開記事 - Confluence

        このドキュメントはサイボウズ社内のトレーニング用に作成したものです。 作成時点では C++11 はまだあまり利用できない状況でしたので、C++98 ベースの記述になっています。 いずれ更新を予定しています。 モダンの定義モダンとはテンプレートメタプログラミング(TMP)を駆使することです。嘘です。 宗教論争に意味はないので、ここでは 「最近の C++ の仕様・機能を理解し、C より実装効率が良く不具合の少ない」 プログラミング技法を「モダン C++ プログラミング」と定義します。 つまり、不具合が少なく、かつ C にはもう戻れなくなるような効率の良さを達成するものです。 学習効率(ROI)が極めて良くないような技法(例えば TMP)は、この定義では除外されます。 勉強方法お勧めの順序は以下。決して全部を読もうとしないこと。 C++ Language Tutorial のような、あっさりした

        • 6年勤めたNTTを退職した人の同期だけど私も6年勤めたNTTを退職しました - hichihara note

          6年間通った職場 11月末付で6年勤めたNTTを退職しました。色々と話題のkumagiとは同期入社で同じ研究所、同じ部署、ブースは2個くらい離れたところでソフトウェアエンジニアをしていました。 kumagi.hatenablog.com 長いようで短かった日々ですが、本当に満ち足りた思いでいっぱいです、関係者の方々には大変お世話になりました。 振り返り 2012年に入社したときに配属になった先はクラウド基盤開発を行っている部署でした。てっきり研究ができるものだと思っていたので、どうしたものかと最初は戸惑っていましたが、気づけば開発の沼へとどっぷりと浸かり、なんやかんやあってOSS活動に目覚め、OpenStack Neutronのコミッタ(コアレビューア)になって、最近はコンテナ周りのネットワークなどを中心に活動しています。 研究所について NTTの持株と呼ばれる組織は研究所を持っています。

            6年勤めたNTTを退職した人の同期だけど私も6年勤めたNTTを退職しました - hichihara note
          • » セキュアなサーバを作るために最低限やっておくこと: エスキュービズム ラボ Blog

            Recent Entries セキュアなサーバを作るために最低限やっておくこと Yahooキーワード抽出APIライブラリ テスト駆動開発 (test driven development: TDD) のすすめ GoogleAnalyticsAPI on EC-CUBE 土日で作るコンパイラ OPEN ERPに挑戦3 OPEN ERPに挑戦2 OPEN ERPに挑戦 ERPはたくさんあれど・・・ OpenGLで3D、やってみよう Recent Comments No Responses. Recent Trackbacks テスト駆動開発 (test driven development: TDD) のすすめ 06/11 » Yahooキーワード抽出... みなさんはサーバを管理するときに、何を一番気にしますか? 人によって程度の差はあるのでしょうが、誰もが気になるのが「セキュリティ」でしょ

            • 「エンジニア100人に聞きました 〜新人エンジニアにお勧めする一冊〜」ドリコムの場合 #e100q - ドリコムのエンジニア100人に聞きました

              こんにちは、ドリコムの吉田です。 ITエンジニアの在籍する各企業さんと共同のアンケート企画「エンジニア100人に聞きました」に今回も参加しました。 今回のテーマは「新人エンジニアにお勧めする一冊」です。4月は新卒エンジニアが誕生する季節でもあります。ドリコムでは今年8名のエンジニアが入社しています。4/1に行われた入社式様子はこちら。 実施期間:2013年3月25日〜3月28日 回答数:18 Q1:新人エンジニアにお勧めする一冊を教えてください。 Q2:(Q1で挙げた一冊を)お勧めする動機を教えてください。(選択式) まおゆう魔王勇者 1「この我のものとなれ、勇者よ」「断る!」 作者: 橙乃ままれ,toi8 出版社/メーカー: エンターブレイン 発売日: 2010/12/29 メディア: 単行本 購入: 25人 クリック: 1,935回 この商品を含むブログ (164件) を見る 推薦理由

                「エンジニア100人に聞きました 〜新人エンジニアにお勧めする一冊〜」ドリコムの場合 #e100q - ドリコムのエンジニア100人に聞きました
              • 現代の僕「コンピュータが生まれた歴史知りたい」 - Qiita

                TL;DR コンピュータの歴史も何も知らなかった私が、「ありがとう、先人たちよ」と言えるぐらいまでコンピュータの歴史を調べたので共有したいと思います。 最初の動機 「コンピュータってどうやって動いてるんだろう」 あなたは、この疑問に自信を持って答えられますか? そして、仮にコンピュータを知らない人類がいたとして、「コンピュータとは何か」を説明できますか? 私はできませんでした。 もちろん、コンピュータを使うことはできます。 こうして、キーボードをカタカタを打つと、見慣れた文字となってディスプレイに映すことが出来ます。 しかし、「使えること」と、「それが動く原理を説明すること」 は途方もなく大きな壁で隔てられています。 この記事では、コンピュータが動く原理を、その歴史をたどることで探っていきます。 コンピュータの歴史をまとめつつ、 「コンピュータってどうやって動くの?」 に答えられるようなも

                  現代の僕「コンピュータが生まれた歴史知りたい」 - Qiita
                • あなたがReactを使うべき理由 - mizchi's blog

                  最近フロントエンドでfacebook/reactをずっと使っている。世界的には一部のエンジニアの間で流行っているのだが、国内だとqiitaのタグ等を見てもどうも少ない。みんなもっと使うべきだと思うので、宣伝かねて意見をまとめてみる。 複雑化するデータバインドに対する懸念 MVWのVに対して思いを馳せると、だいたい次のことに行き着く。すなわち、「ある構造体の入力に対して、必ず一意なビューを生成したい」 {items: [1, 2, 3]} を入力とすると、 1, 2, 3のli要素になってほしい。これは単純な例だから問題に成り得ないように見えるが、アプリケーション全体の状態を一つのjsonとして定義し、 そこから常に0から組み立てればアプリケーションの健全性が確保できると考えたことはないだろうか? 現実の問題 UIのだいたいの状態は遷移で表現される。遷移の差分をプログラマが記述する。jQue

                    あなたがReactを使うべき理由 - mizchi's blog
                  • メモリとスタックとヒープとプログラミング言語 | κeenのHappy Hacκing Blog

                    κeenです。 今回の話は別にRustに限ったものではないのですが、よくRustを始めたばかりの人がスタックとヒープが分からないと言っているのをみかけるので少しメモリの話をしますね。 厳密な話というよりは雰囲気を掴んで欲しいという感じです。 メモリは配列 プログラム(プロセス)のメモリには実行するプログラム(機械語)やグローバル変数/定数、関数の引数やローカル変数、その他プログラムで使うデータ領域などを置きます。 プロセスに割り当てられるメモリというのは、1つの巨大なのっぺらな配列みたいなものです。サイズも決まってます。64bit OSなら2^64 byteです。 0 2^64 +--------------- ----+ | | | | | ~~ | | +--------------- ----+ これは仮想的なメモリなので実際の物理メモリに2^64 byteの配列がドンと確保される訳

                      メモリとスタックとヒープとプログラミング言語 | κeenのHappy Hacκing Blog
                    • 小人閑居して: 「ぐへへお姉ちゃんパンツ何色」から始めるクラス解説

                      2011年12月6日火曜日 「ぐへへお姉ちゃんパンツ何色」から始めるクラス解説 「ぐへへお姉ちゃんパンツ何色」はこれ以上ないほどオブジェクト指向であり、しかも理想的な実装をしていることに気づきました。これを用いてオブジェクト指向を説明してみようと思います。 ある人が「ぐへへお姉ちゃんパンツ何色」と質問するのは、お姉ちゃんオブジェクトの保持するpants_color変数を取得しようとする手続きと見ることが出来ます。つまり oneechan.pants_color を取得しようとしているわけです。 ではどうすればいいのでしょうか? 考えてみましょう。直接パンツを見ればpants_colorを取得することができますね。 クラスを使わないとすればこんな書き方が考えられます。 struct oneechan{      int pants_color; }; 構造体でひな形を宣言します。

                      • わずか500行のCソースコードで作られたCコンパイラ「CC500」 | ソフトアンテナ

                        Cコンパイラといえばとてつもなく複雑なプログラムというイメージがあります。ところが、このCコンパイラを(サブセットとはいえ)わずか500行ほどのCのソースコードで実現した「CC500」名付けられたプログラムが公開されています。 ソースコードは可読性を維持するためにつけられた空行やコメントを含めると、実際は750行ほどになるそうですが、それでもこれだけコンパクトなソースコードで実行可能なELFバイナリ(Linux用のバイナリ)を生成できるのは興味深いのではないでしょうか。 以下実際にLinuxでコンパイルしてみました。 自己コンパイルできる このコンパイラはC言語のサブセットで、自分自身のソースコードをコンパイルできるところがおもしろいところです。まず「cc500_1」という実行ファイルを生成します。 gcc cc500.c -o cc500_1 生成された実行ファイル「cc500_1」を使

                          わずか500行のCソースコードで作られたCコンパイラ「CC500」 | ソフトアンテナ
                        • ガベージコレクションの実装法と評価

                          1.はじめに プログラミング言語とはシステム化する対象物を抽象化し、コンピュータで処理可能なコードを記述するために用いる人工言語である。プログラミング言語はコンピュータの機械語と一対一の対応をもったアセンブラから始まり、コンパイラを用いて機械語に翻訳することを前提としたコンパイラ言語、インタプリタと呼ばれるプログラムがソースコードを解釈し実行するスクリプト言語と、記述できる抽象度を高める方向へと進化してきた。 プログラミング言語はその存在理由から、より抽象度の高い記述が行えること、すばやい開発を行える事が求められる。抽象度の高い記述とは、プログラムがどういう処理を行うか(HOW)ではなく何の処理を行うか(WHAT)を記述しやすい構文、機能を持っていることを、すばやい開発とは記述性の高さ、コードの密度の高さ、バグの発生しにくい構文、機能を持っていることをさす。 この抽象度の高い記述、すばやい

                          • 現役大学生ら3人が開発した、「普通の家電」をスマート家電にするデバイス『Pluto』がすごい - エンジニアtype | 転職type

                            NEXTユニコーン企業で働くエンジニアたちに体当たり取材!NEOジェネレーションなスタートアップで働く技術者たちの、「挑戦」と「成長」ヒストリーをご紹介します 今回話を聞いたのは、家にある家電を「スマート家電」に変えてしまう『Pluto』を製作・販売するPlutoの3人。いかにして彼らは、自宅のLANをつなぐだけでただの家電をスマート家電に早変わりさせる仕組みを実現したのか? その歩みをひも解いてみよう。 2013年1月27日、産経新聞は経済産業省がスマートフォンによる家電の遠隔操作に関する規制を緩和する方針を固めたと報じた。 この規制緩和を期に、ネットとリンクして遠隔操作が可能になる「スマート家電」は増加していくだろう。そんな、家電スマート化を推し進める急先鋒といえるのが『Pluto』だ。 Plutoとは、2012年11月より発売が開始された、たった1万2800円(税込み)でリモコン制御

                              現役大学生ら3人が開発した、「普通の家電」をスマート家電にするデバイス『Pluto』がすごい - エンジニアtype | 転職type
                            • 第1回 Node.jsとは | gihyo.jp

                              はじめに 本連載では、注目を集めるNode.jsを使って、Webアプリケーションを様々なクラウド環境で動かすことを最終目的にしています。Node.jsに触れたことがないJavaやPHPなど普段サーバサイドで開発されている方を主な対象として、まずNode.jsの概要から紹介していきます。 Node.jsとは Node.jsとは、ブラウザGoogle Chrome用に開発されたJavaScriptエンジンV8がサーバ上でプログラムを実行できるように、ファイルやネットワークI/Oなど多くの機能を追加したものです。軽量で効率よく多くのリクエストを処理するネットワークアプリケーションの構築ができるプラットフォームになっています。いわゆるサーバサイドJavaScriptの代名詞として注目を集めています。 Node.jsでは“⁠軽量で効率良く⁠”というのを実現するために次の2つのモデルを採用しています。

                                第1回 Node.jsとは | gihyo.jp
                              • 偶然にも500万個のSSH公開鍵を手に入れた俺たちは - slideshare

                                DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】DeNA

                                  偶然にも500万個のSSH公開鍵を手に入れた俺たちは - slideshare
                                • フロントエンドへの複雑化について、一つの視点 - mizchi's blog

                                  これらの件 最近のフロントエンドへの違和感 - nobkzのブログ 日本のWebエンジニアの大半が、変化に対応しきれなくなっている件について。 - 日々、とんは語る。 前提 去年は勝手Reactエヴェンジェリスト(自称)として、日本に複雑化するフロントエンド技術の海外の動静を紹介をし続けていた。 僕としても、フロントエンドは複雑化してると思ってるし、それは「目的の複雑化に対して必要なもの」だったと思っている。ここでいう目的とはSPAの構築であって、普通のウェブサイトは含んでいなかったが、普通のウェブサイトも当たり前のようにリッチ化目指しているのが現在なので、境目は曖昧ではある。 僕もフロントエンドの複雑化がだれにでも必要なものだとは思っていない。が、定期的に情勢を整理して、交通整理するのを心がけてきたし、春からはじめるモダンJavaScript / ES2015 - Qiita みたいな記

                                    フロントエンドへの複雑化について、一つの視点 - mizchi's blog
                                  • PHPをC++に変換して高速化する「HipHop for PHP」をFacebookが公開 : candycane development blog

                                    アメリカ時間の昼ごろにTwitter上が一つのニュースで埋め尽くされました。 PHPをC++に変換して高速化する技術をFacebookが公開したというものです。世界中のPHPハッカーが注目する興味深いリリースという事でちょっと長いですが、リリースノートの和訳を行いました。 原文 http://developers.facebook.com/news.php?blog=1&story=358 Facebookにおいて重要なことのひとつが動作の速さです。過去6年間にわたって、PHPが提供する高速な開発ペースによって多くを成し遂げてきました。プログラミング言語としてみると、PHPはシンプルです。簡単に習得し、簡単に書き、簡単に読み、簡単にデバッグする事ができます。我々は他の言語よりも早くエンジニアを獲得し、それによってより早いイノベーションをすることができます。 今日、私は2年に渡って作業して

                                    • chibicode - 点と点がつながると信じてたバカへ。元アップルのインターンが、ジョブズ引退の日に思ったこと。

                                      これまで。 これから。 これまで。 もちろん大学にいた頃は、先を見据えて点と点を結ぶことは不可能でした。しかしそれは、10年後に振り返ってみると非常にはっきりと分かります。もう一度言います。あなた方は先を見て点と点を結びつけることは出来ないけれども、過去を振り返るとそれらをつなげることが出来るのです。だからあなた方は、将来点同士が何らかの形でつながることを信じなければなりません。-Steve Jobs いまから6年前。アメリカの高校3年生で、大学も決まってなかった俺は、スタンフォード大学で行われた彼のスピーチが大好きだった。 高校生になったのび太くんだった。運動はからっきし苦手で、成績もそこそこで特技も無く、睡眠時間より長い間2ちゃんを読んでた。何よりも友達が少なかった。なんとかしなきゃと思ってたとき、ドラえもんの代わりにStay Hungry, Stay Foolishという言葉がやって

                                      • 非公式PDF版SICPの全訳を公開しました - minghaiの日記

                                        また1年振りの更新となりかけました。 Andres Raba氏により2011年から開発が続けられている、非公式PDF版SICPを全訳しました。 ファイル 恒例のgithubです。 https://github.com/minghai/sicp-pdf jsicp.pdfが日本語版の本体です。 ejsicp.pdfはデバッグ用の日本語・英語併記となります。 ライセンスはCC BY-NC-SA 3.0です。商業使用は認められないことにご注意下さい。 SICPとは何か? SICPとはMITが作成した何も知らない新入生向けのプログラミングの教科書です。 プログラミングと強調したことには理由があります。この本は良くあるプログラミング言語の教科書ではなく、あくまでもプログラミングを勉強するための教科書だからです。このことはこの本の中でも、最初の前書き、序文にて何度でも繰り返し強調されています。筆者達が

                                        • 転職活動の面接でいただいた質問集 - Qiita

                                          この度転職活動を行って無事内定をいただいたので、記念に面接の中でいただいた質問をまとめてみました。 某大手金融のフィンテックエンジニアに転職します!! 転職活動当初は、レガシー、ジョブホッパー、経験少でダメ出しの嵐🍃 でも諦めずNuxt+Firebaseでのサービス開発、マイクロサービス化ポートフォリオ、CTFの取組、GitHub毎日コントリビュート、個人活動も頑張って内定頂けて本当よかった😁 — bindingpry (@bindingpry) November 19, 2021 基本的に技術面接では、履歴書や実務経験の技術、ポートフォリオで扱っている技術、自分で口にした技術を深ぼられることが多かったです。 そこはしっかり技術を扱えるだけでなく説明できるようにすることも必要だと思いました。(自分は最初ボロボロでしたが笑) また正社員の面接では技術と同等に、仕事への姿勢、性格、事業への

                                          • Webエンジニアが勉強できるGit Repository 10選 - Qiita

                                            2021/02/21 10選 => 12選に更新 2021/04/12 おまけを追加 2022/01/04 おまけにThe Modern JavaScript Tutorialを追加 こんにちは、WEBエンジニアのhedrallです。 もう一歩踏み込んでプログラミングに関して勉強をしようと思った時、 世の中には学習のためのレポジトリが存在していて、しかも世界的にはものすごい数のStarを獲得しているものも少なくないことを知りました。 今回はピックアップしてご紹介いたします。 [⭐️ 96.6k]: javascript-algorithms プログラミングで使用されるデータ構造や、一般的なアルゴリズムがまとめられており、全てjsで実装が例示されています。 [⭐️ 149k]: developer-roadmap webやinfraなど各分野のエンジニアになるために知っておくべき技術がロード

                                              Webエンジニアが勉強できるGit Repository 10選 - Qiita
                                            • MeCab: Yet Another Part-of-Speech and Morphological Analyzer(形態素解析エンジン)

                                              MeCab に至るまでの形態素解析器開発の歴史等はこちらをご覧ください メーリングリスト 一般ユーザ向けメーリングリスト 開発者向けメーリングリスト 新着情報 2008-02-03 MeCab 0.97 マルチスレッド環境で辞書を開くときの排他制御がうまくいっていなかったバグの修正 Windows版でインストール時に辞書の文字コードを指定できるようになった 一部のコンパイラで正しくコンパイルできなかった問題の修正 部分解析モードを変更するAPI の追加 (Tagger::set_partial()) ラティスの生成レベルを変更するAPI の追加 (Tagger::set_lattice_level()) 温度パラメータを変更するAPIの追加 (Tagger::set_theta()) 全候補出力モードを変更するAPIの追加 (Tagger::set_all_morphs()) 2007-

                                              • いまさらながらだけど、オブジェクトとクラスの関係を究めてみようよ - 檜山正幸のキマイラ飼育記 (はてなBlog)

                                                オブジェクトとクラスの関係について、次のような説明を見かけました(文言の引用ではなくて、檜山による要約)。 オブジェクトとクラスは全体としてツリー構造をしていて、ツリーの末端をオブジェクト、末端以外のノードをクラスという。末端であるオブジェクトは、その親ノードであるクラスのインスタンスと呼び、クラスどおしの親子関係を継承関係と呼ぶ。 うーむ、この説明、ある意味「簡潔でわかりやすい」とも言えるのだけど、ちょっと単純化し過ぎでしょ。 オブジェクトやクラスの概念て、そんなに美しくもなきゃ、整合的でもありません。実用性やら実装上の都合やらでゴチャゴチャですがね。しかし、そのゴチャゴチャが悪いともいえません。ゴチャゴチャを無理に単純化することなく、必然性を持った(幾分は偶発的だけど(苦笑))複雑さとして理解すべきかと思います。 というわけで、メタクラスやレイフィケーション(reification)な

                                                  いまさらながらだけど、オブジェクトとクラスの関係を究めてみようよ - 檜山正幸のキマイラ飼育記 (はてなBlog)
                                                • Objective-Cを絶対書きたくない人向けのiOSアプリ開発ソリューションの総括 - laiso

                                                  有償、無償のやつがいろいろあって最近試してみたのでメモ書きを残しておいた*1。 最初にことわると、既に何かしらの言語を身に付けているプログラマー向けの記事になる。プログラミング自体の入門者は学習環境が整っているので絶対Objective-Cから入った方がいいです(個人的にはP*言語系でウェブ開発フルセット身に付けるよりか楽だと思う)。 Objective-Cを避けたい動機 未知のプログラミング言語を習得するコストがツラい Objective-Cは潰しが効かない(iOS & Macアプリ開発でしか使わないじゃん) Android版など。なるべく移植性を高くしたい Xcodeを使ってコーディングするのがいやだ。愛用しているエデイタで開発したい 開発環境が強制される。不自由で邪悪なので使ってはいけない。 とまあ人によっていろいろある 比較表 本記事でとりあげたものの簡単な比較表をテーブルにしてお

                                                    Objective-Cを絶対書きたくない人向けのiOSアプリ開発ソリューションの総括 - laiso
                                                  • 機械学習の情報を手法を中心にざっくり整理 - Qiita

                                                    概要 自分用のメモとして、機械学習に関する情報を浅く ( それなりに ) 広くをモットーに、ざっくり整理してみました。 少しでも、他の方の理解に役立ったら嬉しいです。 機械学習とは コンピュータプログラムが経験によって自動的に出力結果を改善していく仕組み。 機械学習の代表的な手法について記載します。 1.教師あり学習 2.教師なし学習 3.強化学習 に分けて記載しました。 ※概要説明は一例です。 1.教師あり学習 1-1.線形回帰 予測したい値を算出する式を連続する多項式として表し、各係数を最小二乗法や最尤推定法で求めることでモデルとなる式を決定する Pythonライブラリ:scikit-learn(sklearn.linear_model.LinearRegression) 参考:最小二乗法による線形回帰のアルゴリズム (自身のQiitaの過去記事です) 1-2.ロジスティック回帰 2択

                                                      機械学習の情報を手法を中心にざっくり整理 - Qiita
                                                    • 作るプログラムの機能や性能で勝負したい。そうだ、データベースを勉強しよう - きしだのはてな

                                                      さて、アルゴリズムの勉強のしかたと、ラムダ計算の勉強のしかたの目星をつけました。 アルゴリズムの勉強のしかた - きしだのはてな ラムダ計算の勉強のしかた、プログラム意味論 - きしだのはてな これでここで書いたプログラムの理論の基礎は勉強できたことになるんじゃないかと思います。 プログラムの理論とはなにか - きしだのはてな ところで、プログラムの勉強地図としてこういう図を書きました。 で、ハードウェアまわりについても、プロセッサを支える技術やネットワークはなぜつながるのかでひととおり勉強したとしましょう。 じゃあ次は、アジャイルか?テストか?UIデザインか?となるわけですが、やはりプログラマなら、プログラムの作り方や使いやすさの前に、作るプログラムの機能や性能で勝負したいじゃないですか。 いい感じに関数が分割できるよとか、読みやすい名前がつけれるよとか、効率よく仕事して定時に帰れるよと

                                                        作るプログラムの機能や性能で勝負したい。そうだ、データベースを勉強しよう - きしだのはてな
                                                      • IT業界の『多重下請け構造』は社会悪になりつつある - paiza times

                                                        Photo by Jonathan Kos-Read 今回のpaiza開発日誌は片山がお送りします。 SIerについて語られる際にIT業界の「多重下請け構造」についての問題点が良く取り上げられますが、「多重下請け構造」がITエンジニアにとってどのような問題点があるのでしょうか? その点について今回は少し整理してみようと思います。 ■「多重下請け構造」とは何か 説明するまでもないかもしれませんが、「多重下請け構造」とは、受託システム開発において、発注者から直接仕事を請け負った元請(たいていの場合が大手SIer)が、請けた仕事を切り出して2次請け、3次請け、4次請けと仕事を下ろしていくピラミッド構造の事を言います。 良くある例で言うと、元請は要件定義や概要設計等の上流工程を請負い、開発・実装などの下流工程は2次請けに委託する、というような構造です。2次請けは自社リソースで開発を賄えない場合に3

                                                          IT業界の『多重下請け構造』は社会悪になりつつある - paiza times
                                                        • グーグルのJavaScriptツール集大成「Google Closure Tools」

                                                          2009年11月5日,Googleは自社サービス製品であるGmail,Google Maps,Google Docsなどの開発に使用しているJavaScriptアプリ開発ツール群「Google Closure Tools」を一般公開しました。 "Closure"は一般的に,閉鎖や閉店といった意味で使われます。ツールの命名としては少しネガティブなニュアンスを感じますが,Google Closure Toolsの場合は,終結といった意味で,開発プロジェクトにおける最終ステップの仕上げ用ツール。すなわち“栓”という意味で中身があふれ出さないようにキッチリ閉めておくものといった意味合いから命名されているようです。 Ultimate(究極)に近い意味でGoogleの自信の表れと受け取った方がいいかもしれません。Googleで新規公開になったプロジェクトとしては珍しく,ベータ版の表記もありません(Go

                                                            グーグルのJavaScriptツール集大成「Google Closure Tools」
                                                          • オープンソース活動がフルタイムの仕事になる仕組みの話|Rui Ueyama|note

                                                            僕の仕事をひとに説明するときに、「Googleで仕事をしているけどオープンソースなのでGoogleのプロダクトを作っているわけではないし、むしろアップルとかソニーの人と一緒に仕事している」と言うと、「???」という反応になることが多いので、僕はこういう仕事をしているんだよということをここでちょっと説明してみようと思います。 (2016年の僕のFacebookの投稿の転載です。) 僕のいるチームはLanguage Platform Teamというところで、プログラミング言語や開発ツールの開発をしています。LPTの中にもいろいろ細かいチームが分かれているのですが、僕がいるのはC++チームで、Googleで主要開発言語になっているC++言語の開発環境を担当しています。 C++で開発をするときには、C++ツールチェインと呼ばれる一連のツールを使います。ツールチェインの一番大きなコンポーネントは、人

                                                              オープンソース活動がフルタイムの仕事になる仕組みの話|Rui Ueyama|note
                                                            • なぜCを学ぶべきなのか - 立命館大学情報理工学部セキュリティ・ネットワークコース プログラミング言語サポートページ

                                                              プログラミング言語としてのCは、初学者にとっては難しい言語であるのは確かです。中には、初心者が学ぶべき言語ではないと言い出す人もいます。ですが、私たちセキュリティ・ネットワークコースの教員は、我々のコースの学生は早期にCを学ぶべきであると考え、このカリキュラムを設定しています。以下に理由を列挙します。 Cはコンピュータの構造に深く根ざした言語なので、コンピュータそのものの学習を同時に進めることで、相互の理解が深まると考えています。例えば主記憶(メモリ)上にプログラムとデータの双方が置かれるフォン・ノイマンアーキテクチャや、メモリ上のデータ配置の問題、エンディアンの問題などを直接感じられるのはCならではだと思います。 CはOSや、コンパイラなどの言語処理系、組み込み機器などで広く使われており、その構造や動作と深く関わっているため、セキュリティとネットワークの理解のために欠かせないからです。

                                                                なぜCを学ぶべきなのか - 立命館大学情報理工学部セキュリティ・ネットワークコース プログラミング言語サポートページ
                                                              • 「この位置にprintfが無いとなぜか動かないんだ。」 - Qiita

                                                                はじめに 先日ツイッターで見かけた呟き pic.twitter.com/33Yk02hu1U — TOMO (@tomozh) October 14, 2020 そういうこともあるのか的な反応もあるようなので具体例を挙げてみることにする。 例1 所謂FizzBuzz問題。 #include <stdio.h> void fizzbuzz(int n) { int next; int i = 1; do { printf(i % 15 ? i % 5 ? i % 3 ? "%d\n" : "Fizz\n" : "Buzz\n" : "FizzBuzz\n", i); if (i++ >= n) next = 0; } while (next); } int main(void) { printf((char[]){""}); // この位置にprintfが無いとなぜか動かない fizzbuz

                                                                  「この位置にprintfが無いとなぜか動かないんだ。」 - Qiita
                                                                • 自作DBを始めたい人におすすめの本 - salachike:blog

                                                                  この記事は、慶應理工アドベントカレンダー2021の20日目の記事です。 カレンダー全日埋まってすごい 🎉🎉 adventar.org 「Database Design and Implementation」という簡素なDBをスクラッチで作っていく本に取り組んだので、その読了エントリです。 Database Design and Implementation: Second Edition (Data-Centric Systems and Applications) (English Edition) 作者:Sciore, EdwardSpringerAmazon こんな人におすすめ MySQLやPostgreSQLを使った経験はあるが、DBの理論やその実装はあまり詳しくない人に特におすすめです。特に自作〇〇*1に興味がある人は間違いなく楽しめると思います。単純に本に紹介されている理論

                                                                    自作DBを始めたい人におすすめの本 - salachike:blog
                                                                  • ネット学習教材 - ドキュメント - SUGSI

                                                                    Changes集合論中村論理学の知識をベースにして数学の構造を理解し、集合、写像の概念を学ぶ集合論演習師玉公理的集合論を題材に,Mizarと呼ばれる数学証明の自動チェックシステムを用いて,証明法についての演習を行うコンピュータネットワーク山崎コンピュータネットワークの基本的考え方を学ぶ・OSI7階層モデル・通信方式・同期方式・データ伝送制御(ポーリング,トークン,CSMA/CD)・誤り制御・プロトコル(基本型データ伝送制御手順,HDLC)交流理論基礎と実験中村交流回路の知識はコンピュータのインターフェースや伝送系を考えるときに必須のものです.ここでは最低限の知識の習得と、それに伴う実験をしてもらいます. ・交流と複素数による表現・コンデンサーと交流・コイルと交流・各種波形と過渡現象Mizar5-基本群と不動点定理-師玉Mizar3の準備のもとに,基本群や2次元の不動点定理を題材に,位相数学

                                                                    • 大幅にリニューアルされた Next.js のチュートリアルをどこよりも早く全編和訳しました - Qiita

                                                                      数日前(4/21頃)に Next.js のチュートリアルが一新されました。 Next.js は 3 月頭に ver 9.3 がリリースされ、ビルド時に静的に HTML を生成する関数などが追加されるなど、今までよりもかなりパワフルになり、いわゆる JAMstack と呼ばれるようなアプリケーションを作りやすくなりました。 そのバージョンアップに対応するかたちで、チュートリアルも大幅に書き直されました。 参考(開発チームの @chibicode さんのツイッター) Next.jsの公式チュートリアルを最新版に沿ってゼロから書き直しました! 🎓英語ですが初心者向けです! ⚛️最近導入されたgetStaticProps等の関数や、 🎨CSS Modulesの解説をしています! 🗣ブログを作りながら学びます 🤗ご感想お待ちしております!https://t.co/R4j9vpAQoc — S

                                                                        大幅にリニューアルされた Next.js のチュートリアルをどこよりも早く全編和訳しました - Qiita
                                                                      • 発達障害者向けAIサポートツールgoblin.toolsを紹介|パトル | AI x Biz

                                                                        こんにちは、パトルです。 今回は、米国で話題になったgoblin.toolsを紹介します。 goblin.toolsは、主にニューロダイバーシティ(神経多様性)のある人々が苦労するタスクを手助けするためにデザインされたツールです。フリーランスのソフトウェアエンジニアであるBram De Buyserによって作成・管理されています。 ツール自体は英語ですが、日本語入力すれば日本語でも対応できます。シンプルなツールなので英語が読めなくても使うことはできます。 goblin.toolsの概要goblin.toolsには、6種類のツールがあります。簡単に概要を記載します。 マジックTODO・・・やりたいことを細かいタスクに分割してくれる フォーマライザー・・・伝えたいことを適切な表現に変えてくれる ザ・ジャッジ・・・文章に含まれる感情を説明してくれる エスティメーター・・・タスクにかかる時間を算出

                                                                          発達障害者向けAIサポートツールgoblin.toolsを紹介|パトル | AI x Biz
                                                                        • 「家庭用ゲーム機へ移植不可能」とされた『片道勇者』がNintendo Switchデビュー。難しすぎる移植はいかにして実現されたのか? - AUTOMATON

                                                                          ホーム インタビュー 「家庭用ゲーム機へ移植不可能」とされた『片道勇者』がNintendo Switchデビュー。難しすぎる移植はいかにして実現されたのか? 弊社アクティブゲーミングメディアが運営するパブリッシングブランドのPLAYISMは6月18日、個人デベロッパーSmokingWOLF氏が開発した強制横スクロールRPG『片道勇者プラス』をNintendo Switch向けに配信開始した。価格は税込1500円。本作はもともとフリーゲーム『片道勇者』としてリリースされたタイトルで、2012年8月に配信されるや否や瞬く間に熱狂的なフリーゲームファンに受け入れられ、数十万のプレイヤーが“左から迫る闇から逃れながら”魔王を倒すことに夢中になった。本稿の趣旨はインタビューであるが、インタビューに入る前に、移植における紆余曲折を説明させていただきたい。 移植が困難と思われたウディタ製ゲーム インディ

                                                                            「家庭用ゲーム機へ移植不可能」とされた『片道勇者』がNintendo Switchデビュー。難しすぎる移植はいかにして実現されたのか? - AUTOMATON
                                                                          • コメントの9割は無駄!~アンチプラクティスから学ぶ洗練されたコメントの書き方~ #code #コード|CodeIQ MAGAZINE

                                                                            コメントは基礎的で一般的なものでありながら、「どのようなことをコメントに残すか」は経験のあるプログラマにとっても難しいもの。 この記事では、アンチパターンコメントを見ながら、どのようなコメントを残すべきかについて説明します。 by 馬場美由紀 (CodeIQ中の人) コードは機械のために、コメントは人間のために? プログラミング言語を学ぶとき、コメントは最初に習う項目のひとつです。そして、プログラムであればコメントを含んでいることが普通です。ある研究によれば、ソースコードの平均19%がコメントだそうです。 コードを書くとき、私たちは機械とコミュニケーションを取ることを意識しています。機械はコードを認識してコンパイルしたり実行してくれます。解釈できなければ教えてくれます。プログラマは、コンパイラのためにデータ型を明示するコードを書いたりもします。 一方、コメントは人間とコミュニケーションする

                                                                              コメントの9割は無駄!~アンチプラクティスから学ぶ洗練されたコメントの書き方~ #code #コード|CodeIQ MAGAZINE
                                                                            • システムソフトウェアに対する攻撃の歴史と傾向 - 高度標的型攻撃や国家に支援された攻撃の仕組み - - るくすの日記 ~ Out_Of_Range ~

                                                                              A History of system-level offensive security researches: How is your system compromised by nation state hacking, APT attack はじめに 企業や個人に対するサイバー攻撃の頻度は年々増加の一途を辿っているが、これらはskiddyによる悪戯程度の物から、企業を標的とした高度な標的型攻撃、あるいは政府による諜報活動に至るまで多岐にわたっている。 特に大規模な組織や政府による綿密に練られたサイバー攻撃は、確実に目的を果たすために高度な手段が講じられる事が多い。 本記事では高度標的型攻撃や政府による諜報活動で用いられる手法の一つとして、"システムソフトウェアに対する攻撃"について紹介する。 これはオペレーティングシステム (OS) や仮想マシン、ファームウェアといった基盤システムを

                                                                                システムソフトウェアに対する攻撃の歴史と傾向 - 高度標的型攻撃や国家に支援された攻撃の仕組み - - るくすの日記 ~ Out_Of_Range ~
                                                                              • Joel on Software -

                                                                                プログラマのためのユーザインタフェースデザイン 第 1 章 第 2 章 第 3 章 第 4 章 第 5 章 第 6 章 第 7 章 第 8 章 第 9 章 ストラテジーレターV 2002年6月12日 ミクロ経済学の補完財の原理について考えていて、私はオープンソースソフトウェアに関する興味深いあることに気がついた。それが何かというと、オープンソースソフトウェア開発に多額の資金を使っている企業の多くは、それが彼らにとって良いビジネス戦略だからそうしているのであって、突然資本主義を信じるのをやめて、「言論の自由と言うときの自由」に浮かれるようになったわけではないということだ。ストラテジーレターⅤ 5つの世界 2002年5月6日 5つの世界:すべてのソフトウェア開発が同じではない。 追記:インターナルシステム、コンサルウェア、パッケージソフトの間には大きなグレーゾーンがあり、この3つの世界はしばし

                                                                                • ゲームばかりして少年時代を過ごしていたら、ゲームで飯が食えるようになったある男の話 - つきあたりを右に

                                                                                  新年あけましておめでとうございます 本名よりもHNの方がGoogleで返す情報量の多いVoQnです。 昨年末に、「ある少年に、ゲームをする時間よりも有意義な時間の過ごし方があると諭した」という記事が賛否問わず話題となりました。 DSの中でキャラクターが強くなって、それで?君は何を得たの?答えはゼロ、なんにも得ていない。仕事を頑張ったらお金がもらえるけど、それもない。勉強でもスポーツでもないので、一つでも漢字を覚える(つまりもっといろんな本が読めるようになるってことだ)、計算ができるようになる、サッカーがうまくなる、もちろんどれもない。ゼロ。君の未来の何にもつながっていないんだ。なるほど、それはわかるんだね。 ということは君がDSに使っている時間はすべてゴミだということだ。ほら、床に落ちてるホコリとかゴミがあるだろ。これと同じ。全てゴミとして君は時間を捨てている。もちろんね、生きていて無駄な

                                                                                    ゲームばかりして少年時代を過ごしていたら、ゲームで飯が食えるようになったある男の話 - つきあたりを右に