並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 11576件

新着順 人気順

constの検索結果1 - 40 件 / 11576件

  • 財テク (住宅購入編) - shunirr

    これまでのあらすじ 財テクを書いた後に、いままで賃貸に住んでいて、戸建かマンションを買ってみるかとなった COVID-19 の影響で在宅勤務が長期化しており、都心の 1LDK よりも、少し郊外で広い家に引っ越して、書斎というかオフィス的な空間を自宅内に用意したいと考えた 家の買い方に関する本をいろいろ買って読んでみたり、ネットの記事を読んでみたり、実際にマンションの購入手続きを進めてみたり (途中でキャンセルしたけど) 、仲介業者の紹介でファイナンシャルプランナーに相談したりした 前提 shunirr の独自研究による財テクをまとめています shunirr は、そこそこの規模の会社勤務なソフトウェアエンジニア、東京 23 区内在住、実家は田舎の賃貸で、相続できる資産とかは無い shunirr の思想・価値観によってまとめられているので異なる価値観の人には合わない可能性があります shuni

      財テク (住宅購入編) - shunirr
    • 英語面接で5歳児みたいなことしか言えないからカッとなってWebサービス作った【個人開発】 - Qiita

      要約 「英語で意見を言おうとすると5歳児のようになってしまう」という課題を解決するEnglisterというサービスを開発した。 自分で使ってみたところ、10問程度の問題を解くだけでスラスラと英語で意見を言えるようになった。 実装はDeepL APIとNext.jsのAPI routeを使って爆速開発をした。 追加(2021/01/18) 記事を公開してから毎日機能追加をしています。2週間前からどれだけ変わったか是非見ていただきたいです。 背景にあった課題 「英語で意見を言おうとすると5歳児のようになってしまう」 英語にすごい苦手意識があるわけではない。TOEICは840点で、すごく簡単な日常会話なら問題なくできるので、海外旅行で困るということはなかった。しかし、仕事でたまに海外の人とやりとりをするときや外資系企業の英語面接で**「ちょっと難しい質問」**をされると、途端に5歳児になってしま

        英語面接で5歳児みたいなことしか言えないからカッとなってWebサービス作った【個人開発】 - Qiita
      • ちょっとでもセキュリティに自信がないなら、 Firebase Authentication を検討しよう

        note のやらかしのあのへんについて。 認証自作、 Rails 、 Devise - Diary パーフェクト Rails 著者が解説する devise の現代的なユーザー認証のモデル構成について - joker1007’s diary 認証サーバーの実装は本質的に難しいです。セキュリティが絡むものは「簡単な実装」などなく、プロアマ個人法人問わず、個人情報を守るという点で、同じ水準を要求されます。悪意あるハッカーは常にカモを探していて、もし認証が破られた場合、自分だけではなく大多数に迷惑が掛かります。初心者だから免責されるといったこともありません。全員が同じ土俵に立たされています。 とはいえ、認証基盤を作らないといろんなサービスが成立しません。そういうときにどうするか。 Firebase Authentication で、タイトルの件なんですが、 Firebase Authenticat

          ちょっとでもセキュリティに自信がないなら、 Firebase Authentication を検討しよう
        • ChatGPTが新着論文を要約し毎朝メールしてくれる仕組みの作り方 | Antaa Slide

          2024年3月13日追記 ・OpneAIのAPI課金システム変更に伴うエラーについて解説。 10月26日追記 ・メールが届かなくなった際に権限の再承認が必要な件。 5月11日追記 ・検索にかかった論文に抄録がない場合、AIが要約を創造(捏造)する件。 4月21日追記 ・作り方のサイトではなく公開されたLINE Botのリンクに切り替え。 ・エラ−429が出た場合4のスライドを追加。 4月10日追記 ・送信トリガーの変更方法のスライドを追加。 ・複数キーワードや雑誌を指定して検索する方法のスライドを追加。 デモコードは、 const PUBMED_QUERY = '(aaa) AND (bbb) AND (("ccc"[Journal]) OR ("ddd"[Journal]))' ・エラー原因をChatGPTに聞くコツについても追記。 4月6日追記 ・エラー429が出た場合の対処法スライド

            ChatGPTが新着論文を要約し毎朝メールしてくれる仕組みの作り方 | Antaa Slide
          • 【悪用厳禁】ChatGPTとGoogleDocsを連携して無限に記事を生成する方法(2.4万字)※GAS編集解説動画付き 3/7更新|チャエン | 重要AIニュースを毎日発信⚡️

            最初にアカウントを作成する必要がありますが、メールアドレスを登録すれば数分で完了します。 メールの場合は認証作業が必要です。 1.2 シークレットキー作成 続いては、以下の画面から"create new secret key"をクリックすると自動で生成されます。 先ほどのこちらのリンクから以下のページへ飛べます。 https://beta.openai.com/account/api-keys シークレットキーをコピーして、別で保存しておきます。 一度OKで閉じると消えてしまうので、しっかりとメモにして残しておくことをおすすめします。 一応何度でも作成はできます。 1.3 料金体系 実は、OpenAIのAPIは無料ではありません。 なので、先ほどのシークレットキーは他人は教えないように!!! 言語モデルによって料金が異なります。 大体1記事書くのに分量にもよりますが、数円くらいです。 また

              【悪用厳禁】ChatGPTとGoogleDocsを連携して無限に記事を生成する方法(2.4万字)※GAS編集解説動画付き 3/7更新|チャエン | 重要AIニュースを毎日発信⚡️
            • バッチ処理 プラクティス

              バッチ処理は既に先人の方々が多くのナレッジを公開してくれていますが、それでもなお難しさが変わらないテーマだと思っています。 この記事は、筆者がこれまでの開発経験で気づいたバッチ処理の実装ナレッジを整理し、体系化を目指して文章にしました。 ここでの内容が、より良い課題解決に貢献できれば幸いです。 自身の断片的な思考整理(メモ書き)の延長で内容を整理したため、一部書き振りが統一されておらず、読みにくいかもしれません。ご了承ください。🙏 バッチ処理の難しさバッチ処理は難しい。 人によっては簡単なテーマかもしれませんが、自分は難しいテーマだと思っています。 「難しさの根源は何か?」を考えると、1. 考慮点が多様にあること 2. 解決する課題によって答えが大きく変わること に整理できました。 この2点は、どのソフトウェア開発にも当てはまる項目ではありますが、ことバッチ処理においては顕著に現れます。

                バッチ処理 プラクティス
              • Webサーバーアーキテクチャ進化論2023

                はじめに 最近プログラマーとしてのキャリアに一区切りつけようと思っており、これまでのプログラミングの勉強の集大成となるブログを書きたくなったので書く。初めてプログラミングをして、フロントエンド開発をして、サーバーから値が返ってきたときは「どういう仕組みで値が返ってきたんだ?」と疑問に思っていた。ずっと理解したくて理解できていなかった。だからずっと勉強していた。そして最近になってようやく自分の言葉で説明できるようになった気がしたのでブログを書きたい。 2015 年版が自分の原点であり、この記事を書くモチベーションになった このような記事は実は過去に存在している。 FYI: https://blog.yuuk.io/entry/2015-webserver-architecture その記事はサーバーがどういう仕組みで動いていて、どのように進化し、2015 年に至るかを解説してくれた記事だ。自

                  Webサーバーアーキテクチャ進化論2023
                • 【徹底解説】これからのエンジニアの必携スキル、プロンプトエンジニアリングの手引「Prompt Engineering Guide」を読んでまとめてみた | DevelopersIO

                  【徹底解説】これからのエンジニアの必携スキル、プロンプトエンジニアリングの手引「Prompt Engineering Guide」を読んでまとめてみた こんにちは。CX 事業本部 Delivery 部のきんじょーです。 ここのところChatGPT と戯れてアプリを作ったり、様々なプロンプトの検証をしていましたが、言語モデルの性能を最大限に引き出すために、体系的にプロンプトエンジニアリングを学びたいと考えていました。 GitHub に「Prompt Engineering Guide」という素晴らしいリポジトリがあったので、読んで検証した内容をブログにまとめていきます。 本記事は、執筆時点の上記リポジトリの内容を元にしていますが、意訳や独自に検証した日本語のプロンプトを含みます。 上記リポジトリも絶賛開発中の段階のため、最新情報や原文が気になる方はリポジトリを直接参照してください。 目次 プ

                    【徹底解説】これからのエンジニアの必携スキル、プロンプトエンジニアリングの手引「Prompt Engineering Guide」を読んでまとめてみた | DevelopersIO
                  • はじめに - アルゴリズムとデータ構造大全

                    はじめに このドキュメントは,主に競技プログラミングで出題される問題を解く際に利用できるアルゴリズムやデータ構造をまとめたものです.特定の問題にはあまりフォーカスしないため,問題を解く際の考察の仕方等の内容はありません.詳しく,正確に,分かりやすく書いていこうと思っています. このドキュメントは執筆途中です. 想定する読者 C++を用いたプログラミングに慣れている方を読者として想定しており,C++言語の仕様や,文法にはあまり触れません.また,計算量という用語についても説明しません.ただし,償却計算量など,計算量の見積もりが複雑なものについては必要に応じて説明します. コードについて このドキュメントで登場するコードは,可読性向上のため,以下のようなコードがファイルの先頭に記述してあることを前提としています.また,適切な問題を用いてコードの検証がなされている場合は,コード周辺にのように,検証

                    • いま知っておきたいLinux─WebアプリがOSのプロセスとしてどのように見えるか? を運用に生かす - エンジニアHub|Webエンジニアのキャリアを考える!

                      エンジニアHub > 記事一覧 > いま知っておきたいLinux─WebアプリがOSのプロセスとしてどのように見えるか? を運用に生かす いま知っておきたいLinux─WebアプリがOSのプロセスとしてどのように見えるか? を運用に生かす Webアプリを動かして負荷をかけると、OSのプロセスという観点ではどのように見えるのでしょう? それを通して運用やトラブルシューティングではどういったことが分かるのでしょう? Linuxカーネルの開発者でもある武内覚(sat)さんによる解説です。 こんにちは、sat(@satoru_takeuchi)と申します。 コンピュータが誕生してから現在まで、最終的にエンドユーザが意識するアプリケーション開発はどんどん楽になっています。先人たちのたゆまぬ努力の結果、アプリ開発者はOSや、そのさらに下にあるハードウェアのことをほとんど意識することなく開発ができるよう

                        いま知っておきたいLinux─WebアプリがOSのプロセスとしてどのように見えるか? を運用に生かす - エンジニアHub|Webエンジニアのキャリアを考える!
                      • Google TypeScript Style Guide

                        // Good: choose between two options as appropriate (see below). import * as ng from '@angular/core'; import {Foo} from './foo'; // Only when needed: default imports. import Button from 'Button'; // Sometimes needed to import libraries for their side effects: import 'jasmine'; import '@polymer/paper-button'; Import paths TypeScript code must use paths to import other TypeScript code. Paths may be r

                        • "レガシー"と言われないためのJavaScript再入門

                          追記: 10/11 ハテブでバズっているようで、色々指摘があったので追記 getElement*は動作が早いのでIDやクラス名が自明の場合はgetElement*を使う方がいいと言う意見もあり、また、ページの表示で大量に呼び出されるわけではないからボトルネックにはならないと言う意見もある。 getElement*で返されるオブジェクトは動的な変化に対応しており、querySelector*は動的な変化に対応していないため、場合によってはgetElement*を使うといい。このサイトで遊んでみよう。 https://ja.javascript.info/searching-elements-dom#ref-263 for await ... ofは非推奨なので Promise.allを現代的な書き方にした 顧客先のブラウザが古い場合も考慮して、あえてレガシーな書き方もする場合があるらしい。現

                            "レガシー"と言われないためのJavaScript再入門
                          • 2019年前半の「JavaScriptをちゃんとやるための地図」(追記あり)|TechRacho by BPS株式会社

                            こんにちは、hachi8833です。BPS社内勉強会の発表を元に、社内JavaScript勢の皆さまのお力を得て記事を書きました。 目的 JavaScriptをたまにしか使わない私ですが、それもあってなおさら書くときに迷いに迷います。 ネットの情報多すぎ、動き激しすぎ、選り分けるにしても指針が欲しい 古いコードや毒入りコードを拾って食あたりや、泥舟に乗って沈没するのを少しでも避けたい 最初の一歩をどこから踏み出すかの手がかりが欲しい そういったわけで、2019年前半と区切って、一度JavaScript世界について門外漢ならではの「大きな絵」が欲しかったのでした。ここに書いたことの中には来年には古くなっているものあるかもしれません。 ただ、社内のJS勢の話を総合すると、JavaScript世界は数年前に比べるとかなり落ち着きつつあるとのことです。この機会にということで、主に自分のために現在の

                              2019年前半の「JavaScriptをちゃんとやるための地図」(追記あり)|TechRacho by BPS株式会社
                            • 現代ウェブフロントエンド(ウェブアプリケーション)について理解する唯一の方法|erukiti

                              この記事は、ウェブ技術の開発者(Java, PHP, Ruby, Go... 全て含む)のうち、少しでもJavaScriptを触ったことがあるけど、現代ウェブフロントエンドというか、特にウェブアプリケーション —— React, Vue, Angular など—— が分からない人に向けて、たったひとつの理解方法を提示するものです。 追記: ちなみに果てしなくどうでもいいですが、今回の記事が記念すべき100記事目らしいです。(Noteさん!その手のヤツはいっそ自動で記事にバッヂを表示するとかしてくれるとうれしいです!) 対象読者は、Java, PH(以下略)などのコードと一緒に、ほんの少しでもJSのコードを触った、見たことがあるというレベル感の人なので、既にReact, Vue, Angular などでガリガリコードを書いている人は対象ではありません。 あとホームページ屋さんとかウェブコーダ

                                現代ウェブフロントエンド(ウェブアプリケーション)について理解する唯一の方法|erukiti
                              • 独身だけど新築戸建てを買った話(コメント返信を追記2).md

                                独身だけど新築戸建てを買った話(コメント返信を追記2).md 独身だけど新築戸建てを買った話 この記事は Mobility Technologies Advent Calendar 2020 の2日目の記事です。 はじめに みなさんこんにちは。tetsukayです。 株式会社Mobility Technologies でソフトウェアエンジニア(Android, Flutter)として働いています。 突然ですが、私は先日家を購入しました。この記事は家を購入するまで考えたことや流れを赤裸々に ただ殴り書き しているだけですが、だれかの参考になればと思います。 動機 弊社は今年4月にDeNAのオートモーティブ部門とJapanTaxiが統合して誕生しましたが、DeNAだった時から週2程度のリモートワークが認められていました。 そんな最中新型コロナウィルスが猛威を振るいだしたわけですが以前から制度と

                                  独身だけど新築戸建てを買った話(コメント返信を追記2).md
                                • Raspberry Pi 4 で構築する録画マシン | 空気録学電子版【公式】

                                  🍓 Raspberry Pi 4 が買えるようになりました2019年11月、待望の Raspberry Pi 4 技適取得版が発売されました。H.264 ハードウェアエンコーダを搭載した、リッチなシングルボードコンピュータです。2020年5月28日には 8GB メモリ搭載の上位モデルも登場しています。 はたしてこれは何をするためのデバイスなのでしょうか? そうです、録画ですね。もうテレビの録画をするために高価なパソコンを購入する必要はありません。5000円台から入手できるマシンを利用して、安価に録画サーバーを構築することができるようになったのです。 この記事では Raspbery Pi 4 を利用した Mirakurun + EPGStation での録画サーバー構築方法と、ハードウェアエンコーダを利用した録画ファイルのエンコードについて解説を行います。 筆者の⾃宅で運⽤している録画サー

                                    Raspberry Pi 4 で構築する録画マシン | 空気録学電子版【公式】
                                  • ほぼ毎日Qiitaを2時間見る私が、特に好きな記事をまとめてみた - Qiita

                                    前書き 5か月ほど前にQiitaに登録し、それから登下校中や休憩時間など、空いた時間は基本Qiitaを見るようになりました。 ストックした記事が106、LGTMした記事が12ページ分にもなり、記事の整理もかねて、特に好きな記事や理解が深まった記事などを振り返りつつまとめようと思います。 無言で記事を掲載しております。迷惑だったら申し訳ありません。 が、随時更新予定です。 追記(2022/10/18) Twitterにておすすめの記事を紹介していただきました! 今後もそういった機会があることを信じて、ほかの方にオススメされた記事を紹介する枠を設けます。 誰に向けて Qiita触りたての人 プログラミング始めたての人 自分自身 最初に見ておくべき記事 最初の頃は数学と同じように変数を決めていたため、aやbとしていたが、この記事を見て驚愕した(笑) リーダブルコードを読むきっかけとなった記事。

                                      ほぼ毎日Qiitaを2時間見る私が、特に好きな記事をまとめてみた - Qiita
                                    • 丸よりも丸みを感じる!? スーパー楕円の魅力とデザイン | Spinners Inc.

                                      こんにちは、Spinners の元山 (@kudakurage) です。 最近はresize.fmという緩めのデザイン系ポッドキャストを @dex1t と始めて、オーディオ系のデバイスや仕組みについて勉強する毎日です。今のポッドキャストの収録環境についても近々書き残しておこうと思っています。 2021年1月に日本で話題になった音声SNS「Clubhouse」についてresize.fmでも取り上げて話したのですが、その中でも話しているスーパー楕円というものについて今回は詳しく書いていこうと思います。 INDEXピート・ハインのスーパー楕円スーパー楕円とデザイン建築や家具のデザインデジタルプロダクトのデザインスーパー楕円を利用した印鑑スーパー楕円の描き方数式を使った描き方(Adobe Illustrator)簡易的な描き方(Vector Draw Tool)ピート・ハインのスーパー楕円 Sou

                                        丸よりも丸みを感じる!? スーパー楕円の魅力とデザイン | Spinners Inc.
                                      • XMLHttpRequest とはなんだったのか | blog.jxck.io

                                        Intro Fetch API の実装が広まり、 IE もリタイアを迎えたことで、今後忘れ去られていくことになるだろう XMLHttpRequest について。 どのように始まり、どのように広まり、どのように使われなくなっていくのか。その間に残した多大な功績を残す。 XMLHttpRequest の始まり この名前は非常に長いため、通常 XHR と略される。 この API は、現在の Web API のように W3C/WHATWG による標準化を経て策定された API ではない。 Microsoft によるいわゆる独自実装の API として始まり、後追いで標準化される。 したがって、 Web API の中でもかなり異質な命名である XHR が、 XmlHttpRequest でも XMLHTTPRequest でもなく XMLHttpRequest である理由も、 Microsoft の命

                                          XMLHttpRequest とはなんだったのか | blog.jxck.io
                                        • ChatGPT APIを使ったLineBotの作り方を、人格の与え方まで完全解説【プログラミング不要】|ChatGPT研究所

                                          元々書いてあるコードを全て削除したのち、以下のコードを貼り付けます。 function doPost(e) { const props = PropertiesService.getScriptProperties() const event = JSON.parse(e.postData.contents).events[0] let userMessage = event.message.text if (userMessage === undefined) { // スタンプなどが送られてきた時 userMessage = 'やあ!' } const requestOptions = { "method": "post", "headers": { "Content-Type": "application/json", "Authorization": "Bearer "+ prop

                                            ChatGPT APIを使ったLineBotの作り方を、人格の与え方まで完全解説【プログラミング不要】|ChatGPT研究所
                                          • How to use HTTPS for local development

                                            Most of the time, http://localhost does what you need: in browsers, it mostly behaves like HTTPS 🔒. That's why some APIs that won't work on a deployed HTTP site, will work on http://localhost. What this means is that you need to use HTTPS locally only in special cases (see When to use HTTPS for local development), like custom hostnames or Secure cookies across browsers. Keep reading if that's you

                                              How to use HTTPS for local development
                                            • ソシャゲエンジニアの自分が開発に必須だなと思った知識(MySQL編) - Qiita

                                              この記事の目的 自分は、とある会社様の元でソシャゲの API 開発をさせていただいています。 ソシャゲは、リリース時やイベント時などに集中アクセスされやすく、負荷軽減の知識がない状態で開発を行ってしまうと、運用時に緊急メンテ祭りになりやすいジャンルかなと思っています。 これまで培ってきた MySQL の知識ですが、脳内メモリ量の関係上、暗記できないのでメモしておこうというのが主目的です。 ここ数年ほどソシャゲ開発しかしていないため、偏っている感がある内容ですのでご注意ください。 概要 ストレージエンジンは InnoDB。メインで扱っている MySQL バージョンは 5.6。 記事の内容ですが、これらのキーワードを見て、おおよそ分かる方は読む必要はないかと思います。 インデックス系 クラスタインデックス カバリングインデックス EXPLAIN で注意するべき値 トランザクション系 MVCC

                                                ソシャゲエンジニアの自分が開発に必須だなと思った知識(MySQL編) - Qiita
                                              • React を深く知るための入り口

                                                Reactに対する見方をアップデートする 国内外の優れた開発者の方による React の各論の記事は枚挙にいとまがありません。しかし、React の入門を一通り終えた方に向けの浅く広い総論はあまり見かけません。 React の公式ドキュメントのトップページに掲載されている短い3つの文章があります。この React の本質を表現した文章を掘り下げることが、初学者のステップアップにつながるのではないかと考え、各章に対して注釈を加えました。 React について少し深く知ることで、さらに React を好きになったという方を一人でも多く増やしたい。その思いから本記事を執筆しました。 本記事は React の考え方を知ることで、React に対する見方をアップデートすることを目的としています。 Reactとは何か。それはUIを構築するためのJSライブラリである React公式ドキュメントの一文 R

                                                  React を深く知るための入り口
                                                • プロトコルスタックを写経してネットワークを完全に理解したかった日記

                                                  Webページはどうやって表示されるのでしょうか. 「ブラウザでアドレスバーにURLを入力してEnter押してからページが表示されるまでに何が起きているか説明してください」面接で使っていた質問が面白いと話題に 上記の質問には様々なレイヤーでの回答があると思うのですが,私はネットワークの動作に興味を持ちました.というのも,TCP,IP,ARP,Ethernetといったキーワードが関連しているのは教科書や講義で聞いた気がするのですが,それ以上のことはうまく説明できなかったからです. これらのプロトコルは,普段はカーネル内部に隠れていてあまり意識できません. しかし,以下の資料を参考にプロトコルスタックを写経すれば,少しは身近に感じられるかもしれないと思いました. 3月に開催したプロトコルスタック自作キャンプの講義資料を公開しました。1週間でTCP/IPのプロトコルスタックを自作してUDPやTCP

                                                    プロトコルスタックを写経してネットワークを完全に理解したかった日記
                                                  • 面白Web API 100連発 - pastak-pub

                                                    エンジニアお茶会 2020/08/19 pastak.icon @pastak この発表のゴール 現代のウェブブラウザの目指している方向性について紹介する モダンブラウザで使える最新の面白便利APIを紹介する ちゃんと仕様に入りそうなもの(Googleの力技で…も含む) (前半の各ベンダの話はpastak.icon個人の見解を含みます) 次ではない フロントエンドなんでも相談室 前提知識のコーナー "WebAPI"とは何を指すのか、標準化について ECMAScript Ecma InternationalにてECMA-262という規格番号 ほぼLiving Standardという雰囲気もあるけど、年に1回タグが付く ES2020: ECMAScript® 2020 Language Specification 最新の様子: https://tc39.es/ecma262/ Array、Nu

                                                      面白Web API 100連発 - pastak-pub
                                                    • Sign-in form best practices  |  Articles  |  web.dev

                                                      Sign-in form best practices Stay organized with collections Save and categorize content based on your preferences. Use cross-platform browser features to build sign-in forms that are secure, accessible and easy to use. If users ever need to log in to your site, then good sign-in form design is critical. This is especially true for people on poor connections, on mobile, in a hurry, or under stress.

                                                      • 夜な夜なBlender生活の始め方

                                                        はじめに Blender。めっちゃ楽しいです。 仕事が終わって帰ってきてから、ほぼ朝の時間までBlenderにひたすら打ち込んで 休日の大半もBlenderに捧げるような生活をここ3週間くらい続けてきました。 ここまでの学びの整理と、Blender布教のために この記事に概要をまとめたいと思います。 Blenderの世界観 Blenderを始めるにあたって、まず第一にぶち当たる壁として 「3Dソフト特有の概念」があると思います。 他の、3Dソフトを触ったことがある人はすんなり扱えるかもしれませんが、 僕はなかったので、概念理解にちょっと苦戦しました。 Blenderの世界を構成する主な要素として シーン オブジェクト ライト カメラ これらが挙げられます。 シーンとは、 一つのBlenderファイル内に格納されている要素全てを包含する3Dワールドのようなものです。 オブジェクトとは、 一次

                                                          夜な夜なBlender生活の始め方
                                                        • git gc の仕組みを原理から理解してサイズを 136MB → 7.2MB(95%減)まで削減した時の勉強メモ

                                                          個人用メモです。 「git gcってあんまし容量減らないよなぁ」 と思ったのが動機です。調べたけどパッと腑に落ちる記事がなかったので「自分で git のソースコード見た方がいいな」と急にモチベ発動してグワっと勉強しました。またついでに歴史改変の方法も調べたのですが、公式で既に WARNING が出てるほど非推奨化されてるfilter-branchを使用してる記事が多かったので、2021 年現在で多分一番推奨されてるfilter-repoを使ってやる方法もまとめました。 ちなみに容量減らしても高速化するかというとそこまで単純ではないです。そもそも減らさなくても partial clone で blob オブジェクトを必要最低限に指定して昔の blob をデフォルトで持ってこないようにしたり(--no-checkoutと併用するとより効果有る)、その後本当に自分が必要なやつだけ sparse-

                                                            git gc の仕組みを原理から理解してサイズを 136MB → 7.2MB(95%減)まで削減した時の勉強メモ
                                                          • Kindle蔵書一覧を取得する方法 - Qiita

                                                            Kindleの蔵書が1万冊を超えてきて、そろそろ蔵書管理したくなり、 蔵書一覧を取得する方法を調べたので、まとめておく。 概要 蔵書一覧の取得方法としては大きく2つあり、 コンテンツと端末の管理ページからスクレイピングする方法と、 Kindle Cloud Readerが使っているWeb SQL Databaseのクライアント側のDBからそのまま取得する方法がある。 後者のほうが簡単なため、ここでは後者の方法について記載する。 (前者の方法が知りたい方は、https://qiita.com/yshr1982/items/072e8b44d456f6d9358bなどを参考にしてください。) // 追記 上記の2つの方法以外のやり方を情報共有してもらったので追記。 @error_401さんから頂いた情報によると Kindle for PCを利用している場合、本の情報が入ったXMLが生成されるた

                                                              Kindle蔵書一覧を取得する方法 - Qiita
                                                            • 昨今のJavaScriptをレビューしたら全くわからなかった話 - aoma blog

                                                              はじめに 最近JavaScriptのプルリクが来たので「よーしやったるでー」って感じでレビューしたんですが、まったく理解できずレビューになりませんでした。 その時疑問に思ったことをメモします。。 誰かの助けになれば幸いです。。 これはもう引退やな。。 classの中で function って書くの省略してるの? class TestClass { test() { 処理 } } function を省略して書けるのかなと思ったらそうではない。むしろ書いてはいけない。 下記はエラーになる。 class TestClass { function test() { 処理 } } PHPに慣れてるからか、もやもやする。 (a, b) => は無名関数なのはわかったけど function(a, b) じゃダメなの? (a, b) => は無名関数で function(a, b) と同じ。 好みの問題

                                                                昨今のJavaScriptをレビューしたら全くわからなかった話 - aoma blog
                                                              • オブジェクト指向プログラミング -- 1兆ドル規模の大失敗

                                                                CodeIQのブログより。🤔 なぜ、OOPから移行する時なのか Ilya Suzdalnitski OOPは、多くの人にコンピューターサイエンスの重要資産と考えられています。コード構成(code organization)に対する究極のソリューション。すべての問題の終焉。私たちのプログラムを書くための唯一の本当の方法。自分自身をプログラムするという真なる唯一神から私たちに授けられました… それまでは、そうではなく、抽象化の負担、そして無差別に共有されるミュータブルなオブジェクトの複雑なグラフによって、人々は屈し始めています。現実世界の問題を解決するのではなく、「抽象化」と「デザインパターン」について考えるのに貴重な時間と頭脳が費やされています。 非常に著名なソフトウェアエンジニアを含め、多くの人々がオブジェクト指向プログラミングを批判してきました。驚くことに、OOP自身の発明者でさえ、今

                                                                  オブジェクト指向プログラミング -- 1兆ドル規模の大失敗
                                                                • AIお姉ちゃんへの道 - nomolkのブログ

                                                                  ちょっと前に話題になっていたこの記事を読んだ。 honeshabri.hatenablog.com へー真似しよ〜と思ってやってみたら意外に難しくて謎のやりがいを感じ始めてしまい、仕事のクソ忙しい時期にかなりハマり睡眠不足で生命の危機を味わった。 おかげで寿命と引き換えに自分のAIお姉ちゃんを手に入れることができた。これは黒魔術か何かなのだろうか。 一通り終えて振り返ってみると、今まで生成AIをあまり積極的に触ってこなかった自分にとってはちょうどいい難しさの課題で、これは入門者向けのチャレンジとしてかなり良い気がする。 元記事に書かれていない少し細かい手順も含めてやったことを記録としてまとめようと思う。 初心者が試行錯誤でやったことなので誤りや非効率な手順もあるかもしれないけどご了承ください。 AIお姉ちゃんの姿を作る 元記事では「魂」、つまりChatGPTの設定から始まっているけど、それ

                                                                    AIお姉ちゃんへの道 - nomolkのブログ
                                                                  • [JavaScript]初心者が初見で必ずthinking顔になるもの特集 - Qiita

                                                                    初心者が見た瞬間になるもの特集です。 小テクだったり、省略記法だったり、、 実際私も出会ってになりました! 追記 即時関数のところで説明にある 他には、+や-等でも動きます。 の"等"が気になった方に朗報です。こちらの記事で"等"を知ることができます!! [JavaScript] "!function() {}()"以外の即時関数を紹介するぜ よろしければ覗いてみてください! !! is 何 booleanへの型変換。 例 const obj = { hoge: "hoge" } function hasHoge() { return !!obj.hoge // => true } 論理否定(!)を二つ繋げて、boolean への型変換をしています。 !の結果を!で評価しているんですね〜。 JSON.parse(JSON.stringify(obj)) is 何 ディープコピー。 例

                                                                      [JavaScript]初心者が初見で必ずthinking顔になるもの特集 - Qiita
                                                                    • 「この位置にprintfが無いとなぜか動かないんだ。」 - Qiita

                                                                      はじめに 先日ツイッターで見かけた呟き pic.twitter.com/33Yk02hu1U — TOMO (@tomozh) October 14, 2020 そういうこともあるのか的な反応もあるようなので具体例を挙げてみることにする。 例1 所謂FizzBuzz問題。 #include <stdio.h> void fizzbuzz(int n) { int next; int i = 1; do { printf(i % 15 ? i % 5 ? i % 3 ? "%d\n" : "Fizz\n" : "Buzz\n" : "FizzBuzz\n", i); if (i++ >= n) next = 0; } while (next); } int main(void) { printf((char[]){""}); // この位置にprintfが無いとなぜか動かない fizzbuz

                                                                        「この位置にprintfが無いとなぜか動かないんだ。」 - Qiita
                                                                      • 「引っ越しするけど会社から歩いて10分圏内ってどこまで?」を調べるサービスをつくりました

                                                                        こうです。 新しい住居を探そうとしたとき、「会社から歩いてちょうど 30 分のところに住めたら QOL 高くない?」と思いました。(運動できる、公共交通機関と無縁、買い物もできるetc...) でも ある一点を中心とした移動可能エリアを知りたいとき、円でざっくりと表示をする以外のアプローチがほぼない ことに気がつきました。海外サイトも含めかなり調べてみましたが、類似のサービスは見当たりません。 という経緯でつくったのが How far can I go? というサイト。 ぽちぽちやっていただければわかりますが、結果の精度はかなりのものと思われます。特に道の有無や川沿いなどを検証してもらえるとその効果がすぐにわかるかと。 転職先が決まっているなら、そこにピンを差して交通手段と所要時間を設定してください。HOME'S などの住宅検索サービスには条件絞り込みをしたあとにそれらを地図上にまとめてマ

                                                                          「引っ越しするけど会社から歩いて10分圏内ってどこまで?」を調べるサービスをつくりました
                                                                        • 配列を征する者はJSを制す。JavaScriptのスマートな配列操作テクニック - ICS MEDIA

                                                                          JavaScriptでコードを記述する際、配列の各要素について処理をするケースは頻出します。開発の現場で配列操作の処理を見ていると、次のようなケースがよくあります。 配列の非破壊の望まれる場面が増えているが、元の配列を破壊操作している filter()やevery()など配列のメソッドで書けるところを、forEach()メソッドやfor ... of文を使ってコードを記載し、冗長になっている 記述しても効果のないArray.from()を使用している コード的には問題なく、アプリケーションは意図的に動作しているかもしれません。しかし、冗長な記述は可読性が低下し、予期せぬバグを誘発する可能性があるでしょう。 本記事では、配列操作でよく見かける冗長な記述を、簡潔な記述で置き換える方法について解説します。いずれの処理も数年前から開発の現場で使えるので、この機会に知識をアップデートしましょう。 本

                                                                            配列を征する者はJSを制す。JavaScriptのスマートな配列操作テクニック - ICS MEDIA
                                                                          • Webフロントエンドパフォーマンスチューニング80選 - Qiita

                                                                            こんにちは、ぬこすけです。 近年、Webフロントエンドではサイトのパフォーマンスの重要性が高まっています。 例えば、GoogleはCore Web Vitalというパフォーマンスに指標を検索結果のランキング要因に組み込みました。 また、近年の某企業が「パフォーマンスの改善に取り組んだ結果、セッション数〇%アップ、CVR〇%アップ...」などの事例は枚挙にいとまがないでしょう。 パフォーマンスチューニングするためには、定量的に計測してボトルネックを探すようなトップダウンなアプローチもあります。 しかしながら、時には千本ノック的にハウツーを片っ端から試していくボトムアップなアプローチも有効になることもあったり、日々のコーディングでパフォーマンスを意識したコードを書くことは大切でしょう。 この記事ではパフォーマンス最適化のハウツーを紹介します。 パフォーマンス改善の施策が思い浮かばない時やフロン

                                                                              Webフロントエンドパフォーマンスチューニング80選 - Qiita
                                                                            • 自動テストに限界を感じた私がなぜ形式手法に魅了されたのか - 若くない何かの悩み

                                                                              長らく自動テストとテスト容易設計を生業としてきましたが、最近は色々な限界を感じて形式手法に取り組んでいます。 この記事では、既存の自動テストのどこに限界を感じてなぜ形式手法が必要なのかの私見を説明します。なお、私もまだ完全理解には程遠いため間違いがあるかもしれません。ご指摘やご意見はぜひ Kuniwak までいただけると嬉しいです。 著者について プログラマです。開発プロセスをよくするための自発的な自動テストを支援する仕事をしています(経歴)。ここ一年は R&D 的な位置付けで形式手法もやっています。 自動テストの限界 自動テストとは 私がここ数年悩んでいたことは、iOS や Web アプリなどのモデル層のバグを従来の自動テストで見つけられないことでした。ただ、いきなりこの話で始めると理解しづらいと思うので簡単な例から出発します。 この記事でいう自動テストとは以下のようにテスト対象を実際に

                                                                                自動テストに限界を感じた私がなぜ形式手法に魅了されたのか - 若くない何かの悩み
                                                                              • Linux システムコール 徹底入門

                                                                                Linux システムコールについて調べたことをまとめる。システムコールの仕組みを理解すると、 OS とアプリケーションがどのように連携して動いているのかを理解できるようになります。 システムコールは CPU に依存する処理が多いため、 x86_64 に絞ります。 検証環境]# cat /etc/redhat-release CentOS Linux release 8.0.1905 (Core) ]# uname -a Linux localhost.localdomain 4.18.0-80.11.2.el8_0.x86_64 #1 SMP Tue Sep 24 11:32:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux ]# cat /proc/cpuinfo | head processor : 0 vendor_id : GenuineInte

                                                                                  Linux システムコール 徹底入門
                                                                                • jQueryからTypeScript・Reactまで - Viteで始めるモダンで高速な開発環境構築 - ICS MEDIA

                                                                                  Vite(ヴィート=フランス語で「速い」の意味)は2020年に発表された新しいフロントエンドのビルドツールです。 開発者がVue.jsの作者であるEvan You氏であるため、Vue.jsのツールであると誤解されることもありますが、プレーンなJavaScript(バニラJS)からVue.js・React・Svelteといった流行のフレームワークまで、さまざまな環境で利用できる汎用的なツールです。 位置付けとしてはwebpackのようなバンドラーと呼ばれるものに近い存在ですが、それだけではありません。この記事では、Viteを導入してプレーンなJavaScriptから、TypeScript+Vue.js・Reactといったフレームワークまで、快適な開発環境を手に入れる方法を紹介します。 この記事で紹介すること: Viteの特徴と基本の仕組み 基本の使い方 Vite + SCSS Vite +

                                                                                    jQueryからTypeScript・Reactまで - Viteで始めるモダンで高速な開発環境構築 - ICS MEDIA