タグ

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

  • Pythonならわかるシステムプログラミング - Qiita

    pyspa Advent Calendar 2021のエントリーです。昨日は@kuenishiさんでした。 どんなプログラミング言語でも、最終的にはOSへのシステムコールとなってプログラマーがやりたいことを実現しています。文字列をコンソールに出したり、ファイル入出力、ネットワーク入出力などなど。Goの場合Goならわかるシステムプログラミングというがありますね。もちろん、みんな一人10冊ずつぐらいお買い上げのことだと思いますが、せっかくなので他の言語でも見てみましょう。 ここで扱うのは先日、TIOBEインデックスでプログラミング言語の人気No.1になったPythonです。 ただし、Pythonでメインの処理系のCPythonではなくてPyPyで見ていきます。理由は後から説明します。 PyPyのコードは次の場所でホストされています。 早速、次のコードの中身を見ていきましょう。 print()

    Pythonならわかるシステムプログラミング - Qiita
  • なぜエンジニアが作る画面はダサいのか…?「理由」と「対策」を徹底解説【エンジニア向け画面デザイン講座】 - Qiita

    なぜエンジニアが作る画面はダサいのか…?「理由」と「対策」を徹底解説【エンジニア向け画面デザイン講座】UXUIDesignUIデザイン画面設計 1.はじめに エンジニアの私がデザインを気で勉強した結果、デザイナーとエンジニアはそもそも思考が大きく違っているということがわかりました。 今回は「それ」をデザインに苦手意識のあるエンジニア方にも理解してもらえたらと思い、わかりやすくまとめてみました。 2.アプリの画面デザインを考えてみよう まず、こんなアプリを考えてみてください。 フィットネストレーナーが使うアプリ トレーニングルームでお客様とお話しながら使う 端末はタブレット そして 会員の個人情報確認 前回までのトレーニング状況の確認 次回の予約受付 といったことをします。 使える情報としては、こんな感じです。 あなたならどう画面デザインをするか、もしお時間があったら考えてみてください。

    なぜエンジニアが作る画面はダサいのか…?「理由」と「対策」を徹底解説【エンジニア向け画面デザイン講座】 - Qiita
  • フレッツ光回線でscpが遅かった話 - Qiita

    この記事は、Supershipグループ Advent Calendar 2021の7日目の記事になります。 先日、sshを使用したファイル転送が回線速度と比べて異常に遅いという現象に遭遇したので、その際に行った調査を再現しつつ原因や対策について書いてみたいと思います。 要約 OpenSSHはデフォルトでinteractiveなセッションに af21 、non-interactiveなセッションに cs1 をDSCP値としてIPヘッダに設定する フレッツ網はIPヘッダのDSCP値を帯域優先サービスで使用しており、契約に応じて指定された優先度以外が設定されたパケットの転送は保証されない そのため、OpenSSHをデフォルト設定のままフレッツ網で使うと通信ができなかったり、速度低下などの悪影響を受ける可能性がある OpenSSHがDSCP値を設定しないようにするためには、IPQoS noneを設

    フレッツ光回線でscpが遅かった話 - Qiita
    memoyashi
    memoyashi 2021/12/08
  • 扇風機のファームウェアを書き換えて潜在能力を引き出した話(その1) - Qiita

    初めに 私の家には数年前に買った安い扇風機(FBQ-191D https://www.amazon.co.jp/dp/B00V3EKFMU )があるのですが、暑い時は風量を最強にしてもすこし風が弱いと感じることがありました。(amazonのレビューでも何件かそんなこと書かれてました) なので、改造して風を強くさせることを検討してみました。 モータを変えたりしないと風を強くすることはできないと考えてたのですが、あまりお金をかけずしようと検討した結果、中身のソフトを書き換えるだけで風量を強くすることができましたので、どのようにしたのかについてお話ししたいと思います。 調査 潜在能力を持っているかどうかの確認 まずはどうやってモータを制御してるかを確認しました。 内部の基板はこんな感じでした。 まずは、一番重要なモータ駆動用の信号を見てみました。 モータに繋がるケーブルは画像の下にある5線のコネ

    扇風機のファームウェアを書き換えて潜在能力を引き出した話(その1) - Qiita
    memoyashi
    memoyashi 2021/09/15
  • 朝飯前に学べる!便利なPythonのヒント100選【前編】 - Qiita

    Photo by Jexo on Unsplash はじめに Pythonは、主にそのシンプルさと習得のしやすさから、最近では非常に人気があります。 データサイエンスや機械学習、ウェブ開発、スクリプト記述、自動化など、幅広い分野で利用することができます。 この記事はかなり長いので、すぐ始めましょう。 1. forループのelse条件 今までにPythonのあらゆるコードを見てきたとしても、次のfor-elseは見逃している可能性があります。私も数週間前に初めて見ました。 これはリストを繰り返すfor-elseメソッドで、リストを反復処理しているにもかかわらずelse条件もあるという、非常に珍しいものです。これは、JavaRubyJavaScriptなどの他のプログラミング言語では見られません。 実際にどのようなものか、例を見てみましょう。例えば、リストに奇数がないか調べているとします。

    朝飯前に学べる!便利なPythonのヒント100選【前編】 - Qiita
  • 技術ようつべチャンネル集 - Qiita

    役立つYouTubeのチャンネルまとめ 数学、物理、アルゴリズム、プログラミング、などなど自分が使う技術に役立ちそうだな、困ったときによく見たなと思うチャンネルを紹介する。 取っ掛かり、ハマりがち、コツみたいな物が拾える。数学がメイン。随時更新していくつもり。 当たり前だけどちゃんとも読んで勉強するんだぞ。 背景 YouTubeは視聴する登録チャンネルの数が増えると、チャンネルが埋もれて発掘困難になりがち (chrome拡張でできるチャンネルのフォルダ分け機能は、ぽちぽち登録するのも面倒で、そのフォルダの中から掘り出すのも難しい) モチベが上がる(おべんつよしたい)チャンネルを探してるうちに湧いてくる、わんにゃんコンテンツ(だいちゅき)に流され一日が終わるため、 モチベが上がる有用なチャンネルにすぐにたどり着くために、よく使うQiitaに列挙しておくことにした Streamや大学専用サイ

    技術ようつべチャンネル集 - Qiita
  • 英語力と技術力向上のための海外Tech系Youtuber10選 +n - Qiita

    身につまされる英語力問題。手っ取り早く英語を習得するなら海外に行ってしまうが最善なはずですがこのコロナ禍、身近なところで英語に触れつつ技術も勉強したい?といえば、動画です。 10 Developers You Should Follow to Improve Your Skills (スキルを上げるための、フォローすべき開発者10選) という記事があったので10人をまとめた。プラスオマケ。それぞれ実際に動画を見てみての補足付き。 1. Ben Awad (ベン・アワド) ソフトウェア開発者。ReactReact Native、GraphQLTypescript、Node.js、PostgreSQLPython、その他あらゆるコーディングについて紹介。React.jsやGraphQLの開発者にお勧め。ビッグ/テック コーディングインタビューの準備を手ほどきしている。「アルゴリズム形式の

    英語力と技術力向上のための海外Tech系Youtuber10選 +n - Qiita
  • もしあなたが急にAndroidアプリを業務で作るはめになった場合の選択肢(2021年初頭版) - Qiita

    記事はAndroid Advent Calendar 2020の2020/12/01分です。 初っ端ということなので、2020年末と2021年頭でのAndroidエンジニアとして初めて業務でやる場合に抑えておいたほうが良い最低限の部分を書いていこうと思います。(ツッコミ待ちです) 対象 2021年3月ぐらいまでに !!業務!! でAndroidアプリを作らされる事になった可愛そうな人が居たとします この人は手続き型言語でオブジェクト指向プログラミングができる知識があり、Androidアプリもなんとなく趣味で作ったこともあるぐらいのレベル感です(なので上長からいきなりお前Android担当なと言われた) 最低限のAndroidアプリの作成の知識はあるものとします(画面の表示にはActivityがいるよとかは書かない) ゲームは対象外です 業務でAndroidアプリを作ることを想定しています

    もしあなたが急にAndroidアプリを業務で作るはめになった場合の選択肢(2021年初頭版) - Qiita
  • Pythonのオブジェクト指向プログラミングを完全理解 - Qiita

    1. オブジェクト指向の起源 2003年チューリング賞の受賞者アラン・ケイさんはよくオブジェクト指向プログラミングの父と称されます。ご人も憚ることなく、幾度、公の場で発明権を宣言しています。しかし、ケイさんは「C++」や「Java」などの現代のオブジェクト指向言語を蔑ろにしています。これらの言語は「Simula 67」という言語を受け継いだもので、私が作った「Smalltalk」と関係ないのだとケイさんは考えています。 オブジェクト指向という名称は確かにアラン・ケイさんに由来するものです。しかし、C++Javaで使われている現代のオブジェクト指向は当初のと結構違います。ケイさん自身もこれらの言語を後継者として認めないです。では、ケイさん曰くC++Javaの親であるSimula 67という言語はどんな言語でしょうか。ここで、簡単なサンプルコードを見てみましょう。 Class Recta

    Pythonのオブジェクト指向プログラミングを完全理解 - Qiita
  • 個人開発・スタートアップで採用すべき最強のアーキテクチャを考えた - Qiita

    結論 「アジリティ」「コスト最適化」「スモールな構成」「開発スピード」という観点でWebアプリケーションのアーキテクチャを考えてみました。 ServerlessFrameworkを使い倒す フロントエンドはS3 hosting + CloudFrontで。SSRもLambda@Edgeでできます データベースはRDSは使わずにDynamoDBAPIは基的にGraphQL。必要に応じてRESTも簡単に追加できるよ。 補足(2022/04/12) 最近個人開発しているこちらのWebサービスはこのアーキテクチャに沿って作られています。 このアーキテクチャでどんなものができるのよ、という視点で見ていただくと面白いかもしれません。 ↓ 背景 アーキテクチャに絶対の正解はない アーキテクチャには絶対の正解はありません。 なぜなら、プロダクトやフェーズによって求められる要件が異なり、それに適したア

    個人開発・スタートアップで採用すべき最強のアーキテクチャを考えた - Qiita
  • ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習

    最近、あまりプログラミングが得意でない人のサポートをする形で、長い時間にわたってペアプログラミングを行っている。そのなかで、気がついた悪い習慣と成長するための良い習慣というものをまとめてみる。 この記事のバックグラウンドとなる体系的知識がになりました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング あわせて読みたい 経営者マインドが足りない!vs. 現場に任せてくれない!の対立をなくすカードゲームをつくった話 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ 心理的安全性ガイドライン(あるいは権威勾配に関する一

    ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習
  • エッジで機械学習ってなんだろう -ブラウザ、スマホ、IoT機器での推論を概観する- - Qiita

    内容は、技術書典7 合同機械学習の炊いたん2』収録の、「エッジで機械学習」記事を公開したものです。内容は2019年9月時点の調査等に基づきます。 最近Raspberry Pi 4の検証結果などをみていると、エッジ、かつCPUでもそれなりの速度で動くケースもみられます。またこの後にM5StickV(K210)などを触りましたが、専用チップも使い所があります。今後、それらの動きもできれば補足したいと思います。 9/12-22に開催された技術書典9では、新刊『機械学習の炊いたん3』を頒布しました。私は、「AIエンジニア、データサイエンティストのための経営学、ソフトウェア工学」を寄稿しています。他にも機械学習のビジネス、エンジニアリング、数理までもりだくさん。気になられたら、ぜひご覧ください! 他にも、技術書典9「機械学習データ分析」系の新刊リスト - Qiitaの通り、たくさんのが出品

    エッジで機械学習ってなんだろう -ブラウザ、スマホ、IoT機器での推論を概観する- - Qiita
  • 日本の法務省での遠隔コード実行がついさっき販売されてた話 - Qiita

    ※当記事は購入を推奨するものではありません ※いかなる場合においても、当記事の著者は責任を負いかねます 概要 日時間05:00~06:00頃、日法務省にて遠隔コード実行が可能であるという脆弱性が突如ブラックマーケットで販売されました。 with privilege nt authority\system とあるように、法務省WindowsPC若くはWindowsServerが狙われたと推測できますね。 法務省はこの事実を受け止め、万が一に備えて省内のWindowsPC及びWindowsServerを全て調査・総入れ替えしなければならないでしょう。 しかしながら、通報しても相手にされないと思うので暖かい目で見守りつつ、記事にしてみました。 追記: 記事以前より通報は一応行っています。 追記 色々と議論が上がっていますが、ここで私の当記事の目的とするところをお話ししますと、 公開にさし

    日本の法務省での遠隔コード実行がついさっき販売されてた話 - Qiita
    memoyashi
    memoyashi 2020/09/22
    Qiitaで話すべきことじゃない気もするけど、結果的に対応はされたようなので良かったんかな?
  • エンジニアリングマネージャ/プロダクトマネージャのための知識体系と読書ガイド - Qiita

    記事は、Engineering Manager Advent Calenderの1日目です。 はじめに エンジニアリングマネージャ(EM)と呼ばれる職務を設置する企業が増えてきました。 私たちの主催したイベントEOF2019でも700名近い方に参加していだき、また多くの方にご協力いただき成功裏に終わることができました。 EM Meetup/EM.FMなどのムーブメントの中心の一翼を担わせていただき、その高まりを感じる一方で不安も感じます。このエンジニアリングマネージャという職務は非常に多岐にわたるケースが存在していますし、必要だとされるスキルもまちまちです。そして、多くの場合、その企業のステージや状況ごとに求めるものは違います。また、求めていることを明文化することすらされていないケースも存在します。 このことから、エンジニアリングマネージメント自体が一時的な潮流として消費され、消えていっ

    エンジニアリングマネージャ/プロダクトマネージャのための知識体系と読書ガイド - Qiita
  • 開発体験を変える! Chrome DevTools Tips 7選 - Qiita

    最近Chrome DevToolsについて調べていて発見した便利機能を紹介します。 誰もが使える最高便利な開発マシンChrome DevToolsを使いこなして開発体験を変えましょう! 1. $0で選択中のDOM要素の取得 特定の要素に何かしたいという時には、要素のIDやclassを確認してConsoleでdocument.querySelector("#xxx")で取得するというのが一般的だと思います。実はそれはカーソル選択と$0で代替できます。 Classや、IDがついていない特定のDOMを取得したい時とかにも使えるので地味に便利です。 手順 カーソルで取得したい要素を選ぶ Consoleタブで$0を入力 最近知ったChrome DevToolsの便利機能① $0 での選択中のDOM要素取得 Elementsタブで選択状態のDOM要素は、Console上で $0 を入力することで取得で

    開発体験を変える! Chrome DevTools Tips 7選 - Qiita
  • 【JS/ Python両方OK!】「データ可視化」が歴史から実装まで体系的に学べるStanford講座の独習ノート - Qiita

    【JS/ Python両方OK!】「データ可視化」が歴史から実装まで体系的に学べるStanford講座の独習ノートJavaScriptd3.jsデータ分析データサイエンスcolaboratory CS 448B Visualization (2020 Winter)は、Maneesh Agrawala氏による、Stanford大で行われた、データの可視化に関する体系的な講義です。 スタンフォード大の"CS 448B Visualization (2020 Winter)" がすごい。 データ可視化の体系的講義。どう図表に変換するかの理論、探索的データ分析、ネットワーク分析等の実践と盛り沢山。 スライドに加え、Observable(JavaScript), Colab(Python)どちらでも例を試せる。https://t.co/lGyPElrihg pic.twitter.com/mWZn

    【JS/ Python両方OK!】「データ可視化」が歴史から実装まで体系的に学べるStanford講座の独習ノート - Qiita
  • 2020年のフロントエンドマスターになりたければこの9プロジェクトを作れ - Qiita

    以下はSimon Holdorf( dev.to/ Twitter / GitHub )による記事、9 Projects you can do to become a Frontend Master in 2020の日語訳です。 9 Projects you can do to become a Frontend Master in 2020 Introduction あなたがプログラミングの初心者であるか、既に経験豊富な開発者であるかにかかわらず、この業界では、急速な変化に追いつくために新しい概念と言語・フレームワークを学び続けることが必要です。 たとえばFacebookが4年前にオープンソース化したReactは、既に世界中のJavaScript開発者にとって第一の選択肢になっています。 もちろんVueAngularにも多くのフォロアーがついています。 さらにはSvelte、Next

    2020年のフロントエンドマスターになりたければこの9プロジェクトを作れ - Qiita
  • 【一問一答】マヅコの知らない「異常検知」の世界 - Qiita

    これから異常検知を勉強される初心者、中級者の方のために一問一答集を作ってみました。 実際にあった質問も含まれますが、ほとんどの質問は、私が勉強しながら疑問に思ったことです。 なお、各質問には私の失敗談を添えております。皆さんは私のような失敗をしないよう 祈っております(^^)。異常検知に特化した内容となっておりますので、ご了承ください。 初心者の方向け 勉強の仕方編 Q:異常検知を勉強したいのですが、何から手をつけて良いのか分かりません。 A:書籍を買って読むのがおススメです。 最初、私はネット情報で勉強していました。しかし、それにも限界があります。 ところが、書籍(入門 機械学習による異常検知)を買って読んだところ、かなり知識を 得ることができました。最初から、書籍を買っていれば、一年くらい得することができたのに... と思うこともあります(^^; ただ、こちらのはディープラーニング系

    【一問一答】マヅコの知らない「異常検知」の世界 - Qiita
  • 転職したらKubernetesだった件 - Qiita

    TL;DR Kubernetes がどのように、人間の作業を自動化しているのかを、実際に Kubernetes がやっている作業を手作業で行なう ことで学びましょう。 このQiita の内容は、CloudNative Days Tokyo 2019 における発表の、「転職したらKubernetesだった件」を書き下ろし、実際にデモが行えるように修正を加えたものになります。 YouTube Speakerdeck この物語はフィクションであり、登場する団体名・会社名・人名等は架空のもので、実在する団体・会社・人物等とは、一切、関係がありません。 これまでのあらすじ ある日、某Z社に転職した稲津さんに与えられた仕事は、“Kubernetes の一員”になることだった!? 某Z社は、親会社からの依頼で Kubernetes クラスタを運用しなければならなくなりましたが、 「Kubernetes

    転職したらKubernetesだった件 - Qiita
  • Google社のテクニカルライティングの基礎教育資料がとても良かったので紹介したい - Qiita

    はじめに エンジニアにとって、仕様書などの技術的な文章を書くこと(テクニカルライティングとも言います)は避けて通れません。ただ20年来多くのエンジニアの方々と同僚として接してきて思うことは、エンジニアの方の中には「文章を書く」ということに苦手意識がある方が一定数いるということです。 でもこの「テクニカルライティング」のスキルは、才能というよりは一種の「技能」だと思うんです。ある一定の原理原則を理解して実践を繰り返すことで、必ず一定レベルで習得できるものだと著者は信じています。 もしこのテクニカルライティングの原理原則をまだ体系的に学習したことがない、または過去学習したが改めて再学習したいという方に、お勧めのコンテンツを見つけたのでご紹介します。 https://developers.google.com/tech-writing Every engineer is also a write

    Google社のテクニカルライティングの基礎教育資料がとても良かったので紹介したい - Qiita