タグ

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

  • Rust環境構築: Visual C++ Build Toolsを使わずにCygwinのC++環境を使う - Qiita

    通常, WindowsRustをインストールすると, Visual C++ Build Toolsのインストールを求められる. C++環境をCygwinで既に持っているユーザーは, Visual C++ Build Toolsをインストールしたくない. ここではその回避方法を示す. 前提 gcc-core, gcc-g++, gdb, makeは既にCygwinで導入済みとする. 私のCygwinインストールメモはこちら. Rustの環境構築 ダウンロード 通常のインストーラーの場所ではなく, こちらからx86_64-pc-windows-gnuのrustup-init.exeをダウンロードする. インストール インストーラーの実行 C++のビルドツールが必要と言われますが, 既にCygwinで持っているためそのまま進めます. インストールオプションが出るため, 修正する必要があります.

    Rust環境構築: Visual C++ Build Toolsを使わずにCygwinのC++環境を使う - Qiita
  • GitHubでプルしようとしたらfatal: Could not read from remote repositoryになった話 - Qiita

    作業しながらメモしていたので若干間違いがあるかもしれません. Pemssion Error VScodeのgithistoryでリモートリポジトリからローカルリポジトリにプルしようとしたらPemssion Errorが発生. 公開鍵の認証ができませんでしたということらしい.

    GitHubでプルしようとしたらfatal: Could not read from remote repositoryになった話 - Qiita
    iww
    iww 2023/05/25
    fatal: Could not read from remote repository.
  • 【JavaScript】文字列を任意の文字数で分割し、配列を作成する方法 - Qiita

    はじめに JavaScriptで文字列を任意の文字数で分割し、配列を作成する方法です。 結論からいうと正規表現での取得が一番スッキリ書けました。 他にもいくつか試したの方法も記載しておきます。 例ではUGGUGUUAUUAAUGGUUUの文字列を三文字毎に分割して["UGG", "UGU", "UAU", "UAA", "UGG", "UUU"]の配列を作成しています。 正規表現 const rna = "UGGUGUUAUUAAUGGUUU"; let cdn1 = rna.match(/.{3}/g); console.log(cdn1) // ["UGG", "UGU", "UAU", "UAA", "UGG", "UUU"] const rna = "UGGUGUUAUUAAUGGUUU"; let cdn2 = []; for (let i = 0; i < rna.length

    【JavaScript】文字列を任意の文字数で分割し、配列を作成する方法 - Qiita
  • ESP32 + RustでHello world - Qiita

    3行まとめ RustでもESP32のファームウェアを開発できる。 LLVM、clang、rustcのコンパイルはなかなか大変。(時間的な意味で) 組み込みRustに未来を感じる。 1. 概要 技術書典7で頒布されていた『M5Stackで始める組み込みRust』という技術同人誌を読みました。 以前よりマイコンを使った電子工作を行っており、組み込み領域でもRustを使ってみたいと思っていましたが、それなりに環境が整ったみたいなので試してみることにしました。 結論から言えば、無事にRustからシリアルコンソールに「Hello world!」の文字を出力することができました。 2. 環境 検証に用いた環境は以下の通りです。 OS: macOS Mojave 10.14.6 (18G103) Docker CE: 19.03.2 llvm-xtensa: 757e18f722dbdcd98b8479

    ESP32 + RustでHello world - Qiita
    iww
    iww 2023/05/17
  • Linuxでユーザーをグループに追加する - Qiita

    いくつか方法があってすぐ忘れてしまうので、まとめておきます。いずれの方法でも、コマンド実行後に新しくログインした時点で有効になります。 usermod -aを忘れるとグループに追加されるのではなく、所属するセカンダリグループが置き換えられてしまいます。-aを付けずに紹介しているサイトもあるので注意しましょう。GROUPSは,で区切って複数指定できます。 基的にはこれを使うのが良いでしょう。 gpasswd

    Linuxでユーザーをグループに追加する - Qiita
  • Dockerのイメージファイルの格納場所 - Qiita

    Dockerからhello-worldとdocker/whalesayをpullして、ダウンロードしてきたのですが 一体どこにダウンロードされているんだろうという謎が出てきました。 今あるイメージ $ docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE hello-world latest 0a6ba66e537a 2 weeks ago 960 B docker/whalesay latest ded5e192a685 5 months ago 247 MB $ sudo cat /var/lib/docker/repositories-aufs | python -mjson.tool { "Repositories": { "docker/whalesay": { "latest": "ded5e192a685b2c5

    Dockerのイメージファイルの格納場所 - Qiita
    iww
    iww 2023/05/07
    わかりにくい場所に保存されるんだな
  • 【Docker環境構築】PHP5.3.3 + Apache + MySQL + phpMyAdminにFuelPHPをインストール - Qiita

    Docker環境構築】PHP5.3.3 + Apache + MySQL + phpMyAdminにFuelPHPをインストールMySQLApacheFuelPHPPHP5.3Docker 概要 既存の社内システム改修をする必要があり、PHP5.3.3、FuelPHP 1.7.2 1.7.3、Apache、MySQLという構成で、Dockerで環境構築を行いました。 調べたところPHP5.3.3は2010年頃にリリースされたらしくかなりレガシーなバージョンになるようで、記事があまり見つからない中のDocker環境構築は大変でした(最終的には色々な記事を参考になんとか構築できました・・・)。 自分が1から再構築できるようにDockerfile、docker-compose.ymlの解説や手順等を改めてまとめておこうと思います。 先に下記の先人のおかげでこの構成ができたことを感謝申し上げます

    【Docker環境構築】PHP5.3.3 + Apache + MySQL + phpMyAdminにFuelPHPをインストール - Qiita
  • 【Git】fatal: protocol error: bad line length character: usag の解消方法 - Qiita

    【Git】fatal: protocol error: bad line length character: usag の解消方法Git はじめに develop ブランチが更新されたので、pull しようとしたら、 fatal: protocol error: bad line length character: usag が発生しました。 なかなか解決できず、2時間ほど時間を無駄にしました。 最初に結論からいうと、 .gitconfig を見直そう!!!! 環境 macOS Catalina バージョン10.15.2 git 2.21.1 やったこと .bashrc の見直し(効果なし) git のアップデート(効果なし) 対象のブランチを削除して、取得し直す(効果なし) プロジェクトを clone し直す(効果なし) 仮想環境で clone してから ローカルに持ってくる(効果なし)

    【Git】fatal: protocol error: bad line length character: usag の解消方法 - Qiita
  • 「ソ」「ソ」による文字化けについて - Qiita

    最上位ビットに違いがあることが分かった。 「プログラマのための文字コード技術入門」という2010年に購入したを引っ張り出して軽く眺めてみた。 JISの8ビット符号にはGR領域とGL領域があり、GR領域を使用する場合には第8ビット(最上位ビット)に1をセットして用いるとのこと。 変換できないので「?」にして戻した後、第8ビットに1をセットする変換がされたことにより「ソ」になってしまったのではないかと推測している。 逆疑問符[¿」は「ソ」と同じコードであり、こちらはLatin-1の文字コードが使われたようだ。 ちなみに文字化けについては、環境変数に「NLS_LANG=JAPANESE_JAPAN.JA16SJISTILDE」を追加することで解消された。 「ソ」よる文字化け Shift-JISは半角文字と全角文字を表せますが、1文字が何バイトなのかが固定されていないのです。なので「ソ」など2バ

    「ソ」「ソ」による文字化けについて - Qiita
  • オブジェクトのクローンにJSON化を使う時代は終わった!【JavaScript】 - Qiita

    const obj = { hoge: [new Date(2023, 3, 12), 1], fuga: 'foo' }; const objClone = structuredClone(obj); // ディープコピー obj.hoge[1] = 10; console.log(objClone.hoge[1]); // 1 objClone.hoge[0].setFullYear(2050); console.log(obj.hoge[0].getFullYear()); // 2023

    オブジェクトのクローンにJSON化を使う時代は終わった!【JavaScript】 - Qiita
  • Buildrootでルートファイルシステムを構築するときに必ずすること - Qiita

    私は組み込みLinuxのルートファイルシステムを作るのにいつもBuildrootを使っています。 そのときにいつもしていることを備忘録がてら書いておきます。 ccache を有効にする ルートファイルシステムを構築するときに、特に最初の段階では何度もmake clean してからビルドをやり直すことが多くなります。そうするとクロスコンパイラを作るところからやり直しになるので、かなり時間がかかります。この時間を短縮するのにccacheが効果が高いです。 ccacheは一度コンパイルした内容を別のところにキャッシュとして保存しておき、次に同じソースを同じコンパイルオプションでコンパイルするときにはそのキャッシュからとってきてくれます。 Buildrootではccacheの使用がサポートされていて、コンフィグの設定を有効にするだけで簡単にccacheを利用することができます。 make menu

    Buildrootでルートファイルシステムを構築するときに必ずすること - Qiita
    iww
    iww 2023/04/06
  • PHPのリリース日とサポート期限 - Qiita

    PHP 7.0 は2018年12月3日に公式のセキュリティサポートが終了し、その前の2018年9月13日に 7.0 系最終リリースとなるはずだった 7.0.32 が公開された。しかし、セキュリティサポート終了後の2018年12月6日に 7.0.33 が公開された。 PHP 5.6 の公式のセキュリティサポートは当初2017年8月28日まで 4 だったが、5系最後のリリースであることを理由に 5 2016年始めに2018年末まで延期された。6 2018年12月6日にリリースされた 5.6.39 が最終リリースになるはずだったが、セキュリティサポート終了後の2019年1月10日に 5.6.40 がリリースされた。 7 PHP 5.5 は2016年7月10日に公式のセキュリティサポートが終了し、その前の2016年6月23日に 5.5 系最終リリースとなるはずだった 5.5.37 が公開された。し

    PHPのリリース日とサポート期限 - Qiita
  • C++標準化委員会、ついに文字とは何かを理解する: char8_t - Qiita

    C++ Advent Calendar 2018 この記事はC++ Advent Calendar 2018 15日目の記事です。 14日目: VTKライブラリ 16日目: C++のエラー処理との付き合い方 当初見積もりよりも大幅に長い記事となり、投稿したのは12/22で1週間遅刻です。すみません。 お知らせ cpprefjpにchar8_t型追加について解説を書きました。ぎゅぎゅっとコンパクトに、また査読を受けて中立的な表現で書いていますので、よければどうぞ。 UTF-8エンコーディングされた文字の型としてchar8_tを追加 - cpprefjp C++語リファレンス 追記 全ての開発者が知っておくべきUnicodeについての最低限の知識 - GIGAZINE Unicodeについて簡潔にまとまってるいい記事を見つけました。 Caution この文章には以下の要素が含まれます。苦手

    C++標準化委員会、ついに文字とは何かを理解する: char8_t - Qiita
  • 【PHP8.1】PHP8.1で削除される機能 - Qiita

    Nikitaをはじめとする一部のstrictぺちぱー達は、PHPのレガシー機能の削除に熱心に取り組んでいます。 まあ実際、初期のPHPには特にですが、いったいなんでこんなものをという思い付きのような機能がたくさんありましたからね。 そのあたりはPHP7からPHP8.0にかけてだいぶ綺麗に片付けられてきたのですが、まだまだおかしなものも残っています。 そんなわけで以下は、それらを削除しようというRFC、Deprecations for PHP 8.1の紹介です。 投票期間は2021/06/30から2021/07/14まで、有権者の2/3の賛成で受理されます。 Deprecations for PHP 8.1 このRFCでは、以下の機能をPHP8.1で非推奨とし、PHP9.0で削除することを提案します。 受理された提案 以下の提案は受理されました。 PHP8.1以降では使用しないようにしましょ

    【PHP8.1】PHP8.1で削除される機能 - Qiita
    iww
    iww 2023/03/06
  • PHP で JSON を特定のクラスにパースする方法 - Qiita

    はじめに 結論をいうと、厳密にはそのような方法はありませんが、代替方法のご提案です。 PHP 標準の json_decode() 関数 は、JSON 文字列をオブジェクトに変換しますが、そのオブジェクトは * stdClass * のオブジェクトに固定されています。 しかしそうではなく、自作の、特定のクラスにパースしたいという要求はあるでしょう。 コード補完を有効にするだけ まず、なぜそのようなことをしたいのか。おそらく多いのは「エディタのコード補完機能を活用したい」という理由ではないでしょうか。 それだけではないかもしれませんが、先ず補完さえ有効になれば良い場合は、Doc コメントで @var アノテーションを書くという手があります。 @var アノテーション は「変数型ヒント」のことで、以下のコード例の中では /* @var ではじまる行のことです。 // コード補完さえ有効になれば良

    PHP で JSON を特定のクラスにパースする方法 - Qiita
    iww
    iww 2023/02/13
    json_decode_class
  • PHPのオブジェクトは参照渡しではないし、変数リファレンスは全然別物 - Qiita

    まだ参照渡しで消耗してたの? 僕はPHPerなのでPHPのことしかわからないけど、だいたいPHPで参照渡しのことを気にしても時間の無駄だし積極的に利用するべき場面が極めて限定されることはPHPのリファレンス(参照&)の傾向と対策、あるいはさよならに書いたので読んでほしい。 それとPHPマニュアルでは「参照渡し」ではなく「リファレンス渡し」と呼ぶが、どちらにせよ、わざわざ「渡し (call by-)」を付けて呼ぶ意義は乏しいので、これからは「変数リファレンス」として覚えてほしい。もうちょっと具体的なことはPHP: リファレンスとは? - Manualを読んで。 端的に言うと、PHPでは「オブジェクト引数はデフォルトで引数渡しされる」「オブジェクトのプロパティ(メンバー変数)は参照渡し」のような理解は誤解であり、完全に嘘です。 function setPrice1(array $a, floa

    PHPのオブジェクトは参照渡しではないし、変数リファレンスは全然別物 - Qiita
    iww
    iww 2023/02/07
    引数でオブジェクトを渡すと参照になる話
  • 実機iPhoneのSafariでWebインスペクタを使ってデバッグする方法 - Qiita

    要望 実機のiPhoneで特定のWebページに対し、Webインスペクタで中身を書き換えたり、コンソール経由でスクリプトを叩いて実行した結果を見たい。 -> AndroidiPhoneのSafariにもWebインスペクタがある iPhone単体ではView Sourceなどのアプリを使うことで、Webページのソース確認はできるものの、Webインスペクタやコンソールによるスクリプト実行が出来ない。 また、MacのSafariやiOSエミュレーターでもある程度の表示確認はできるが、やはり実機での操作感や見た目の確認は重要である。 少し調べてみたところ、MaciPhoneを接続することで、PCと同様に実機での動作確認が可能なことが判明したため、実際に試してみた。 iPhone Safariの設定 事前準備としてiPhone側の設定を行う。「設定」を開き「Safari」をタップ。 画面下の「詳

    実機iPhoneのSafariでWebインスペクタを使ってデバッグする方法 - Qiita
    iww
    iww 2023/01/27
    iphone safari console log
  • プログラマのためのフラッシュメモリ入門 - Qiita

    はじめに 最近はSSDが広まってきたため語られることが増えてきたものの、以前はそうでもなかったような、そんなフラッシュメモリにまつわる話をこのへんでプログラマ視点でまとめておこうと思う。 技術的な話というよりポエム感がでているかもしれない。内容がLinuxにかたよっているかもしれない。 FTLとMTD HDDと比較するとフラッシュメモリは以下のような点が異なる。 read, writeはページ単位で行う 通常はwriteは上書きできない writeしなおすためには一度eraseをする必要がある eraseはブロック単位で行う 今時のMLC NANDだと、ページは8KiBでブロックが512KiBとかそんなオーダ、 NORはランダムreadできる(でも最近はSPI接続だよねぇ)、ビットを寝かす方向なら上書きwriteできる(でもECCが高度化する今時のNANDではやらないよねぇ)、とか細かい話

    プログラマのためのフラッシュメモリ入門 - Qiita
  • シェルスクリプトでlsをパイプでつなぐのはなぜ悪いのか ~ ShellCheck: SC2010, SC2011, SC2012 とファイル名改行問題 - Qiita

    シェルスクリプトでlsをパイプでつなぐのはなぜ悪いのか ~ ShellCheck: SC2010, SC2011, SC2012 とファイル名改行問題ShellScriptUNIXshellシェル芸POSIX はじめに シェルスクリプトで ls コマンドの出力結果(ファイル名一覧)をパイプで他のコマンドに渡して処理するのは推奨されません。ls コマンドを使ったコードを ShellCheck で検査するとおそらく問題があると警告が表示されるでしょう。ls を使うなという指摘自体には賛成なのですが SC2010、SC2011、SC2012 に書いてある理由については正しい説明がされていないと思っています。この記事ではなぜ ls の出力結果を他のコマンドにパイプで渡すのが悪いのか、ls を使わずに実現するにはどうしたら良いのかを解説したいと思います。一つ補足をしておくと、この問題は CLI コマ

    シェルスクリプトでlsをパイプでつなぐのはなぜ悪いのか ~ ShellCheck: SC2010, SC2011, SC2012 とファイル名改行問題 - Qiita
    iww
    iww 2023/01/09
    busyboxはトラブルのもと
  • .bash_profileと.bashrcなんて使い分けなくてよかったんや! - Qiita

    この記事の内容 .bash_profile と .bashrc の使い分けの説明はいろいろあるんですが、 どうにも腑に落ちなかったので、私なりに調べてみました。 で、自分的にはこれで必要十分な理解ができたと思ったので投稿。 とりあえずここまで理解すれば、後はその都度対処していけるかなー、と。 2018/03/20追記 :もともと合わせて1つの記事にする予定だった 「Linuxでシェル間の設定の引継ぎを蛇足感満載で確認した」という記事を投稿しました! こちらと合わせて読んでいただけると嬉しいです。 スーパー忙しい人のための結論 設定はすべて.bashrcに書く これでいいんやで。 動作確認の環境 Windows10のHyper-V上で動いているCentOS7で動作を確認 CentOS7はインストール直後の状態で試しているので設定ファイル等は書き換えていない OSインストールのグループ(最小限

    .bash_profileと.bashrcなんて使い分けなくてよかったんや! - Qiita
    iww
    iww 2022/12/29
    .profileと.bashrc はごっちゃにしてるとつまらない事故のもとになるので、面倒でもきちんと使い分けたほうがいいです。 という話