はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • IT
    • 最新ガジェット
    • 自然科学
    • 経済・金融
    • おもしろ
    • マンガ
    • ゲーム
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 社会ニュース
    • 地域
    • 国際
    • 天気
    • グルメ
    • 映画・音楽
    • スポーツ
    • はてな匿名ダイアリー
    • はてなブログ(一般)
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • はてな匿名ダイアリー
    • はてなブログ(世の中)
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • 国際
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • 相続
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • アウトドア
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 語学
    • ビジネス・経営学
    • デザイン
    • 法律
    • 本・書評
    • 将棋・囲碁
    • はてなブログ(学び)
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
    • 癒やし
    • はてなブログ(おもしろ)
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • お笑い
    • サッカー
    • 話題の動画
    • はてなブログ(エンタメ)
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
    • はてなブログ(アニメとゲーム)
    • はてなブログ(ゲーム)
  • おすすめ

    WWDC25

『qiita.com』

  • 人気
  • 新着
  • すべて
  • 【個人開発】ブロックチェーン初心者がNFTのガチャゲームを行うDAppsをリリースしてみた話 - Qiita

    3 users

    qiita.com/5zm

    1. はじめに スマートコントラクトに興味を持ったので、ブロックチェーン初心者がIOSTでNFT(Non-Fungible Token:非代替性トークン)のDApps(decentralized applications:分散型アプリケーション)を作ってリリースしてみた際の話になります。 スマートコントラクトはソースコードがブロックチェーン上で公開されおり、実行時に不正を行うのも困難なため、運営サイド不正操作が話題となるガチャゲームに適用してみました。 2. 何を作ったの? IOSTでNFTを発行するCOTOVA(言葉)というサービスです。 https://cotova.net/ NFTのコンテンツは漢字ガチャで特定漢字の組み合わせになります。仕様概要は以下の通りで、思いもよらない漢字の組み合わせに出会えるかもしれません。 JIS第一水準漢字、JIS第二水準漢字の6,355個の漢字の組み合

    • テクノロジー
    • 2021/05/27 13:06
    • Flaskで多重実行(排他)を制御する方法 - Qiita

      3 users

      qiita.com/5zm

      1. はじめに 前回の記事ではFlaskのアプリケーションで同時アクセスを有効にする方法について説明しました。しかし、処理によっては同時実行数を制限しなけばならない場合があるかと思います。 リソースを消費する重たい処理 たとえば巨大な画像ファイルを生成する処理など もともと同時実行を考慮していない処理 たとえば機械学習におけるモデルの構築処理など 今回は特定の処理に対して多重実行を制御する方法について説明したいと思います。 1.1. ポイント 多重実行の制御にはQueueを利用する 多重制御の関数デコレータ@multiple_controlを作成する 制限を掛ける処理に@multiple_controlデコレータを付与する @app.route('/world/<string:value>', methods=['GET']) @multiple_control(singleQueue)

      • テクノロジー
      • 2020/12/26 10:45
      • python
      • Bean Validationで簡単入力チェック! - Qiita

        5 users

        qiita.com/5zm

        1. はじめに 今回はBean Validationを利用した入力チェックの方法について説明したいと思います。 Bean Validationの使い方 入力チェックの対象クラスにチェックに応じたアノテーションを付与する チェック対象となるインスタンスを生成する Validatorのvalidateメソッドにチェック対象のインスタンスを指定し、入力チェックを実行する 2. ライブラリの用意 必要となるライブラリを依存関係に追加します。 hibernate-validatorのメッセージ解決で必要となるためjavax.elも一緒に追加しています。 なお、Bean Validationのライブラリ(groupId:javax.validation、artifactId:validation-api)を記述していませんが、依存関係があるため自動で依存関係に追加されます。 <dependency>

        • テクノロジー
        • 2020/05/19 15:15
        • あとで読む
        • Flaskでファイルダウンロードを実現する3つの方法 - Qiita

          3 users

          qiita.com/5zm

          1. はじめに 最近、PythonでExcelファイルを作成してPJメンバに配布していましたが、手間が掛ってきたのでFlaskでダウンロードできるようにしました。今回はその際に調べたダウンロードの方法について共有したいと思います。なお、Excelファイルの作り方については以下の記事を参照ください。 PythonでGitBucketのIssueをExcel出力する(Excel出力編) PythonでGitBucketのIssueをExcel出力する(その後) PythonのoepnpyxlでテンプレートファイルからExcel帳票を作成する 2. 方法1:send_file()を利用する ファイルをダウンロードさせる1つ目の方法はflaskのsend_file() を利用することです。 この方法はroot_path(デフォルトではflaskアプリが配置されたディレクトリ)からの相対パスで指定し

          • テクノロジー
          • 2020/04/01 16:59
          • Pythonのrequestsを利用してファイルダウンロードする方法 - Qiita

            4 users

            qiita.com/5zm

            1. はじめに PythonのHTTPクライアントライブラリであるrequestsを利用して、普通のファイルダウンロードを行う方法について説明したいと思います。Rest API(json形式)によるファイルダウンロードについては次回説明する予定です。 なお、アップロードについては「Pythonのrequestsを利用してmultipart/form-dataのFormにファイルアップロードする方法」を参照ください。 2. ソースコード # -*- coding: utf-8 -*- import requests import os from datetime import datetime # ★ポイント1 # ex) set DOWNLOAD_SAVE_DIR=C:/Temp/flaskDownloadSaveDir DOWNLOAD_SAVE_DIR = os.getenv("DOW

            • テクノロジー
            • 2019/12/12 23:23
            • 新人に悲観ロックによる排他制御を体験してもらう - Qiita

              3 users

              qiita.com/5zm

              1. はじめに 新人に悲観ロックによる排他制御を説明する際、実際にPostgreSQLを操作して見せたデモの評判がよかったため、今回Qiitaの記事にしてみました。排他制御は並列実行のイメージが掴めないと知識だけで理解するのは難しいので、体験してみると多少は理解しやすくなるかと思います。 なお、排他制御の説明については、他の方の良い記事やWebサイトがあるのでそちらを参照ください。 排他制御のあれこれ データベースさわったこと無い新人向けトランザクション入門 TERASOLUNA5.xのガイドラインの6.4. 排他制御 2. 悲観ロックを試してみる 2.1. 事前準備 今回は「PostgreSQL 9.3」を利用して悲観ロックを試してみます。 PostgreSQLのインストールについては他の方の記事を参考にしてみてください。 Windows環境でPostgreSQL 新人研修用(DB編)

              • テクノロジー
              • 2019/10/16 05:52
              • Pythonで巨大ファイルのハッシュ値(チェックサム)を求める方法 - Qiita

                3 users

                qiita.com/5zm

                1, はじめに 今回はPythonでデータサイズの大きなファイルのハッシュ値(チェックサム)を求める方法について説明したいと思います。 ハッシュ値を求めるには対象データのバイト配列が必要ですが、メモリに格納できないような巨大なファイルの場合はどうするのか疑問に思ったので調べてみました。 2. ソースコード # -*- coding: utf-8 -*- import hashlib import argparse # main if __name__ == "__main__": # ★ポイント1 parser = argparse.ArgumentParser(description='hashApp') parser.add_argument('input', help='Input file path') parser.add_argument('--alg', help='Inpu

                • テクノロジー
                • 2019/05/02 16:03
                • Jacksonで一部のプロパティをJSON文字列のまま取得したい! - Qiita

                  4 users

                  qiita.com/5zm

                  1. はじめに Jacksonで簡単にJson文字列 -> Javaオブジェクトの変換処理(デシリアライズ)ができるのですが、どうしても一部のプロパティをJSON文字列のまま取得したい要件が発生しました。 何でも入る魔法のプロパティ(ここでは仮にpayloadとする)があって、別のプロパティに定義されているデータ型(FQCN)で復元したいというのが目的です。 JacksonにはJSON文字列を文字列のまま扱う@JsonValueがありますが、これはシリアライズの場合のみ有効なものです。残念ながらデシリアライズの場合は対象外です。 対処方法は独自のJsonDeserializerを実装して、@JsonDeserializeで個別にデシリアライズ処理を指定することです。といっても目的が「JSON文字列のまま取得したい」なのでJsonDeserializerの実装は非常に簡単です。 2. ソース

                  • テクノロジー
                  • 2019/04/13 12:17
                  • Java
                  • Windowsのコマンドでファイルを結合する - Qiita

                    5 users

                    qiita.com/5zm

                    Linuxではコマンドで簡単にファイルを結合(マージ)できますが、Windowsのコマンドで結合する方法は知らなかったので備忘録として記事にしました。 ファイルの結合はcopyコマンドで行いますが、ポイントは/bオプションを付与することです。 /bはバイナリファイルとして扱うためのオプションですが、テキストファイルの結合にもこのオプションを付与することで、文字コードや改行コードが弄られることなく結合することが可能です。 1. ディレクトリ配下の1つのファイルに結合するコマンド *が利用できるので、複数のファイルを結合する際に利用しましょう。

                    • テクノロジー
                    • 2019/04/04 16:00
                    • FlaskでシンプルにContent-Typeをチェックする(@content_type) - Qiita

                      3 users

                      qiita.com/5zm

                      1. はじめに 前回の記事ではflask、cerberus、peeweeを利用したマイクロサービスのコンセプトアプリを作成しました。今回はその際省略したflaskによるContent-Typeのチェック方法について説明します。また、Content-Typeをチェックする関数デコレータの作り方についても紹介したいと思います。 1.1. 今回紹介する@content_type関数デコレータの仕様 flaskのroute()関数デコレータを付与する関数(つまりREST API)に対して付与する 許可するContent-Typeを関数デコレータの引数に指定する HTTPリクエストヘッダのContent-Typeと引数で指定された値を比較する 異なる場合はHTTPステータスの400エラーをレスポンスとして返却する # rest api @app.route('/questions', methods

                      • テクノロジー
                      • 2019/03/25 20:10
                      • python
                      • Flaskでmultipart/form-dataのファイルアップロードを実現する方法 - Qiita

                        5 users

                        qiita.com/5zm

                        1. はじめに 今回はflaskでmultipart/form-dataによるファイルアップロードの方法について説明したいと思います。わざわざmultipart/form-dataと書いているのはRest API(json形式)におけるファイルアップロードという選択肢もあるからです。こちらについては次回説明する予定です。 なお、クライアント側については「Pythonのrequestsを利用してmultipart/form-dataのFormにファイルアップロードする方法」を参照ください。 2. ソースコード # -*- coding: utf-8 -*- from flask import Flask, request, make_response, jsonify import os import werkzeug from datetime import datetime # flas

                        • テクノロジー
                        • 2019/03/19 18:22
                        • Flask
                        • Python
                        • excel
                        • Flaskで静的ファイルの格納ディレクトリとURLを変更する - Qiita

                          4 users

                          qiita.com/5zm

                          1. はじめに 今回はflaskで静的ファイルにアクセスするためのURLのパスと、格納ディレクトリの変更方法について説明します。また、通常REST APIでは静的ファイルは不要なため、これを無効にする方法についても説明したいと思います。 1.1. 検証環境 Python 2.7.13 Flask 0.12.2 2. 格納ディレクトリはstatic_folderで変更 flaskで静的ファイルを格納するディレクトリはstatic_folderで変更することができます。 デフォルトの設定はstaticディレクトリです。 2.1. ソースコード # -*- coding: utf-8 -*- import os from flask import Flask # flask # app = Flask(__name__) # 相対パスで指定 app = Flask(__name__, stati

                          • テクノロジー
                          • 2019/01/04 23:08
                          • FlaskでRest API(json形式)のファイルアップロードを実現する方法 - Qiita

                            4 users

                            qiita.com/5zm

                            1. はじめに 今回はflaskでRest API(json形式)におけるファイルアップロードの方法について説明したいと思います。一般的なファイルアップロードであるmultipart/form-dataを利用したファイルアップロードについては前回の記事を参照ください。 なお、クライアント側については「Pythonのrequestsを利用してRest API(json形式)にファイルアップロードする方法」を参照ください。 2. ソースコード # -*- coding: utf-8 -*- from flask import Flask, request, make_response, jsonify import os import werkzeug import base64 from datetime import datetime # flask app = Flask(__name_

                            • テクノロジー
                            • 2018/12/10 18:20
                            • api
                            • python
                            • 絶対分かるMyBatis!MyBatisで覚えるべきチェックルール25(中編) - Qiita

                              9 users

                              qiita.com/5zm

                              チェックルール(つづき) 絶対分かるMyBatis!MyBatisで覚えるべきチェックルール25(前半) のつづきになります。本来は残りのチェックルール(13~25)について説明するつもりでしたが、予想以上に長くなってしまったので3部構成に変更しました。今回はチェックルール(13~20)まで説明したいと思います。 13. Mapperファイル内で引数のJavaのデータを参照する場合、バインド変数#{...}を利用すること MyBatisのデフォルトではJavaのPreparedStatementを利用してSQLを実行します。実はバインド変数#{...}はPreparedStatementのパラメータとして設定されます。つまりパラメータが利用できる箇所でのみ、利用することができます。 SELECT文のWHERE句における値 INSERT文のVALUES句における値 UPDATE文のSET句に

                              • テクノロジー
                              • 2018/12/06 09:11
                              • MyBatis
                              • Java
                              • あとで読む
                              • Spark Frameworkで簡単マイクロサービス! - Qiita

                                3 users

                                qiita.com/5zm

                                1. Spark Frameworkとは 非常にシンプルなWebアプリケーションのフレームワークで、公式サイトでは以下のように説明されています。 Spark - A micro framework for creating web applications in Kotlin and Java 8 with minimal effort githubで7199の評価がある(2018/3/4時点)ので、かなり使われているフレームワークのようです。 特徴としては、Webアプリケーションをラムダ式とstaticメソッドを使ってとても手軽に実装することができます。 以下は公式ドキュメントに掲載されているサンプルです。

                                • テクノロジー
                                • 2018/11/16 14:46
                                • API
                                • Java
                                • Pythonのrequestsを利用してmultipart/form-dataのFormにファイルアップロードする方法 - Qiita

                                  5 users

                                  qiita.com/5zm

                                  # -*- coding: utf-8 -*- import requests # ★ポイント1 XLSX_MIMETYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' # <form action="/data/upload" method="post" enctype="multipart/form-data"> # <input type="file" name="uploadFile"/> # <input type="submit" value="submit"/> # </form> # main if __name__ == "__main__": # ★ポイント2 fileName = 'demo01.xlsx' fileDataBinary = open(fileName, '

                                  • テクノロジー
                                  • 2018/09/06 15:15
                                  • 絶対分かるMyBatis!MyBatisで覚えるべきチェックルール25(前半) - Qiita

                                    6 users

                                    qiita.com/5zm

                                    はじめに 今回はO/R MappingツールであるMyBatisの概要とその使い方について、初心者がよく間違えるポイントを踏まえ、チェックルールとして纏めてみました。 (2018/10/24 追記) つづきは「絶対分かるMyBatis!MyBatisで覚えるべきチェックルール25(中編)」を参照ください。 MyBatisとは? JavaのDBアクセス用のOSSライブラリ(いわゆるO/R Mappingツール)です。 SQLをXMLファイルに記述し、Javaのインターフェースのメソッドを実行すると、メソッド名に対応するSQLが実行されます。 メソッドの引数や戻り値を、JavaのオブジェクトとSQL(PreparedStatement、ResultSet等)とマッピングしてくれます。 動的SQLという引数の状態に応じて異なるSQLを発行する便利な機能があります。 読み方、利用方法 チェックルー

                                    • テクノロジー
                                    • 2018/06/11 11:22
                                    • java
                                    • Flask,requestsでファイルアップロード、ファイルダウンロードのまとめ - Qiita

                                      9 users

                                      qiita.com/5zm

                                      Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                                      • テクノロジー
                                      • 2018/06/05 08:06
                                      • python
                                      • あとで読む
                                      • Flaskで任意のデータを引数として受け取る方法 - Qiita

                                        7 users

                                        qiita.com/5zm

                                        1. はじめに 前回はFlaskの拡張ポイントを利用して、全てのURLにPrefixを追加する方法について説明しました。今回も同様にFlaskの拡張ポイントを利用して、@app.route()関数デコレータが付与された関数の引数として、任意のデータを受け取る方法について説明したいと思います。 1.1. (おさらい)FlaskのURLパス変数について FlaskではURLの一部の値をパス変数として、引数で受け取ることができます。その際、Converterを利用してデータ型の変換を行うことも可能です。 Variable Rules To add variable parts to a URL you can mark these special sections as <variable_name>. Such a part is then passed as a keyword argume

                                        • テクノロジー
                                        • 2018/05/11 14:30
                                        • Flask
                                        • python
                                        • あとで読む
                                        • ajaxでマルチパートを使わずにファイルアップロードする方法 - Qiita

                                          14 users

                                          qiita.com/5zm

                                          1. はじめに 今回はajaxでマルチパートを使わずにファイルをアップロードする方法について説明したいと思います。 (ポイント) JQueryなどの外部ライブラリは利用せず、素のJavaScriptのみで実現する XMLHttpRequestとFile(Blob)を利用する multipart/form-dataではなく、ファイル種別に応じた任意のcontent-typeでデータを送信する HTTPリクエストのBODYはファイルデータそのもの(バイナリ)となり、multipart/form-data(たとえばbase64)のエンコード、デコード処理が不要となる サーバ側のアップロード処理がこの方法に対応している必要がある 2. ソースコード <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>upload</title>

                                          • テクノロジー
                                          • 2018/02/16 20:03
                                          • JavaScript
                                          • ajax
                                          • techfeed
                                          • jQuery
                                          • あとで読む
                                          • Flaskのデフォルトでは同時アクセスを処理できない - Qiita

                                            10 users

                                            qiita.com/5zm

                                            1. はじめに Flaskのデフォルトでは複数のリクエストを同時に処理することができません。HTTPリクエストを並列処理するのではなくシングル(直列)処理で行うため、同時アクセスがあると最初のリクエストの処理が完了するまで待ちが発生します。 これは公式ドキュメントにも書かれています。 While lightweight and easy to use, Flask’s built-in server is not suitable for production as it doesn’t scale well and by default serves only one request at a time. Some of the options available for properly running Flask in production are documented here.

                                            • テクノロジー
                                            • 2018/01/25 11:31
                                            • python
                                            • 5分で分かるTERASOLUNA5.x ! - Qiita

                                              4 users

                                              qiita.com/5zm

                                              (依存関係について) レイヤ間の依存関係(ライブラリの依存関係)として、アプリケーション層はドメイン層に依存します。 アプリケーション層からドメイン層のコンポーネントを利用することができますが、反対にドメイン層からアプリケーション層のコンポーネントを利用することはできません。 3. 各コンポーネントとデータと処理の流れ 3.1. イメージ 3.2. データと処理の流れ 入力したデータはFormに格納される。 必要ならその際、入力チェックを実施する。 ControllerのメソッドでFormを引数として受け取る。 業務ロジックを実行するためServiceのメソッドを呼び出す。 トランザクション境界はServiceのメソッドである。 ServiceはRepositoryを利用してDBアクセスを行う。 Repositoryのメソッドを呼び出すと、Mapperファイルに記述したメソッドに対応するS

                                              • テクノロジー
                                              • 2017/11/09 12:45
                                              • Pythonでマイクロサービス(概要編) - Qiita

                                                5 users

                                                qiita.com/5zm

                                                1 はじめに 最近、Lightweight Language(LL)を利用したマイクロサービス(いわゆるREST API)の開発について調べる機会がありました。 LLといってもRuby,Go,Python等々いろいろな言語がありますが、機械学習やIoTの界隈でPythonを利用している知り合いが多かったため、今回はPythonを利用してマイクロサービスを実装する方法について備忘録として残したいと思います。 なお、Pythonは今回が初めてとなる初心者ですので、そのつもりでお読み頂ければと思います。 1.1 検証環境 今回の検証で利用した環境は以下の通りです。 なお、今回はPythonの仮想環境は試していません。 (Windowsだと動作しないと言われているので) Windows 7 Professional SP1 (32bit) Python 2.7.13 PostgreSQL 9.3

                                                • テクノロジー
                                                • 2017/08/15 10:34
                                                • python
                                                • api
                                                • webサービス

                                                このページはまだ
                                                ブックマークされていません

                                                このページを最初にブックマークしてみませんか?

                                                『qiita.com』の新着エントリーを見る

                                                キーボードショートカット一覧

                                                j次のブックマーク

                                                k前のブックマーク

                                                lあとで読む

                                                eコメント一覧を開く

                                                oページを開く

                                                はてなブックマーク

                                                • 総合
                                                • 一般
                                                • 世の中
                                                • 政治と経済
                                                • 暮らし
                                                • 学び
                                                • テクノロジー
                                                • エンタメ
                                                • アニメとゲーム
                                                • おもしろ
                                                • アプリ・拡張機能
                                                • 開発ブログ
                                                • ヘルプ
                                                • お問い合わせ
                                                • ガイドライン
                                                • 利用規約
                                                • プライバシーポリシー
                                                • 利用者情報の外部送信について
                                                • ガイドライン
                                                • 利用規約
                                                • プライバシーポリシー
                                                • 利用者情報の外部送信について

                                                公式Twitter

                                                • 公式アカウント
                                                • ホットエントリー

                                                はてなのサービス

                                                • はてなブログ
                                                • はてなブログPro
                                                • 人力検索はてな
                                                • はてなブログ タグ
                                                • はてなニュース
                                                • ソレドコ
                                                • App Storeからダウンロード
                                                • Google Playで手に入れよう
                                                Copyright © 2005-2025 Hatena. All Rights Reserved.
                                                設定を変更しましたx