サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大そうじへの備え
www.bold.ne.jp
Javaのラムダ式(lambda expression)とは、関数型インターフェイスを実装したクラスのインスタンスを、ごく短いコーディング量でとても簡単に作れてしまう文法のことです。 ラムダ式は、Java 8から追加された比較的新しい機能です。ラムダ式ってそもそも何だろうと思って調べると、大抵はStream APIとセットでの説明で、覚えることがものすごく多そうですよね。 そんな印象から、Javaのラムダ式に難しい印象を持っているそこのあなた、それはまったくの間違いです。ラムダ式そのものは、ポイントを押さえれば、実はもっと簡単に分かるものなのです。 この記事では、Javaのラムダ式とは本当はどういうものかという考え方から、プログラムでの使いどころなどを、Javaの初心者や、Javaからしばらく離れていた人向けに、一つずつ解説します。 ※この記事はJava 13時点の言語仕様・APIに基づい
アプリケーションをサーバー上で利用できるようにするための一連の作業をデプロイといいます。 システム開発では、開発工程が完了したら完成したモジュールを特定の環境で使えるようにする必要があります。つまりデプロイを行うことで、初めてアプリケーションが利用できるようになるのです。 1.デプロイとは英単語としてのデプロイ(英:deploy)は、「展開する、配置する」といった意味があります。 システム開発におけるデプロイとは、開発したアプリケーション(機能やサービス)をサーバー上に展開・配置して利用できるようにすることです。 Webアプリケーションであれば実行ファイルをWebサーバーやアプリケーションサーバーにアップロードして、その実行ファイルを実行することでサーバー上でアプリケーションを動くようになり、ユーザーが利用できる状態になります。この一連の作業がデプロイです。 つまりは、 実行ファイルを動か
Javaのスレッド(thread)とは、プログラム上で複数の処理を同時に動かす仕組みです。スレッドをJavaで使うためのクラスjava.lang.Threadを指す言葉でもあります。 さて、多くの作業は人が手分けすれば早く終わります。違う作業であっても、それぞれの作業へ人を割り当てれば同時に行えます。当然、一人での作業より効率的です。 それと同じで、プログラムでも処理を複数同時に動かせば、短い時間で効率よく処理できます。その仕組みがスレッドです。スレッドは、今ではごく当たり前に使われているのです。 この記事では、Javaでのスレッドの考え方・使い方の基本から、スレッドを使う上で気を付けたいこと、スレッドに関する話題について、ポイントを絞って初心者向けに説明します。 ※この記事はJava 13時点の言語仕様・APIに基づいています。サンプルはJava 13の環境で動作確認しています。 1.ス
プロジェクトマネージャの役割がいまいちわからなくて悩んでいませんか? プロジェクトマネージャの真の役割とは、「サービスを提供し、プロジェクトを遂行させ、企業の利益を向上させること」です。単に「プロジェクトを管理する」「チームをまとめる」といった類のことではないですし、ビジネス組織の一員であるからこそ「利益主義」であるべきです。そのための方法として計画や管理が必要となるのです。私もこの考え方が定着してからというもの、あらゆるプロジェクトを成功させ続けられるようになりました。 そこで本記事では、プロジェクトマネージャの真の役割を3つに分解しそれぞれ具体的に解説していきます。最後まで読んでいただければプロジェクトマネージャとして活躍するために必要な資格やスキル、プロとして仕事を進めるための極意まで知ることができます。 これからプロジェクトマネージャを目指す方だけでなく、現プロジェクトマネージャの
プログラムを作っていて何か困ったことが起きたとしたら、プログラムの設計が原因であることが多いものです。 例えば、プログラムを作っていてだんだん頭が混乱してきて訳が分からなくなったり、一つのプログラムの行数がものすごく長くなり困ってしまった経験がある方は多いでしょう。 また、他の人が作ったプログラムを読んでも、内容がすっと頭に入って来ない、同じような処理が至る所にあるけれど違いが分からない、そもそも何をやっているのかわからない、ということも日常茶飯事ではないでしょうか。 プログラムの設計は、そのようなことを起こさないために必要なのです。プログラムを作り始める「前」にしっかりと設計を行い、プログラムへ「意味」を与えることが、色々な失敗をしないために必要なのです。 この記事ではそんな「プログラムの設計」について、プログラムの設計の初心者向けに、特定のプログラミング言語や方法論に依存しない、一生通
Javaのbyteはプリミティブ型の一つで、8ビットの範囲で-128~127までの整数を表現するものです。 byteは主にバイナリファイルやバイナリデータを扱う時に使います。人によってはbyteは使ったことがないかもしれませんが、Java 9以降のStringは内部的にbyteで文字列を管理していますし、実はbyteは結構身近にあるのです。 ですから、byteの扱い方や考え方を知っておくと、いざプログラムでバイナリデータを扱わなければならなくなった時に慌てずに済みます。そして、バイナリデータの扱いが分かるということは、コンピュータの動き方の理解に一歩近づくことでもあります。 この記事ではbyteについて、byteとはどういうものか、どうやって使うのか、気を付けたい所などを初心者向けにお伝えします。2進数にまつわる話がどうしても多いですが、そこも分かりやすくお伝えします。 ※この記事のサンプ
「SES」という言葉は、IT業界で働いていれば一度は耳にしたことがあると思いますが、どんなサービスで、企業間がどのような契約を結ぶのか等を正しく説明できる人は多くはいないと思います。また、SESと検索するとネガティブなワードが沢山ヒットしますので、良い印象を持っている人も少ないと思います。 今回は、そんなSESの構造についてわかりやすく解説すると共に、なぜIT業界からSESを行う企業がなくならないのか等の業界の実態について解説していきます。 1.SESとはSES(システムエンジニアリングサービス)とは、クライアントに技術者を派遣することです。具体的には、クライアントのシステム開発やインフラ環境構築・運用を行う為にエンジニアの技術を提供するサービスを指します。その際にクライアントとベンダー間で契約を結びますが、クライアントの要望によって契約形態が異なります。 それぞれに違いがあり、契約形態に
Perlにも他の言語と同様if文があります。しかしPerlならではの使い方や、有名な言語と少し異なる点もあるので注意が必要です。覚えてしまえば他の言語に比べとても使いやすく感じると思います!実際にコードを確認しながら理解を深めていきましょう。 1.if文の基本的な使い方「もし〇〇である場合、△△の処理をする」といったようにある条件の時だけ特定の処理を行いたいときに使用します。 書き方は以下の通りです。 if ( 条件式 ) { 条件式を満たす(真)の時の処理 } my $a = 10; my $b = 2; if ($a % $b == 0) { print "$aは$bで割り切れます。\n"; } print "おわり"; 実行結果: 10は2で割り切れます。 おわり$b=2を$b=3に変更すると、「おわり」しか表示されません。実際にコーディングして確かめてみてください。 Perlはif
Javaのjava.util.Optionalは「nullかもしれない値」を上手に取り扱うためのクラスです。Java 8で追加された、まだ比較的新しいクラスです。 「え、このメソッドって戻り値がnullになることがあるの?」ということは、Javaプログラマなら一度は経験があると思います。そういう時に限ってnullチェックを忘れてしまって、バグを作り込んで怒られてしまうのです…。 Optionalを使うと、そういうミスを事前に防ぐことができます。値がnullかもしれないと意識できますし、nullだった場合にありがちな処理も、大変簡単に書けるのです。 この記事では「Optionalってなにそれ? おいしいの?」な人向けに、Optionalの使い方についてお伝えします。 ※この記事のサンプルは、Java 10の環境で動作確認しています。 1.Optionalはnullかもしれないと伝えるものOp
Javaが誕生したのは1995年、2019年現在では24年ほどの歴史があります。その長い歴史の中では、ファイルの読み込み方も少しずつ変わっています。 Javaでのファイルの読み込み方には、Java 11の時点では大きく分けて以下の三つの方法があります。それぞれ特徴がありますので、この記事でぜひそれぞれの使い方を身に着けてください。 java.nio.file.Filesで読み込むjava.io.FileReader/FileInputStreamで読み込むjava.nio.channels.FileChannelで読み込む※この記事のサンプルは、Java 11の環境で動作確認しています 1.【お手軽】Filesで読み込むJava 11が出てしばらく経った今、一番お手軽なのはjava.nio.file.Filesを使うことです。ものすごく簡単で、今まで勉強してきたノウハウはなんだったのかと、
初めて担当する上流工程。 上司からいきなり「非機能要件を設計して欲しい」と指示されたら、あなたは真っ先に何を思いますか? 「機能じゃない(機能に非らずな)要件なんてあるのか?」 正直、こんな疑問が思い浮かぶのではないでしょうか? 非機能要件とは、システムを構築するに当たり、性能面やセキュリティ面等において実現するべき要件であり、顧客が潜在的に持っている「隠れた要件」のことです。 機能要件と違い、顧客が明確に意識している要件ではないため、設計するためには、地道で根気のいるヒアリングが必要不可欠です。 その代わり、非機能要件が実現されれば、顧客満足度もシステムの完成度も一気にアップし、更には、非機能要件設計をやりきったあなたに対する上司の評価もアップするという、大事でお得な要件なのです。 ここでは、非機能要件を初めて設計する人に向けて、その概要についての説明と、非機能要件を顧客から引き出すため
基本設計とは情報システムを作る工程の一つで、情報システム全体を機能単位に分割して、それぞれの機能がどういうものか、どういうことができるものか、機能同士がどうつながるのか決めていく作業です。基本設計を行うタイミングは、要件定義の後、詳細設計の前になります。 基本設計とはどういうものか…については、全ての関係者が納得する一つだけの答えはありません。なぜなら、情報システムを作る作業には、法律や業界団体などで決められた、決定版ともいえる手順や成果物がないからです。情報システムを作る人、プロジェクト、会社、方法論ごとに作業の仕方が違うのです。 それでも、広く共通しているのは、基本設計は情報システムの具体的な姿を、全体的な観点で考え始める工程だということです。要件定義で決められた、情報システムで実現しなければならないことを、どうやって具体的な画面・帳票・バッチ処理・データベースで実現するかを、みんなで
ITエンジニアの方の中には、「もっと自分のスキルを向上させたい」「最新の海外の先端技術に関する情報を知りたい」「他社のエンジニアの技術を知りたい」といった考えを持っている方も多いのではないでしょうか。Web上でハイスキルのエンジニアが自分自身のソースコードを公開したり、企業でもその開発プロセスを情報開示しているケースが結構ありますね。 テックブログとは、WEBサービス企業やゲーム開発企業が自社技術やその開発手法を情報開示しているブログのことです。別名デベロッパーブログとも呼ばれています。ITエンジニアにとっては、他社の技術内容やプロジェクトの進め方が気軽に学べるので、自己研鑽にはもってこいの素材です。 しかも結構フランクに現場の会話やエピソードを紹介しているブログもあり、テクニカルな部分だけでなく、そのエンジニアの人柄や社風といった開発の現場感がわかるというメリットもあります。そんなインタ
この記事では、HTML内に要素を追加するjQueryのappendメソッドについて解説していきます。 Webページを作成していると、特定のイベント発生時に要素を追加したい場合が多くあります。例えばクリック時にテーブルの列を追加したり、ユーザの選択によってリストの選択肢を増やす場合などですね。 appendメソッドが使いこなせると、そのような追加処理をスマートに書けるようになります。 1.append()の基本的な使い方append()メソッドは、指定した要素内の最後に引数のコンテンツを追加するメソッドです。 コンテンツにはテキストの他、HTML要素やJQueryオブジェクトが指定できます。 append()の基本的な書き方は以下の通りです。 $(‘対象の要素’).append(‘コンテンツ’)サンプルとして、以下のような画面ソースがあると仮定します。 <div> <ul> <li>HTML
JavaBeansは、データを納める倉庫のような役割のクラスです。ごく普通のクラスなのですが、以下のルールを守ったクラスを指すのが一般的です。 プロパティへのgetter/setterメソッドを持つ引数のないコンストラクタを持つjava.io.Serializableを実装しているJavaBeansのルールは、現在のJavaが持つ豊富なフレームワークを語る上では欠かせないものです。このルールが作られ、プログラマ達がこのルールを守ってきたからこそ、Javaがここまで広く普及したと言っても過言ではありません。 この記事ではそんなJavaBeansについて「JavaBeansという言葉は聞いたことがあるけれど、よくわからないなぁ」という方向けに、勘所や背景を含めてしっかりと解説します。 この記事が、Javaを使う上では欠かせない「JavaBeansという考え方」を理解するための一助となることを願
昨今、IT業界ではフリーランスになるエンジニアが激増しています。 最大の魅力は会社員からフリーランスになることでほぼ全員が「給与が上がる」ことです。しかし、果たしてそれだけでフリーランスになって良いのでしょうか。 結論から言えば、安易にフリーランスになるべきではないということです。フリーランスを選択しても良いのはごく一部の業界TOP層のエンジニアであり、言い方を変えればフリーランスになっても50代まで高い報酬で仕事を得られそうな人。現段階ではまだそうでないという人は、原則やめておいた方がいいでしょう。 今回は、フリーランスになることのメリット・デメリットを実態に即して整理してみます。 1.安易にフリーランスを選択すべきでない5つの理由後述しますが、給与が上がるだけでなくフリーランスにはエンジニアが求めがちな幾つかのメリットがあります。 ですのでフリーランスになりたいと思う人が増えるのも当然
近年、ITエンジニアは様々な企業から引く手あまたです。その理由は、ITエンジニアの求人倍率が7.08倍(2018年10月時点※1)という異常値となっており、IT業界全体で人材不足が加速している為です。 ※1 https://doda.jp/guide/kyujin_bairitsu/ こういった状況なので、ITエンジニアとして転職を考えた際に選択肢があり過ぎて悩んでしまう人も多いのではないでしょうか。 選択肢が多くあるからこそ、転職の際の企業選びは慎重に行う必要があります。 人材のとりあいが発生している事により企業側もいかに自社を良く見せるかに力を入れる為、様々な面において過大表現する企業も出てきていますし、会社としてアピールする特色が少ない企業ほど給与を通常よりも高く提示し採用しようとしているという実態もあります。 景気が良いからこその状況に惑わされてしまい入社を決め、面接で聞いていた会
実は、エンジニアを採用する会社の面接官の多くは、志望動機に比べると経歴の方をかなり重点的に確認しています。 なぜなら、IT業界はリーマンショックから景気が回復して以降ずっと人材不足に悩まされ、企業も採用に困っているので、求めるスキルや経歴を満たしていることを、他の要素よりも重視して採用する傾向にあるからです。 しかし、ほとんどの面接官が志望動機を気にしない現状において『それでも目に留まる攻めの志望動機』を書くことで、志望動機を採用の決め手にすることもできるのです。 私はIT企業の人事として7年勤め、7年間で1万2000名以上のITエンジニアの面接を担当しました。輝かしい過去の経歴がなかったり、自分のスキルに自信が無くても、志望動機次第で面接官の心をつかむことができる場面を何度も体験してきました。 志望動機で、ただ単純にその仕事につきたい理由やエンジニアになりたい理由を伝えるだけでは採用の決
エンジニアであれば、色々なリソースからスキルアップや成長のきっかけを掴みたいですよね。そのきっかけの一つとして、今でも欠かせないのは本です。 この記事では、私がシステムエンジニアとして生きてきた中で読んだ本の中から「これはイイ!」と感じた本を5つに厳選して紹介します。中には私の人生に大きく影響を与えたものもあります。エンジニアであれば身に着けておきたい知識、自分の視野を広げるための知識を得て成長するためのきっかけが得られるでしょう。 そんな私がおすすめする書籍は以下の5つです。 Code Completeオブジェクト指向でなぜつくるのかEffective JavaJava言語で学ぶデザインパターン入門はじめて読む8086これらの本は、エンジニアであれば必ず何かを得られると、私が自信を持っておすすめできる本です。既にあなたが知っていることだとしても、その根拠を得て、補強する一助となるでしょう
「人間力」という言葉は、耳にする回数が多い言葉の割には、定義が曖昧ではっきりせず分かりにくいと思っている方も多いのではないでしょうか。 人間力とは「利他の精神」です。つまり、人間力の高い人とは利他の精神に溢れる人であり、人間力の低い人は利己的な言動の多い人だということです。そう捉えると実に多くのことがすっきりして見えるはずです。 人間力とは「力」とは書いてあるものの、他のスキルと違って定量的に高低を語られるようなものではなく、あくまでも「他人に対する姿勢」を表すものなのです。相手が「他人」である以上、利他なのか利己なのかで区別するのがもっともすっきりするということです。 ただし、単に利他の精神と言ってもうんと幅広な話になってしまいますので、今回は多くの読者が必要とするであろうという意味で「ビジネスシーンにおける人間力」にフォーカスして、その発想法と具体的な高め方まで踏み込んで行こうと思いま
私はかつてSIerに所属し、プロジェクトリーダーを務めていました。同時に、大学卒業後SIerに入社して以来、一介のエンジニアでもあり続け、情報システムのアプリケーション領域の全作業、すなわちシステム構築の上流~下流工程、運用保守までの全作業を担えるスキルと実務経験を持ってもいました。 私は、社内の昇進試験を経て管理職への昇進が確定した後、その昇進の直前にSIerを自主退職しました。エンジニアとしてのこだわりを貫き、エンジニアとして一生働き続け、自らの実力を磨き上げ続けるためです。SIerで管理職となっては、エンジニアとしてのキャリアと成長が終わると思ったからです。 今では、私はSES企業に所属するエンジニアです。今の環境を自分で選びました。 SESの立場で働くエンジニアに強く問われることは、個人の真の実力と、仕事への姿勢やこだわりです。SESで働くということは、プロフェッショナルな一人のエ
1.自己のスキルアップとマーケティングに役立つメディアとはあなたは今、日常の業務に役立つ最適なWebサイトをいくつご存知でしょうか。自分のキャリア形成に貢献してくれるWebサイトをいくつお持ちでしょうか。ITに詳しいエンジニア方でも、意外とそういった情報収集には無頓着な人が多いのが実態です。 自分のスキル不足を補完してくれるWebサイト、自分のこれからの生き方の参考になるWebサイトをリストアップしておくだけで、日々の仕事がより楽しくなり、意味深いものになります。何より仕事に取り組む姿勢がより積極的になり、自己成長のスピードが増すという効果が出てくるのです。この“調べる”というアクションは、現在の自分の状況の客観視化を促進させ、自己の将来への興味も喚起させます。特にあなたと同じエンジニアは“優れた知見を共有する”という意識が高いため、開発のソースや効率的な業務改善方法などのノウハウを惜しげ
システムエンジニア(以下、SE)の仕事とは、一般にはシステムを作り、維持・運用することに関わる全ての作業を行うものです。 現在は、日常生活や様々な仕事を行う上で、多くのシステムを活用することが当たり前になりました。さらに、企業が有するシステムの優劣が、ビジネスの成功や企業の行く末すら決定的に左右するようになりました。 そのようなシステムには全て、何らかの形でSEが関わっています。ですから、SEは現代社会において必要不可欠な、大事な仕事なのです。 この記事では、SEの仕事について、どんなことを行うのか、求められるスキルが何か、SEとして必要な心構えなどをお伝えします。 関連記事 1.システムエンジニアの仕事SEの仕事は、システムを作ること、維持することの大きく二つに分けられます。ここでは、それらの作業の流れを見ていきましょう。 1-1.システムを作る仕事システムを作る仕事は、プロジェクトチー
プログラマーの仕事内容は、人の思いをソフトウェアと言う形にすることです。ただのアイデアを文字通り何もないところから形にして、新たな価値を創造できるのです。 例えば皆さんご存知の、Apple、Amazon、Google、FacebookやTwitterなどの著名なIT企業は、革新的なサービスを創造して世に問い、文字どおり世界の在り様を変えました。彼らには革新的なアイデアがありましたが、アイデアだけでは絵に描いた餅です。それらのアイデアを具体的な形にしたのは、プログラマーの仕事なのです。 そして、プログラマーは現代のライフスタイルを支える様々な仕組みを創り出し、維持しています。まさに、世の中にとって必要不可欠な仕事です。仕事のスタイルは時代により変わるでしょうが、なくなることはないでしょう。 この記事では、そんな「プログラマーの仕事内容」について、プログラマーという職業を知らない・身近に感じた
IT業界未経験だけど、なれるものならシステムエンジニアになりたいと思っていませんか? 実はいま、多くの方が未経験からシステムエンジニアへの道を歩み始めているという現実があります。そう、未経験からでもなれるのです。 世の中はまさにIT化が加速しており、IoTやAI、ブロックチェーンといった注目ニュースにも事欠きません。大学生の人気職種ランキングにおいても、プログラマーやシステムエンジニアが上位にランクインしてきています。しかし新卒の大学生ならともかく、既に社会人となりITとは無縁の職種に就いている方々は、「システムエンジニアになりたい!」と思っても、その道筋が全く見えないという人が多いようです。 ここでは、全くの未経験からシステムエンジニアを目指す場合の良い方法と留意点についてまとめました。ぜひ参考にしてみてください。 1.未経験者でもシステムエンジニアになれる理由まず、IT業界未経験者であ
エンジニアの目標設定において、重要でありながらついつい忘れてしまいがちなのが「キャリアビジョン」と「スタンス」です。この2つの要素は、エンジニアとしての人生を充実させるのにとても重要です。ところが目標設定というものは日々問われるものではないので、個人で日常に落とし込むのが難しい側面があります。しかも必要な要素を見落としたまま目標を立ててしまっているケースが、かなりあるのです。 ここでは「次回の目標設定をどうしよう?」と悩んでいるエンジニアの方に、効率的で完成度の高い目標設定のつくり方を伝授したいと思います。エンジニアの方がついついやってしまいがちなミスなども具体的事例を交えて、解説します。目標設定の作成に悩んでいたエンジニアの方は、是非活用して頂ければ幸いです! 1.目標設定の重要性一般的なビジネスパーソンにとって目標設定は、成功への道標であり、モチベーションの根源でもあります。例えば、「
ボールドの存在意義は、「勤勉なエンジニアが現役として生涯をまっとうできる」という一点に尽きます。その背景にはどんな想いがあり、どんな未来を見据えているのか。MVVの紹介や代表インタビューを通してお伝えします。
このページを最初にブックマークしてみませんか?
『株式会社ボールド | その生き方を、まっとうする。』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く