タグ

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

  • PHPで任意のディレクトリ下にあるファイルを一覧取得する方法 - Qiita

    foreach(glob('dir/{*.gif,*.zip,*.pdf}',GLOB_BRACE) as $file){ if(is_file($file)){ echo htmlspecialchars($file); } } 引数にflagsというのをつけていろいろできる。 参考(公式サイト) array glob ( string $pattern [, int $flags = 0 ] ) flags GLOB_MARK - 各ディレクトリにスラッシュを追加します GLOB_NOSORT - ディレクトリに存在するファイルを返します (ソートはされません)。このフラグを使わない場合は、パス名をアルファベット順にソートします。 GLOB_NOCHECK - 検索パターンにマッチするファイルが見つからない場合に、 検索パターン自身を返します GLOB_NOESCAPE - バックスラ

    PHPで任意のディレクトリ下にあるファイルを一覧取得する方法 - Qiita
    takets
    takets 2022/02/18
    blobを使う
  • チェックリストに関する考察と私達のチェックリスト活用法 - Qiita

    はじめに チェックリストは、組織にたくさんあります。 チェックリストは、世の中にもたくさんあります。 Qiitaでも、「チェックリスト」という単語で検索をかけると10000件以上の記事がヒットします。 先人たち(自分も含めて)が、自分の知識・経験を伝えるために、たくさんのチェックリストを作ってくださっています。ただし、それを受け取る側としては、うまく活用できていない場面が、たくさんあります。 そんな中、私たちのプロジェクトで、チェックリストをうまく活用するため、やったことを記録しておきます。 チェクシートについて思うこと列挙します。 与えられたチェックリストはうまく使えない チェックリストは自分で作るのが一番良い チェックリストはチームで作るのも良い 先人に作成していただいたチェックリストを無駄にはできない 与えられたチェックリストはうまく使えない 「使え!」と与えられたチェクリストは「使

    チェックリストに関する考察と私達のチェックリスト活用法 - Qiita
    takets
    takets 2022/02/17
  • zshの設定ファイルの読み込み順序と使い方Tipsまとめ - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 設定ファイルの種類と読み込み順序 読み込み順を確かめるには実際に各設定ファイルを作ってそのファイル上でファイル名をechoしてみれば良い ログインシェルの場合(iterm2起動時,SSH,TMUX,SCREENなど含む) zshenv > zprofile > zshrc > zloginの順で、 それぞれglobalを読み込んだ後で、localを上書き読み込み ちなみに以下の〜は環境変数$ZDOTDIRがあればそれが使われて、なければ$HOME(つまり〜)が使われます。 $HOME以外に置きたい場合には$ZDOTDIRを指定しましょう

    zshの設定ファイルの読み込み順序と使い方Tipsまとめ - Qiita
    takets
    takets 2022/02/10
  • columnコマンドをUbuntuにインストール - Qiita

    columnコマンドは短いたくさんの出力を端末上で複数列に表示して見やすくしてくれるコマンドです。表形式、マルチカラムみたいになります。 例えばですが、まずはcolumnコマンドを使わないとこういう出力になるコマンドがあるとします。

    columnコマンドをUbuntuにインストール - Qiita
    takets
    takets 2022/02/04
  • PHPでXML文字列を整形(フォーマット)する - Qiita

    XMLをログ出力するときに、きちんとフォーマットして出力しようと思いました。 結論から言うと以下のコードで実現できました。 <?php use SimpleXMLElement; // 略 $simpleXmlElement = new SimpleXMLElement($xml); $dom = dom_import_simplexml($simpleXmlElement)->ownerDocument; $dom->formatOutput = true; echo $dom->saveXML(); // 略

    PHPでXML文字列を整形(フォーマット)する - Qiita
    takets
    takets 2022/02/03
  • メタバースの技術限界の解説 - Qiita

    これらの試算から、1人あたりのトラッキングによる通信量はおおよそ16.88kbpsから112.50kbpsと考えられます。 スター型ネットワークの場合 ここでメタバースでスター型のネットワークを採用することを考えます。 どのような構成かというと、クライアントがトラッキングデータをサーバーへ送信します。各クライアントへのトラッキングデータの送信はサーバーが行います。 こうした構成を行う場合、全てのクライアントのデータがサーバーを介し、各クライアントへ流れ込みます。そのため、通信速度は下り速度がボトルネックとなります。ここでは人口75%ラインの88Mbpsを上限として考えます。 先ほどの1人当たりのトラッキングに関わる通信量から算出すると、スター型の場合、801~5,340人が通信の限界になります。 フルメッシュ型ネットワークの場合 一方で、サーバーを介しないクライアント同士が直接つながるフル

    メタバースの技術限界の解説 - Qiita
    takets
    takets 2022/01/29
  • 急なTypeScript案件🔥最初の30日間に使い倒したい「コードリーディング支援ツール」 - Qiita

    この投稿では、「TypeScriptの文法や用語がよく分からない」という問題を解消してくれそうなツールを紹介します。 勉強しながらの見切り発車 最近はTypeScript未経験でも、TypeScript案件にアサインされることが増えてきているように思います。 運がいいと着手前にTypeScriptをじっくり学習する時間を与えられることがあります。しかし、多くのケースでは、見切り発車で開発に参加するのではないでしょうか。 コードリーディングから始まる TypeScript案件は、理解すべき既存のTypeScript/JavaScriptコードがあるケースが多いです。 そのため、 読んで理解すべき既存のTypeScriptコードがある しかし、TypeScriptの知識が乏しい状態でスタート といった事態がよく起きます。 新規プロジェクトでは既存コードがありませんが、ググって出てきたサンプルコ

    急なTypeScript案件🔥最初の30日間に使い倒したい「コードリーディング支援ツール」 - Qiita
    takets
    takets 2022/01/12
  • 邪魔な拡大鏡を消す(起動しないようにする) - Qiita

    Windowsで画面をロックする時のショートカットで、Win+Lを使うことが多いと思います。 しかし、このLをたまに隣と間違えて+を押してしまうことがあります。で、Win+"+"を押すと「拡大鏡」というものが起動して、画面が拡大してしまって操作もしづらいし見づらいしで大変に邪魔なことになりますよね。 よく誤爆するのに拡大鏡なんて今まで一度も使ったことがないので、起動してほしくないです。 正規の方法で拡大鏡を無効化する方法はないようなので、ここは邪悪な方法を使いました。その時のメモです。 方針としては、拡大鏡アプリのパスを変えて起動しなくします。 拡大鏡の実体は標準ならC:\Windows\system32\Magnify.exeにあります このままファイル名を変えようとしても、大体の場合はTrustedInstallerが権限を持っていて、管理者権限をもっているアカウントだとしても操作でき

    邪魔な拡大鏡を消す(起動しないようにする) - Qiita
    takets
    takets 2022/01/11
  • vim正規表現リファレンス - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? このエントリの内容は pattern - Vim語ドキュメント を見れば全て書いてある。 個人的によく見直すものを自分なりに整理してまとめなおしたものです。 メモ vimの正規表現には \ でエスケープする必要な文字がオプションによって変わる。これには magic / nomagic / very magic / very nomagic と4つのモードがあるけど、vim では magic モードを基とします。 繰返し制御系(量指定子) a* は0回以上の a の繰り返しにマッチする。(最長一致) a+ は単に a+ という文字列

    vim正規表現リファレンス - Qiita
    takets
    takets 2022/01/03
  • エンジニアの"有害な振る舞い"への対処法 - Qiita

    記事の続編として、自分が有害な振る舞いをしないようにする改善の取り組みを扱った記事も書いてます。 エンジニア上司が"有害な振る舞い"を改善する方法 ※「難しい人」は概念として用い説明するのに便利な言葉でしたが、誤解を生じたり、記事のポリシーに沿わない使用(難しい人というラベリングを特定個人に適用する使い方)が容易にされてしまいそうだと分かりました。そのような誤用を防ぐことを最優先とするため、代わりに「有害な振る舞い」という表現を使用し、人ではなく振る舞いに着目するタイトル及び文章に変更致しました。 はじめに 以下の記事を読んだ際に「難しい人」という表現が何となく面白い響きで印象に残ったので、これを機に自分の考えを今までの経験をもとに書きたいと思います。 “難しい人”が1人入ると、チームの生産性は30〜40%低下する 対抗せずに、場の「安心感」を作るための3つの条件 - ログミーBiz

    エンジニアの"有害な振る舞い"への対処法 - Qiita
    takets
    takets 2022/01/03
  • zshの補完 - Qiita

    1.初めに Macで標準シェルがbashからzshに変わったので、zshの補完について勉強してみました。bashでもプログラム可能な補完ができますが、zshはそれよりも高水準の機能の補完を標準で盛り込んでいます。主にbashではできないような補完機能について述べていきます。 ・参考文献 zshの 2.zshの補完システム zshには大別してcompsys、compctlという2つの補完システムが存在する。バージョン3.1.6より導入された新補完システムがcompsys、それよりも前から存在するcompctlという旧補完システムである。 新補完システムであるcompsysについて今回は見ていく。compsysで用意されている全ての補完機能を有効にするには以下のコマンドを実行する。デフォルトではcompsysは有効ではないので注意。よく使うのでこのコマンドは~/.zshrcなどに書き込んでお

    zshの補完 - Qiita
    takets
    takets 2021/12/31
  • GuzzleのMiddleware::retryを使ってみた - Qiita

    //リトライ判断 $decider = function ($retries, $request, $response, $exception) { if ($retries >= 3) { return false; } if ($exception instanceof ConnectException) { return true; } if ($response && $response->getStatusCode() != '200') { return true; //リトライさせる場合はtrueを返す } return false; }; //遅延させたい場合 $delay = function ($retries) { return 1; //ミリ秒で返す。 }; $retry = Middleware::retry($decider, $delay); $stack =

    GuzzleのMiddleware::retryを使ってみた - Qiita
    takets
    takets 2021/12/27
  • :global と :normal コマンドを組み合わせてマクロの代替として使う - Qiita

    記事は、Vim Advent Calender 2021 その1 の20日の代理投稿です。 昨日の記事は @uyo さんの Vim Meme、明日の記事は tmrekk さんの Vim初心者のQuickfixによる検索・置換入門です。 そもそも、マクロってなに 簡単な説明になりますが、 任意の一連のキータイプを記録し、再現する機能です。 具体的には q{char}(任意の操作)q で (任意の操作) の部分を記録し、@{char} で記録した操作を再現します。 詳しくは、:h recoding を参照してください。 ところで 私はなんだかマクロ記録中に Vim に「早くしろ」と急き立てられている気分になってしまい、妙にマクロが使いにくく感じてしまってました。 なのでどうにかして他の方法を使って、マクロでできるような一気にテキストを編集するというのをやりたいなと思いました。 結果として、コ

    :global と :normal コマンドを組み合わせてマクロの代替として使う - Qiita
    takets
    takets 2021/12/25
  • 「もったいない」マインドが逆に効率を悪くする。フロー効率とリソース効率から考えるチームで仕事をする理由 - Qiita

    「もったいない」マインドが逆に効率を悪くする。フロー効率とリソース効率から考えるチームで仕事をする理由チーム開発プロジェクト管理マネジメント はじめに 前回、なぜ、ソフトウェアプロジェクトは人数を増やしても上手くいかないのかの記事において、プロジェクト型の人員規模を柔軟に変化させる開発スタイルに関して、理論的なスケジュール削減の限界について考察しました。その際に、チーム型開発や組織とソフトウェアの紐付けについても示唆しました。 今回は、チームでソフトウェアを開発することに関して、「フロー効率」と「リソース効率」という観点から考察し、なぜ私たちはチームで開発するのか、あるいはなぜプロジェクト型を採用するのかについての考え方を深めていきたいと思います。 そして、組織における効率性の価値観が異なると、新しい効率性に関して理解をする前に「もったいない」と感じてしまい、新しい文化を取り入れづらくして

    「もったいない」マインドが逆に効率を悪くする。フロー効率とリソース効率から考えるチームで仕事をする理由 - Qiita
    takets
    takets 2021/12/14
  • ググり力、それはエンジニアには必須の能力である - Qiita

    ググり力、それはエンジニアにとっては 必須の能力 になりつつあると思います。 さて、皆さんは自分のググり力で欲しい情報にちゃんとたどり着けると言えますか? @Yametaro さんからのお題です。 ある日、コードレビュー中ワイ ワイ「さぁ、今日も同僚のコードをレビューしていくでぇ」 ワイ「まずは新卒のT君のコードを読んでいこか」 ワイ「どれどれ…」 ワイ「ん?なんやこの??っていう書き方は…?」 ワイ「ググってみよか…」 ワイ「JavaScript ??と入力して、検索ボタンをポチッとな」 ワイ「…あれ?それらしい検索結果が出てこんな…」 ワイ「ぐぬぬ、記号関係はググりづらいこともあるんやな…」 ワイ「これじゃあ今日はもう、酒飲んで寝るしかないやないか…」 〜飲酒、そして就寝へ…〜 では JavaScript で ?? の検索方法はどうしたらいいのか? ここに1つの解答を示しておきます!

    ググり力、それはエンジニアには必須の能力である - Qiita
    takets
    takets 2021/12/10
  • vim-themisでパラメタライズドテストをする - Qiita

    はじめに 最近のエンジニアは毎日Vim pluginを書き、公開していると聞きます。 そんな大ブームの中、Vim pluginを作成するにあたって重要な要素が一つあります。 そう、テストです!テスト! Vim pluginをテストするにあたって便利なテスティングフレームワークはいくつかあります。 vader.vim vim-vspec vim-themis vroom etc... 今回はvim-themisを使った、便利なテストの書き方を紹介します。 注意 これは執筆段階では文書に記載されていない方法です。 執筆段階では、vim-themisのspec版の記述では、今回紹介する方法ができません。 また、今回はブラウザのフォントにより文字化けの恐れがあるので、hexでアイコンフォントを記載しています。 hexの値は以下のように読み返してください。 \ue62b \ue612 引用元 htt

    vim-themisでパラメタライズドテストをする - Qiita
    takets
    takets 2021/12/07
  • 【Git】特定のブランチの git log を見たい - Qiita

    git log --first-parent --graph --abbrev-commit --decorate <ブランチ名> --first-parent 最初の親コミットのみを追う。 つまり、各コミットの最初の親のみをログに表示し、他のすべての親とその親(先祖)は無視する。 参考: Git - git-describe Documentation How do I run git log to see changes only for a specific branch?

    【Git】特定のブランチの git log を見たい - Qiita
    takets
    takets 2021/11/18
  • PhpSpreadsheetでExcelを読み書きしてExcelとしてダウンロードする - Qiita

    概要 EC-CUBE4の独自プラグイン開発で使い方を覚えたライブラリ第二弾。 PhpSpreadsheetでテンプレートのExcelに文字と画像を出力し、Excelファイルとしてダウンロードする方法について理解したことをまとめました。 ちなみに、私が実装したのはExcel 2007以降のExcelで、拡張子が.xlsxのものを指します。以降、Excel 2007のことを.xlsxと表現します。(PhpSpreadsheet内のクラスもそのような命名がされています) 私にとってはPhpSpreadsheetの使い方そのものよりも、 アスペクト比を維持したまま画像をリサイズするための計算処理 ラッパークラスを作ると再利用可能なコードができあがることを実感したこと が重要な学びだったので、記事として記録することにしました。 今後も新たな使い方がわかれば更新していきます。 動作環境 PhpExce

    PhpSpreadsheetでExcelを読み書きしてExcelとしてダウンロードする - Qiita
    takets
    takets 2021/10/05
    画像をセルに収まるようにしたい場合の処理。素直に縮尺率を計算しろということか。
  • そろそろJavaScriptに採用されそうなOptional Chainingを今さら徹底解説 - Qiita

    みなさん、Optional Chaining使ってますか? 私は先日出たTypeScript 3.7 Betaを小さいプロジェクトに導入して使ってみました。これはとても快適ですね。 例によって、Optional ChainingはECMAScriptに対するプロポーザルの一つです。つまり、もうすぐ入りそうなJavaScriptの新機能です。プロポーザルはたくさんの種類がありますが、その中でもOptional Chainingはその高い有用性からこれまで多くの注目を集めてきました。Optional Chainingは2019年6月のTC39ミーティングでStage 3に上昇し、いよいよ正式採用が近く期待も高まってきたところです。TypeScript 3.7にも導入されたため、TypeScriptユーザーの方々は11月上旬に正式リリースが予定されているTypeScript 3.7を今か今かと待

    そろそろJavaScriptに採用されそうなOptional Chainingを今さら徹底解説 - Qiita
    takets
    takets 2021/07/30
  • Vimコマンドを自作してみる、という今年の目標を達成するためにVim scriptに触り始めてみたら、かなり楽しいー!(コマンドでの引数の受け取り方)

    最初に 今年密かに立てた目標の一つがVim scriptを書いてみること。Vimで自作コマンドを作ってみること。 Vimを使っていながらこれらのことを敷居の高いものと勝手に感じていた自分を見直すため、Vimで基的な部分を調べながらサンプルを書いてみました。 (今回は主に、関数における引数の受け取り方について調べました) なお、これは個人的な備忘録(個人的学習ノート)となります。 ここである程度、基的な事柄に触れたら、vim-jpのドキュメントを一通り読んでみて理解を深めていこうと思います! help - Vim語ドキュメント コマンドラインコマンドを定義してみる 作業ディレクトリ内でsample.vimという名前で作成し、下記のように記述してみます。 同じディレクトリ名でもう一つVimを開き、:source sample.vimと打ってファイルを読み込んでから、:TestとVim

    Vimコマンドを自作してみる、という今年の目標を達成するためにVim scriptに触り始めてみたら、かなり楽しいー!(コマンドでの引数の受け取り方)
    takets
    takets 2021/07/12
    f-args, nargs, q-args周り