タグ

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

  • いつか起業したいエンジニアへ - Qiita

    はじめに 34 歳のとき、勤めていた会社の経営が傾き早期退職を促されたのを契機に独立しました。その後、41 歳で Authleteオースリート 社を設立しました。諸般の事情で現在も Authlete 社の代表取締役という肩書きを持っていますが、経営者的な仕事は他の人に任せ (参照: シリコンバレーのプロフェッショナル CEO を迎えて米国市場に挑戦する日のスタートアップの話)、50 歳目前の現在もプログラマとしてコードを書き続けています。 Authlete 社設立 (2015 年 9 月) から 8 年半弱経過したものの、まだまだ小さな会社で道半ばであるため、起業家として何か語るのは時期尚早ではあるものの、軽い体調不良が長引く中、『自分のエンジニアとしてキャリアを振り返ろう!』という記事投稿キャンペーンを見かけ、生きているうちに子供世代のエンジニアの方々に何か書き残しておこうと思い、文章

    いつか起業したいエンジニアへ - Qiita
  • パイプに関係するさまざまなバッファ、ちゃんと意識していますか? - Qiita

    はじめに コマンドをパイプでつなげた時、各コマンドの間にはいくつかのバッファが存在します。そのバッファについてちゃんと意識しているでしょうか? バッファの存在によって各コマンドの実行には分かりづらい変化があります。そのバッファを知らないと罠にハマってしまう・・・かもしれません。 プロセス間のパイプ通信のバッファ まずプロセス間のパイプ通信に存在しているバッファです。多くのコマンドは行単位でデータを処理しますが、一般的にパイプでつなげた各コマンドはそれぞれ処理速度が異なります。処理がすぐに終わるコマンドもあれば時間がかかるコマンドもあります。各コマンドは並列で動作可能ですが必ずしも並列で動作するわけではありません。 一般論としてパイプライン全体の処理にかかる実時間はパイプでつながったコマンドの中で一番遅いコマンドに足を引っ張られます。いくら並列で動作可能と言ってもデータが到着しなければ処理す

    パイプに関係するさまざまなバッファ、ちゃんと意識していますか? - Qiita
  • 【CSS】子要素が特定の数の場合にのみスタイルを適用する方法 - Qiita

    Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    【CSS】子要素が特定の数の場合にのみスタイルを適用する方法 - Qiita
    AmaiSaeta
    AmaiSaeta 2024/01/04
    `nth-child` のキーワード値をAn+B形式にしたら、例えば「5の倍数の個数の時」みたいな事もできるのか。
  • 文章中に<br>タグ入れるのやめてください - Qiita

    はじめに 文章中に改行で<br>入れるのやめてください これは各種CMSにお願いしたいことです。テキスト投稿サイトでも同じです。 スクリーンリーダーで読み上げた時にめちゃくちゃ読みづらくなるからです。 なぜか スクリーンリーダーは基はキーボードで操作します。タグ内に文字が書いてあれば、それを読み上げてくれます。しかし、<br>タグがあると、そこで一旦文章が途切れます。MacのVoiceOverの場合、「空のグループ」と読まれます。もしそのまま<p>タグ続きであれば、段落続きで連続で読み続けることができます。しかし、<br>が改行目的で使われていると、その度に「空のグループ」と読まれます。これがブログサイトや小説投稿サイトなどの文章メインのサイトだと、スクリーンリーダーを使うユーザーにとってはUXが最悪です。 プログラミングは、コンピュータに特定のタスクを実行させるための手段です。 コンピ

    文章中に<br>タグ入れるのやめてください - Qiita
    AmaiSaeta
    AmaiSaeta 2023/12/16
    そりゃ段落の境に使うのは論外だが、それはVoiceOverの仕様がおかしいんだと思う。例えば詩等で意図的に改行を入れたい時に使うのが `br` 要素なので、そこに余計な内容を差し挟む方がおかしい。
  • Gradleでコンパイル警告を100件より多く表示する - Qiita

    背景 コンパイル警告があまりに多いプロジェクトだと、最初の100件までしか警告内容が出力されない。そもそもコンパイル警告が多い状態で放置していること自体が問題だが、途中で省略させずにすべてを確認したいこともある。 $ ./gradlew clean build Starting a Gradle Daemon (subsequent builds will be faster) ... ノート:一部の入力ファイルは推奨されないAPIを追加使用またはオーバーライドしています。 ノート:入力ファイルの操作のうち、未チェックまたは安全ではないものがあります。 ノート:詳細は、-Xlint:uncheckedオプションを指定して再コンパイルしてください。 警告100個

    Gradleでコンパイル警告を100件より多く表示する - Qiita
  • 【ネタ】コメントだけしか書いていないのに「Hello, world!」と表示されるJavaプログラム - Qiita

    これはJavaでポインタで使えるというネタから着想を得たプログラミングネタです。 厳密には 「コメントだけ書いてあるようにしか見えない」 です。 コメントだけしか書いていないのに「Hello, world!」と表示されるJavaプログラム % java --version openjdk 16.0.2 2021-07-20 OpenJDK Runtime Environment Microsoft-25298 (build 16.0.2+7) OpenJDK 64-Bit Server VM Microsoft-25298 (build 16.0.2+7, mixed mode) import java.util.*; public class Main { public static void main(String[] args) throws Exception { //\u000a

    【ネタ】コメントだけしか書いていないのに「Hello, world!」と表示されるJavaプログラム - Qiita
    AmaiSaeta
    AmaiSaeta 2023/06/04
    え何そのクソ言語仕様……
  • ChatGPTが凄いのは究極に心理的安全性が保たれているから - Qiita

    だいぶ今更感あるけどchatgptが凄いですね。 僕も使わせてもらってるんですけど革命的だなと感じています。 特にプログラミング領域ではほんとに強力です。 使っていくうちに、AI技術云々よりもやはり僕らが求めたのは心理的安全性だったんだ。と再認識することになったのでそれについてお話させてください。 Chatgptが素晴らしいのはどんな質問しても怒られないから 今いる職場にだって聞けば優しく答えてくれる先輩や諸賢はたくさんいると思います。 そして、そういう素敵な職場だと会社としてもチームとしても「心理的安全性は大事だ」という風潮はあると思います。 ※ここでいう「心理的安全性」というのは、どんな発言をしても許される、尊重される、傷つかない。といった意味で扱います。 そんな素敵な現場だったとしても、 「ローカルからGAのAPIを叩いてデータを取得したいけどどうすればいいですか」 この質問ってなか

    ChatGPTが凄いのは究極に心理的安全性が保たれているから - Qiita
  • GitHubに彩りを - Qiita

    この記事を書いた理由 業務はもちろん、個人学習でもGitを使用される方は多いと思います。 ふとGitHubを見た時にって思うことありませんか?? (私は過去のリポジトリを見ると思います笑) そんな中、今年コミュニティで開催されたハッカソンでメンバーから共有していただいた【gitmoji】を活用して どのように変わったのか、感じたことをまとめようかと思います。 (学習意欲向上に繋がれば幸いです) 目次 gitmojiって? gitmojiを導入してみよう! アイコンの種類について 使用してみた感想 纏め gitmojiって? gitのコミットメッセージを装飾する(アイコン?がつきます)ことができて、 コミットの内容が視覚的にわかりやすくなります! gitmoji公式サイト gitmojiを導入、使ってみよう 簡単にパッケージでインストールして使ってみましょう。 npm i -g gitmoj

    GitHubに彩りを - Qiita
    AmaiSaeta
    AmaiSaeta 2023/02/19
    ああ成る程。レビューコメント冒頭に絵文字を付けるというアイディアは在ったけれど( http://agpg.seesaa.net/article/487335451.html )コミットメッセージでもアリだな。
  • 【Github】プルリクエストを出した後に ドラフトに変更する - Qiita

    はじめに 間違えて普通のプルリクエストをだしたときに、(当時のバージョンでは)プルリクエストからドラフトに変更できないよって記事をみて焦ったので。。 GitHub公式ページ(日語)はこちら>> 題 まず、プルリクエストをだしました。 Openになっていて、マージもできる状態なので普通のプルリクエストですね。。 あれ。。。右の方に。。。。 ありました。まだ途中かい?ドラフトにするか!みたいなことが書いてありますね。 Convert to draft をクリックしました。 Convert to draft をクリック よかったです。Draftになってます。 おまけ おまけというほどでもないですが。。。 draft <=> open は何度でもできるようです。

    【Github】プルリクエストを出した後に ドラフトに変更する - Qiita
    AmaiSaeta
    AmaiSaeta 2023/02/10
    個別のpull-reqのページの右サイドバー上「Reviwers」部の「Still in progress? Convert to draft」から
  • RictyフォントとRicty Diminishedフォントが正式にサポート終了となった話 - Qiita

    2023年1月現在、Qiitaのコードブロックでも採用されている有名な日語対応プログラミング用フォントのRictyとRicty Diminishedが、2023年1月28日をもって「正式に」サポート終了しました。具体的には、配布ページの冒頭に、以下の文章が追加されています。 Ricty および Ricty Diminished は、2010 年代前半には欧文・和文合成プログラミング用フォントとして先駆的でしたが、現在は前時代的な存在となっています。不具合もいくつか確認されています。良質なプログラミング用フォントが数多く登場していますので、それらの利用をおすすめします。 よって今後は、他のフォントを使用するのが良いでしょう。 移行先の候補となるフォントの一覧もあるので、ぜひ確認してみてください。 経緯 RictyフォントとRicty Diminishedフォントは、プログラミング用フォント

    RictyフォントとRicty Diminishedフォントが正式にサポート終了となった話 - Qiita
    AmaiSaeta
    AmaiSaeta 2023/02/07
    "誰も…作者に報告していないのである!!!" つらい
  • なぜライセンスを改造しちゃいけないの? - Qiita

    もしあなたが書いたプログラム/ソースコードを、「オープンソース」または「フリーソフトウェア」として他者から 自由に 使ってもらうことを意図してるなら、やるべきではない。 注意 この記事を書いてるひとは法律の専門家じゃないよ。詳しいことはべんごし・べんりしなどのせんせいに相談してね。 そもそもライセンスとは 許可とか免許とかそんな感じの意味ですが、オープンソースライセンスを「利用許諾契約書」として解釈するには不可解な点があります。 実際には配布元(作者)から受け取った人への「お約束」だと解釈するべきです。つまり、ライセンスによって提示する条件を守る限りは複製権・頒布権・同一性保持権・公衆送信権の侵害について刑事告訴および利用差し止め、損害賠償請求などの提訴を行ふことはない、といふ約束です。 現行(2016年4月)の日の法律において、著作権法違反は親告罪——つまり権利者の告訴がなければ刑事裁

    なぜライセンスを改造しちゃいけないの? - Qiita
  • ちょっとユニークなライセンスたち・まとめ - Qiita

    ※タイトルから「オープンソースライセンス」を消しました。ライセンス分類はGentooグループの License Groups レジストリによります。 NYSL 分類: 未掲載 日人にはお馴染みのライセンス。2016年4月現在、400以上のプロジェクトで採用されている。 A. ソフトウェアは Everyone'sWare です。このソフトを手にした一人一人が、 ご自分の作ったものを扱うのと同じように、自由に利用することが出来ます。 A-1. フリーウェアです。作者からは使用料等を要求しません。 A-2. 有料無料や媒体の如何を問わず、自由に転載・再配布できます。 A-3. いかなる種類の 改変・他プログラムでの利用 を行っても構いません。 A-4. 変更したものや部分的に使用したものは、あなたのものになります。 公開する場合は、あなたの名前の下で行って下さい。 B. このソフトを利用する

    ちょっとユニークなライセンスたち・まとめ - Qiita
  • 糞コードは直すな。 - Qiita

    とりあえず落ち着け。 みなさん、毎日なにかしらのコードを読み、開発する日々を送っていると思います。そんな中で、 糞コードは死ぬべきである!!絶対に直すべき!! という感情に取りつかれてしまうことがあると思います。自分の技術力に自信のある人ほど、無理やりにでも直そうと試みると思います。それがどんな修羅の道か。そして、糞コード修正がどんな道を歩むのか。この記事では糞コード修正の罠とありがちなストーリーについて書きたいと思います。 ビジネスとしてのプログラムは質的に糞である 例えば、「携帯電話の利用料金」のプログラムがあります。 「携帯電話 透明性高め料金値下げを」という記事もあるように世の中の携帯電話の料金プランはかなり複雑です。例えば、auだと「auでんき」といった電気料金とパックされた電話料金プランがあります。また、「auスマートバリュー」といったプランもあり、家のインターネット回線をa

    糞コードは直すな。 - Qiita
    AmaiSaeta
    AmaiSaeta 2022/12/08
    此れが通じるのは(筆者自身も書いてる通り)短期での話で、長期では害しか無いだろう。変更コストが上がり続け競合他社に周回差を付けられサ終。自社内の技術力は上がらず見込み有る者はサッサと転職。
  • google-home-notifierの代替となりそうなgoogle-home-playerを試してみる - Qiita

    はじめに Google Home発売当初、Google HomeハックのHello Worldとも言える「Google Homeを喋らせてみた」ハックで誰もが使用したであろう「google-home-notifier」ですが、動かなくなったりメンテされなくなったりで、もはや多くの方がGoogle Homeを喋らせることをやめてしまったのではないでしょうか。 そんな折ふとnpmを眺めていたら「google-home-player」というパッケージがあり、READMEでもgoogle-home-notifierの代替とあったので試してみました。 google-home-notifierはcallback形式の書き方でしたが、google-home-playerはPromiseで書けます。もちろんasync/awaitでも。 そのおかげもあってかgoogle-home-notifierに比べ大分

    google-home-notifierの代替となりそうなgoogle-home-playerを試してみる - Qiita
  • シェルスクリプトで安全簡単な二重起動防止・排他/共有ロックの徹底解説 - Qiita

    はじめに シェルスクリプトで二重起動防止やロックをする方法を検索すると、いろいろな方法や書き方が見つかりますが、どれを使えばよいのか、当に正しく動くのか、不安になりますよね? ディレクトリ (mkdir) やシンボリックリンク (ln) を使った独自実装の例も見かけますが、エラー発生時や予期せぬ電源断、CTRL+C で止めたときなどでも問題は発生しないのでしょうか? まず、ディレクトリやシンボリックリンクを使った独自実装はしない。これを肝に銘じてください。シェルスクリプトでのロック管理はとても難しく、一般的な排他制御の知識に加えて、シェルスクリプト特有の問題、シグナルやトラップ、サブシェルや子プロセスの問題、さらには特定のシェル固有の仕様やバグなどさまざまな問題に対処する必要があり大変です。独自実装の例では古いロックファイルが残ってしまい、それをいつどのタイミングで片付ければ安全なのか?

    シェルスクリプトで安全簡単な二重起動防止・排他/共有ロックの徹底解説 - Qiita
  • 知ってますか? :shipit: の意味と由来 - Qiita

    これは何? → GitHub でよく使われる絵文字の一つです。 :shipit : というコードが割り当てられていて、"ship it" と読みます。 若干わかりづらいですが、「帽子をかぶった(動物の)リス」です。 どういう意味? 一般に、PR に対するレビューコメントにおいて良く使われます。 「変更に問題はない、コードをリリース(ship)してしまって構わない」という意味です。 また、最近ではコミットメッセージにおいて見かけることが増えています。 「 vX.Y.Z」として、このコミットを契機にパッケージをリリースするようなケースで利用されます。 なぜリスなのか? リス自体に意味はありません。 GitHub 所属の @jglovier さんが、Quora 上でその由来について言及しています。 On GitHub, what is the significance of the 'Ship

    知ってますか? :shipit: の意味と由来 - Qiita
  • getoptsを関数(function)の中で使う - Qiita

    基数変換について調べた https://qiita.com/macoril/items/77ba050cad17f03ed46a ついでに基数変換用のエイリアスを設定しようとして詰まった。 TL;DR functionの中でgetoptsを使いたいときは OPTやOPTINDなどの変数をlocalで宣言しないといけない 詳細 # copy to your bash_profile or somewhere you write aliases, # then you can convert a number to different base by cbase # エイリアスを設定しているあたりにでも以下のコードをコピペすると基数変換がcbaseコマンドで簡単できるようになります function cbase() { function echo_usage() { cat << USAGE

    getoptsを関数(function)の中で使う - Qiita
  • Groovyを知らない人のためのbuild.gradle読み書き入門 - Qiita

    これは、 G* Advent Calendarの15日目の記事です。 昨日は @int128 さんの Gradle Slashプラグインをリリースしました #gadvent でした。 明日は @tyama さんです。 はじめに Gradle 便利ですよね。便利すぎて Ant や Maven には戻れないです。 なにが良いって、設定ファイルである build.gradle の記述量が、 Ant の build.xml や Maven の pom.xml と比べると非常に少なくて済むのが良いです。 build.gradle は、設定ファイルと言いつつも、その実体は Groovy で書かれたスクリプトファイルです。 Gradle は、 Groovy の持つメタプログラミング機能や省略記法などを利用して、設定を簡潔に記述できるようになっています。 これはメリットなのですが、一方で Groovy の

    Groovyを知らない人のためのbuild.gradle読み書き入門 - Qiita
  • メソッド上にコードの複雑さを表示するVisual Studio拡張機能を作りました - Qiita

    ソースコードの複雑さ、不具合のリスクを定量化したコードメトリクス1というものがあります。 コードメトリクスは計算方法によっていくつか種類があり、メジャーなものだと以下のものがあります。 Cyclomatic Complexity(循環的複雑度) Cognitive Complexity(認知的複雑度) Maintainability Index(保守容易性指数) Lines of Code(コードの行数) これらのコードメトリクスを計算し、CodeLensに表示するVisual Studio拡張機能2を作成しました。 tackme31/howmessy: How messy is your code? 以下のようにコードメトリクスをもとにコードが複雑かどうかを判定し、CodeLensに表示してくれます(デフォルトではCognitive Complexityをもとに計算します)。 今のところ

    メソッド上にコードの複雑さを表示するVisual Studio拡張機能を作りました - Qiita
  • ソートしないで重複行を削除する - Qiita

    uniq コマンドは事前にデータをソートしておく必要がありますが、ソートされていないデータから重複する行を削除したいこともありますよね。そんなときは これだけです。 解説 a は連想配列の変数で名前は何でもいいです $0 には行全体が格納されています つまり各行をキーとする連想配列を作成し、同じ行が現れるたびに値をインクリメントします ! により値が 0 のとき、つまり最初にその行が現れたときだけ条件が真になります アクション部分は省略されているので行全体が表示されます Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark them

    ソートしないで重複行を削除する - Qiita