【Java】シングルスレッドとマルチスレッド
Javaのスレッド(thread)とは、プログラムの実行単位を表しており、ひとつのプログラム(プロセス)の中で複数の処理の流れを走らせることができます。そうすることで、複数のタスクを同時に処理することができます。スレッドをJavaで使うためのクラスjava.lang.Threadを指す言葉でもあります。簡単な例で考えてみると、家で家事をする場面を考えてみます。独身のまま、洗濯、掃除、料理をすると一つ一つ終わらせてから次の家事に移行するので時間がかかってしまいます。ただ、結婚して二人で同じ作業を行うと、半分もしくは半分以下の時間で終わらせることができます。それと同じで、プログラムでも処理を複数同時に動かせば、短い時間で効率よく処理できます。その仕組みがスレッドです。スレッドは、今ではごく当たり前に使われているのです。スレッドにはシングルスレッドとマルチスレッドがあります。今回は、シングルスレッドとマルチスレッドの特徴についてまとめていきたいと思います。
初心者
DX化を加速させるローコード開発とは?
昨今、様々な外的要因により企業をとりまくビジネス環境の変化が大きく加速しています。 これまでと比べて、より柔軟に、よりスピード感を持った迅速な対応が求められる時代になってきているのではないでしょうか。 そんな中、企業のあらゆるニーズに応え、ITをビジネスの成果に直結させる手段としてここ数年で「ローコード開発」というシステム開発の手法が注目されています。 今回の記事では、ローコード開発とはどのようなものなのか、従来の開発手法との違いやメリット・デメリットなどと併せて紹介していこうと思います。
製造・コーディング(PG/バックエンド)
イチから学ぶデータベース・SQL(2)
イチから学ぶデータベース・SQL(1)ではデータベースについて、から始まりデータベースの作成や、データベースにデータを追加したりデータを検索したりと、基本的なデータベースとSQL文について学びました。 それらを糧に今回はより深くSQLについて学習し、それを分かりやすいように説明していきます。
製造・コーディング(インフラ)
イチから学ぶデータベース・SQL(6)
イチから学ぶデータベース・SQL(5)では、サンプルデータベースに登録されているデータのログ解析をしていきました。 今回も前回同様paizaラーニングを参考に、オンラインRPGを題材としてSQLについて学習を進めていきます。
製造・コーディング(インフラ)
ICT支援員への道
近年、学校教育においてICT利活用を推進する動きが広がっています。その最たるものがGIGAスクール構想です。GIGAスクール構想とは、義務教育を受ける児童・生徒に対して1人1台端末と高速大容量の通信ネットワークを一体的に整備し、ICTを活用した創造性や思考力を育成する教育を行い、個別最適化された学びを提供しようとする、教育改革案のことです。新型コロナウイルスの流行もあり、当初の計画よりもスケジュールを前倒しして整備が進められ、令和3年7月末時点で全自治体における96.2%の自治体で端末が整備されている状態です。現状、整備された機器の設置準備や障害発生時の対応、機器を活用した授業の構想・改善は多くの場合教員が行っていますが、昨今はほとんどの教員が残業時間月45時間を超えている事が問題となるなど教員の負担が増しており、教員として勤務しながらICTを活用した教育活動に対する理解を深めていくことは難しい状況であると言えます。そこで、学校内で教員に代わり、学校ICTの専門家として配置が進められているのがICT支援員です。
その他(運用・保守・サポート)
【2023年版】Pythonのフレームワーク大解剖!人気のフレームワーク4選
Pythonのフレームワークって何があるの?Pythonのフレームワークにはどんな種類があるの?Pythonのおすすめのフレームワークが知りたい。このような疑問をお持ちの方も多いことでしょう。近年、PythonはAI(人工知能)開発において注目を浴び、その人気は急上昇しています。同時に、Pythonを活用するためのさまざまなフレームワークが登場しており、選択肢の多さに戸惑うこともあるかもしれません。AIやウェブ開発、データ解析など、Pythonの適用範囲は広く、その多様性ゆえにどのフレームワークを選ぶべきか、どれを学ぶべきかを選ぶのは決して簡単なことではありません。しかし、この記事ではそんな悩みを解消するために、Pythonのおすすめフレームワークを目的や用途別に紹介し、選び方のポイントも提供します。つまり、あなたの目標やニーズに合った最適なPythonフレームワークを見つけるお手伝いをさせていただきます。Pythonのフレームワーク選びに迷っている方、どのフレームワークが自分に合っているのか迷走している方、ぜひこの記事を読み進めてください。自分にピッタリのPythonフレームワークが見つかるかもしれません。
学習・スキル
【初心者用】PowerBIで出来ることとは?
昨今の経営判断や意思決定には、データ分析が必要とされています。 データ分析や、データの可視化が注目される昨今、「Power BI」という言葉を耳にすることが多くなりましたが、皆様は「Power BI」という言葉をご存知でしょうか? 今回紹介するPower BIはBI(ビジネス・インテリジェンス)ツールとしてマイクロソフト社から提供されている製品の1つです。 BIツールとは、企業が蓄積しているデータを分析し、その結果から得られたデータをあらゆる活動(経営判断など)に生かすためのツールです。 データそのもの自体が蓄積されるデータベースとは違い、レポートを表示したり、データ分析に関する豊富な機能を持ったソフトウェアのことです。 BIツールは世の中に多く存在しますが、BIツールの中でも注目されているのが「セルフサービスBI」と呼ばれる種類のBIツールです。 セルフサービスBIとは、データ分析を行う作業のおおよそ半分以上の作業をBIツールが自動化するというもので、効率良くデータ分析を行うことが出来るということで注目されています。 ただし、セルフサービスだからといって誰でも簡単に扱えるというわけではありません。 セルフサービスBIは、業務部門が主体になってデータ分析を実行できるようにするためのものであるため、ある程度データ分析に関する知識と製品知識が必要となってきます。 今回紹介するPower BIは、このセルフサービスBIに分類される製品であり、一般的なITに関する知識があれば比較的簡単にデータ分析ができます。
製造・コーディング(PG/バックエンド)
Node.jsのフレームワークとロードマップ
Node.jsは、JavaScriptのランタイム環境であり、Webアプリケーションのサーバーサイド開発に広く使用されています。それだけでなく、多くのフレームワークやモジュールが利用可能です。個人的に今後かなり需要が増えていく言語だと感じています。本記事では、Node.jsに関するロードマップを提供し、主要なフレームワークとモジュールについて説明します。
製造・コーディング(PG/バックエンド)
【JSTQB(FL)対策】第3章静的テスト
こちらの記事ではJSTQBのシラバスのうち、第3章静的テスト分野における以下の分野の学習内容及び学習してみて私が思ったことについて記載します。
テスト(運用・保守・サポート)
DDLを使ったオブジェクトの定義
業務では、何らかのアプリケーションを使ってデータベースのデータを管理や運用しますが、そのデータを格納するためのテーブルを作成する必要があります。ここでは、テーブルの管理をする際に登場するDDL(データ定義言語)について記載します。
製造・コーディング(PG/バックエンド)
基本設計・詳細設計とは
システム開発にはさまざまな工程があります。要件定義・基本設計・詳細設計などなどの工程が存在します。設計書を作成するのは、開発工程の前段階である「設計」工程。設計工程はシステム開発の方向性を左右するため、特に重要とされています。さらに設計工程は「基本設計」と「詳細設計」に分かれます。設計業務に携わっていなくても、名前は聞いたことがあるという方は多いのではないでしょうか。ただ、具体的にどのような違いがあるのか明確に理解できていない方もいるかもしれません。
基本設計(外部設計)(PG/フロントエンド)
【ソフトウェアテスト】ソフトウェア開発とテスト活動について②
「【ソフトウェアテスト】テストレベルについて ①」記事に記載のとおり、開発ライフサイクルモデルには形式や期間によってさまざまなモデルがあり、テストを実施するタイミングもモデルによってさまざまです。先に挙げた開発工程の例である要件定義→設計→開発→テスト→リリース/保守を一連の流れとする開発ライフサイクルも、このフローを開発期間の流れとして実施するのはあくまでウォーターフォール型モデルのようなシーケンシャルな開発ライフサイクルであり、イテレーティブ開発モデルやインクリメンタル開発モデルでは、各工程とテストが同時に進行したり、無駄をなくすことを目的としてあえて一部工程を省くこともあります。V字モデルは各工程とテストが同時進行する例です。要件定義の段階で要件定義に対するテストを実施、システム設計の時点で設計された内容に対してテストを実施といったかたちで、開発完了後にようやくテストではなく、常に工程の早期段階でテストを実施します。開発完了後のテストで不具合が検出されると工程の手戻りが発生してしまい、工数に無駄が生じますが、早期にテストを実施することにより、上流工程の段階で不具合や懸念を可能な限り取り去って開発作業の手戻りを少なくし、無駄な工数の増加を防いだり、最終的な品質の向上を目指すことができます。このようにV字モデルの左側で行う開発活動に対して早期にテストを実施して効率的な開発活動を目指す手法をシフトレフトと呼びます。イテレーティブ開発モデルやインクリメンタル開発モデルとなると、さらに各工程とテストが早期段階で実施されていきます。全体的な流れをより細かく迅速に行い、それを細かく繰り返していくサイクルが、現在のソフトウェア開発形式の主流になってきています。
テスト(運用・保守・サポート)
関連タグ
カテゴリ別人気記事
もっと見るテレワーク関連人気記事
2023年10月02日
製造・コーディング(PG/フロントエンド)2023年07月18日
アーキテクト・技術選定(PG/バックエンド)2023年11月17日
学習・スキル2023年10月26日
テスト(運用・保守・サポート)2023年01月09日
詳細設計(内部設計)(インフラ)
週間人気記事
もっと見るGit GUIツールの使い方:初心者向けチュートリアル
Gitとは、分散型バージョン管理システムの1つで、コードやファイルなどの変更履歴を記録し、複数の人で同時に開発を進めるために使われます。Linuxの開発者であるLinus Torvaldsによって開発され、現在は世界中の多くの企業やオープンソースプロジェクトで使用されています。Gitは、ファイルの変更履歴を保存するための「リポジトリ」と呼ばれるデータベースを持ち、このリポジトリに対してコミットと呼ばれる操作で変更履歴を追加していきます。また、ブランチと呼ばれる分岐を作成して、異なるバージョンのコードを管理します。Gitの主な特徴としては、以下のようなものが挙げられます。・ローカルでの高速な動作・分散型であるため、オフラインでも開発ができる・変更履歴を管理しやすく、コードの品質を高めることができる・大規模なプロジェクトでもスケーラブルに対応可能Gitは、コマンドラインツールを使って操作することもできますが、GUIツールを使って操作することもできます。
アーキテクト・技術選定(PG/バックエンド)
【これからJP1に触れる人向け】JP1とは
開発プロジェクトに携わる際にJP1というツールに触れたことはあるだろうか。JP1は開発工程、特にテスト作業においては非常に利便性の高いツールである。この記事ではまだJP1に触れたことがない人向けにJP1の概要やJP1を合う買う際に知っておくべき用語を取り上げる。
テスト(運用・保守・サポート)
DBのビューとは?メリットデメリットや使用方法についても紹介!
アプリケーション開発にとってデータベースは必須スキルとなっております。データベースの知識がないと、アプリケーション開発に難航することでしょう。しかしデータベースの知識を身に付けるとなると、かなりの勉強量を要します。というのもデータベースオブジェクトには様々な種類があり、一朝一夕では身に付くものではありません。今回は、データベースのビューについてご説明いたします。ビューそのものは必ず覚えてなくてはならないと言うものではありませんが、よく使われます。まずは本記事でビューの基礎知識を身に付けてください。本記事ではメリットデメリットや具体的な使用方法について紹介しております。
学習・スキル
【初心者向け】Packet Tracerでネットワークを学ぶ(NAT)
NATとはNetwork Address Translationの略称でIPアドレスを変換する技術です。 インターネットに接続する際にプライベートIPアドレスをグローバルIPアドレスに変換します。
詳細設計(内部設計)(インフラ)
【初心者向け】Packet Tracerでネットワークを学ぶ(CLI操作の基本編①)
ルータ初期設定編ではPacket Tracerを使ってルータを直接操作し色々な設定を試してみたいと思います。 まずCisco製品のルータにはPCと同様にOSがインストールされています。 それが「Cisco IOS(Internetwork Operating System)」です。 スイッチでもこのOSを利用しています。 Cisco IOSはWindowsのようなグラフィカルなインターフェースではなくコマンド入力のみで様々な操作を行うインターフェースになります。 コマンドで操作するインターフェースのことを「CLI(Command Line Interface)」と言います。
詳細設計(内部設計)(インフラ)
インデックスとは?メリットデメリットやインデックスの種類も交えてご紹介
インデックスとは、データベースを扱う際には欠かすことのできない概念となります。インデックスの取り扱いによって、データのアクセス速度が大きく変わります。特に大規模なデータを扱う場合には、取り扱いに気をつけなくてはなりません。インデックスを設定した結果、処理速度が遅くなってしまうことやそもそもインデックスを使用するような実行計画が選択されないこともあるのです。インデックスは、DBMSの種類(例えば、OracleやMySQL、Postgreなど)によっても異なります。インデックスの仕様を知らないと、開発者にとって意図しない処理をしてしまう可能性もあります。そこで今回はインデックスについてメリットデメリットや具体的にどのような種類があるのかを説明していきます。
学習・スキル
AUTOSARについて、まとめてみた
AUTOSAR(オートザー)とは、Automotive Open System Architectureの略称で、車載ソフトウェアの共通化を実現するためのプラットフォームの仕様名称でもあります。
開発環境関連(PG/フロントエンド)
【初心者向け】不具合報告書の書き方
テストエンジニアは業務内で不具合を見つけた際に不具合報告書を起票することになります。不具合報告書とは、発生した不具合の原因と対策について記載した文書です。社内の関係者への共有はもちろん、取引先に提出することもあるため、正確かつわかりやすく記載する必要があります。
初心者