タグ

ブックマーク / qiita.com (2,516)

  • Webエンジニア(30歳)だけど4年かけて工学学士を取った - Qiita

    0. はじめに Bizer株式会社でフルスタックエンジニアとして働きながら、国立大学法人電気通信大学の先端工学基礎課程(通称 K課程)という社会人向けの学士課程に在籍しています。 この春(2021年3月)に卒業予定のため、いちソフトウェアエンジニアから見た大学教育学歴に対する考えをまとめておきます。 1. 対象読者 理系大学のカリキュラムがソフトウェアエンジニアという仕事にどう活きるか分からない方 就業しながら学士を取ろうとしている方 ソフトウェアエンジニア学歴の関係性を不透明に感じている方 2. 現職エンジニアが工学学士を取る理由 18歳で最初の大学を中退しエンジニアとして働き始めたため、途中の放浪期間などを差し引き、ソフトウェアエンジニアとしてのキャリアは現在10年程です。つまり大学入学時点では6年程のキャリアがあり、それなりに幸せなエンジニアライフを送っていました。 ではなぜ既に

    Webエンジニア(30歳)だけど4年かけて工学学士を取った - Qiita
    alcus
    alcus 2021/02/10
  • Dockerで開発環境を仮想化する - Qiita

    ことの発端 時々、提供されるソフトのバージョンが変わってコンパイラのバージョンが変わることがあったりします。 しかし、自分たちの膨大な数のmakefileにはgccとかclangとかしか書かれてないのです。 これでは去年の製品を再ビルドしようにも、シンボリックリンク先が新環境を指しているのでダメです。 しかし、製品サポート案件で容赦なく過去モデルでのバグ修正チケットが回ってきます。 先輩に聞くと「コンパイラやライブラリのディレクトリ名をリネームする」と。 なん、だと……という感じです。今の環境が正しいのかすら保証できません。 これでは、バグ以前に昔のモデルを再現することすら難しいです。 もう、xx年用ビルド環境を個別に用意するしかありません。 しかし、マシンを複数用意してくれる訳もなく(してもらってもスペース的に困りますが)、そこで仮想化の手段に手を出し始めました。 幸いにも、マシンに基

    Dockerで開発環境を仮想化する - Qiita
  • Java7からJava16までの変遷。 - Qiita

    まえがき ずっとJava11を使っていました。そのためすっかりラムダ式やStreamAPIでの書き方に慣れていたのですが、最近Java7を使って稼働しているプロジェクトに異動したので、何ができて何ができないのか、ちょっと調べてみました。 Javaの変遷 私見ですが主要だと思う仕様変更を並べてみました。アプリ実装に関係する部分のみピックアップしています。 このバージョンのこれは入れておいたほうが良いよ!との意見がありましたらコメントにぜひお願いします。 Java8 2014/03/18 正式リリース(GA) https://openjdk.java.net/projects/jdk8/ ラムダ式 https://openjdk.java.net/projects/lambda/ https://qiita.com/sano1202/items/64593e8e981e8d6439d3 pub

    Java7からJava16までの変遷。 - Qiita
  • 【10分で分かる】Java8からJava15まで - Qiita

    Java 8からJava 15までの道のりには、朗報がたくさんだ。 はじめに この記事ではJava 7以降に追加された素晴らしい新機能を紹介します。2020年秋にリリースされたJava 15まで、Javaのバージョン毎に大きな改善点を見ていきます。Javaは今や、ラムダ式、関数型プログラミング、varによる型推論、単純なコンストラクタによる不変コレクション、複数行文字列を、完全にサポートするようになりました。さらに、データクラス(record)やsealedクラスなど、新しくて面白い実験的な機能があります。そして、時間対効果の高いJava REPLについて説明します。 1. 関数型プログラミング (Java 8) Java 8は、関数型プログラミングとラムダ式を言語機能として追加しました。関数型プログラミングの2つのコアパラダイムは、不変の値と関数の重要性向上です。データは変換処理のパイプ

    【10分で分かる】Java8からJava15まで - Qiita
    alcus
    alcus 2021/02/08
  • 開発者が考える提案書テンプレート markdown版 - Qiita

    概要 定型的な システム開発 では以下のような設計書が使われる。 システム要件定義 システム方式定義 ソフトウェア要件定義 ソフトウェア方式設計 ソフトウェア詳細設計 しかしそれ以前に 開発者目線、開発者発信で顧客に提案する概要資料を作りたい ケースがある。あるいは就職活動時の自身のポートフォリオを採用担当に説明することも同様かもしれません。 オードリー・タンがコード書く前にまずreadme.txtを書く話、Yahoo!がプロダクト開発の最初にプレスリリースから作る話、自分が前職で商品企画する際にまず広告から考えていた話、どれも明確なゴールイメージをまず確定させて必要要件を定義していくという意味で全部共通の考え方 — 菅俊一 / Syunichi SUGE (@ssuge) February 2, 2021 なんて話も。 技術とマーケティングのちょうど中間、開発者と顧客との意思疎通の橋渡し

    開発者が考える提案書テンプレート markdown版 - Qiita
  • UbuntuでJava版マイクラサーバをサクッと立ててみる - Qiita

    こんにちは。すずともです。 この記事では、WSL版のUbuntuを使いJava版のマイクラサーバを立てていきます。 サーバを立てるきっかけは、友達がうまくいかないと悩んでいたのでやってみたという感じです。ちなみに僕はマイクラやったことないです🙇 そんな僕でもサクッと立てられたので、その方法を紹介します。 筆者の環境 筆者はWindows上にあるWSLのUbuntuにてサーバを立てましたが、Ubuntu機でもほとんど同じ手順で立てることが可能です。 OS:Windows 10 Professional Build 10.0.19042.746 CPU:Intel Core i7-8700K RAM:16GB WSL Ubuntu:Ubuntu 20.04 Minecraft server 1.16.5 流れ 以下の流れで立てていきます。Ubuntuがインストール済みの方は2へと進んでくださ

    UbuntuでJava版マイクラサーバをサクッと立ててみる - Qiita
  • AWS構成図おすすめツール - Qiita

    AWSの構成図を作成する際に便利なツールを紹介します。 vscodeの拡張プラグイン「Draw.io Integration」です。 インストール方法 vscodeの左サイドにあるExtensionsをクリックし、検索窓にdrawと入力するとDraw.io Integrationが表示される。そして、Installボタンをクリックするとインストールされる。 作画ツールの表示 インストール後に新規ファイル作成ボタンを押し、 拡張子を.drawioにすると自動的にvscode上でdrawioの作画ツールが表示される。 これを使って簡単なAWSの構成図を描いていきます。 VPCを作成して、その中にパブリックサブネット、EC2インスタンス、インターネットゲートウェイを作成する。 使い方 AWSアイコンの追加 下部の+More Shapesを押すと、アイコンのセットが表示される。 ここからAWS 1

    AWS構成図おすすめツール - Qiita
    alcus
    alcus 2021/02/04
  • 原理原則で理解するPHP8のコンパイルと実行処理の仕組み(JITもあるよ) - Qiita

    はじめに PHPはプログラミング言語です。1995年に世に出てからこれまで多くの開発者に利用され、様々なソフトウェアを生み出してきました。 学習コストが低く手軽に実行できるトレードオフとして、バグを生み出しやすいコードになりやすかったりパフォーマンス上の懸念から大規模なアプリケーション開発に使うものではないという認識は結構あるのではないかと思っています。 しかしながら2021年現在の最新のメジャーバージョンであるPHP8では、機能面やパフォーマンス面においても大規模開発に対して十分使えるものになっていると個人的には思ってます。 今回は今PHPを使っている開発者やこれからPHPを使う予定の方、あるいは「PHPなんて興味ないけどどういう仕組みなのかは見てやろうじゃないか」と思っているような方にも、PHPの内部ってこういう感じで動いているんだっていうイメージを掴んで頂けたらと思って記事にしてみま

    原理原則で理解するPHP8のコンパイルと実行処理の仕組み(JITもあるよ) - Qiita
  • GraphQLのクエリを基礎から整理してみた - Qiita

    この記事はGraphQLで使われる文法の入門編です。 よく使われるクエリの文法に焦点を当てて整理しています。 今回はPlaygroundとして一般公開されている以下のサイトを例にして、GraphQLの文法をクエリの実行を試しながら整理していきます。 http://snowtooth.moonhighway.com/ ※以下のページより、PlaygroundのIDEをインストールして利用することも可能です。今回は既に公開されているスキーマベースで文法を確認していきます。 https://github.com/prisma/graphql-playground SQL/RESTとの比較 GraphQLはクエリ言語です。基的にはQueryとMutation、Subscriptionを使い分けます。 SQLはデータベース専用のクエリ言語です。 GraphQLはインターネットのためのクエリ言語です

    GraphQLのクエリを基礎から整理してみた - Qiita
  • GraphQLのカレンダー | Advent Calendar 2018 - Qiita

    About reserved postingIf you register a secret article by the day before the same day, it will be automatically published around 7:00 on the same day. About posting periodOnly articles submitted after November 1 of the year can be registered. (Secret articles can be registered anytime articles are posted.)

    GraphQLのカレンダー | Advent Calendar 2018 - Qiita
  • 海外「なぜ日本はハードウェアの時代と同じようにソフトウェアに秀でることができない?」 - Qiita

    Why doesn’t Japan excel in software as they did in hardware? (なぜ日はハードウェアの時代と同じようにソフトウェアに秀でることができない?) という英語Quoraのやり取り、分析が興味深かったので、まとめ。 仮説1: 日は完璧を求める 10人のエンジニアのソフトウェア開発会社を経営しているフランス人の友人が、ルイ・ヴィトン日支社のコンピュータシステムのマネージャーと同意した話:ソフトウェアはハードウェアではなく、産業用でもない。50年間同じトヨタカローラのように構築され、洗練され、完成されたものではありません。ゼロバグでそれを「完璧」にすることは不可能であり、したがって、「ゼロデフォルト」という、総合的な品質、継続的な改善を求める日人の精神に反するものです。 日は職人の国であり、漢字を書いたり、折り紙を折ったりする技術

    海外「なぜ日本はハードウェアの時代と同じようにソフトウェアに秀でることができない?」 - Qiita
  • 半リモートワークを一年続けた感想 - Qiita

    のっとふぉーみー。 私には合わなかった。 職種 よくあるIT系中小企業です。 私の部署は流行りのIoTとかいうやつで、主にB2Bで何か物体を売ったり売らなかったりサービスを提供したりしてなかったりします。 私は主にバックエンドのAzureまわりを担当していて、なんかデータを保存したりしなかったり出力したりしなかったりするのが主な仕事です。 仕事柄ハードウェアを直接触らなければならないことがあるため、完全フルリモートにすることはできません。 今はだいたい週2日程度出社しています。 会社について 会社の風通しはそれなりで、上司や社長にわりと色々直接言ったりもできます。 まあ社内でもそこそこ有能みたいな地位を確立できているみたいなのでそのせいかもしれないので、人に依るかもしれませんが。 対外的技術的にはあまりオープンではなく、キラキラインフルエンサーみたいな人もいないし、このQiitaでもおそら

    半リモートワークを一年続けた感想 - Qiita
    alcus
    alcus 2021/01/28
  • 個人開発の「失敗の本質」-自戒の念を込めて - Qiita

    はじめまして。個人でWebサービスの開発をしているさとうたです。 この記事は「個人開発の『失敗の質』」と題して、僕が2ヶ月ほど前にリリースしたサービスが見事にスベった経験をもとに、それを反省して、個人開発で既に成功されている先人達の数々のエントリーを読み漁り、「自分の何が悪かったのか?」「何を改善すればいいのか?」を徹底的に洗い出してまとめてみたものです。 筆者プロフィール 開発歴は約4年。今ままでリリースしたサービスは4つ。最大アクセスは月1.5万程度。「失敗の質」は未読。 絶賛爆死中のサービス カムナビ-地図の上に好きな書き込みを残して、場所に関する様々な情報を共有する地図サービス。 要は、Googleマップにインスタみたいな投稿をするサービスです。 個人的には上手く作れた思い想い入れもあるサービスなので、未だに失敗なんて認めたくないものなのですが……リリースしてはや2ヶ月、身内以

    個人開発の「失敗の本質」-自戒の念を込めて - Qiita
    alcus
    alcus 2021/01/28
  • ぐるぐるSQLは止めてくださいという話 - Qiita

    1. はじめに 仕事の都合で DB/SQL の性能問題を調査する機会が少なくありませんが(決してメインの仕事ではないですが)、その中でよく出くわす問題の1つに「ぐるぐるSQL」(もしくは「ぐるぐる系」)といわれる、ループで大量の SQL 文を呼び出しているものがあります。 感覚ですが、私の周りでは OLTP 系システムの DB/SQL の性能問題の原因の割合は以下のように感じています。 30%:ぐるぐる SQL 20%:SQL 文の書き方が不適切 15%:索引がない or 不適切 15%:パーズが遅い 10%:データモデルがおかしい 10%:その他 (大昔は2番目 / 3番目がほとんどだったのですが、最近はなぜがぐるぐる SQL が多い…) ぐるぐる SQL の実装では、ネットワーク通信や、アプリ側のクエリ生成 / 結果データ構築、DB 側のクエリ受信 / 結果送信といった、処理の質的で

    ぐるぐるSQLは止めてくださいという話 - Qiita
  • 【git tag】プッシュしたtag名を削除・変更してはいけない理由〜manコマンドで読めるgitメンテナの怒り〜 - Qiita

    一度プッシュしたtagは、名前変更・削除してはならない プッシュしたtag名を削除・変更してはいけない理由は、git tagのmanコマンドの中で説明されている。 manコマンドの内容は、コマンドの使い方を淡々と説明している印象があり、今まであまり読んでこなかった。 しかしgit tagのmanコマンドではとても人間味のある文章が書かれていた。 感情部分だけ要約すると、 「tag名を変更するのは馬鹿げている!!絶対にするなよ!! それでもやりたいって?じゃあこうやれ!馬鹿げたやり方だけどな!! それは面倒だって?やるならこれしかないんだよ!(怒)」 という筆者の熱い思いが文章で綴られている。 それでは見ていこう。 manコマンドをみてみる 下記コマンドで該当の記述を読むことが出来る web上で見たい場合はこちらでも。 原文 該当の記述はこちら On Re-tagging What shou

    【git tag】プッシュしたtag名を削除・変更してはいけない理由〜manコマンドで読めるgitメンテナの怒り〜 - Qiita
    alcus
    alcus 2021/01/26
  • AWSアクセスキーをGithubにあげてしまった時の対処方法 - Qiita

    WEBサービス開発歴7ヶ月目に突入しましたにこと申します。 先日、GithubAWSアクセスキーをあげてしまいました。 その時は事の重大さをわかっておらず、言われるがままにコマンドをうち対処が出来たのですが、調べれば調べるほど「とんでもないことをしていた・・・!」ということがわかりました。 AWSで不正利用され80000ドルの請求が来た話 初心者がAWSでミスって不正利用されて$6,000請求、泣きそうになったお話。 もう今後アクセスキーをあげることはないですが、愚かな人間なのでまた何らかを間違えてやってしまうかもしれません・・・。 二度とないことを誓いつつ、もし万が一やらかしてしまった場合、また同じようにアクセスキーをあげてしまったような方に向け、手順をしっかり残したいと思います。 まずはAWSのアクセスキーを無効化 ※2021/1/30追記 Githubの手順よりも先にAWSのアクセ

    AWSアクセスキーをGithubにあげてしまった時の対処方法 - Qiita
  • 【ExcelVBAを使った社内開発】依頼フォーマットを作ってあげたら依頼が急に増えた - Qiita

    ちょっと仕事が忙しくなりブログが久しぶりになってしまいました。 今日はどうして忙しくなったか書きたいと思います。 ワタシの仕事内容 以前も書いたのですが私の仕事は、社内の各部署から業務自動化の依頼を受けて、VBAでツール開発をするお仕事です。 社内の担当範囲となる部署は広範囲で、自分が所属する部署以外の依頼も受けます。 私が入社するちょっと前からできた業務自動化チームで、上司も素人。 私もプログラム書くことはできるけど全体の流れを考えるなどは色々と日々手探りで仕事を進めてます。 以前仕事内容について書いたブログはこちら(ExcelVBAを使った社内開発の心構え~未来の自分と後から来る誰かのために~) (現在、同僚の子が退職しましたのでチームは私と上司の2人になりました。) 社内開発依頼の現状と課題 依頼がある際は、どんなことを自動化したいかまとめてもらいご依頼いただく形なのですが、 数件は

    【ExcelVBAを使った社内開発】依頼フォーマットを作ってあげたら依頼が急に増えた - Qiita
    alcus
    alcus 2021/01/25
  • WordPressを運用中のサーバがまるごとPHPマルウェアに感染していた時の対応メモ - Qiita

    (2021.1.26 追記) 稿の続きを書きました。 時系列で見る:WordPressを運用中のサーバが丸ごとPHPマルウェアに感染する流れ https://qiita.com/Ayutanalects/items/e7919afadc7d8394820f 制作会社から「自社で管理中のサイトがおかしい」との連絡を受けて、 中をのぞいたら、PHP製の複数種類のマルウェアに感染していたので対応をメモ。 以下の内容は、あくまでも自分の対応時のものです。 攻撃者がスクリプトを変更すれば同じ方法では検出できなくなるのでご注意ください。 初期状態 症状 自社管理中のWordPressサイトにアクセスすると、全く知らないサイトにリダイレクトされる 今回は allc〇〇ling.shop というEC風サイト。Kasperskyを使っていると、「警察機関指定の危険サイト」の警告あり https://sup

    WordPressを運用中のサーバがまるごとPHPマルウェアに感染していた時の対応メモ - Qiita
  • SHA-256の実装 - Qiita

    はじめに(Introduction) SHA-256のロジックを理解する必要が出てきたので、仕様を確認しつつjavascriptで実装してみます。 また、ビット単位ではなく、バイト単位でのSHA-256を想定します。 サイズ(Size) SHA-256では、ブロックサイズ(Block Size)512bits(64bytes)、ワードサイズ(Word Size)32bits(4bytes)、メッセージダイジェストサイズ(Message Digest Size)256bits(32bytes)となっています。(参考文献1 p.3) メッセージのパディング(Padding the Message) (参考文献1 p.13) あるメッセージが与えられた場合、ハッシュの計算をするためにはブロックサイズの倍数である必要があります。 したがって、64byteの倍数でなければなりません。 単純に0x00

    SHA-256の実装 - Qiita
  • MicroAdのカレンダー | Advent Calendar 2017 - Qiita

    About reserved postingIf you register a secret article by the day before the same day, it will be automatically published around 7:00 on the same day. About posting periodOnly articles submitted after November 1 of the year can be registered. (Secret articles can be registered anytime articles are posted.)

    MicroAdのカレンダー | Advent Calendar 2017 - Qiita