タグ

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

  • 学生の50%以上が使う大学非公認アプリを作った話 - Qiita

    はじめに こんにちは。 私は徳島大学院で物質機能化学の研究を行っている修士2年のakidon0000です。 私は3年前に個人で徳島大学生向けに 「トクメモ+」 というアプリをiOS、Androidで開発し、 ・ダウンロード数 5200件 ・MAU 3259ユーザー (徳大学部生の 約56%) のアプリを大学非公認で運用しています。 トクメモ+についての発表スライド トクメモ+とは、どんなアプリなのか アプリは、徳島大学の講義情報やレポート提出、そして学内情報などの一元化を目的としており、それにはevaluateJavaScriptや、Webスクレイピング、そしてRSSフィードなどを活用し、学生生活のほとんどが一つのアプリで完結するという形で実現したアプリです。 https://www.youtube.com/watch?v=zRVeZhip5ow トクメモ+紹介動画 . . . と大層な

    学生の50%以上が使う大学非公認アプリを作った話 - Qiita
    kazkaz03
    kazkaz03 2024/08/19
    大学側が思いの外理解があって良かった
  • 詳細設計書なんて、書きたくない・・・・Doxygenを使って自動生成してみる - Qiita

    はじめに お客様に提案をしているときの会話です。 お客様:「詳細設計書は作りますか」 私:「昔ながらの詳細設計(ロジックを日語で書くもの)は作りません。クラス図とか、シーケンス図は複雑であれば作りますが、今回のシステムはそこまで必要なものはないものなので、割愛しようと思っています。」 お客様:「保守をお願いするかどうか未定なので、場合によっては引継ぎのために作ってもらうかもしれません」 私:「・・・・」 といった感じで、私がこの業界に入った30年前は、確かにプログラムを作る前に、詳細設計書と呼ばれるプログラムを日語で書いていました。 最近、詳細設計と呼ばれるものを作った記憶がなく、無駄なものは作りたくないなぁという思いから、コードから自動生成できないかなと思って、いろいろ試してみました。 Doxygenって いろいろ調べてみると、Doxygen にたどり着きました。 色々な言語に対応し

    詳細設計書なんて、書きたくない・・・・Doxygenを使って自動生成してみる - Qiita
    kazkaz03
    kazkaz03 2024/07/07
    doxygenを詳細設計書として納品する現場で働いたことあるけど、インターフェースの仕様しか書かないのであくまで納品用ですね…あれだけで引き継ぎされる側はたまったものじゃないですよ
  • 新人が1on1に来ない - Qiita

    新人が1on1に来ない。その原因を考察する。 ここで出てくる新人の情報は以下である。 年齢: 30代前半 エンジニア歴: 5年 入社して半年 1on1を行うに至った経緯: 1年前、私と同じ時期に入社した同期Aが退職した。 詳細はよく分からないが、どうやらチームの先輩の1人と相性が悪いとの事だった。 尚、Aが退職したのは上記の理由だが、退職したいからこれを名目上の理由にしているのであって、原因は他にある可能性はあるが、この際それは考慮しない。 会社の人員構成: ほとんどがエンジニア歴10 ~ 20年のベテラン。平均年齢は30代後半。 Aは30代前半。 周囲の反応: Aが退職を告げた時、周囲はうろたえた。事前に相談は無かったし、特に問題はないように思われていた。 何より30過ぎた社会人は、問題があれば自分から話して来るという思い込みが、既存社員にあったもしれない。 年齢は関係あるか: ないと考

    新人が1on1に来ない - Qiita
    kazkaz03
    kazkaz03 2024/04/27
    “Bに聞けば早いだろうが、という声が聞こえてきそうだが、一旦それは脇に置く。”なるほどBさんのことが嫌いなんですね。きっとそういうの態度に出てるでしょうから、そりゃBさんもドタキャンしますわ。
  • rebase 教から脱退します - Qiita

    rebase で色々あったので、備忘録として簡単に書いていきます。 前提背景 開発作業中、元のブランチに変更があった場合、私は変更を取り込むために常に rebase を使用します。これを選ぶ主な理由は「コミットログが見やすく保たれるため」です。 Gitには同様のコマンドとして merge がありますが、これは変更を取り込む際にマージコミットを作成する点が異なります。私はマージコミットによってコミットログが煩雑になると感じています。 このような理由から、私はrebaseを積極的に使用しています。 何があったのか 簡単に言うと、レビュー中にブランチ元の変更があったので、 git rebase からの git push -f origin [ブランチ名] やったらレビュアーのコメントが吹き飛びました。 いやー、めっちゃ怒られたよね💦 原因 「レビュー中」という状況がまずかった。 コードを共有し

    rebase 教から脱退します - Qiita
    kazkaz03
    kazkaz03 2024/04/21
    レビュー中にforce pushする必要があったら面倒でもプルリク作り直しですね
  • pythonは_(アンダースコア)の使い方を理解するだけでプロフェッショナルになれる - Qiita

    1. 第3次AIブームの到来 米Google DeepMindが開発した人工知能AI)の囲碁プログラム「AlphaGo」が世界トップレベルの実力を持つ韓国のプロ棋士、李世ドル(イ・セドル)九段に4勝1敗と大きく勝ち越したことが着火剤となり、2015年より第3次AIブームへと突入した。(ちなみにAIが誕生したのは1950~1960年代で第1次AIブームの到来) 1.1 余談になるがAlphaGo(4億円の知能)はなぜすごいのか? AlphaGoがそれ以前のチェスや将棋AIと異なるのは、 畳み込みニューラルネットワーク(CNN) を応用している点だ。このCNNはさらに強化学習を行い、自分自身と対局を数千万回も繰り返した。 間違っていたらすみません、、、、 1.2 ChatGPTによる生成AIのブーム ChatGPTに代表されるLLMは以前から開発競争が繰り広げられていた。 GPT1は201

    pythonは_(アンダースコア)の使い方を理解するだけでプロフェッショナルになれる - Qiita
    kazkaz03
    kazkaz03 2023/11/01
    脈絡のない冒頭の2章を何で付け加えた
  • findコマンドの使い方を簡単に理解するための7つのルール+実践的な知識 - Qiita

    はじめに find コマンドの使い方は、ざっくり調べただけではよくわからんとなりますが、見逃しがちなルールを知れば簡単に理解できます。find コマンドに限りませんが使い方を調べるのが面倒だからと曖昧な理解で使うと逆にもっと分からなくなって時間がかかります。急がば回れ、理解して正しく使ったほうがシンプルで楽で簡単です。この記事では find コマンドの使い方を理解するために必要なルールと使い方の実践的な知識をまとめました。 Q&A(?): -type や -perm の説明はしないの? ⇒ それらはドキュメントを読むか検索すればすぐにわかることで難しいポイントではありません。重要なのは基のルールを理解することです。 関連記事 POSIX 準拠のシェルスクリプトでは find | xargs よりも find -exec {} + を使うべき! 移植性の話はこちら ⇒ findコマンドのオ

    findコマンドの使い方を簡単に理解するための7つのルール+実践的な知識 - Qiita
  • 「心理的安全性」と「居心地の良さ」のちがい - Qiita

    最近、IT業界における「心理的安全性」の重要さは広く知られるものとなってきました。 一方で、心理的安全性が誤解・誤用されるケースも見聞きすることもあります。 よくあるパターンは、「心理的安全性」とは「居心地の良さ」である、という認識でしょうか。なんとなく似た意味にも感じますが、実際はまったく別物です。 しかし上記の違いを説明するのはちょっと大変なため、『心理的安全性 最強の教科書』を頼りながら要点を押さえてみようと思います。 心理的安全性は「ゴール」ではない まず心理的安全性とはなぜ必要なのでしょうか。書は次のように説明しています。 もうひとつ、ありがちな誤解があります。それは職場の心理的安全性を高めることを「ゴール」だと考えてしまうことです。もちろんマネジャーにとって、職場やチームの心理的安全性を高めることは大事ですが、心理的安全性はあくまで組織の生産性を高めるための手段のひとつであり

    「心理的安全性」と「居心地の良さ」のちがい - Qiita
  • MVCモデルは意識した方がいい!!!私は地獄を見ました!!! - Qiita

    目次 MVCモデルとは何者?? Modelとは Viewとは Controllerとは まとめ (MVCを意識せずに書いた私の経験談) MVCモデルとは何者?? MVC(Model-View-Controller)モデルは、ソフトウェア開発におけるデザインパターンの一つ。MVCはアプリケーションの内部の構造を整理し、役割を分離することで、保守性や拡張性を向上させることを目的としているもの。 Modelとは モデルはデータの管理や処理、データベースとのやり取りなどを行うもの。 バリテーションも行う。 Viewとは ビューはユーザに表示されるもの。 例えばHTMLやJSなど Controllerとは ユーザーの入力やアクションを受け取り、それに応じた処理(モデルのデータを取得・更新)をし、最終的な結果をビューに渡すもの。 言えばMVCモデルの頭。 まとめ(経験談) 初めは全く気にしないで書いて

    MVCモデルは意識した方がいい!!!私は地獄を見ました!!! - Qiita
    kazkaz03
    kazkaz03 2023/06/20
    たかだか1072行で処理重くなるか?
  • 理想のリーダー像を言語化してみました。 - Qiita

    チームで仕事をすると、リーダーが必ずいます。経験や実力のある人が担うことが多いように思います。今回は、いろんな書籍や記事などをもとにして、どんなリーダーが理想的か考えてみました。 リーダーについて思うこと ①【前提】チームはリーダーで決まる リーダーって、チーム内のミーティングで発言回数が一番多く、影響力が大きい存在です。だからこそ、チームメンバーに良くも悪くも影響を与えるものです。例えば、リーダーのコミュニケーションの取り方は、メンバーの相談しやすさを左右します。 また、スケジュール管理/進捗管理もリーダーが行うので、タスクの品質やスピード感もリーダーの個性や能力が反映されます。例えば、どんな観点でどれだけ細かくチェックするのかはリーダーの考え方で変わります。結果として、(要件は最低限守れたとして)成果物の品質が高いか、低いかの分岐点になるような気がします。 故に、チームはリーダーで決ま

    理想のリーダー像を言語化してみました。 - Qiita
    kazkaz03
    kazkaz03 2023/03/21
    どうりで誰もリーダーやりたがらないわけだ
  • コードレビューするときの観点 - Qiita

    コドレビューの観点 コドレビューの観点をまとめてみました。チェックリスト的なものになりますた。 機能性 コードが設計通りの機能を有するか? データの流れ、取得方法は、設計と一致するか? データのチェックの漏れはないか? データの生成、修正、加工は、設計と矛盾がないか? ループの中で更にSQLなど重い処理を発行するなど、パフォーマンスの懸念はないか? 必要な場合、国際化の対応しているか? コネクションやリソースは適切な方法で閉じられているか? NULLとなる場合や値が取れない場合を考慮しているか? NULLをある程度許容したコードになっているか? 読みやすさ 名前の付け方は、共通認識の範囲か? スタイルガイドにそっているか? ループ、分岐等の処理記述方法は同じか? コード設計 パラメータ、プロパティなど正しく機能区別されて実装されているか? インスタンス等の上書き、重複など考慮されているか?

    コードレビューするときの観点 - Qiita
    kazkaz03
    kazkaz03 2023/03/14
    まず、誤字脱字がないかだと思います
  • 本当は怖い、逆コンウェイ戦略 - Qiita

    This article is a Private article. Only a writer and users who know the URL can access it. アーキテクチャの議論でよく出てくるのが、コンウェイの法則と、逆コンウェイ戦略です。これについては、うっかりIT用語をバズらせてしまう達人のマーチン・ファウラーのブログにも詳しい説明があります。角さん、いつも翻訳ありがとうございます。 「逆コンウェイの法則」が持ち出された議論が苦手なんどけど、なんでなのかな。コンウェイの法則はよく理解できるんだがー。 — Kazunori Otani (@katzchang) February 28, 2023 この@katzchangさんのツイートもそうですが、逆コンウェイ戦略に関しては僕も少しモヤモヤするところが個人的にあり、そのあたりを周りの人(@katzchangさんや@

    本当は怖い、逆コンウェイ戦略 - Qiita
    kazkaz03
    kazkaz03 2023/03/02
    コンウェイに消されたか
  • ChatGPTの時代になって、GUIで差分を取れるmeldが便利な件 - Qiita

    便利なChatGPT いまさら言うまでもないことですが、ChatGPTはめちゃくちゃ便利です。特に日語の文章、英語の文章、コードの校正に無類の強さを発揮します。私は学生時代は国語が得意だったのですが、ChatGPTは、私の国語力を大幅に凌駕していると思います。というかChatGPTは職業で日語を書いている人をのぞくと、ほとんどの日人よりも日語が上手なんじゃないかと思います。 ChatGPTに校正してもらった日語の差分が見たい さて、ChatGPTに文章校正をしてもらいましょう。 さきほどの文章をChatGPTを使って校正してもらいます。 違いがわかりますでしょうか? ChatGPTに修正してもらっても、パッと見て、どこが修正されたか、すぐにはわからないケースが多いと思います。日語は、まだ比較的違いを把握しやすいですが、英文やコードでこれをやるときに、目視でdiffすると見逃しま

    ChatGPTの時代になって、GUIで差分を取れるmeldが便利な件 - Qiita
    kazkaz03
    kazkaz03 2023/01/15
    difff使ってた
  • シェルスクリプトで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
  • これからのText to DiagramツールはD2で決まり! - Qiita

    この記事について ドメイン固有言語(DSL: Domain-Specific Language)の1つであり、Declarative Diagrammingの略であるD2言語の環境構築、および簡単な作図例を示したものです。 D2とは 2022年11月22日にオープンソースとなったドメイン固有言語です。MPL-2.0ライセンスの元公開されています。 Mermaid, Graphviz, PlantUMLとの比較を行えるサイトもD2の開発元であるTerrastructによって公開されています。 一部抜粋したものが次の表になります。 他のText to Diagramツールと比較して、D2では様々な機能が追加されていることが分かります。 特徴 D2 PlantUML MermaidJS GraphViz

    これからのText to DiagramツールはD2で決まり! - Qiita
    kazkaz03
    kazkaz03 2022/12/26
    まだリリースされたばかりなので様子見
  • 正規表現入門決定版 - Qiita

    1. はじめに この記事はNuco Advent Calendar 2022の12日目の記事です。 1-1. 対象者 この記事は ・正規表現に触れたことがあるけど、結局なんだったのかわかっていない ・正規表現の考え方にイマイチ慣れない ・正規表現って美味しいんですか? というような正規表現初心者の方に向けて書いています。 1-2. この記事を読むメリット 大きなメリットとしては「正規表現の考え方」を身につけることができるはずです。 また記事の最後では正規表現のサンプル集、参考記事および練習サイトを紹介しています。 足りない知識をカバーし実際に手を動かすことで身についていくので、この記事と合わせて参考記事を読んだり練習問題にチャレンジしてみてください。 2. 導入知識 2-1. 正規表現のメリット 具体的な話に入る前に、正規表現を使えばどのようなことができるのか紹介します。 正規表現を用いれ

    正規表現入門決定版 - Qiita
  • C++ コンパイル時「出力」 ~C++にできないことはない~ - Qiita

    これは、 C++ でコンパイル時に出力まで済ませようとした話です。 コンパイラは GCC に限ります。 はじめに もうすぐクリスマスですね! クリスマスにすることといえば……、 そう、コンパイル時処理ですね!! コンパイル時処理 C++ のコンパイル時処理は非常に強力で、様々なことがコンパイル時にできてしまいます。 普通はコンパイル時に決まる定数の計算に使われますが、これを悪用利用してコンパイル時に処理がすべて終わるようなものも書くことができます。 例として、コンパイル時 FizzBuzz を書いてみます。 #include <array> #include <string_view> #include <algorithm> #include <concepts> #include <iostream> template <std::unsigned_integral T> conste

    C++ コンパイル時「出力」 ~C++にできないことはない~ - Qiita
    kazkaz03
    kazkaz03 2022/12/20
    static_assert便利よね(もう少し自由が利くと嬉しい)
  • 初学者のための正しいシェルとカーネルの概念 ~ 大学も技術者認定機関も間違いだらけ - Qiita

    なんだろう、嘘つくのやめてもらっていいですか? 大学も技術者認定機関も、いつまで古いまたは間違ったシェルとカーネルの概念を説明し続けるのでしょうか? シェルはカーネルの言葉をユーザーの言葉に翻訳したり、出力結果をユーザーに中継したり、カーネルを防御したりする層ではありません。指定したコマンドを実行するだけのプログラムです。勉強中の学生か代理執筆業者が適当な文献を調べて書いたとしか思えません。そして他人の説明を自分の言葉に置き換えるのが上手い人がおかしな説明をさらに広めています。個人サイトやオンライン学習サイト程度であれば適当なことを書いていても気にも留めませんが、大学や技術者認定機関のような正しいことを書いているに違いないと思えるような所までもが間違ったことを書いているから困ったものです。 みなさんは大学や技術者認定機関が言っていることなら正しいと思いこんでいないでしょうか? そんなことあ

    初学者のための正しいシェルとカーネルの概念 ~ 大学も技術者認定機関も間違いだらけ - Qiita
    kazkaz03
    kazkaz03 2022/12/13
    POSIX原理主義者
  • 14年間継ぎ足し続けられた課金ページを分離して整理した話 - Qiita

    こんにちは。 (ニコニコ)プレミアム課金開発チームに所属しております @ingen084 です。 去年は ニコニコで13年運用された決済システムが移行されてからのその後の改善 を投稿させていただきましたが、この投稿は前座で、実際に環境が整ったところでシステム上でどのような変更を加えていったかなどを書いてみたいと思います。 (改めて)ニコニコプレミアムについて 入会ページ 退会ページ ご存じの方は多いと思いますが、ニコニコプレミアムは月額500円(税別)のニコニコのプレミアム会員サービスです。 これらのシステムは当時ニコニコ動画体のコードに組み込まれていましたが、一昨年分離され身軽になり去年、今年と機能追加などと並行して改善を続けています。 決済の流れと課題 ニコニコプレミアムでは主に以下のフローで入会時の決済を行います。 これらのページ構成は2007年のプレミアム会員サービスの開始当時か

    14年間継ぎ足し続けられた課金ページを分離して整理した話 - Qiita
  • エンジニアマネージャー必見:報酬設計の考え方 - Qiita

    エンジニアの採用はすごく難しい状況です。エンジニア採用ニーズが多いのに、エンジニアがやる仕事の内容も難しくなってきており、幅も広がってきています。CTO自らが真剣に向き合って考えていく必要があります。 そして、せっかく採用したエンジニアには、長く働いて欲しい、仲間として最高のパフォーマンスを出して欲しいと思います。そのため報酬設計は重要な部分となります。 報酬設計の2つの側面 1.外的報酬 外的報酬といえば、賃金、給与が先ず思い浮かびます。その他にはポジション、地位も報酬の一つと考えられるでしょう。部長や部長等の役職がつくと社外で名刺交換した時にも見栄えが良くなります。 他にも手当てや秘書がついたり、経費の枠が増えたりと色々とあると思います。 2.内的報酬 仕事そのものやりがい等です。楽しい仕事と思えていればやる気も湧いてくるし、難しいと思うとやり甲斐を感じる人もいます。エンジニアの場合

    エンジニアマネージャー必見:報酬設計の考え方 - Qiita
    kazkaz03
    kazkaz03 2022/11/27
    “中堅: スキル開発 > 仕事やり甲斐 > 人間関係”中堅じゃなかった
  • シェルスクリプトの [ ] と [[ ]] の違いを歴史的に解説 〜 言語設計者の気持ちになって理解しよう - Qiita

    はじめに bash などのシェルには [ ... ] と [[ ... ]] の二種類の比較方法があります。一つはコマンド、もう一つはシェルの文法なのですが、具体的にはこの二つは一体何が違うのでしょうか? そもそもなぜ似ている機能が二つもあるのでしょうか? この記事は言語設計者の気持ちになって考えることで、その理由を解き明かそうという記事です。 なお、違いについての簡単な説明については「test と [ と [[ コマンドの違い - 拡張 POSIX シェルスクリプト Advent Calendar 2013 - ダメ出し Blog 」の記事がよくまとめられていますので紹介します。一通りの違いを素早く知りたい方はこちらを参照してください。 参考 シェルの歴史や種類については「シェルの歴史 総まとめ(種類と系統図)と POSIX の役割」に詳しくまとめています(系統図とか頑張って書いたので見

    シェルスクリプトの [ ] と [[ ]] の違いを歴史的に解説 〜 言語設計者の気持ちになって理解しよう - Qiita