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

  • JavaScriptでデッドロックを作ってみた

    いきなりですが、皆さんは排他制御をご存知でしょうか。排他制御は並列コンピューティングにおける概念であり、複数のプロセスが資源を共有して使用する際に、複数のプロセスが同時に資源を使用している状況(競合)が発生しないように制御する手法です。(この分野にはあまり詳しくないのでまさかり等は歓迎します)。 排他制御の一手法としてロックが知られています。この手法では、ある資源を使用するためにはまずその資源のロックを取得する必要があります。そして、資源を使い終わったらロックを解放します。あるプロセスがロックを取得している間は、別のプロセスは同じロックを取得することができません。よって、ロックを取得できたときのみ資源を使用するようにプログラムを書くことによって、資源に対する競合を防ぐことができます。 典型的には、使用したい資源が他のプロセスに使用されている場合、その資源のロックが解放されるまで待つことにな

    JavaScriptでデッドロックを作ってみた
    oscdis765
    oscdis765 2018/10/23
  • オブジェクト指向が0.05%も理解できない記事

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 尽く書を信ずれば即ち書無きに如かず 《孟子『尽心下』より》 イントロダクション 「最も理想的なオブジェクト指向を実現しているプログラミング言語は何か?」と問われたとき、君は何と答えるだろうか? C++Java、C#。君がそうだと思っているのは表面だけで、たぶん何もわかっていないのだろう。無知であることを知っているのであれば、無知のまま過ごした方が幸せなときもある。 Simula、Smalltalk、Ruby。君は質をいくらか知っているようだから、引き返すなら今のうちだろう。深淵を覗けば、君もまた怪物にならざるを得ない。 JavaSc

    オブジェクト指向が0.05%も理解できない記事
    oscdis765
    oscdis765 2018/10/03
  • 実装クリーンアーキテクチャ

    最近何かと騒がしいクリーンアーキテクチャですが、丁度プロダクトで採用したところだったので折角なので情報共有ということで Qiita の初記事にしてみようと思います。 こちらの記事は GUI や CUI のアプリケーションを対象にしています。 Java コードの記事リンク:https://nrslib.com/clean-architecture-with-java/?preview_id=1263&preview_nonce=542ba7b70f&_thumbnail_id=1293&preview=true その他解説もしています。もしよろしければチャンネル登録をお願いいたします。 より実践的なコード(WEBアプリケーション): https://github.com/nrslib/itddd/tree/master/CleanLike YouTube での解説(WEBアプリケーション):

    実装クリーンアーキテクチャ
    oscdis765
    oscdis765 2018/10/03
  • JavaScript・再帰・トランポリン - Qiita

    現状整理 JavaScript では末尾再帰最適化(PTE: Proper Tail Call) は、完全には期待できない https://kangax.github.io/compat-table/es6/ 末尾再帰による最適化 - Qiita なので再帰は注意して使わねばならない スタックオーバーフローしないことをチェック 再帰を辞めて for 文とかに何とか変換する とはいえ再帰を使いたい こともある じゃあどうするか?が稿の目的 再帰におけるスタックオーバーフローは、末尾再帰の最適化ができる他の言語でも起こりえる(例: 末尾再帰できない場合)。じゃあ、他の言語の場合どうしているかというと、トランポリンするらしい。もちろん JavaScript でもトランポリンできる。トランポリンすると、再帰が深くなってもスタックオーバーフローしない。 処方箋 ざっくりいうと以下の処方でスタックオ

    JavaScript・再帰・トランポリン - Qiita
    oscdis765
    oscdis765 2018/09/13
  • ぼくたちのかんがえたさいきょうのi18n国家

    記事は下記のtweetから始まるスレッドに触発され、@qnighyや@na4zagin3からアイディアを拝借して書いた。 i18n力が最強の国は国内に複数の言語があり、そのうちいくつかは他国でも使われている言語の方言で、1バイト文字での代替表記が困難で、歴史的にISO-2022ベースの文字コードとUnicodeと独自エンコーディングが混在していて、フリガナなどの特殊な組版規則があり、右書き左書き縦書きを併用し、 — Masaki Hara (@qnighy) 2018年8月6日 皆さんのおかげで最強のi18n国家が建設されつつある。一瞬で滅びそう — Masaki Hara (@qnighy) 2018年8月6日 長い前置き ソフトウェアのi18nは難しい。自文化では当たり前と思っていてハードコードしてしまった仮定が崩れて、大幅な再設計を余儀なくされるからだ。気づいて再設計できればまだ良

    ぼくたちのかんがえたさいきょうのi18n国家
    oscdis765
    oscdis765 2018/08/07
  • 音響処理の基礎 with CNN 〜機械学習で「太鼓の達人」の自動作譜をしてみた〜 - Qiita

    この記事の対象者 音響処理の基礎を概観したい ディープラーニングを用いた音響処理に興味がある 太鼓の達人が好きだ つまり初心者向けってことです。プロの方のツッコミもお待ちしています。 結果 見て(聴いて?)もらうと早いと思います。これは今回作ったモデルで生成した譜面を太鼓さん次郎2で演奏したものです。 米津玄師さんの「ピースサイン」: 「音楽から全自動で太鼓の達人の譜面を作るAI」を作りました またいつか解説記事書きます pic.twitter.com/IW6qrd9knS — うっでぃ (@woodyOutOfABase) July 16, 2018 UndertaleよりToby Foxさんの"Your Best Nightmare" @no_TL pic.twitter.com/UW5ntQg0KC — うっでぃ (@woodyOutOfABase) July 20, 2018 ki

    音響処理の基礎 with CNN 〜機械学習で「太鼓の達人」の自動作譜をしてみた〜 - Qiita
    oscdis765
    oscdis765 2018/07/24
  • SFC版風来のシレンの乱数生成アルゴリズムの話 考察編 - Qiita

    この記事は続編です。 前回の記事で、SFC版風来のシレンのROMデータの解析内容を元に乱数がどのようにして生成されているかを解説しています。そちらを読んでからこの記事を読んでいただくと、より内容を理解しやすいかと思います。 前回の記事:SFC版風来のシレンの乱数生成アルゴリズムの話 解析編 SFC版風来のシレンの乱数の品質を調べる さて前回の記事でSFC版風来のシレンの乱数生成アルゴリズムが線形帰還シフトレジスタの一種であることが分かりました。 しかし乱数生成アルゴリズムは理解したものの、それによって生成された乱数が妥当な物なのかというのはアルゴリズムを見ただけでは分かりません。 シレンの乱数は偏りやすいと断言できるような目に見えて質が悪いものなのでしょうか。 この項でそれを考察してみたいと思います。 先にお断りしておきますが、気で定量的・客観的に乱数の品質を検証しようと思うと格的な統

    SFC版風来のシレンの乱数生成アルゴリズムの話 考察編 - Qiita
    oscdis765
    oscdis765 2017/12/04
  • 現場で役立つシステム設計の原則で個人的に面白かったところメモ - Qiita

    『現場で役立つシステム設計の原則』というを付箋を付けながら一通り読んだ?ので 個人的に面白かったところを自分用にメモしておきます。 当にメモです。 質とはだいぶ違うところだと思うので買って読んで下さい。。 (付箋はつけていたけどうまく説明できなさそうなところは消しました。) 目的ごとに変数を用意する 段落わけと、目的ごとの変数で分かりやすい。 一度作った変数を変更するのを破壊的代入といい、それをなくすことでコードが安定するそうです。 int basePrice = quantity * unitPrice int shippingCost = 0 if (basePrice < 3000) { shippingCost = 500 } int itemPrice = ... コレクション型を扱うロジックを専用クラスに閉じ込める これをコレクションオブジェクトやファーストクラスコレクシ

    現場で役立つシステム設計の原則で個人的に面白かったところメモ - Qiita
    oscdis765
    oscdis765 2017/08/25
    なんの本か知らないけどロクでもない本の予感しかしない
  • macOSでディスプレイ1枚で作業する技術 - Qiita

    今まで、自宅・職場では外部ディスプレイを使って作業をしてましたが最近はRoostを使い始めて、家でも外でもRoostと外部キーボード、マウスで仕事するようになりました。これで肩の痛みが激減したので下を向いて作業する時間が多いと首の筋肉に引っ張られて肩が凝るみたいですね。 ここできになるのはディスプレイ1枚だと画面切り替え大変じゃないのってところなのですが、以前 @reoring さんに教えてもらって自分にすごいフィットしたので共有しておきます。あまりmacデスクトップについての記事がないような。 [追記2020/11/16] macOS 11.0 Big Sur(Intel) で動作確認できました。Total Spaces2をBig Surより前から使っている場合は最新版(v2.9.6~)を再インストールする必要があります。 TL;DR デスクトップを10画面作成する ショートカットキー

    macOSでディスプレイ1枚で作業する技術 - Qiita
    oscdis765
    oscdis765 2017/07/12
    この記事Qiita的にNGじゃないの
  • Linuxのパッケージをアップデートしたあとrestartが必要なプロセスを見つける方法 - Qiita

    はじめに 脆弱性対応のためのアップデート作業というものは頻繁に発生するものですが、番運用しているシステムではサービスへの影響を最小限にしたいものです。 アップデートした後、出来ることなら必要なプロセスだけリスタートさせることで済ませたいのですが、どのプロセスをリスタートすれば良いのか、そもそもOS再起動しないと反映されないものなのか、判断が付かない場合が少なくありません。 そのような場合のため、再起動が必要なプロセスを見つけたり、OS再起動が必要かどうかアドバイスしてくれるコマンドがあります。 Redhat系 「yum-utils」パッケージに入っている「needs-restarting」コマンドを使います。 # needs-restarting -h Usage: needs-restarting: Report a list of process ids of programs th

    Linuxのパッケージをアップデートしたあとrestartが必要なプロセスを見つける方法 - Qiita
    oscdis765
    oscdis765 2017/06/26
    プロセスの起動時間とタイムスタンプの差分で簡易的には実装できそう
  • 新人プログラマのうちに身に付けたい習慣、考え方(この半年で学んだことと反省) - Qiita

    新人プログラマのうちに身に付けたい習慣(この半年で学んだことと反省) はじめに 半年よりちょっと前に未経験からプログラマになりました。 プログラマと言っても、この約半年間はほとんど研修を受けさせていただいていた感じなので、偉そうなことは言えません。 しかし、この約半年で反省したことや学んだことを自戒の念も込めて、まとめました。 主体的に学ぼう 能動的に自ら学び、自走しましょう。 新しい技術を学ぶということは非常に楽しいことです。 すごい先輩方は大抵、新しい技術を身につけるためにその技術を学ぶことを「その技術を勉強した」というよりも、「その技術を使って遊んでみた」と表現している気がします。つまり、必要だからしょうがなく学ぶのではなく、半ば趣味として新しい技術で遊んでいたら、身についたーという感じでしょう。 教えてもらって学ぶという姿勢ではなく、自ら楽しいから学ぶ(=その技術で遊んでたら身につ

    新人プログラマのうちに身に付けたい習慣、考え方(この半年で学んだことと反省) - Qiita
    oscdis765
    oscdis765 2017/04/12
    ”記録に残す”を追加で。まさしくこの記事でやってるように
  • 不思議の国のSE用語 - Qiita

    不思議の国 SEが住んでいるところ、そこは不思議な不思議なお国柄です。 新たな国民として移住してきた人、特産物のシステムを買いに来た人など色々な人がこの国には存在します。 しかしこの国で話される言葉は 独特 です。 ぱっと聞いただけでは意味がわからなかったり、よく似た表現であっても微妙にニュアンスが違っていたり。 似たような表現を使い分けるその裏に、その人の意図や省略された文脈が隠されていたりもします。 どこの国でもコミュニケーションを間違うと非常に厄介ですが、そんなことにならぬよう、 お国言葉らしきもの をまとめてみました。 SEを代表例として、このお国言葉を話す人も、話される人も、改めて言葉の意味合いを見つめなおしてみると新たな気付きが得られるかもしれません。 なお、そんなことから 「絶対にSEしか使わない用語」を集めたわけではない のでその点ご了承くださいませ。 他言語版 @micr

    不思議の国のSE用語 - Qiita
    oscdis765
    oscdis765 2017/04/06
    呼ぶと返すがないやり直し
  • 外国人が語る:英語でクラスやメソッド等の名付け方 - Qiita

    アメリカ人です。 Hello 👋 この記事の目的 多くの日人は自分の英語力には自信がないではないでしょうか。残念ながら「英語がわからん」、「英語が全然できない」という声をしょっちゅう聞いています。でも、今まで英語ができて意味がちゃんと伝わる何人かの日人に会ったがあります。完璧な英語ではないけど(外国人も英語でミスる時もある...)、がんばって話そうとするので充分仕事ができる人たち。そういうがんばる姿勢はオープンソースのプログラムや英語圏のプログラムに手を出すためには一番大事なことだと思います(外国人側もすごく助かります)。日文化では「私はできる!」と自慢することは少ない中、この記事を通して、流暢に話せなくても自分のプログラミングの命名の仕方にはちょっとだけでも自信を持たせたいなと思います。完璧じゃなくていいです。Let's go! 合わせて読んでいただきたい 【日エンジニア

    外国人が語る:英語でクラスやメソッド等の名付け方 - Qiita
    oscdis765
    oscdis765 2017/03/02
    result = result.to_iって何やってるのか全然わからない
  • 文章をベクトル化して類似文章の検索 - Qiita

    Doc2Vecで類似文章を検索してみたので、実装を紹介します。 Doc2Vecとは コンピュータが自然言語を処理するためには、まず人間の言葉をコンピュータで扱える値にする必要があります。 単語の意味をベクトル化する手法としてWord2Vecが存在します。 詳しくはリンク先がとてもわかりやすいのですが、ざっくり言うと前後n単語のリストでその単語を表現します。 こうすることで、例えば「犬」と「」は同じような文脈で使われるため、似た「意味」であると考えることができます。 Doc2VecはWord2Vecを応用し、文章をベクトル化するものです。 実装サンプル 今回Doc2Vecを用いて実現するのは、以下の2つの機能です。 単語で文章を検索 類似文章の検索 サンプルとして、青空文庫の文章を使用しました。 なお、この記事で使用するコードはGitHubで公開しています。 (学習に使用した文章もzip

    文章をベクトル化して類似文章の検索 - Qiita
    oscdis765
    oscdis765 2017/02/28
  • 線画着色webサービスPaintsChainerを公開した - Qiita

    http://paintschainer.preferred.tech こちらに先月記事にした線画の着色のデモを公開しました!! 反響の大きかった皆さんに試していただけます!!(ちょっと期待値が上がり過ぎてないといいですがw) http://qiita.com/taizan/items/cf77fd37ec3a0bef5d9d 以前の記事『初心者がchainerで線画着色してみた。わりとできた。』はこちら。 ⇓そしてこちらがもじゃくっきーさんの使用例になっております。 GPUを使っている関係上アクセスが集中したりすると遅くなったりサーバーが落ちたりする可能性もありますが、生暖かく見守っていただければと思います。←たくさんの方に広まったこともあって、めっちゃ重くなっています。ぐぬぬぬ 画面はこんな感じっす。 線画ファイルを選択するととりあえず自動で塗ってくれます。 ※ただし、現状ではgifや

    線画着色webサービスPaintsChainerを公開した - Qiita
    oscdis765
    oscdis765 2017/01/28
  • 最強のフロントエンドの雛形作った (2016/12/31) - Qiita

    yarn とりあえず yarn install と yarn start だけで動く npm(yarn) scripts babel/webpack での多段ビルド build:js はChromeでだけで動くビルドを吐く(デバッグを容易にするため) build:js:production はIE11+ ava/nyc/istanbul でテストとカバレッジ postcssCSSのビルド uglify-js/csswring で圧縮 CircleCI eslint, flow, ava release ブランチに push で gh-pages にデプロイ ## やってないこと ReactAngular も jQuery も何も入ってない。あくまでそれ以前にやることをまとめた。 参考になるだろうけど、人によっては使わないツールも多いと思われるので、適当に削ってください。 こういうの

    最強のフロントエンドの雛形作った (2016/12/31) - Qiita
    oscdis765
    oscdis765 2016/12/31
    日付のハードコーディングかっこいい
  • 業務でWebサービス開発をする際に気をつけたいこと(新卒向け) - Qiita

    趣味でも業務でも日々Webサービスを開発しているzaruです。こんにちは。ついにアドベントカレンダーも最終日です。まだサンタとしての仕事が残っています。さて今回は仕事としてWebサービスを開発するときに気をつけたいポイントを紹介します。まぁ仕事に限った話じゃないですが…参考になれば幸いです。特に新卒プログラマあたりに読んでもらえればと思います😀 なお僕の業務上インフラ周りはAWSが多いです。 RASISという指標 RASISという指標があります。コンピュータシステムの評価指標5つの頭文字を取ったものです。 Reliability(信頼性) Availability(可用性) Serviceability(保守性) Integrity(保全性) Security(機密性) 今回はこの5つの指標に沿ってポイントを紹介していきます。RASIS自体については色々なところで解説されていると思うので

    業務でWebサービス開発をする際に気をつけたいこと(新卒向け) - Qiita
    oscdis765
    oscdis765 2016/12/27
    stretchingでわざわざ再帰使うの全然リーダブルじゃないんだけど
  • 電気工事士の資格を取ってコンセントやスイッチを改造しようぜ - Qiita

    この記事は おうちハック Advent Calendar 2016 の3日目の記事です。 まえがき パナソニック(旧パナソニック電工(旧旧松下電工))の製品にこんなモノがあります。 _人人人人人人人_ > 壁からUSB! <  ̄Y^Y^Y^Y^Y^Y ̄ カッコイイですね。 ですよね。。。 他にもこんなモノがあります。 壁のスイッチをリモコンでON/OFFできる! 使ってみたくないですか!? 使ってみたいですよね。。。 しかし、これらの設置工事をするには、電気工事士(二種)の資格が必要です。 資格がないなら取得すればいいじゃない。 という話をします。 電気工事士の資格とは 簡単に言うと、ブレーカーを切ってからじゃないと感電しちゃいそうな工事をする場合に必要な資格です。 前述のUSBコンセントやリモコンスイッチなどの設置工事をする際はブレーカーを切ってからでないと危ないですよね。 コンセントか

    電気工事士の資格を取ってコンセントやスイッチを改造しようぜ - Qiita
    oscdis765
    oscdis765 2016/12/03
    これどこがプログラミングに関係あんの?
  • Rails5.1に向けてフロントエンド周りで起こっている革命まとめ - Qiita

    こんにちは Rails5.1に向けて、DHHのjqueryを依存から外す発言を発端にフロントエンド周りが急激に発展しているので、簡単にですがまとめてみました。 各issue, PRの詳細には踏み込みませんが、知見に溢れているので読んでみるの推奨です。 間違い、足りないものがあったら編集リクエストお願いします。 jQuery依存を無くす話が出る rails(issue): Drop jQuery as a dependency jquery-ujsはjqueryに依存しないようにする jquery-ujs: Drop jQuery as a dependency "jquery"-ujsじゃなくなったので名前変更 rails-ujs誕生 実際にRailsからjquery依存がなくなる rails: Drop jQuery as a dependency jsライブラリを入れる方法がnpmパッ

    Rails5.1に向けてフロントエンド周りで起こっている革命まとめ - Qiita
    oscdis765
    oscdis765 2016/12/03
  • そろそろプログラマーもFPGAを触ってみよう! - Qiita

    これはbuilderscon tokyo 2016の発表スライドです。 自己紹介 @kazunori_279 クラウドのデベロッパー・アドボケイト エバンジェリストみたいなお仕事 コミュニティ支援:GCPUG、bq_sushi、TensorFlow User Group etc 趣味FPGA 2013年くらいからいじり始め FPGAエクストリーム・コンピューティング主宰:合計8回 これまでに書いたFPGA記事 はてなブックマークでバズった記事たち マイクロソフトはどうやってBingをFPGAで実装したか: 952 users ハード素人が32bit CPUFPGAで自作して動かすまで読んだのまとめ: 576 users 文字通り「ネットワークがコンピューター」な金融HFTでのFPGAの使われ方: 517 users JP Morgan Chaseがデリバティブ専用スパコンをFPGA

    そろそろプログラマーもFPGAを触ってみよう! - Qiita
    oscdis765
    oscdis765 2016/12/03