タグ

ブックマーク / qiita.com (1,164)

  • なぜシェルスクリプトはPOSIX準拠でも環境依存が激しいのか? 〜POSIXの問題点とその解決策の案〜 - Qiita

    なぜシェルスクリプトはPOSIX準拠でも環境依存が激しいのか? 〜POSIXの問題点とその解決策の案〜ShellScriptBashshellPOSIX まえがき この記事は「シェルスクリプトで高い移植性と生産性を両立させるシリーズ」の第一弾です。移植性と生産性を両立させるための前提知識として POSIX コマンドの問題点について解説します。第二弾では高い移植性と互換性を実現させるための考え方、そして第三弾、第四弾ではそれを実現するシェルスクリプトの具体的な実装テクニックを紹介します。第五弾では現実的な問題と回避方法について解説する予定ですがまだ具体的な内容は決まっていません。第五弾はその前に「シェルスクリプト入門(仮)」の記事を書こうと思ってるので少し遅くなると思います。もし興味がある方は記事をストックしていると更新時に通知されると思います。 2021-07-11 追記 記事が長くなった

    なぜシェルスクリプトはPOSIX準拠でも環境依存が激しいのか? 〜POSIXの問題点とその解決策の案〜 - Qiita
  • Webサーバ無しHTML(JavaScript)でJSONデータを扱う - Qiita

    はじめに Webサーバーを立てずに、ローカルHTML(JavaScript)でJSONデータを扱うサンプル作りました。なんちゃってアプリを作りたくなったときの自分用メモです。 HTML(JavaScript)ソース ソースgithubに置きました。 ファイルは以下の2つです。 accessJson.html link.json.js link.json.jsはJSONデータを含む変数のみ記載しています。拡張子を.jsonとすると読み込み時にCORSエラーが発生するため、このような形式にしています。(ネットで見つけた方法) WebサーバをたてずaccessJson.htmlを実行するだけで動作します。 動作 ちょっとだけ動作を紹介します。 accessJson.htmlを実行するとこのような画面が表示されます。余談ですが、Webサーバを使ってないのでURLがファイルパスになっています。 Di

    Webサーバ無しHTML(JavaScript)でJSONデータを扱う - Qiita
    korin
    korin 2021/08/03
  • Firefoxは危険なJavaScriptに対応しない - Qiita

    Firefox / Safari MozillaはMozilla Specification Positionsというリストを公開しています。 IETFやW3C、TC39などが提唱しているWeb技術に対して、Mozillaはどのように評価しているかという立ち位置を表明したものです。 あくまで現時点での評価であり、もちろん今後の仕様変更などに伴い評価は変わる可能性があります。 Mozilla's Positions Mozillaはどのように評価しているかの分類。 under consideration 評価の検討中。 important 優れた概念であり、Mozillaにとっても重要である。 worth prototyping 優れた概念であるが、プロトタイプを作成し、フィードバックを得て磨きをかける必要がある。 non-harmful 有害ではないが、良いアプローチではなく、取り組む価値

    Firefoxは危険なJavaScriptに対応しない - Qiita
  • Dropbox Datastore APIの使い方とか色々 - Qiita

    枕詞 Vim Advent Calendar 2012 373日目……じゃなくて、 JavaScript - Client Side - Advent Calendar 2013の8日目担当のArc Cosineです。 まだVim初心者なので、Vim Advent Calendarに参加出来ませんが、いつか参加できるようになりたいです。 さて、今回のJavascript Client Sideは、最近、(俺の中で)大人気のDropbox Datastoreについてです。 時間がない人用アジェンダ このエントリに書いてあること Dropbox Datastore APIを使えるようになるまでのチュートリアル Dropbox Datastore APIJavaScriptコードサンプル リアルタイム同期をお手軽に見れるという事 リリースにDropboxを使うと楽だという事 独自ドメインで運用

    Dropbox Datastore APIの使い方とか色々 - Qiita
    korin
    korin 2021/06/23
  • GUIで超直感的にFirestoreのデータ操作ができるfirefooを使った方がいいぞ! - Qiita

    こんにちは。virapture株式会社のもぐめっとです。 最近ストーリーでボケてみたのですが、このボケに気づいた人が以外に少なくてボケ力の弱さを痛感しました。みなさんはどうツッコみますか? 日は朝起きたらスーパー便利そうなツイートを見つけたので試しに使ってみたのでみなさんに共有いたします。 firefooとは 簡単にいうとFirestoreを操作できるGUIクライアントなんですが、firebaseのコンソールよりもより使い勝手が良く、sequelproみたいに簡単にデータが操作できるイケイケツールです。 説明するより下記動画を見てもらった方が早いですね。 セットアップ 下記からダウンロードしてインストールします。 使ってみた 起動するとログインを求められるのでログインを行います。 ログインが成功すると保持しているプロジェクトがずらりと!もうこの時点で便利すぎ。好き。 プロジェクトを開くと

    GUIで超直感的にFirestoreのデータ操作ができるfirefooを使った方がいいぞ! - Qiita
  • イスラエル8200部隊出身のガチプロハッカーに、一流のハッカーになる方法について聞いてみた。 - Qiita

    私がインターンで勤めている企業のハッカーは、イスラエル国防軍におけるサイバー攻撃・防御の超精鋭部隊、 8200部隊出身のガチプロハッカーです。8200部隊はアメリカのNSAと並んで世界最高のハッキング技術を持つと言われています。高校卒業後に兵役の義務があるイスラエルで、なんと彼は大学の学位を取り終えて、入隊したそう。 そんなスペシャルなハッカーに、東京大学で(一応)コンピュータ関係を専攻する私が、「一流のハッカーになる方法」について聞いてみたら面白かったので、人の許可を得てその邦訳を記事にしてみました。 イスラエルのハッカーエコシステム イスラエルの8200部隊について教えてください。 8200部隊はイスラエル軍におけるインテリジェンスユニットです。詳しい内容は秘密事項でお伝えすることはできませんので、Wikipediaなどを見ていただくのが早いと思います(笑)。主にサイバーセキュリティ

    イスラエル8200部隊出身のガチプロハッカーに、一流のハッカーになる方法について聞いてみた。 - Qiita
  • 000 - Blocklyを使ったオリジナルVisual Programming Editorを作ってみる - Qiita

    はじめに 業務用の開発ツールとしてVisual Programmingを導入したいと思っていました。前回色々と調べて、来の目的である「非プログラマーにプログラミングしてもらって楽をする」に到達するまでが早そうなBlocklyをカスタマイズする事に挑戦してみます。 未熟なJavaScriptスキルでどこまでやれるか…。 Blocklyを俺色に染めるための準備 さて、まずは開発環境を整えます。自分の開発環境は以下のとおり。 Mac OSX Yosemite 10.10.3 Chrome 42.0.2311.152(64bit) Python 2.7.6 作業ディレクトリのルートはgoogleという名前のディレクトリとします。 Windowsでは試していませんが、同様の手順で環境が整うかもしれません。 Blocklyのインストール 先ずはBlocklyをインストールします。インストール手順は公

    000 - Blocklyを使ったオリジナルVisual Programming Editorを作ってみる - Qiita
  • シェルスクリプト リファクタリング ~遅いシェルスクリプトが供養されてたので蘇生して256倍に高速化させました~ - Qiita

    はじめに ことの始まりは「シェルスクリプトでツールを作ったけど速度が遅くて使い物にならなかったので供養」というツイートを見たからです。コードを見てみると、実例をあまり見ないシェルスクリプトのリファクタリング例として丁度良い内容と分量だったため記事にいたしました。記事を書くにあたりコードの利用を快く承諾していただいた @Hayao0819 様にはこの場を借りて御礼を申し上げます。 内容は章立てで構成しており、序章で事前調査をし、第一章で一般的なリファクタリング、第二章でパフォーマンスを重視したリファクタリング、終章で少し余談をして締めくくっています。最初はパイプは並列処理されるから速くなるというのは神話(そうとは限らない)についても書いていたのですが流石に長いので分けました。それでも書きたいことを色々書いていたらめちゃくちゃ長くなってしまいましたので読み物として私がどんなことを考えながらリフ

    シェルスクリプト リファクタリング ~遅いシェルスクリプトが供養されてたので蘇生して256倍に高速化させました~ - Qiita
    korin
    korin 2021/05/07
  • Javaのバージョン別、1行ずつファイルを読む方法まとめ - Qiita

    (この記事は 地平線に行く とのマルチポストです) Java でファイルを読み込む処理は、バージョンが上がるごとにどんどん簡単に書けるようになっていきました。 今回は、どれだけ簡単になっていったかを Java のバージョンごとにまとめて説明します。 なお、ここでは以下の処理を行うコードをもとにしています。 そこそこ大きいテキストファイルを一行ずつ読み込む 文字コードは UTF-8 Java 1.1, Java 1.2, Java 1.3 public static void main(String[] args) throws IOException { File file = new File(args[0]); BufferedReader reader = null; try { reader = new BufferedReader( new InputStreamReader(

    Javaのバージョン別、1行ずつファイルを読む方法まとめ - Qiita
  • 5歳娘「パパのReact、めっちゃ遅いね!」 - Qiita

    新しい記事もよろしくやで! →ハスケル子「タグごとに色がついてたらいいのにな…」 38歳無職ワイ ワイ「(カタカタカタカタ・・・ッターン!)」 娘(5歳)「パパ、今日は何してるの?」 ワイ「今日はな、むかしWordPressで作った自分用TODOリストの」 ワイ「デザインをリニューアルしてんねん」 よめ太郎「(そんなことより職を探せや)」 娘「へぇ〜」 娘「WordPressってことは、PHPを書いてるの?」 ワイ「いや、ちゃうで」 ワイ「リニューアル後は、フロント部分をReactで実装しようと思ってな」 ワイ「そこで、WordPressをREST APIモードで使うことにしたんや」 ワイ「つまり、WordPressを管理画面つきAPIみたいに使うってことや」 娘「要は、WordPressヘッドレスCMSとして使うんだね」 ワイ「ヘッドレス・・・?」 ワイ「ちゃうちゃう、管理画面つきAP

    5歳娘「パパのReact、めっちゃ遅いね!」 - Qiita
  • 【注意喚起】AzureADの設定適切ですか?意図しない情報公開について。 - Qiita

    Azure Active Directory (AzureAD)をご存知でしょうか? Azure ADについて 今まで企業の端末やユーザ管理をするとき使われてきた、Windows Actice Directoryのようなものですが、根的な設計は全く異なります。SAML認証に対応していたりと、いわゆるIDaaSのようなもので、組織がクラウドサービスを利用する際のID基盤として使われています。 Microsoft Azureや組織向けOffice 365、Microsoft 365を利用している方は、ほぼ自動的にAzureADのテナントで管理されるユーザとして利用していると思います。 AzureAD知ってるよという方、会社や学校のアカウントの個人IDもAzureADを利用して払い出されている方も多いのではないでしょうか?いろんな便利なSaaSが増えてきたし、1つのアカウントで各サービスが使え

    【注意喚起】AzureADの設定適切ですか?意図しない情報公開について。 - Qiita
  • Z80 アセンブラからCの関数を呼ぶ - Qiita

    LD XWA,04050607H ;3番目の引数「lg」にセットする値 PUSH XWA ;スタックに引数を格納 LDW BC,0203H ;2番目の引数「wd」にセットする値 PUSHW BC ;スタックに引数を格納 LDW DE,0001H ;1番目の引数「bt」にセットする値 PUSHW DE ;スタックに引数を格納 CALL _test ;関数を呼び出す POPW DE ;スタックの後始末 POPW BC ;スタックの後始末 POP XWA ;スタックの後始末

    Z80 アセンブラからCの関数を呼ぶ - Qiita
  • 「項書き換え機能付きプログラム」のディスアセンブラの作成, coding(41) - Qiita

    項書き換え機能付きプログラムは、そのプログラムが自分自身の命令を書き換える場合を指します。データの項目を書き換える場合は、ここでは含みません。ただし、プログラムの流れを、データを書き換えることによって実現する場合には、似たような現象があるかもしれません。 ゲームソフトウェアでは、内容を読まれないようにするためなどで、自分のプログラムの中身を、プログラム自身で書き換えてから実行するものがありました。 それらのプログラムのデバッグを依頼され、項書き換え機能の付いたソフトウェアをディスアセンブルするソフトウェアを自作したことがあります。 バイナリデータまたはメモリのバイナリの状態を読み込んで、intel 8086のアセンブラを生成するものです。 <この項は書きかけです。順次追記します。> This article is not completed. I will add some words i

    「項書き換え機能付きプログラム」のディスアセンブラの作成, coding(41) - Qiita
  • 無料の Outlook メールと無料の Azure AD を使って REST API 経由でメール送信してみた - Qiita

    背景と目的 Web アプリから開発時の動作検証やテスト目的でメールを送りたいけど、パブリッククラウド上や社内からだと SMTP ポート閉じられていたり、かといって従量課金のPaaSやその他の面倒な構成は嫌なので、無料の Outlook メールと無料の Azure AD を使って REST API 経由でメール送信することにしました。 前提条件 この例では python3 を使いますが、localhost:80 にアクセス出来れば何でも良いです。 実施内容 Outlook メールのアカウントを作成 https://office.live.com/start/Outlook.aspx?omkt=ja%2DJP 例えば、「アカウントがない場合 アカウントを作成しましょう」→「または、既にお持ちのメールアドレスを使う」→「新しいメールアドレスを取得」と進みます。 @outlook.jp または @

    無料の Outlook メールと無料の Azure AD を使って REST API 経由でメール送信してみた - Qiita
    korin
    korin 2021/03/30
  • 形式手法はなぜ流行っていないのか - Qiita

    はじめに みなさん形式手法をご存知でしょうか? 名前くらいは聞いたことあるけどいまいち何かわからないという方が多いのではないでしょうか。 その通りです。形式手法はアカデミアではそれなりに研究されているものの、 一般の(特にWeb系)ソフトウェア開発者が携わることはなかなかないのではないかと思います。 この記事ではソフトウェア開発に形式手法が導入されないのはなぜなのかを考察します。 この記事ではアジャイルソフトウェア開発において形式手法を導入する際のハードルについて考察します。 追記 記事について、「形式手法は流行っていない」というのは正確ではないのではないかという指摘をいただきました。組み込み系や社会インフラ系等バグを絶対に出せないシステム開発では形式手法がよく使われているそうです。 ちょっと古いデータですが活用事例です。 誤解を招く紹介となっていたことをお詫びします。 さらに追記 ku

    形式手法はなぜ流行っていないのか - Qiita
    korin
    korin 2021/03/25
  • GoTTYでブラウザからルータを操作してみた - Qiita

    はじめに ネットワークプログラマビリティ勉強会 #8の「ブラウザからルータを操作してみた」の関連記事です。GoTTYでWebブラウザのターミナルからルータへTELNETRubyスクリプトの実行をしてみました。 Webブラウザで「ルータへのTELNET」と「コンフィグ一括保存スクリプト」の実行デモ 動機 QiitaのGoTTY 良さそうを見て、Webブラウザ上にターミナルを表示する方法を知りました。Go言語のバイナリをダウンロードし、gottyコマンドで非常に簡単にWebブラウザでターミナルを表示でき、通常のターミナルと遜色なく利用できたため、ルータを操作するために活用しようと考えました。 最初はルータへのTELNETのみを目的としていました。しかしながら、PerlRubyで作成したCLIスクリプトの実行も可能である気づき、今まで作っていたスクリプトをWebブラウザ上で実行しようと考えま

    GoTTYでブラウザからルータを操作してみた - Qiita
    korin
    korin 2021/03/10
  • 誰でもできるオリジナルwebサービスを着実にリリースする手順と考え方 - Qiita

    夏休みに小さいオリジナルのwebサービスを作ったので、構想からリリースまでに使ったツールなどオリジナルwebサービスをリリースするまでの手順と考え方ご紹介したいと思います 技術的なことにはほぼ言及していません。これから初めてオリジナルのwebサービスを作ろうと思っている方にこんな感じでやってるのねって思ってもらえればうれしいです。 いままで作ったサービスはこちらにまとめています(ページからリンクしているそれぞれのサービスのまとめページはgif貼りすぎてめちゃくちゃ重いので開かないの推奨です;;) 作ったもの 名前 しるQ 「自分に気づこう」 https://siruq.site コンセプト しるQは毎日変わる問いに答えることで当の自分を発見するサービスです。140文字にまとめてシェアして他の参加者の価値観と比べてみましょう! 作成期間 22時間くらい なぜ作ったか 最近自己認知とかコーチ

    誰でもできるオリジナルwebサービスを着実にリリースする手順と考え方 - Qiita
  • リモートワークのいま学びたい、GitLab Handbookと徹底した文書化への狂気 - Qiita

    1200人以上の全社員がリモートワークGitLabが公開する「リモートワークマニフェスト」は何を教えているか? スケールする組織を支えるドキュメンテーションの技術を”GitLab Handbook”から学ぶ その コメント GitLab Handbookで面白かったもの@コミュニケーション編 GitLabのリモート統括責任者が語る 日企業が「まずやるべきこと」 を読んだ。主題はGitLab社の https://about.gitlab.com/handbook/ である。 2022.02追記 GitLabで学んだ最高の働き方 Developers Summit 2022-02-18 2022.01追記 リモートワークのいま学びたい、GitLab Handbook非同期コミュニケーションのススメ - Qiita Handbook要点 「GitLab社ではリモートワークの中でも生産性高く働

    リモートワークのいま学びたい、GitLab Handbookと徹底した文書化への狂気 - Qiita
  • 一銭も払わずにクラウド上でWebサービスを公開する(2021/02時点) - Qiita

    これはなに? Webサービスを開発する際に使えるサービスのうち、無料枠があるものをまとめました。 自分でちょっとしたWebサービスを作ろうと思ったときに一銭も払いたくないなという気持ちがあるが、そもそもどの程度までちゃんとした構成が取れるんだっけというのをこれまでに100万回調べている気がするので自分用にまとめたメモです。 前提として、基的にはAWSGCPを対象に調べて、一部はそれ以外のサービスも追加で調べている、という感じです 最初に結論 「無料でWebサービスを提供する」というところだけに集中するならAWSよりはGCPのほうが良さそう(ハードルが低そう + できることが多そう) 無料枠だけで完結させるならherokuSQLも使えるし視野に入れて良さそう ドメイン周りだけはどうにもならないので諦めてお金を払うか各クラウドサービスのドメインのまま使いましょう 無料の範囲内で最低限のW

    一銭も払わずにクラウド上でWebサービスを公開する(2021/02時点) - Qiita
  • POSIX準拠シェルスクリプトでマルチコアの能力を活用する並列処理の実装(最大並列数あり、GNU Parallel, xargsなし) - Qiita

    実は最大並列数の制限がなければジョブ(標準入力からの一行単位のデータ)の数だけバックグラウンドプロセスを起動すればいいのでかなり簡単に実装できます。ですが普通は嫌ですよね?ということで最大並列数を制限する処理を入れています。また通常の利用で必要になりそうな CTRL-C と TERM シグナルへの対応もしています。 #!/bin/sh set -eu [ "${ZSH_VERSION:-}" ] && setopt shwordsplit MAX_PROC=4 # 最大並列数 # INT(CTRL-C)、TERM による終了処理 terminate() { trap '' TERM kill -TERM 0 exit "$1" } trap "terminate 130" INT trap "terminate 143" TERM # trap : CONT # 並列で実行される処理 fu

    POSIX準拠シェルスクリプトでマルチコアの能力を活用する並列処理の実装(最大並列数あり、GNU Parallel, xargsなし) - Qiita
    korin
    korin 2021/03/02