タグ

プログラミングに関するshidhoのブックマーク (294)

  • プログラムというものが分からない

    以下、プログラミングは出来ない俺の認識が間違っている場所があったら教えて下さい。あと、疑問2つを教えて下さい。 【俺の認識】 1. コンピューター(というかCPU)が実行する命令は【機械語】で書かれている。たとえばx86CPUの場合、0x04ならば『imm8をALに加算する』命令、0x90ならば『何もしない』などである。 2. 流石に機械語のままでは人間がプログラムするには不便なので、機械語をそのまま人間にも意味が分かるように1対1対応で書き直した【アセンブラ言語】というのがある。0x04ならば『ADD AL, imm8 』、0x90ならば『NOP』と表記される。 3. アセンブラ言語のように機械語と1対1対応している言語を【低級言語/低水準言語】と言う(この呼び方、4で書く高級言語が出来てから生まれたレトロニムか?) 4. アセンブラのままでプログラムするのも困難である場合が多いので、機

    プログラムというものが分からない
    shidho
    shidho 2020/08/04
    そのとおりで、CPUで行うこと"だけ"なら同じプログラムで動く(はず)。でも、その結果は表示デバイスが違うから見えないけどね。
  • GAFAコーディング面接こんな感じでした - yambe2002’s diary

    このあいだ、GAFA数社のコーディング面接を受けて全落ちしました。後続のため、オンサイト面接がこんな感じだったよ、というのをストーリー風に仕立てて公開します。問題と会話はダミーですが、雰囲気はかなり近くできたと思います。なお実際の会話はすべて英語で、バーチャルでの実施でした。 メイン問題はLeetCodeのNo.1472をもとに作成。 https://leetcode.com/contest/weekly-contest-192/problems/design-browser-history/ ちなみに「ぼく」はIQ+30くらいの設定です。それではどうぞ。 入室と自己紹介 面接官「やあ!わたしはシンディ。会えて嬉しいよ!」 ぼく「こんにちは、シンディ。ぼくはyambe2002。調子はどう?」 面「超いい感じだよ。きみは?」 ぼ「ぼくも超いい感じさ」 面「それはよかった。わたしは部署Aのソフ

    GAFAコーディング面接こんな感じでした - yambe2002’s diary
    shidho
    shidho 2020/06/16
    英語の問題を抜きにすれば10年前ならそこそこ簡単に解けたと思うけど、今は無理っぽいな。使わないといろいろなものが錆びつくな。
  • Scratch - Imagine, Program, Share

  • N予備校プログラミング入門コースで学べること - Qiita

    私 is 誰 今年の7月にドワンゴの教育事業部に異動し、N予備校でプログラミング講師をやることになりました。 現在は週2回ニコ生やN予備校上にてプログラミング入門コースの授業放送をしています。 ドワンゴ自体は7年目となり、ニコニコ動画の開発を4年、エンジニア教育エンジニア採用を2年ほどやってきました。 この記事で書きたいこと 現部署に異動後、教材のインプットを兼ねて『N予備校プログラミング入門コース』を履修したのですが、明らかに難易度が僕の想像した "入門コース" から外れたガチ編成になっていて衝撃を受けたことが記事を書こうと思ったきっかけです。 中身としてはとても良い教材になっているので、僕のような勿体無い誤解が少しでも減れば幸いです。 入門コースはいわゆる入門コースではない 『プログラミング入門コース』のゴールは ドワンゴがエンジニアとして採用したいレベル や IT企業のエンジニア

    N予備校プログラミング入門コースで学べること - Qiita
  • 『ガンダム』の世界観とともにプログラミング学習!「ZEONIC TECHNICS」が10月11日より予約開始! | 電撃ホビーウェブ

    shidho
    shidho 2019/09/30
    いい値段だが、ロボットとして考えると普通の値段なのだろうか。
  • Googleが無料で3Dゲームを簡単に作れるゲーム「Game Builder」を発表

    Googleの社内スタートアップ部門Area 120が、プログラミングの知識がなくても3Dゲームを開発できるゲーム「Game Builder」を正式発表しました。Game BuilderはWindowsMacで無料プレイ可能なゲームで、実は以前からSteamで公開されていましたが、大幅なアップデートによりできることが爆発的に増加しました。 Steam:Game Builder https://store.steampowered.com/app/929860/Game_Builder/ Create 3D games with friends, no experience required https://www.blog.google/technology/area-120/create-3d-games-friends-no-experience-required/ Game Bui

    Googleが無料で3Dゲームを簡単に作れるゲーム「Game Builder」を発表
  • 高校生全員が「Python」を履修するかも。「情報科」における学習内容、Pythonやmicro:bitが例示に挙がりましたが致命的なミスが!→訂正されました - パパ教員の戯れ言日記

    2019年5月27日追記:この記事のオチに使われている事態は修正された模様です。その点をご勘案の上、お読みください。 小学生では「プログラミング的思考」が導入される新学習指導要領ですが、高等学校では更に進みます。 高等学校においては、情報科において共通必履修科目「情報Ⅰ」を新設し、全ての生徒がプログラミングのほか、ネットワーク(情報セキュリティを含む)やデータベースの基礎等について学習 文科省の資料より 教育新聞の記事によれば、 情報科は現在、「社会と情報」か「情報の科学」を選択することになっている。全国的に、プログラミングが学習内容にない「社会と情報」のみを開設している学校が多く、情報科の専任教員を配置せずに他教科の教員が兼任で受け持つケースも少なくない となっていますが、新学習指導要領では、「情報Ⅰ」は必修になるので、全ての学校で指導されるはず。 そして、教員用の研修教材として文科省が

    高校生全員が「Python」を履修するかも。「情報科」における学習内容、Pythonやmicro:bitが例示に挙がりましたが致命的なミスが!→訂正されました - パパ教員の戯れ言日記
    shidho
    shidho 2019/05/20
    Fortranで電卓作る演習は偉い頑張って作ったけど、Cで電卓作る演習はコピペで済ませたな。成績は変わらなかった。クイックソートは未だにソースぱっと見では理解できない。
  • 牛乳卵問題に学ぶ、`要望` と `要件定義` と `設計` と `実装` の違い - Qiita

    はじめに 有名なプログラマージョーク プログラマの夫に「買い物にいって牛乳を1つ買ってきて。卵があったら6つお願い」と言ったら、夫は牛乳を6パック買ってきた。 プログラマーを笑う自虐ジョークとして使われがちですが、 良い題材なのでこれを元に要望 と 要件定義 と 設計 と 実装 の違いを纏めてみましょう。 下記、それぞれのフェーズの原理原則論を記載します。 各フェーズの原理原則 1. 要望 顧客()の要望 を書き出す:顧客の仕事 買い物に行って牛乳を1つ買ってきて、卵があったら6つお願い。 2. 要件定義1(ダイジェスト) 顧客の要望から曖昧な点を除いて復唱する:PM仕事 上記だとプログラマーの夫は牛乳を6買ってきました。夫はに、要望をより具体的な形で復唱する必要があります。 ここでは、卵を6つ買ってくるという事を確認することで事故を防ぐことができます。 牛乳を1買ってくる 卵が

    牛乳卵問題に学ぶ、`要望` と `要件定義` と `設計` と `実装` の違い - Qiita
    shidho
    shidho 2019/03/13
    実際に学校の授業だとプログラミング授業で設計や実装だけでなく要件定義まで含むことが多いからそういう混同が生まれるのかもな。
  • オレ プログラム ウゴカス オマエ ゲンシジン ナル - Qiita

    ガイヨウ オレ オマエ ゲンシジンスル プログラム カイタ ゲンシジン ジョシ ツカワナイ ゲンゴショリ スル ジョシ ケス ゲンシジン カンジ ヒラガナ シラナイ ゼンブ カタカナ スル サンプル import requests import json import sys BASE_URL = "https://api.ce-cotoha.com/api/dev/" CLIENT_ID = "オマエ アイディ イレル" CLIENT_SECRET = "オマエ シークレット イレル" def auth(client_id, client_secret): token_url = "https://api.ce-cotoha.com/v1/oauth/accesstokens" headers = { "Content-Type": "application/json", "charse

    オレ プログラム ウゴカス オマエ ゲンシジン ナル - Qiita
    shidho
    shidho 2019/02/14
    ルーマチャイホーマチャイというコピペに対してどうでもいいツッコミだが、タイ人の名字は歴史が浅いので、出しただけでどこの一族かほぼ特定可能だぞ。
  • 「さようなら ImageMagick」の考察 - Qiita

    はじめに サイボウズさんの ImageMagick の利用をやめる記事について少し思う所を書きます。否定というよりアシストのつもりです。(2018年08月26日投稿) さようなら ImageMagick 自分のスタンスを3行でまとめると、 policy.xml で読み書き出来るファイル形式を絞れば、いうほど怖くはない ただ、ImageMagick に限らずサーバサイドで動かすのは手間と覚悟が要る Yahoobleed の件でコード品質が信用ならないと言われたら、ごめんなさい 「ImageMagick を外した理由」 サイボウズさんのブログでは、2017年の ImageMagick 脆弱性報告数が多いので駄目との事です。 脆弱性 ImageMagick には脆弱性が大量に存在します。 2017 年に報告された ImageMagick の脆弱性は 236 件 でした。 大量にある上にリモートコ

    「さようなら ImageMagick」の考察 - Qiita
    shidho
    shidho 2018/08/27
    毎回毎回アップデートの度に差分読まないと使えない(たぶんそれはImageMagickに限らない)というのはライブラリの意味があるのか、それとも差分だから大したことがないのか……。
  • 【魚拓】みずほ銀行の炎上プロジェクトに支援に行ってきた話|問題編 - ここもちろぐ

    URL: http://www.cocoamocchi.com/entry/project-bank-problem 取得日時: 2018年6月4日 18:18 削除理由: 個人情報削除済み 手続日時: 2018年6月10日 23:46

    【魚拓】みずほ銀行の炎上プロジェクトに支援に行ってきた話|問題編 - ここもちろぐ
    shidho
    shidho 2018/06/06
    これがNDA違反で揉めちゃうの、国家元首をバカだと公言して国家機密漏洩罪になっちゃうアネクドートを彷彿とさせるな。
  • FizzBuzzを1byteで実装する - Qiita

    以前「FizzBuzz Zero ―― 人類の知識なしでFizzBuzzをマスターする」という記事がQiitaに出ました。 これに対して「人類の知識を使わないと大変すぎる」という趣旨の意見がいくつかありました。確かにGitHubで公開されているコードをみると全部で31,086 バイトで、少し長いような気もします。 では、人類の知識を使うと、どれくらい簡単にFizzBuzzを書けるのでしょうか? 気になって調べたので、備忘録も兼ねて記録したいと思います。 この記事の内容をざっくり2行で: 様々なプログラミング言語の最小のFizzBuzzコードを比較する 最短で1バイトで実装できる 目次: 1. Code Golfとは 2. Python3 3. Python2 4. C 5. Ruby 5. Bash 7. GolfScript 8. Vim 9. Hexagony 10. Lazy K 1

    FizzBuzzを1byteで実装する - Qiita
    shidho
    shidho 2018/05/29
    Hexagonyの仕様を見てなんかボードゲーム作れないかなーと思ったりした。
  • 相対的なネーミングはよせ、やめるんだ! - Qiita

    たぶん1000回くらいは言われてきているがいまだに絶滅しないので、もう1回言う。ファイル名でもソースコード上の変数でもCSSのセレクタでもなんでもいいけど、相対的なネーミングはやめよう。 Safe Harbor Statement この投稿は個人の(中略)であり、所属する組織とは関係ありません。 なぜ相対的なネーミングをしてはいけないか 名前をつけた人の主観が入り込むため 時間が経つにつれ名前が実態と乖離し混乱を招くため 実装に無駄な制約をかけるため なぜ相対的なネーミングがなくならないか なにが相対的なネーミングなのか理解していないため じゃないかな多分。 避けるべき語 というわけで相対的なネーミングを回避するための禁止ワードのうち代表的なものをあげておきます。 new, 新, latest, 最新, old, 旧 など これらの時系列を表す語は、比較対象がないと新なのか旧なのかわかりま

    相対的なネーミングはよせ、やめるんだ! - Qiita
    shidho
    shidho 2018/05/18
    newをネーミングに使ってはいけないのはポンヌフ(“新しい橋"ことパリ最古の橋)とかニューロード(バンコク最古の通りの別名)とかチェンマイ(遷都ゆえだがなかなかの古都)とかでみな骨身に染みているとおもった。
  • 日本一マクドナルドから遠い場所 - Qiita

    きっかけ 日マクドナルド様のサイトの店舗検索の地図をみてたら、やたらたくさんの店舗が一度に表示できる。 これって全店舗一度に読み込んでるのかな、とChromeのデベロッパーツールで覗いてみると、全店舗分のJSONが見えた。 全店舗2887件。 ちょっと拝借して長年の疑問を晴らしてみようと思った。『はたして、日で一番マクドナルドから遠い場所はどこなのか?』 注) 離島は除きます。離島を含めると南鳥島がぶっちぎりです。 Fusion Tablesでプロットしてみる Fusion Tablesに緯度経度をインポートすることでマップに位置をプロットできるのでやってみた。 Fusion Tablesの導入その他に関しては他に説明を譲ります。 とりあえずデベロッパーツールからJSONを丸ごとコピペして編集の末にCSVファイルをでっちあげた。 Fusion Tablesで扱えるように、先頭行にはカラ

    日本一マクドナルドから遠い場所 - Qiita
    shidho
    shidho 2018/04/27
    ギリギリまで孤立していた岩手県の2地域、久慈市と大船渡市だが、どちらもモスバーガーがあるのでハンバーガー不毛の地ではない。とはいえ創業者の出身地付近に昔からあったモスバーガーは津波で消失した。
  • タイムゾーン呪いの書 - Qiita

    コメント欄で「Software Design 誌 (2018/12) に寄稿した内容や修正などをこちらの記事にも適用したい」と言ったあと、やるやる詐欺でずっと放置していましたが、三年近く経ってようやく 2021年 7月に大幅に改訂し、同時に Zenn に引っ越すことにしました。 タイムゾーン呪いの書 (知識編) タイムゾーン呪いの書 (実装編) タイムゾーン呪いの書 (Java 編) なにやら長くなりすぎたので三部構成になっています。 この Qiita 版は、しばらく (最低一年は) 改訂前のまま残しておきます。 タイムゾーンの存在はほぼ全ての人が知っていると思います。ソフトウェア・エンジニアなら多くの方が、自分の得意な言語で、タイムゾーンが関わるなにかしらのコードを書いたことがあるでしょう。ですが、日に住んで日仕事をしていると国内時差もなく1 夏時間もない2 日標準時 (Japa

    タイムゾーン呪いの書 - Qiita
    shidho
    shidho 2018/02/07
    java実装絡み以外は知ってた。/1980年代ミニ独立国ブームの時に時差を設定したところがあったような気がするが気のせいかもしれないしたぶんメンテされてない。あとSouth Ryukyu Islands問題とか懐かしい。
  • よく使う正規表現はもうググりたくない! - Qiita

    タイトル通りによく使う正規表現を毎回ググるのが効率悪いのでまとめてみました。各言語で正規表現のサンプルを書いてみました。 正規表現式 Emailアドレス ^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ ドメイン名 ^[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9]\.[a-zA-Z]{2,}$ インタネットURL ^(http|https)://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ ユーザー名 (Twitter username) ^[a-zA-Z0-9_\-.]{3,15}$ 固定電話 ^0\d-\d{4}-\d{4}$ 携帯電話 ^(070|080|090)-\d{4}-\d{4}$ IP電話 ^050-\d{4}-\d{4}$ フリーダイヤル ^0120-\d{3}-\d{3}

    よく使う正規表現はもうググりたくない! - Qiita
    shidho
    shidho 2017/12/12
    有名人がやらかしたときもhttp://bit.ly/oocIec こんな感じでツッコミ入れているけど、8年経ってもこの有様だよ!/というか書かれたクソな内容がこの8年前のツッコミ全く活かしてなくて死にそう。
  • Nが現れる素数(N=1,2,3,4) - 技術メモ

    2が現れる素数という面白い素数が紹介されていた。 2が現れる素数 - INTEGERS 昔せっかく高速素数判定器を作ったので、どうせならNが現れる素数を見つけてやろう!と思い立った。 プログラム (※プログラムはpython(2.7.12)で動作します) ルールとしては ①四隅のみの数字を変える(もちろん先頭は1以上の数字) ②四隅の数字はN以外の数字にする としています。 なので、それぞれ5832(8*9*9*9)個の数字の中から素数を探すことになります。 高速素数判定のプログラム(再掲) primechecker.pyという名前で保存 import random import numpy as np class PrimeChecker: def __init__(self, list_limit = pow(10,3)): if list_limit < 5: list_limit

    Nが現れる素数(N=1,2,3,4) - 技術メモ
  • ウェブアプリをソースごとパクる業者に対する対策 - Qiita

    こんにちは。みなさんもウェブアプリをリリースしたあとに同業者にソースごとパクられたことってありますよね。難読化しても難読化されたまま同業者のサーバで動くので困ったものです。そこで、私がとった解析しずらい対策をまとめてみたいと思います。 前提 多機能な画面をJavaScriptでゴリゴリ作ったのにもかかわらず、HTMLCSSJavaScriptファイル一式を自社サーバにまるごとコピーして、ライセンス表記だけ書き換えて使うような業者を罠にはめるということを想定しています。 当然通信をリバースエンジニアリングする人もいるので、自社サーバでは防げないという前提です。 HTMLにはauthorメタタグ よくあるMETAタグで権利者を明記します。これは権利の主張もそうですが、JavaScript自体に権利者が認定した権利者でなければ無限ループを起こすという処理のためにも使用します。逆に、権利者が我

    ウェブアプリをソースごとパクる業者に対する対策 - Qiita
    shidho
    shidho 2017/11/20
    これ書いちゃうと次回からここまで前提でパクられそうな気がしないでもなくもない。
  • まじな話をすると、N予備校のプログラミング入門コースやるのがオススメ。 ..

    まじな話をすると、N予備校のプログラミング入門コースやるのがオススメ。 https://www.nnn.ed.nico 一日8時間勉強時間があるなら、だいたい一ヶ月で終わる内容。 月額1000円だけどしっかり勉強すれば一ヶ月の無料期間中に終わると思う。 もともとN高等学校のノンプログラマーの生徒をWebエンジニアとして就職させるために作られたカリキュラムで講師曰く去年はこれで二人エンジニア就職を決めたらしい。 内容も相当親切に説明していて、プログラミングで何か作るだけじゃなくて、就職に必要な環境構築やセキュリティまでみっちりやる。 http://qiita.com/sifue/items/7e7c7867b64ce9742aee#%E3%82%B3%E3%83%B3%E3%82%BB%E3%83%97%E3%83%88%E3%82%92%E3%82%82%E3%81%A8%E3%81%AB

    まじな話をすると、N予備校のプログラミング入門コースやるのがオススメ。 ..
    shidho
    shidho 2017/09/12
    これだけの内容、1日8時間やって1ヶ月でおわるの?
  • GCEディスクのオンライン拡張を試してみた

    GCEではなんと、ディスクを割り当てしたまま拡張することが可能です。 通常良くあるクラウド等では一度スナップショットを取り、そこから拡張した別ディスクとして割り当てて切り替える、と言うような手順を踏むのが一般的でしたし、GCEでも以前はそうでした。 が追加されたのです。いつからかはちょっと不明ですが。誰か教えてください。 さて、実際の手順ですが。当記事ではDebianで紹介したいと思います。Windows以外ではほぼ同様の手順で可能と思われます。 インスタンスの立ち上げ gcloudコマンドの認証 gcloudコマンドでディスクを拡張 OS側での拡張ディスクの認識作業 です。慣れれば2分で出来ます。 1,2については通常良くありますし、3のコマンドが発行出来るならCloud Shellからでも問題ありませんので、省略します。 gcloudコマンドが実行出来て、GCEのインスタンスのroot

    GCEディスクのオンライン拡張を試してみた
    shidho
    shidho 2017/08/24
    オンライン拡張って自分の知識にないやつで本当にありがたい。