タグ

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

  • 顔写真から自閉症を判別してみた - Qiita

    はじめに この記事では今回開発したWebアプリ、自閉症識別(後に理由を説明しますが、動作が大変モッサリです)を公開するまでの経緯や考え・思いをまとめた。 6月中旬に差し掛かる頃から、Aidemy PewmiumのAIアプリ開発コースで、Pythonを用いてアプリ開発を行えるようになることを目標に学んできた。その成果として開発したのが、顔写真から自閉症を判別するWebアプリだ。 この記事では私自身がプログラミング超初心者として、そしていち支援者として感じたことも多く綴っているため、必要に応じて適宜読み飛ばしてもらえると良いかもしれない。 開発開始に至るまで 私はこちらの記事にあるように、保育士として児童発達支援に関わってきた。大変ではあるが非常に楽しい仕事だった。とはいえAidemyの講座受講中、成果物を何にするかをずっと考えていたが、この領域で何かやろうなんてことは全く考えていなかった。

    顔写真から自閉症を判別してみた - Qiita
    quanon
    quanon 2024/08/04
  • シンプル図解: 正規表現の (?= ) とか (?! ) とか (?<= ) とか (?<! ) とか - Qiita

    入社1年目、趣味は整理整頓、 @pal4de です。 正規表現が大好きです。 先日投稿した記事が好評いただき当にうれしかったです。もっとたくさんの人に読んでもらいたい!!! さて、上の記事で紹介したのは単語境界 \b でしたが、これは先読み/後読みを駆使して下記の通りに表せると紹介しました。 便利な\bですらショートハンドに過ぎず、真に強力なものは 先読み(?=...)と後読み(?<=...) だということを主張したい!!! わかりすい図解も添えましたので、是非お楽しみください🏝️ 正規表現の記号は4種類 先読みの紹介に入る前に、改めて正規表現を俯瞰してみましょう。 誤解を恐れずに言えば、正規表現に出てくる記号の種類は4つしかないといえます1 2。 このようにとらえてみると、正規表現と向き合うのがだいぶ楽になります。体系化された理解への第一歩ですね 🗿 図にもある通り、 行頭 ^ も

    シンプル図解: 正規表現の (?= ) とか (?! ) とか (?<= ) とか (?<! ) とか - Qiita
    quanon
    quanon 2022/12/21
  • 君たちは正規表現におけるインド数字の罠にハマったことはあるかい?(١٢٣٤٥٦٧٨٩) - Qiita

    import re re.match(r'\d{4}-\d{2}', '٢٠٢٢-٠٦') Pythonで書いてはいますが、内容を補足します。「'٢٠٢٢-٠٦'」という文字列が、数字4文字+ハイフン+数字2文字にマッチするかどうか、という正規表現を書いています。 一見するとどう見ても数字4桁ではないので、正規表現にマッチしないように見えますよね???? 実は正規表現にマッチします!!!というのが今回の記事の内容になります。 そもそも正規表現における数字の扱いとは 今回はPythonの正規表現のライブラリを利用しているので、公式のリファレンスを見てみましょう。 該当の部分には以下のような記述があります。 \d Unicode (str) パターンでは: 任意の Unicode 10 進数字 (Unicode 文字カテゴリ [Nd]) にマッチします。これは [0-9] とその他多数の数字を

    君たちは正規表現におけるインド数字の罠にハマったことはあるかい?(١٢٣٤٥٦٧٨٩) - Qiita
    quanon
    quanon 2022/06/24
    タイトルが CV: キュゥべぇで脳内再生された。
  • エルデンリングから学んだ、プログラミング学習に必要な7つのこと - Qiita

    導きのはじまり おぉ、貴方は…褪せ人ですね。 そして、エルデンリングを求め、この狭間の地にやってきた。 この先、プログラミング学習の攻略に繋がる貴重なアイテム が、7つあるぞ すごいなにかだと思うだろう? 以下の記事を、ご照覧あれい! 1. 強い敵はスルーして先に進む プログラミングを勉強していると、序盤にツリーガードのような強敵が現れることがありますが、 スルーして先に進むことが大事です。 序盤から強敵と戦うと、ボコボコにされて心が折れます #include <stdio.h>は、こういうもんだと「おまじない」としてスルーする。 var body: some Viewや、fn longest<'a>など、 見慣れない表記を見ても、いったん気にしない。前に進む。 強敵は、力を付けてレベルが上ってから再戦しましょう。 目の前に現れたすべての敵と戦う必要はありません。 ボスまでのルートを開通す

    エルデンリングから学んだ、プログラミング学習に必要な7つのこと - Qiita
    quanon
    quanon 2022/05/06
  • Python clickの案外知られていない機能 - Qiita

    Pythonにはclickというコマンドラインパーサとして使えるライブラリがあります。同様のライブラリとして以前からargparseがありますが、clickはargparseよりももっと簡単に使えるライブラリです。 clickでコマンドラインパーサを書く例は以下になります。 # main.py import click @click.command() @click.option( "--count", type=int, default=1, required=True, help="Number of greetings.", ) @click.option( "--name", type=str, default="Your name", required=True, help="The person to greet.", ) def hello( count: int, name

    Python clickの案外知られていない機能 - Qiita
    quanon
    quanon 2021/12/20
    便利すぎる 👀✨
  • POSIX 準拠のシェルスクリプトでは find | xargs よりも find -exec {} + を使うべき! - Qiita

    POSIX 準拠のシェルスクリプトでは find | xargs よりも find -exec {} + を使うべき!ShellScriptBashshellPOSIX はじめに find の出力を xargs にパイプで渡すというのはよく見かける使い方ですが、find -print0 | xargs -0 が使えない POSIX 準拠のシェルスクリプトでは find -exec {} + を使った方が良いです。安全かつ十分に速いからです。よく見かける -exec {} ; ではなく -exec {} + ですので間違えないようにしてください。多くのケースでは + の方が優れているのですが ; ばっかり使われているのを見ると、意外と知られてない気がします。 少しだけ予備知識として、-exec {} ; は -exec {} \; と ; をバックスラッシュでエスケープするのがよく見る使い方

    POSIX 準拠のシェルスクリプトでは find | xargs よりも find -exec {} + を使うべき! - Qiita
    quanon
    quanon 2021/09/14
  • Let's Encryptのルート認証局移行についてちょっと調べてみた - Qiita

    私も大変有り難く利用させてもらっている、みんな大好きLet's Encryptはいろんな方の寄付のおかげで無料で利用できるSSLサーバー証明書の発行サービスですが、何やらルート認証局の移行が話題になっているので、ちょっと調べてみました。 問題の概要は、こちらのブログでとても詳しく解説されており、とても参考になりました。ありがとうございます。 公式から出ている説明だと、出てくる証明書の関係がわかりにくく、図もちょっと間違っていたので、別の図を起こしました。簡単には、DST Root X3ルート証明書が期限切れを迎えそうなので、新しいISRG Root X1ルート認証局に移行したいわけです。 certbotを使っていると /etc/letsencrypt/archive/ドメイン/ に発行された証明書、チェーン、秘密鍵の履歴が残りますが、その時期を頼りにどうなっていたのか見てみます。 2020

    Let's Encryptのルート認証局移行についてちょっと調べてみた - Qiita
    quanon
    quanon 2021/05/09
  • 大幅にリニューアルされた Next.js のチュートリアルをどこよりも早く全編和訳しました - Qiita

    数日前(4/21頃)に Next.js のチュートリアルが一新されました。 Next.js は 3 月頭に ver 9.3 がリリースされ、ビルド時に静的に HTML を生成する関数などが追加されるなど、今までよりもかなりパワフルになり、いわゆる JAMstack と呼ばれるようなアプリケーションを作りやすくなりました。 そのバージョンアップに対応するかたちで、チュートリアルも大幅に書き直されました。 参考(開発チームの @chibicode さんのツイッター) Next.jsの公式チュートリアルを最新版に沿ってゼロから書き直しました! 🎓英語ですが初心者向けです! ⚛️最近導入されたgetStaticProps等の関数や、 🎨CSS Modulesの解説をしています! 🗣ブログを作りながら学びます 🤗ご感想お待ちしております!https://t.co/R4j9vpAQoc — S

    大幅にリニューアルされた Next.js のチュートリアルをどこよりも早く全編和訳しました - Qiita
    quanon
    quanon 2020/05/02
  • [初心者]オブジェクト指向でなぜつくるのか - Qiita

    はじめに オブジェクト指向はなんとなく理解しているつもりだったが、人に明確に説明できるほどではなかったため、オブジェクト指向でなぜつくるのかを読んで、まとめた。非常に分かりやすい書籍なのでQiitaをご覧いただき、いいねをつけていただいた上でご一読ください。 1. オブジェクト指向はソフトウェア開発を楽にする技術 オブジェクト指向とは、業務分析から要求定義、設計、プログラミング、開発プロセスまでをカバーするソフトウェア開発の総合的な技術である。 オブジェクト指向が難しいと思われるのは、技術そのものの複雑さに起因するのではなく、状況が混乱しているためである。そして分からないがゆえ、一般人には手の届かない神秘的な魔法だと思われてしまう。 混乱①用語の洪水 対象分野が広いゆえ、特殊用語のオンパレードになってしまい混乱してしまう。 現実世界やシステムは、データと手続きをまとめた「オブジェクト」から

    [初心者]オブジェクト指向でなぜつくるのか - Qiita
    quanon
    quanon 2019/06/05
    わかりやすいまとめ 😳 原著も読みたい!
  • Pythonの並列処理・並行処理をしっかり調べてみた - Qiita

    「ビルトインモジュールが色々あってぜんぜん分からない。俺達は雰囲気で並列処理を使っている」という状態だったので、良くないと思ってPythonの並列処理と並行処理をしっかり調べてみました。 少し長めです。細かいところまで把握するためのもので、仕事などの都合でさくっと調べて使いたい方は別の記事をご確認ください。 使った環境 Python 3.6.1 :: Anaconda 4.4.0 (64-bit) Ubuntu Jupyter notebook(一部マジックコマンドなども利用しています) ※Windowsの場合、マルチプロセスなどで直接Jupyter上で動いてくれない(.pyファイルを経由すると動く)などのケースがあります。 参考 : Jupyter notebook never finishes processing using multiprocessing (Python 3) 並行

    Pythonの並列処理・並行処理をしっかり調べてみた - Qiita
    quanon
    quanon 2019/05/13
    「並列処理を車線を増やす対応、並行処理は十字路で、GIL という信号機がある」という比喩が分かりやすかった。
  • [翻訳]あなたがプログラミングに向いていない10のサイン - Qiita

    ※この記事はJonathan Bluks氏の「10 Signs You Will Suck at Programming」を翻訳したものです。Mediumのコメント欄より翻訳の許可を頂きました。ありがとうございます。 より多くのステッカーは、より多くの成長にはなりません。 最近、RedditやQuoraで「自分がプログラマとして成功できるか、どうすれば分かりますか?」という質問をよく見かけます。キャリアチェンジを検討したり、あるいはソフトウェア開発に興味があったりするのであれば、それはごく自然な疑問です。 コンピュータに関する正式なトレーニングを受けていない場合、人々はプログラマになることに大きな心理的障壁があると思います。プログラミングが苦手であれば、あなたは自分がプログラマとして才能が無い人だと思うのは自然な考えです。もしあなたが俳優になりたいと思っていて、自分は演技が得意かどうかを疑

    [翻訳]あなたがプログラミングに向いていない10のサイン - Qiita
    quanon
    quanon 2019/03/17
    3, 6, 9 あたり、胸に刺さった。
  • 量子コンピュータエンジニア始めて5年が経った - Qiita

    はじめに もともとふつうのベンチャーでしたが、2014年に量子コンピュータにピボットしてからはすくすく会社が育ち、向いてることをするのは大事だなと感じてます。 Qiitaはポエムを書かないといけないらしい(多分)ので。おそらく日初の量子コンピュータベンチャーとしてまず五年目までに気づいたことを書いてみます。 もともとはデザイン会社 もともとうちの会社はデザイン会社でした。出身が建築事務所だったので、そのまま2009年に独立してデザインをしてました。建築時代はphotoshop+autocadを使っていました。イラレはいまだに苦手です。 前の建築事務所は隈研吾建築事務所というところで、青山の美術館の設計や中国のアリババの社屋のコンペなどを主にしていました。 建築は当時CGパースも仕事がたくさんありましたので、CGのモデリングやレンダリングをやりながら当初は生計を立てていました。ただ、リーマ

    量子コンピュータエンジニア始めて5年が経った - Qiita
    quanon
    quanon 2019/03/10
    超人としかいいようがない……。
  • 2つの公開鍵暗号(公開鍵暗号の基礎知識) - Qiita

    はじめに TLS/SSLをはじめとして、様々な場面で公開鍵暗号が重要な役割を果たしているのは良く知られていることと思います。 ここで公開鍵暗号が何かというと、「かたやデータを公開鍵で暗号化して、かたや秘密鍵で復号する。他人にはデータの内容が漏れない」という説明が一般的です。 そうすると大抵の人は「TLS/SSL、公開鍵で暗号化して秘密鍵で復号するのね」と2つの情報を組み合わせ、それで納得してしまうわけですが、実は今日これは大体において誤り1です。 この誤りはいまやどうしようもなく広く流布していています。これは、適切な入門書がないことや、そもそも情報の検証を行う人が少ない ( そこまでする動機がない ) という理由によるわけですが、公開鍵暗号という言葉が2通りの意味で流通しているという面も大きいように思われます。 ということで、この2つの意味の違いに着目しつつ、基礎の整理を行いたいと思います

    2つの公開鍵暗号(公開鍵暗号の基礎知識) - Qiita
    quanon
    quanon 2019/01/28
    内容が簡単すぎず難しすぎず、よくまとまっている。復習にとても役立った!
  • Sequel Proを超えるGUIツールが出てきたぞ

    悲報 2019年6月26日現在、TeamSQLのサポートがなくなってしまったようでダウンロードできなくなくなりました。。 TeamSQL has retired and is not available for download anymore. 今までSequel Proを重宝してきましたが、それを超えるGUIツールが出てきました。 その名も、TeamSQL 現状サポートしているものだけでもかなり豊富 今後、elasticやmongoDBにも対応されるようです。 機能 クエリ保存 履歴保持 ファイル出力 抽出した結果をボタン1つでcsvやjson形式に保存可能。 共有 データをエクスポートしなくても共有が可能。 グループの作成が可能なため、特定のユーザー同士で簡単に共有ができるとこがメリット。 可視化 様々なチャートでクエリの可視化が可能。 そのままイメージとして保存も可能。 テーマ選択

    Sequel Proを超えるGUIツールが出てきたぞ
    quanon
    quanon 2018/09/22
  • ちょっとしたツールを作るのに便利なPythonライブラリ - Qiita

    この記事は、LIFULL Advent Calendar 2017の2日目の記事です。 おはようございます。新UX開発部の二宮( @ninomiyt )です。 LIFULLではデータ解析や最適化の用途、もしくはAWS Lambda上の簡易ツール実装用途などでPythonがそれなりに普及してきました。数値計算寄りの(いわゆるデータサイエンティスト的な)メンバーも今はPythonを使うことが多く、コード量としては小規模なプロジェクトが多く、簡単なAPIやバッチ処理の実装までやってもらうこともあります。 そのレビューをやっていく中で、「これ使うともっと簡単に実装できるよね」っていうライブラリがいくつかまとまってきたので紹介します。 click コマンドラインパーサー用のライブラリで、デコレータを使って関数を簡単にCLI化できます。 標準ライブラリのargparseがありますが、clickではバリ

    ちょっとしたツールを作るのに便利なPythonライブラリ - Qiita
  • 絵文字を支える技術の紹介 - Qiita

    絵文字を扱う上で知っておくと良いかもしれないことをまとめてみました。 Ruiさんの記事を見て、「EmojiはSurrogate Pair以外にも、色々とおもしろい技術があるんですよ〜」思って書いてみました。 なお、書いた人はAndroidの人間なので、特に表記していない場合は主にAndroid上での動作のことを書いてます。 またQiita初めてなので読みにくい部分等がありましてもご容赦ください。 サロゲートペア(Surrogate Pairs) このエントリーを書くきっかけにもなったサロゲートペア。なぜこれが導入されたかの経緯は、Ruiさんのブログエントリーに譲るとして、技術的な解説をします。 サロゲートペアは、U+0000..U+FFFFに収まりきらなかった範囲のUnicodeコードポイント(U+10000..U+10FFFF)を、なんとか16bitでエンコードしようとして導入されました

    絵文字を支える技術の紹介 - Qiita
    quanon
    quanon 2017/11/16
    最高の記事!!!
  • Pythonを書き始める前に見るべきTips - Qiita

    Pythonを使ってこの方さまざまな点につまずいたが、ここではそんなトラップを回避して快適なPython Lifeを送っていただくべく、書き始める前に知っておけばよかったというTipsをまとめておく。 Python2系と3系について Pythonには2系と3系があり、3系では後方互換性に影響のある変更が入れられている。つまり、Python3のコードはPython2では動かないことがある(逆もしかり)。 Python3ではPython2における様々な点が改善されており、今から使うなら最新版のPython3で行うのが基だ(下記でも、Python3で改善されるものは明記するようにした)。何より、Python2は2020年1月1日をもってサポートが終了した。よって今からPython2を使う理由はない。未だにPython2を使う者は、小学生にもディスられる。 しかし、世の中にはまだPython3に

    Pythonを書き始める前に見るべきTips - Qiita
  • 【初心者向け】「コミットの粒度がわからない問題」の模範解答を考えてみた - Qiita

    はじめに 先日参加したRails Developers Meetupの中で、「コミットの粒度がわからない問題」が少し話題になっていました。 「commitの粒度がわからない」すいません、私もです…!よく迷っちゃいます…!!! #railsdm — まえとー (@maetoo11) July 20, 2017 commitの粒度がわからない問題、ある。(ほんとわからない) #railsdm — おおた (@ota42y) July 20, 2017 普段僕は感覚的に「それっ、ここでコミット!」とコミットしているんですが、具体的にどういうルールでやってるの?と聞かれると、きれいに明文化しづらいものです。 とはいえ、できるだけ明文化できるよう、模範解答を考えてみました。 この記事ではそんな「適切なコミット粒度」について解説します。 動画で明文化・・・!? すいません、「明文化した模範解答」という

    【初心者向け】「コミットの粒度がわからない問題」の模範解答を考えてみた - Qiita
  • LambdaでAWSの料金を毎日Slackに通知した結果課金されてしまった - Qiita

    はじめに ブログにも書いてます 請求アラートは設定していますが、それとは別にAWSの料金をLambdacronで定期チェックしてSlackに通知するを設定して1ヶ月間運用してみました。 毎日金額がわかるとやっぱり安心できますよね。 推移 おわりに 安心のために2円(2017/09/01のレート)支払うことになった。 悲しい。 Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    LambdaでAWSの料金を毎日Slackに通知した結果課金されてしまった - Qiita
    quanon
    quanon 2017/09/09
  • JavaScript Promise デザインパターン - エラーハンドリング , reduce を使った可変長非同期逐次処理 , キャンセル可能なPromise , イベントループなど - - Qiita

    JavaScript Promise デザインパターン - reduce を使った可変長非同期逐次処理 , キャンセル可能なPromise など - Promise の中では throw してはならない このコードは何が表示されるだろうか? new Promise((resolve)=>{ setTimeout(()=>{ throw new Error("foo"); resolve("bar"); }); }) .then((a)=>{ alert(a); }) .catch((err)=>{ alert(err); });

    JavaScript Promise デザインパターン - エラーハンドリング , reduce を使った可変長非同期逐次処理 , キャンセル可能なPromise , イベントループなど - - Qiita