タグ

2020年10月26日のブックマーク (15件)

  • Pythonで型を極める【Python 3.9対応】 - Qiita

    はじめに みなさん。Pythonで型書いてますか?最近は型の重要性を再認識しているので、皆さんにもぜひPythonで型を書いて頂きたいと思ってこの記事を書きました。 注意事項として今回の記事では下記の事項については言及しません。 型チェックツールの導入方法(mypy,pyrightなど) 今回の内容は以前の書いた記事の補足内容となっていますので、以前の記事ももしよければ参照ください。 実践!!Python型入門(Type Hints) そもそもPythonでなぜ型を書くのか? Pythonは動的型付き言語なので、型を書かなくてもプログラムは動きます。型を書かないことで、コードの量は少なくなりますし、初学者にとっても習得しやすい言語となっていることはメリットかと思います。 ただし、ある程度の行数のコードを書く場合、プログラムを複数人でメンテナンスする場合、型がないと以下の様な問題が発生する。

    Pythonで型を極める【Python 3.9対応】 - Qiita
  • 【自動化】PythonでOutlookの予定を抜き出す - Qiita

    Outlookで予定と実績を管理しているけれど… 私の会社はメール文化なので、Outlookでメールをやり取りし、仕事や会議の予定もOutlookで管理しています。 また、日報や週報での実績報告のために、いつ何をどこまでやったかもOutlookの予定に記録しています。 結果として、Outlookの予定表は予定と実績記録だらけで、目視で管理するのが面倒な状態になります。 週報にその日の業務実績を書く場合も、Outlookの予定表を書き写さないといけません。 私の業務はかなりマルチタスクで1日の予定の数がすごいことになっているので、手作業で確認して書き写すのがとても面倒です。 Pythonを使うとOutlookから予定表をまとめて抜き出すことができるので、あとはテキストファイルなりExcelなりに整形して、日報などにそのまま貼り付けることができます。 記事ではMicrosoft Outloo

    【自動化】PythonでOutlookの予定を抜き出す - Qiita
  • 量子暗号と耐量子コンピュータ暗号の違い - Qiita

  • NimでVue.js風のCanvas APIライブラリを作っている話 - Qiita

    はじめに こんにちは。高校2年生のmomeemtです。 今回は、Nimというプログラミング言語を使って、Vue.js風のCanvas(HTML5 APIの1つ)ライブラリ、「Blackvas」を開発している話についてまとめていきます。 Canvasとは、<canvas>要素とJavaScriptを用いてグラフィックを描画するための、HTML5 APIの1つです。詳しくはCanvas API - Web API | MDNをご覧ください。記事では、Canvasそのものについての解説は、必要以外は省きます。 また、Nimとは2008年に最初の開発バージョンが、2019年に安定版がリリースされたモダンなシステムプログラミング言語です。Pythonのような構文を採用した一見インタプリタ言語のような言語ですが、静的型付けで、C言語やObjective-C、JavaScriptトランスパイルできま

    NimでVue.js風のCanvas APIライブラリを作っている話 - Qiita
  • [メモ] JavaScript 参照 - Qiita

    コメントにてツッコミをいただきましたので、併せてご確認頂けると幸いです 変数aを定義し、1を入れた時 それぞれメモリ空間上に配置される

    [メモ] JavaScript 参照 - Qiita
  • zshでプロンプトの右側部分を無理やりにでも先頭行に表示したい - Qiita

    やりたいこと zshで以下2つに当てはまると、2行目にRPROMPT(プロンプトの右側)が来てしまいます。 .zshrcでPROMPT末尾に改行コードを入れて、コマンドを新しい行から入力するようにしている RPROMPTを有効にしている 下の画像のようになります。 これで困るのが、ターミナルの内容をSlackなどにコピペして共有しようとしたとき、RPROMPTまでコピーされてしまい、それを消す手間ができてしまうということです。 なんでユーザーがコマンドを入力する行と同じ行にRPROMPTを出す仕様なんだろう。。 それをなんとかしたいというニッチな投稿です。 ちなみに何らかの設定で、シンプルにこれを解消する方法は思いつきませんでした。 (RPROMPTは改行コード効きません。ZLE_RPROMPT_INDENTを負の整数にしたりしても無視されます。) 解決方法の案 案1: RPROMPT使う

    zshでプロンプトの右側部分を無理やりにでも先頭行に表示したい - Qiita
  • PHP初心者もできる else句を使わない読みやすいコード ※追記 - Qiita

    業務でネストの深いIF文を見ると、追うのが大変でうんざりすることがあります。 大体の場合、ちょっとした修正のために付け加えていって肥大化したパターンです。 これを予め防ぐ、簡単な工夫を一例として示します。 ちなみに、未経験でエンジニア求人に応募するときも、 実際にこのような記法を知っていれば、保守性について話せてポイントが高いと思います。 早期リターン&ガード節 以下は与えられた値の型を判断するだけのコードです。 $value = [1,2,3]; function judgeType($value) :string //タイプヒンティング;この関数がstringを返すことを明示 { if (is_string($value)) { $result = $value . ' is string.'; } else if (is_int($value)) { $result = $value

    PHP初心者もできる else句を使わない読みやすいコード ※追記 - Qiita
  • 【PHP】超実用的!リファレンスの使用(≒参照渡し)をせずに配列の中身をイジろう - Qiita

    はじめに ちょっと前に書いた 「【PHP】全ボクが実務で泣いた「値渡し」と「参照渡し」を完!全!理!解」 で連想配列の中身をいじる時に参照渡しリファレンスの使用を使いました。 (前の記事でコメントをいただいたのですが、正確には参照渡しではなくリファレンスの使用と言うらしいです) ※その違いについては上記の記事のコメント欄をチェックしてください。 が、前述の方法では後続の処理が上手くいきませんでした。 そんな時に先輩にこの記事でご紹介する方法を教えてもらったのでまとめます。 しかも実用的 この記事のオススメ読者 実務に入ったばかりの方 これから実務に入る予定の方 3分もあれば全部読めるのでサクッと読んでみてください リファレンスの使用(≒参照渡し)をせずに配列の中身をこねくり回す方法 上記の記事と同じコードを使います。 <?php // 配列を2つ定義 $members = [ 'Aさんの好

    【PHP】超実用的!リファレンスの使用(≒参照渡し)をせずに配列の中身をイジろう - Qiita
  • Vue3の基本構文③ - Qiita

    Vueの構文についてコードベースで簡単にまとめます。 ちなみにシリーズ最終回です。 基構文① 基構文② 今回は以下の2つです。 コンポーネントとProps コミュニケーティングevent コンポーネントとProps コンポーネントとは構成要素を意味し、再利用可能なVueインスタンス要素のことです。 Webページ構成する様々な要素、例えばヘッダーやサイドバーなどを分割し、コンポーネント化することで、設計・開発・テストがコンポーネント単位で行えるようになったりというメリットがあります。 そして、コンポーネントには親コンポーネントと子コンポーネントがあり、親コンポーネントから子コンポーネントに値を渡す際に使用されるのがpropsです。 const app = Vue.createApp({}) app.component('programming', { props: ['title'],

    Vue3の基本構文③ - Qiita
  • 脳死でアップデートは危険!Vue3.0の破壊的変更点を要チェック!! - Qiita

    はじめに Vue3.0がリリースされましたが、Vue2系からアップデートしましたか? 実は破壊的な変更点があり、思考停止でアップデートすると危険です。 今回は破壊的変更点の中で特に影響が大きそうな部分を抽出して解説します!! 動画でも解説してるので、動画が好きな方はそちらを確認してみてください!! 【YouTube動画】 Vue3.0の破壊的変更点 Global API 実際のコードの変更をみていきましょう! 以前は以下のように使っていた部分が import Vue from 'vue' import App from './App.vue' Vue.use(/* ... */) Vue.mixin(/* ... */) Vue.component(/* ... */) Vue.directive(/* ... */) new Vue({ render: h => h(App) }).$m

    脳死でアップデートは危険!Vue3.0の破壊的変更点を要チェック!! - Qiita
  • 混ぜるな危険!ndarrayとmatrix - Qiita

    TL;DR numpy.matrixは非推奨。numpy.ndarrayと@演算子を使いましょう。 はじめに 少し前に「大名行列を特異値分解してみる」という記事を書いたところ、元同僚さんから「numpy.matrixはdeprecatedですよ」と言われて驚きました1。 調べたらStackOverflowにやたら詳しい解説が載っていたので、それをもとに説明してみようと思います。 特異値分解とmatrixクラス 線形代数に特異値分解(Singular Value Decomposition, SVD)という処理があります。m行n列の行列Xを、m行m列のユニタリ行列U、m行n列の対角行列S、n行n列のユニタリ行列Vの積に分けるというものです。なんか適当な行列を作ってみましょう。 import numpy as np from scipy import linalg X = (np.arange

    混ぜるな危険!ndarrayとmatrix - Qiita
  • cssで背景画像が表示されない時に試して欲しいポイント7つ - Qiita

    0.はじめに 模写をしている際に、一番苦労したことが「背景画像が出てこない・・・」でした。 大量の時間を私のように溶かさないためにも試して欲しいポイント7つを紹介します。 1.読んで欲しい人 ・背景画像が表示されず苦しんでいる方 ・プログラミング初心者の方 2.使用環境 HTML5 CSS3 GoogleChrome mac.os バージョン10.15.6 参考リンク:CSSのバージョンについて 3.ポイント7つ 3.1 画像の指定場所を間違えていないか(絶対パス/相対パス) 3.2 画像名のスペルミス 3.3 後ろに回り込みをしていないか(z-index) 3.4 他の画像で適用できるか 3.5 widthとheightの指定し忘れがないか 3.6 など閉じタグ忘れがないか 3.7 !importantを使用してみる 以上です。検証していけば、どれかが当てはまると思います。 catという

    cssで背景画像が表示されない時に試して欲しいポイント7つ - Qiita
  • サメを支える技術 第2版

    大きなサメのぬいぐるみの購入方法について。 背景 最近サメの人気が高まっているのか、サメのぬいぐるみについてよく質問されるようになった。Gawr Guraさんの影響が大きいのかもしれない。つい先日質問してきた人は、サメ好きの友達プレゼントするつもりらしい。いい友達だ。これまでこういう質問に対しては昔書いたサメを支える技術を紹介していたが、情報が古くなってきたので、この機会に新たに書き直すことにした。 サメの配信を見るサメ 購入方法 2020年10月25日現在では、この大きなサメのぬいぐるみはchumbuddy.comから購入できる。2015年にはamazon.comでも購入できたので、自分はここから購入したのだけど、今は取り扱っていないようだ。惜しいことだ。 chumbuddy.comでは、わた入りザメとわた無しザメが売られている。 体積が増えるので海外からの配送が大変そう 出所不明のわ

    サメを支える技術 第2版
  • 無料でブラウザから3Dモデルが簡単に作れる「SculptGL」を使ってみた

    3Dオブジェクトを彫刻のように削ったり膨らませたりできるスカルプトツールの「SculptGL」は、無料かつアカウント登録やソフトウェアのダウンロードなしで使用できるウェブアプリです。 SculptGL - A WebGL sculpting app https://stephaneginier.com/sculptgl/ 上記のURLにアクセスすると、すぐにSculptGLが使用できます。SculptGLは初期状態だと球体のオブジェクトが表示されており、マウスやペンタブなどを使って絵を描くように膨らませたりへこませたりしながら形を変えることが可能。 また、初期設定では左右対称で描画されるようになっているので、赤枠部分にぐりぐり円を描いてみると反対側にもぽこっと丸い形が浮かび上がってきました。 SculptGLを実際に使っている様子は以下のムービーから確認できます。カクつくことなく操作はスム

    無料でブラウザから3Dモデルが簡単に作れる「SculptGL」を使ってみた
  • プログラミング言語「Rust」をLinuxにインストール - ZDNet Japan

    印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます 「Rust」は、2010年にMozillaによって開発された言語で、高度な並行性と安全性を重視している。構文は「C」や「C++」に似ており、以下のように、ブロックコードが波括弧で囲まれる。 fn main() { println!("Hello World!"); } Rustは、DropboxやPostmates、Stac、Wantedly、Doctolib、QIWIといった企業のデータセンターで使用されており、安全性やメモリーレイアウトの制御、並行性を重視している。Rustは以下のような概念をサポートする。 ゼロコストの抽象化。 データ競合のないスレッド。 特性ベースのジェネリック型。 パターンマッチング。 最小限のランタイム。 代

    プログラミング言語「Rust」をLinuxにインストール - ZDNet Japan