タグ

ブックマーク / qiita.com (30)

  • printfに4285個アスタリスクをつけるとclang++が死ぬ - Qiita

    def check(n) s = "*"*n f = open("test.cpp","w") f.puts <<EOS #include <cstdio> int main(){ (#{s}printf)("Hello World\\n"); } EOS f.close() return system("clang++ test.cpp") end check(ARGV[0].to_i) $ ruby check.rb 10000 clang: error: unable to execute command: Illegal instruction: 4 clang: error: clang frontend command failed due to signal (use -v to see invocation) Apple LLVM version 10.0.1 (clang

    printfに4285個アスタリスクをつけるとclang++が死ぬ - Qiita
  • ものすごく汚くて、あり得ないほど美しいFizzBuzz【Ruby】 - Qiita

    はじめに ハローワールド 以下にものすごく汚いコードを載せます。 このコードは一体どんな動きをするのでしょうか(タイトルからソース名から何からネタバレ済み)。 eval(sss=%w@proc{|n|;e=32.chr;a=64.chr;l=":>==;<==x"[i=n**4%-15,i+13]||"#{n}";t="eval(sss=%w#{a}#{sss[0,330]}[#{n+1}]#";r='';25.times{|y|;m=l.bytes.map{|d|(0..[62-d,2].min).map{|x|;t+=sss;"wsv2k77zuvwb9kzot8gotx82bgz7pg237pyz91wk8dr".to_i(36)[(d-48)*15+y/5*3+x]>0?t.slice!(0,9):e*9;}<<e;}.join;y>23&&m[-6,6]="#{a}*'')";p

    ものすごく汚くて、あり得ないほど美しいFizzBuzz【Ruby】 - Qiita
    kemboorg
    kemboorg 2019/07/22
    Ruby は難解プログラミング言語
  • 文科省のPythonはPythonじゃねぇ - Qiita

    TL;DR 文科省によるプログラミングの教材はダメダメ。PEP8読め。 追記 もちろん、この指摘が普通のコードに対するものだとすれば 「重箱の隅をつつきすぎ」 だというのは全くその通りだと思います。こんな指摘をするつもりはさらさらありません。 しかし、これが文科省という権威ある機関が発表するものならば話は全く違います。 全ての日教育を一身に背負うくらいの気持ちと成果を伴わなければならないとも思います。 そういう理由での、厳しい(というか細かい)指摘です。 追記2 自分の説明が足りませんでした(すみません)。ちなみにこの教材は「教員研修用」です。 この教材で研修を受けた教師にプログラミングを教えられると思って考えてみてほしいと思います。 追記3 (2019/9/25 文科省の改訂を受けて) この度文科省がPythonに関する資料の改訂版を発表しました。 文科省に対して改善を求める当初を行

    文科省のPythonはPythonじゃねぇ - Qiita
    kemboorg
    kemboorg 2019/05/21
    「プログラムを初めて学ぶ上では気にしなくていい。動くものを作って楽しさをまず学んでくれ。」は学ぶ側の人たちには正しいけど、教える側はちゃんと気にしてくれ
  • 【コマンドライン】unixコマンドやプログラミング言語の文法をできるだけググらない【Scrapbox, Pecoの活用】 - Qiita

    【コマンドライン】unixコマンドやプログラミング言語の文法をできるだけググらない【Scrapbox, Pecoの活用】PecotldrScrapbox unixコマンドやプログラミングの文法など、 1回ググったものを何度もググりたくない (0) tldr tldr-pagesというOSSがあってtldrというコマンドを作っています。 tldr command_nameと打つと簡単なコマンドの説明が表示される。 これで、 忘れたunixコマンドやgitのコマンドはだいたいokです。 要するにtldrはman(マニュアルを表示する)コマンドの要約(簡易)版です。 インストールは、 https://github.com/tldr-pages/tldr#clients から(私はBash clientsを使っています) (1) Scrapboxとpecoの組み合わせ tldrではコマンドの説明し

    【コマンドライン】unixコマンドやプログラミング言語の文法をできるだけググらない【Scrapbox, Pecoの活用】 - Qiita
  • vimって極めればvscode並のIDEになるんじゃないの? - Qiita

    個人用メモです。 *めちゃくちゃ昔の記事なのでasync系のプラグインが無かったりneovimじゃなかったり色々恥ずかしいですが、エンタメ的な気持ちで読んで頂ければ幸いです。 今回は、自分が味噌漬けに育ててきたvimを、初心者の方でもコピペで簡単に再現できるように3分で作っていきます。 ※中央上がエディタ画面、左がディレクトリツリー、右上がターミナル、下がエディタで開いてる機械学習ファイルの実行ログ。全てvimで出してます。 今回は以下の内容を紹介していきます。 インサートモードでもマウスでコピーアンドペースト ファイルのツリー表示 16言語の補完(ディレクトリ補完も有) vim画面でプログラム実行/出力 vim画面でシェルを開く 各種便利ショートカット 覚えづらいコマンドのショートカット化 まずは必要なライブラリのインストール " setting if has('vim_starting

    vimって極めればvscode並のIDEになるんじゃないの? - Qiita
    kemboorg
    kemboorg 2019/04/13
    僕も VSCode に vim プラグイン入れて満足してるタイプのにわかだけど 精一杯 vim 楽しんでる人捕まえてそこまでボコボコにしなくてもええじゃろ……
  • 未経験から7日間でコーダーとして現場投入させるまでのカリキュラムを忘れないようにメモっとく - Qiita

    エンジニア不足と言われて久しいですが、できる経験者を採用するのはますます難しくなっていますね。 そんななか、弊社ではひょんな縁からエンジニア未経験の新人をエンジニアとして採用することになりました。未経験とはいえ、弱小企業の弊社には悠長に育てている余裕がないため、7日間で現場投入を目指してカリキュラムを組みました。 だいたいうまくいったので、メモがわりに晒しておきます。 前提条件 誰でも7日間でエンジニアになれると言っているわけではありません。あくまで一例として捉えていただければ幸いです。 担当してもらう予定の領域 HTML/CSS コーディング JavaScript はそこそこで(動きのエフェクトやカルーセルを仕込める程度) concrete5 テーマの開発(PHPファイルに foreach を入れていくイメージ、WordPress と変わらない) 流石にアプリケーション開発で7日間は無理

    未経験から7日間でコーダーとして現場投入させるまでのカリキュラムを忘れないようにメモっとく - Qiita
  • Pythonで実用Discord Bot(discordpy解説) - Qiita

    はじめに この記事は Pythondiscord.py を利用した Discord Bot 開発のチュートリアルです。 Pythonの基礎知識がある方を対象読者としています。 (関数の定義と呼び出しができるレベルを想定しています) PythonDiscord Bot を開発する場合、 Discord API ラッパー の discord.py を利用するとお手軽なのですが、 そのためにはこちらの 公式ドキュメント を根気よく読む必要があります。 この記事ではドキュメントの内容を簡単に噛み砕き、 Botを作成する手順とよく使う機能の実装方法を紹介します。 技術ドキュメントを読み慣れている方はこの記事は不要です。こちらをどうぞ。 はじめに — discord.py 1.4.0a ドキュメント クイックスタート — discord.py 1.4.0a ドキュメント プログラミング未経

    Pythonで実用Discord Bot(discordpy解説) - Qiita
  • ワイのテスト苦労開発〜転職したら最年長ザコーダーになった件〜 - Qiita

    ※今回はほぼ実話です。 再就職して1週間経った35歳ワイ ワイ「あー、お腹へったわ」 ワイ「先週から1置き換えダイエットをしとるから、すぐお腹が空くねん」 ワイ「なにしろ炭水化物を筋トレに置き換えとるから」 ワイ「脳みそが───」 脳「せめてべ物に置き換えてや!?」 ワイ「───って叫んでんねん」 ワイ「まあそんなん言うててもしゃあない、お仕事ガンバルで」 お仕事開始 リーダー「今日はこのサイトの修正をしてもらうで」 ワイ「はい〜」 ワイ「まずはGitHubのリポジトリからクローンして、と」 ワイ「ローカル開発環境はどないして起動すんのかいな?」 ワイ「npmとかいうやつか?」 ワイ「よっしゃ、よう分からんから隣の席のカリポリ君に聞いてみよか」 ワイ「なあ、カリポリ君」 ワイ「ローカルサーバーを起動するにはターミナルでnpm startとかいうコマンド打てばええのんかな?」 カリポリ君

    ワイのテスト苦労開発〜転職したら最年長ザコーダーになった件〜 - Qiita
  • Firebaseを使い始めたら人生が変わった(ような気がした) - Qiita

    最近、僕の周りでFirebaseを使った人たちは、 「サーバーの処理をFirebaseに置き換えたら、筋肉がつきました!」(29歳, 社会人) 「Firebaseを使ったら友達も増えてわっしょいわっしょい」(11歳, 小学生) 「もうFirebase無しじゃ生きられない」(38歳, エンジニア) 「にゃーん」(1歳4ヶ月, うちの) と言っていました。嘘です。 冗談はさておき、趣味で開発しているアプリのサーバーサイドをFirebaseに置き換えたらすごく良かったので、ずらずらと書いていきたいと思います。 Firebaseとは? Firebaseは、Googleが運営しているmBaaSで、iOS/AndroidアプリからWebサービスまで幅広く使えます。 リアルタイム同期や豊富な機能が特徴で、サーバーサイドの開発コストを大幅に減らすことができます。 色々機能はあるのですが、今回僕が使った機

    Firebaseを使い始めたら人生が変わった(ような気がした) - Qiita
  • ブラウザでVS codeが使えるクラウド IDEの大本命「Coder」 - Qiita

    TL;DR ブラウザ上でほぼVS codeが使えるクラウドIDEサービス「Coder」 他のVS codeライクのクラウドIDEと異なるのは「拡張機能がそのまま使える」。大半の拡張機能を利用可能 現在はアルファ版 ChromebookやiPadでの利用も想定している Dockerコンテナにプロジェクトを作成するので自由度が高い 無料プランでも十分に使える。他のクラウドIDEと比べて月額費用が安い Fast Time機能を使うと時間制で96CPUコア、メモリ16GBが利用可能(課金で殴る開発駆動) コラボ機能で1つのプロジェクトで複数ユーザでペアプログラミングができる(未確認) きっかけ 2019年2月28日の夜、「あれ、VS codeライクなクラウドIDEってなんて名前だっけ?」という疑問から 「Cloud IDE vs code」 でググったところ以下の検索結果が表示。 ここで目的である

    ブラウザでVS codeが使えるクラウド IDEの大本命「Coder」 - Qiita
  • [前編] IDトークンが分かれば OpenID Connect が分かる - Qiita

    はじめに 「解説記事を幾つも読んだけど OpenID Connect を理解できた気がしない」― この文書は、そういう悩みを抱えたエンジニアの方々に向けた OpenID Connect 解説文書です。概念的・抽象的な話を避け、具体例を用いて OpenID Connect を解説していこうと思います。 この文書では、JWS (RFC 7515)、JWE (RFC 7516)、JWK (RFC 7517)、JWT (RFC 7519)、ID トークンの説明をおこないます。 追記(2020-03-20) この記事の内容を含む、筆者人による『OAuth & OIDC 入門編』解説動画を公開しました! 1. 『ID トークン』を発行するための仕様 一般の方々に対しては「OpenID Connect は認証の仕様である」という説明で良いと思います。一方、技術的な理解を渇望しているエンジニアの方々に対

    [前編] IDトークンが分かれば OpenID Connect が分かる - Qiita
  • Webアプリ無料運営のススメ:FirebaseとNuxt(Vue)なら最強! - Qiita

    まだサーバーで消耗してるの?Firebase(サーバーレス)とNuxt.js(Vue系)ならWebアプリ運営は最強でしょ!? この記事は、 サーバー費用をなるべくかけたくないけどショボいのはNO Firebaseの活用法をあまり理解していない Nuxt/Vueを使ってアプリ作ってみたい(Next/Reactと悩んでたり) アプリ構想はあるけどアイデアの落とし込みスピードが遅くて毎回挫折する という人向けに、「こんな感じで構築すれば効率良く開発できそうよ」というのを、勉強になった記事や技術的トピック・躓いた点なども合わせて紹介させていただきます。初心者向け&技術トピック気になる方向けです! 今回作ったアプリ「Moji → Pic」 Moji → Picは、文字だけだとなかなか目につく投稿ができないなぁ…とお困りの時にインパクトある画像が即座に出来るアプリ。目立ったツイートで友達に差をつけろ!

    Webアプリ無料運営のススメ:FirebaseとNuxt(Vue)なら最強! - Qiita
  • 関数型アルゴリズムとデータ構造をElmでたのしく学ぼう! - Qiita

    こんにちは!皆さんはアルゴリズムとデータ構造はお好きですか?私は好きになりたいのになれないタイプの人間です・・・。手続き型でアルゴリズムを組んでいると頭がこんがらがりますし競技プログラミングの問題は少し難しくて、ストイックではない自分には厳しい世界です(もちろんハマれる方はどっぷりハマれて、とても楽しそうに見えます!)。 そこで私はElmのチカラを借りてエディタ(ビューワ)を作り可視化することで、たのしくアルゴリズムとデータ構造を学ぶことにしました!今回のテーマは二分探索木」。エディタづくりに入る前はTDDでたのしくテストコードを書いたりもしていました。ちょっと工夫した点は、SearchやInsert時にどのようなステップを踏んだかをアニメーションで可視化したり、乱数でツリーを作るということをしてます。以下のリンクで公開しているので是非楽しんでみてください。 今回のソースコードはこちらにな

    関数型アルゴリズムとデータ構造をElmでたのしく学ぼう! - Qiita
  • とにかく「e」が書かれているだけのリポジトリが面白い - Qiita

    #!/usr/bin/env python3 e = list("2.71828182845904523536028747135266249775724709369995957496696762772407663035354759457138217852516642742746639193200305992181741359662904357290033429526059563073813232862794349076323382988075319525101901157383418793070215408914993488416750924476146066808226480016847741185374234544243710753907774499206955170276183860626133138458300075204493382656029760673711320070932

    とにかく「e」が書かれているだけのリポジトリが面白い - Qiita
    kemboorg
    kemboorg 2018/12/13
  • 壁を殴れるChrome拡張機能を作った💪💪💪 - Qiita

    こちらはクソアプリ Advent Calendar 2018の11日目の記事です。 クソアプリ作りてぇな〜〜とずっと思ってたので参加できてうれしいです😺 なんかたま〜にイラッとして壁殴りたくなるときありませんか? 壁殴り代行もいいですが、やっぱ自分も壁殴りたいですよね! ということで壁殴りができるChrome拡張機能「かべなぐり」を作りました! インストールはこちら どういう機能? 壁(というかページ)を殴れる拡張機能です。以下の動画を見てください! インストール方法 Chrome拡張機能ですのでChromeのみです https://chrome.google.com/webstore/detail/%E3%81%8B%E3%81%B9%E3%81%AA%E3%81%90%E3%82%8A/ogbkmndkngibajlacagingmcpkbbjijp?hl=ja 使い方 インストール

    壁を殴れるChrome拡張機能を作った💪💪💪 - Qiita
    kemboorg
    kemboorg 2018/12/13
  • 今どきのVTuberゲーム配信は、無料で、カンタンに、ここまで出来る。スマホとカスタムキャストで君も美少女に転生だ - Qiita

    ※ 配信用のソフトについて、使い慣れている場合はOBSの代わりにXsplit Broadcasterを使うのも良いだろう。有料版であれば、前述のRmtpRelayerも不要になる。 【選定理由】構成の利点、もしくは何故カスタムキャストが究極のVTuberソフトであると断言できるのか VTuberを構成するシステムの核は、3Dモデルを読み込み、トラッキングを行うソフトである。その中で、下記を選定条件として、比較検討をした。 最大目的:重量級のPCゲームに3Dモデルを合わせ、動画サイトで配信する。 軽い。PCゲームへの負荷を極力軽減する カメラでフェイストラッキングができる。ヘッドセット着用でFPSは遊べない トラッキング中の背景を緑一色にできる。配信ソフトでクロマキー合成を行う為 かんたん。(だいじ) かわいい。(すごくだいじ) この条件を総て満たし、しかも相当に高いレベルで実現できるソフ

    今どきのVTuberゲーム配信は、無料で、カンタンに、ここまで出来る。スマホとカスタムキャストで君も美少女に転生だ - Qiita
    kemboorg
    kemboorg 2018/12/06
    「スマホなんかで顔トラッキング出来ても活用方法限られるやんけ!」って思ってたんだけど この方法ならかなり自由に色々出来そう こういう方法があったのか
  • システムで「性別」の情報を扱う前に知っておくべきこと - Qiita

    0は性別に関する情報が得られない場合に使います。性別に関する情報はあるのだけど1とも2とも言えない場合は9を使います。要は「0でもなくて1でも2でもなければ9」です。 これを知っていればMだとかFだとかを議論をせずに済みますね。 国際規格に従うべき理由 国際規格に従うことは色々と利点があります。まず、どうしてそういうコード体系にしたのかを説明しやすいです。また多言語対応する際も規格通りに書けば伝わるはずなので迷わずに済みます。別システムへのデータの移行や、異なるシステム間でのデータの統合もコード体系が同じならラクラクです。もしかしたら別のプロジェクトで書いたコードをそのまま使いまわせるかもしれません。技術者に対するトレーニングも不要です。 対して、わざわざ国際規格に反する実装をする場合は上記のメリットがそのままひっくり返ってデメリットになりはしますが、もちろん、それなりの理由があれば規格と

    システムで「性別」の情報を扱う前に知っておくべきこと - Qiita
    kemboorg
    kemboorg 2018/04/13
    "設計にあたる技術屋さんは是非「使わないんだったら性別欄は削除しましょう」と提案してください。"
  • Haskell 超入門 - Qiita

    Haskellで簡単なプログラムを書くのに最低限必要な基礎文法を取り上げます。練習では再帰に慣れることに重点を置きます。再帰によるリスト処理の例として各種ソート(挿入ソート、バブルソート、マージソート、クイックソート)を紹介します。ラムダやモナドなどの発展的な内容には触れませんのでご了承ください。 シリーズの記事です。 Haskell 超入門 ← この記事 Haskell 代数的データ型 超入門 Haskell アクション 超入門 Haskell ラムダ 超入門 Haskell アクションとラムダ 超入門 Haskell IOモナド 超入門 Haskell リストモナド 超入門 Haskell Maybeモナド 超入門 Haskell 状態系モナド 超入門 Haskell モナド変換子 超入門 Haskell 例外処理 超入門 Haskell 構文解析 超入門 【予定】Haskell 継続

    Haskell 超入門 - Qiita
    kemboorg
    kemboorg 2017/08/20
  • 中の人に聞いたGitHub flowの本当の使い方 - Qiita

    背景 今日GitHubの中の人のLTを聞く機会があって当のGitHub-flowを聞いてきたので 忘れない間にメモ GitHub-Flowのお約束 Masterにあるものは即座にデプロイ可能な状態に保つこと ブランチの上で必ず作業し、その生存期間を短くすること すぐにPRを作り、フィードバックやサインオフを求めること マージしたらすぐにデプロイすること 当のGitHub-flow 中の人曰くよくマージしてからデプロイすると言っている人がいるらしい。 だが当のGitHub-flowは違う。 当のflowは PR作成 ⇩ 修正 ⇩ デプロイ ⇩ フィードバック ⇩ マージ らしい。 マージ前にデプロイすることでさらにユーザーに近いところでフィードバックを受けることができるとのこと。 ダメなら直ちにmasterに戻す。なので決まりごとの中にmasterは直ちにデプロイできる状態にあること

    中の人に聞いたGitHub flowの本当の使い方 - Qiita
    kemboorg
    kemboorg 2017/05/31
  • Google Apps Scriptでクレジットカード利用明細を毎月自動で奥さんにメール送信する - Qiita

    はじめに 多くのプログラマーにとって、最大の関心事は主に2つです。 いかに良いコードを書くか いかに奥さんのご機嫌を取るか 今回のテーマは「2. いかに奥さんのご機嫌を取るか」という課題をGoogle Apps Scriptで解決するという話です。 夫婦円満の秘訣は、財布を奥さんに預けることである 先人達は、後世の若者たちのために良い知恵を遺してくれました。リスクを共にする夫婦間でお金の管理をクリアーにすることが夫婦円満の秘訣ということです。我が家でも先達の知恵に倣い、お給料を全て奥さんに預けてお小遣い制を導入しています。 しかし、お金の管理を不透明にするやっかいな代物があります。ネットショッピングに欠かせないクレジットカードです。10年ほど前であれば、クレジットカード利用明細が毎月カード会社から郵送されてきたので、奥さんが利用明細を見ることで出費の透明性が担保されていました。しかし、最近

    Google Apps Scriptでクレジットカード利用明細を毎月自動で奥さんにメール送信する - Qiita
    kemboorg
    kemboorg 2017/04/19
    GASの処理上でログインしてデータを取得 熱い