タグ

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

  • キャメルケースで省略語をどう扱うか - Qiita

    キャメルケース(camelcase)において、IDやURL、HTTPといった略語(頭字語:acronym)はどのように扱うべきでしょうか。 キャメルケース プラットフォームのコーディングガイドラインによって決められているものがあるのでまとめました。 他にあれば追記しますのでコメントください。(決まっていないものもまとまっていると、探す手間が省けるかもしれません。) 個人的にはどのスタイルでも一貫性があればよいと思うのですが、マルチプラットフォームなAPIを考えるときにどうするか迷いますよね。 Cocoa (Objective-C) well-knownなacronymについては全部大文字とある ガイドラインには「先頭では、、、」と書いてあるけど、先頭でなくても大文字になっている 例 URLWithString:relativeToURL: Coding Guidelines for Coc

    キャメルケースで省略語をどう扱うか - Qiita
  • 自作した時間割アプリが大学の公式アプリに採用された話 - Qiita

    記事の概要 私(芝浦工業大学学部4年生)が大学2年時に1人で制作した、大学のポータルアプリ(ポータルサイトからスクレイピングして時間割などを表示する)が、大学に正式採用され、公式アプリ"ScombApp"としてリリースされるに至った経緯を時系列順に説明します。 ホーム画面 時間割画面 制作の動機 大学のポータルサイト使いにくいがち。 ポータルサイトのスマホアプリ版があれば便利そう。 他にやってる人いなさそうだし、最初に作ったらみんな使ってくれそう。 ポータルサイトの問題点 大学ポータルサイトで使いにくかった点を挙げていく。 とりあえずこれを克服することを目標にした。 ログインの時に自動補完が使えない 制作当時はBASIC認証で、スマホからだとログインの自動補完ができなかった。 毎回手打ちでパスワードを入力している人がほとんど ←!? 次の授業や教室を確認するだけでも、毎回手打ちログインが必

    自作した時間割アプリが大学の公式アプリに採用された話 - Qiita
  • Docker が俺の Postgres を勝手に全世界に公開しやがって色々怒られた話 - Qiita

    こちらは 「番環境などでやらかしちゃった人 Advent Calendar 2023」 22 日目の記事になります。 はじめに Happy Coding!🤶 みなさん年末いかがお過ごしでしょうか。 私は卒論の抄録執筆が終わらないし、今年体調崩しまくってるしで泣きそうです😭 この記事では「Docker が俺の Postgres を勝手に全世界に公開しやがって色々怒られた話」について述べていきたいと思います。 ※所属団体の関係で、技術的な話以外のところの一部で詳しく話せないところはぼかしたり、デタラメなことで置き換えたりしています。ご了承ください。 背景 私は大学 4 年で、働いているという訳でもなく、 個人やちょっとした団体で Web アプリや API サーバなどを作って、みんなが使えるようにしています。 今回は数年前に起こった、とある団体でのお話です。 サービス構成 そこではオンプレ

    Docker が俺の Postgres を勝手に全世界に公開しやがって色々怒られた話 - Qiita
  • 【永久保存版】シェルスクリプト完全攻略ガイド - Qiita

    弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 シェルスクリプトの世界へようこそ! シェルスクリプトって何? シェルスクリプトは普段 Bash などのシェルで実行しているコマンドを並べて、まとめて実行できるようにしたものです。ファイルのバックアップ、ログファイルの解析、システムのセットアップなど、ターミナルで行っていた一連の作業をまとめてシェルスクリプトに記述することで、シェルスクリプトを実行するだけで自動的に一連の作業を終わらせることができるようになります。また、シェルスクリプトはファイルに保存することになるため、再利用するのも簡単になります。 シェルスクリプトで使うコマンドの多くは UNIX コマンドになると思います

    【永久保存版】シェルスクリプト完全攻略ガイド - Qiita
  • Gmailが2024年2月から(大量)送信者に求めてることが分からない闇への防衛術(後編) - Qiita

    この記事は 2023年10月7日にGmailと米Yahooさんが投げ込んだ新たな闇要素への防衛術 の後編です。前編はこちら。 ※というか私がまだ防衛術を検討&試行中である ※この記事にはSPFやDKIMなどのメール認証に関する用語が出てきますが、それ自体の解説は含みませのであしからず。 ※Gmailのガイドラインはこちら Googleが(大量)送信者に求めていること9つを3つに分類 では、Gmailさんが求めている事項を見てみます(下記キャプチャーは2023/12/9現在)。 上から①②……と番号を振って日語を意訳し箇条書きにするとこうです 項番 内容

    Gmailが2024年2月から(大量)送信者に求めてることが分からない闇への防衛術(後編) - Qiita
  • ファイルサーバーを業務中に再起動しちゃったので経緯と原因と対策を共有します - Qiita

    この文章と目的 ファイルサーバーを業務中に再起動しちゃったので経緯と原因と対策を共有します。 経緯 私はサーバー管理は片手間で行っています。業は別。 ファイルサーバーのOSは Windows Server 2019 です。 勿論サーバーでも毎月の Windows Update 再起動は必須ですねー 誰も使っていない夜中に サーバーの管理として Windows Update を確認する作業をほぼ毎日サーバーにリモートデスクトップ接続して > スタートボタン > 設定 > 更新とセキュリティ を行っていました。 めんどくせー モノぐさエンジニアは楽をするための苦労は厭いません! ggr ! 結果、サーバーのデスクトップに という内容のショートカットを作成しダブルクリックすると、上記を一気に行う事が分かりました! 手数を減らして楽になった!やったねー ここで止めれば良かったー 調子に乗った私、

    ファイルサーバーを業務中に再起動しちゃったので経緯と原因と対策を共有します - Qiita
  • 君には1時間でGitについて知ってもらう(with VSCode) - Qiita

    おことわり この記事はプログラミング&業務未経験の新入社員に、Gitについて1時間程度で説明した内容をもとに作ったものです。自分がもし誰かにGitについて教えて貰える立場にいたら、最初にこれを教えて貰いたかったという気持ちで作りました。 とりあえず「1人のプロジェクト」で「1時間で」Gitをそこそこ知って使えるようになることを目的としています。実際のチーム開発ができる水準までこの記事だけで達することはできませんが、今後Gitを使う必要がある人にとって学習の足がかりになれば幸いです。 それと、新入社員に教えるという都合上、表現がやや正確でなくざっくりしたところがあるかもしれませんが、質の悪い誤解を招くようなものでなければご容赦下さい。 全体像 まずはGitとは何かをざっくり分かって貰った後で、VSCode上での操作を行って頂きます。 Windowsでの説明を行いますが、Macの方は適宜読み替

    君には1時間でGitについて知ってもらう(with VSCode) - Qiita
  • ソルト付きハッシュのソルトはどこに保存するのが一般的か - Qiita

    pictBLandとpictSQUAREに対する不正アクセスがあり、パスワードがソルトなしのMD5ハッシュで保存されていたことが話題になっています。 2023年8月16日に外部のフォーラムにpictSQUAREより窃取した情報と主張するデータ販売の取引を持ち掛ける投稿が行われた(中略)パスワードはMD5によるハッシュ化は行われているもののソルト付与は行われていなかったため、単純なパスワードが使用されていた29万4512件は元の文字列が判明していると投稿。(それ以外の26万8172件はまだMD5ハッシュ化されたままと説明。) 不正アクセスによるpictBLand、pictSQUAREの情報流出の可能性についてまとめてみた - piyolog より引用 これに関連してMD5ハッシュやソルトに関するツイート(post)を観察したところ、どうもソルトの理解が間違っている方が多いような気がしました。

    ソルト付きハッシュのソルトはどこに保存するのが一般的か - Qiita
  • エンジニア読書会で電子書籍の"回し読み" "画面投影" は可能?【著作権法】 - Qiita

    アドベントカレンダーの1人フルマラソンに挑戦中です😃 翌日はこちら:ミームLGTM画像や推しキャラアイコンの社内利用は?フェアユースって?【著作権法】 読書会と著作権 皆さんの会社ではエンジニア同士で集まって読書会(輪読会)を開催していますか? 読書会はやり方によっては著作権者らの権利を侵害してしまう可能性があります。 従来の対面方式だけでなく、リモート・オンラインで開催するときは何に気をつけるべきでしょうか。 具体的な事例で確認していきましょう。 ※2022/12/02 ご指摘を受け再調査し大幅に修正しました(許諾無しでできることが増えた) 方式1: 対面で集まり、1冊の紙のを出席者で回しながら、読み上げる(口述する) 1冊を少人数で回し読みする座談会方式です。 どんなに多くても50名未満とします、現実的には4名以下でしょう。 対面で読み上げるときは「口述権」の侵害にならないように注

    エンジニア読書会で電子書籍の"回し読み" "画面投影" は可能?【著作権法】 - Qiita
  • 日本の住所の正規化に本気で取り組んでみたら大変すぎて鼻血が出た。 - Qiita

    先日、弊社では Community Geocoder というサービスをリリースしました。 Community Geocoder 紹介記事 さて、このジオコーダーは、住所を正規化してそれを「大字町丁目コード」という12桁の数字に変換し、そのコードをファイル名として GitHub ページ上に大量においた JSON ファイルにアクセスして緯度経度を取得するということをやっています。 つまり、住所の正規化からコードに変換する部分がとても重要で、そもそも正規化に失敗してしまうとどうしようもないという仕様なんです。 さいわい先日経産省が公開した IMI コンポーネントツール である程度のことをやってくれるのですが(というかそうであることを期待したのですが)、いろいろ調べ始めると住所という仕組みはほんとに複雑で、Facebook で絡んでくださった @hfu さんいわくまさに「自然言語処理そのもの」であ

    日本の住所の正規化に本気で取り組んでみたら大変すぎて鼻血が出た。 - 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
  • Nostrプロトコル(damus)を触ってみた - Qiita

    はじめに Twitterの動乱に巻き込まれている皆様、いかがお過ごしでしょうか。 私も例外なく巻き込まれており、特にAPI利用していたアプリケーションを停止することになって非常に残念です。 そこでTwitter代替サービスを探すわけですが Mastodon MisskeyActivityPub系が来て、何か新たに面白そうなものが現れました。 Damus、そしてそのプロトコルのNostrです。 今回、こちらをちょっと触ってみたので紹介します。 とりあえず触ってみたい人はこちら AT Protocolも書きました。こちら 注意 Nostr Assets ProtocolおよびNostrトークンは、Nostrの名前を勝手に使用している無関係の(おそらく詐欺)通貨です。混同しないようにご注意ください。 最近の動向含めた最新情報(2023/12) こちらの記事が参考になります ▽それ、1個のアカ

    Nostrプロトコル(damus)を触ってみた - Qiita
  • NeoBundle から vim-plug に乗り換えてみた - Qiita

    タイトルですが, 当は おい、NeoBundle もいいけど vim-plug 使えよ にしたかったです. 勇気が足りなかった 紹介するPlugin vim-plug これなに Vundle , NeoBundle と同じ vim plugin manager になります. 一応, NeoBundle より後発1という形になるみたいです. 1ファイルオンリーで管理しているのが特徴. 乗り換えた理由 junegunn world にハマった 人と違うのを使いたい 早いらしい http://junegunn.kr/images/vim-startup-time.png https://raw.githubusercontent.com/junegunn/i/master/vim-plug/40-in-4.gif やりたかったことができる parallel installation lazy

    NeoBundle から vim-plug に乗り換えてみた - Qiita
  • 【DNS】サブドメインのないドメインのAレコードは真っ先に書かないといけない - Qiita

    インシデントの話なのでせっかくだから私が体験した1番ゾッとするインシデントの話に参加してみたのですが、正直なところ1番ではないですね。 やっぱ一番はコレですよ。 というわけで先日起こした事故の紹介です。 まあタイトルどおりなのですが。 どういうこと?

    【DNS】サブドメインのないドメインのAレコードは真っ先に書かないといけない - Qiita
  • AlmaLinuxを使ってみた(後編) - Qiita

    前回の続き 前回から続いた内容なので、5から始まる連続した段落番号をつけている。 AlmaLinuxを使ってみた(前編) 5. 移行ツールを使う AlmaLinuxは、almalinux-deployという移行ツールを提供している。このツールを使うと既存のディストリビューションから簡単に移行できる。なお、移行元ディストリビューションとして、CentOS 8やRHEL 8、Oracle Linux 8をサポートしている。詳しくはGitHubを見てほしい。 5.1. 移行ツールの実行手順 実行手順は以下のとおり。ただし、移行元のサーバーからインターネットにアクセスできる必要がある。 RHEL8.3相当以上にアップデート 移行スクリプトのダウンロード 移行スクリプトの実行 必要に応じて、リポジトリ情報を修正 今回は、ISOイメージからインストールしたCentOS 8に加えて、AWSやAzure、

    AlmaLinuxを使ってみた(後編) - Qiita
  • 内容に応じてサイズが可変する <textarea> を素敵に実装する - Qiita

    概要 内容に応じてサイズが可変する textarea を、できるだけ手間をかけず、スマートな実装を試みます。 しかも、ネイティブのフォームが持っている利点をそのまま活かして、堅牢でアクセシブルな設計を目指します。 標準 textarea の難点 HTMLtextarea 要素は基的に高さが固定されていて使い勝手が悪いです。3行分くらいしか領域がなくて、長い文章を打つのがとにかく苦痛なんていうこともザラです。 最近のブラウザ実装では、多少気を利かせてくれているのか、テキストエリアの領域をドラッグで拡大・縮小できます。 ただ私は思うのです。めんどくさいし、最初っから、入力するテキスト量に応じて自動的に伸び縮みしてくれればいいのに……と。スクロールバーなんて、1ページにひとつあればじゅうぶんなんですよ。 実装方法 難しいことはありませんが、HTMLCSS、JS が協調して動作します

    内容に応じてサイズが可変する <textarea> を素敵に実装する - Qiita
  • vagrant sshは、素のsshで接続するより179倍待たされる - Qiita

    VagrantでゲストOSにログインするとき、vagrant sshを使うが、普通にsshするより体感的に遅い。頻繁にゲストOSに出入りするとちょっとストレスフル。 $ time vagrant ssh -c exit Connection to 127.0.0.1 closed. vagrant ssh -c exit 1.79s user 0.23s system 75% cpu 2.683 total

    vagrant sshは、素のsshで接続するより179倍待たされる - Qiita
  • パスワードの1文字目に「~(チルダ)」を使って痛い目にあった - Qiita

    何を言っているんだと思われるかもしれないですが、気軽にパスワードの1文字目に「~」を使わないほうがいいというお話です。 起こった問題 踏み台サーバー経由でサーバーAに接続して作業をしていた時の話です。 いわゆる多段 ssh 接続というもので、リモートワークになってからは結構使われる方も多いかと思います。 サーバーA上で root 権限になろうと sudo su - してパスワードを入力したら Connection to xxx.xxx.yyy.zzz closed. の文字とともにサーバーAから追い出されてしまいました。 なにかの間違いだろうと何度か挑戦していたのですが、結果はサーバーAから切断され踏み台サーバーに戻る羽目に。。。 そのときに入力していたパスワードが ~.xxxxxxxxxx のような ~ から始まるものでした。 調査 ~ って何か意味があったよなーと思ってどう調べようかと

    パスワードの1文字目に「~(チルダ)」を使って痛い目にあった - Qiita
  • VueもReactもやったことないのでVanilla JSでやってみたSPA - Qiita

    はじめに まずは宣伝です。 このたび保育園を地図から探せる 保育園マップ というサービスを作りました。 WEB版 iOS版 Android版 Vanilla JSのSPAで作ったのですが、思いの外色んなことをやる必要があったので、制作過程で得た知見をこの記事にまとめました。 網羅的に書いたので長いですが、一つ一つのトピックはそれ程長くないので、興味があるところだけ読んでもらってもいいと思います。 Vanilla JS & SPAとは? Vanilla(バニラ) JSというのは何もフレームワークを使っていない素のJavaScriptのことです。 ただのJavaScriptなんですが、ジョークでフレームワーク風の公式サイト?っぽいものがあったりします。 SPAというのはシングルページアプリケーションの略です。 ページごとにHTMLを用意するのではなく、1つのHTMLの中でJavaScript

    VueもReactもやったことないのでVanilla JSでやってみたSPA - Qiita
  • 扇風機のファームウェアを書き換えて潜在能力を引き出した話(その2) - Qiita

    arduinoとかに使われるマイコンよりはROM、RAMサイズが小さいですが、扇風機のソフトを実装するには十分すぎるくらいかと思います。 詳しくはhttps://www.st.com/resource/en/datasheet/stm8s003f3.pdf ※タイマは指定した時間経過後に処理を行ったりできる機能です。今回の実装で使ってます。 ※I2C、SPI、UART等はシリアル通信の方式のことで、今回は使いません。 ライブラリについて タイマやGPIO等の各種機能はSTM8S/A Standard peripheral library(https://www.st.com/en/embedded-software/stsw-stm8069.html )を使えば簡単に使用できます。 このライブラリにはサンプルプログラムも豊富に付いてたので、STMマイコンを使うのが初めてでもすぐに使えました

    扇風機のファームウェアを書き換えて潜在能力を引き出した話(その2) - Qiita