派遣で働くエンジニアのスキルアップを応援するサイト

PRODUCED BY RECRUIT

Python×PDF:プログラムでPDFから情報を取得してみよう

Pythonを実際に動かしてみよう!今回のお題は、Python×PDF。ビギナーも取り掛かりやすい、サンプルコードとライブラリをご紹介します。プログラムでPDFファイルからテキストや画像を抽出する方法にぜひトライしてみてください。 【筆者】 watさんメーカー勤…

Python×Word:複数のWordファイルを一括編集してみよう

Pythonを実際に動かしてみよう!今回のお題は、Python×Word。ビギナーも取り掛かりやすい、サンプルコードとライブラリをご紹介します。【読むだけでも、なるほど】と思っていただけるよう、関連トピックも多く記載。プログラムでWordファイルを一括編集する…

【プレゼントが当たる!】あなたのスキルアップ事情を教えてください

皆さんのスキルアップ事情を教えてください エンジニアスタイル読者の皆さんのスキルアップに関するアンケートを実施します。 いただいたご意見をもとに、さらに皆さんに役立つイベントやコンテンツをお届けする予定です。ぜひ声をお聞かせください。 また、…

Python×PowerPoint:スライドの作成を自動化してみよう

Pythonを実際に動かしてみよう!今回のお題は、Python×PowerPoint。ビギナーも取り掛かりやすい、サンプルコードとライブラリをご紹介します。【読むだけでも、なるほど】と思っていただけるよう、関連トピックも多く記載。プログラムでスライドが作られてい…

Python×Excel:感情分析で一歩進んだアンケート集計をしてみよう

Pythonを実際に動かしてみよう!ということで、ビギナーも取り掛かりやすい、Microsoft Officeのアプリがより便利になる【Pythonのサンプルコード・ライブラリ】をご紹介します。今回は、Excel。【読むだけでも、なるほど】と思っていただけるよう、関連トピ…

最速でPython環境を構築してプログラミングをはじめよう

これからPythonをはじめようとする人が最初に行う作業は「環境構築」です。Pythonにおける環境構築とは、自分のパソコンでPythonプログラミングをできるようにすること。ですが、この環境構築で挫折した……という方も多いのではないでしょうか。この記事では…

【プレゼントが当たる!】あなたのスキルアップ事情を教えてください

皆さんのスキルアップ事情を教えてください エンジニアスタイル読者の皆さんのスキルアップに関するアンケートを実施します。 いただいたご意見をもとに、さらに皆さんに役立つイベントやコンテンツをお届けする予定です。ぜひ声をお聞かせください。 また、…

htmxでDOMを操作するには?

サクッとわかるITトレンドでご紹介した「htmx(Hotwire)」。興味ある!という方も多かったのではないでしょうか。そこで、htmxをさらに深掘り。今回は、htmxではDOMをどのように操作するのか、またその書き方を基礎知識とあわせて解説します。 htmxとは? H…

htmxでのHTTPリクエストはどう指定する?

サクッとわかるITトレンドでご紹介した「htmx(Hotwire)」。興味ある!という方も多かったのではないでしょうか。そこで、今回から2回にわたってhtmxをさらに深掘り。まずは、htmxでHTTPリクエストはどのように指定するのか、書き方だけでなく基礎知識もあ…

Amazon QをVS Codeにインストール。手順や操作画面は?

サクッとわかるITトレンドでご紹介した「Amazon Q」。興味ある!という方も多かったのではないでしょうか。そこで、Amazon Qをさらに深掘り。Visual Studio CodeのプラグインとしてAmazon Qを使い、具体的にどのようなことができるのか事例を4つご紹介します…

特別編集 続々登場する生成AIアシスタント

ChatGPTの登場以降、続々と登場している生成AIを用いたアシスタントツールやサービス。さまざまなサービスが登場する一方で、それらをどのように活用すればいいのか、自分にあったものはどれなのかと、迷ってしまうことも。 エンジニアスタイルでも、これま…

Docker、Linux、AWSひとつでも勉強しようと思ったら

IT業界にいると「勉強したほうがいい」「エンジニアには必須だ」などと言われることも多い「Docker、Linux、AWS」などのサーバーに関するトピック。 これらは、一つ勉強しようとすると必ず他の技術もついてくる、互いに切っても切り離せない技術です。そのた…

特別編集 量子コンピュータ、そういえば知らなかったなという方へ

なぜ注目が続くのか?「量子コンピュータ」 コンピュータの処理能力を飛躍的に向上させるとして、何かと話題の「量子コンピュータ」。一般のニュースでも耳にするようになりました。2022年のノーベル物理学賞が「量子もつれ」の研究者に贈られたことでも話題…

特別編集 Accessのススメ

データベースをサクッと整備するならAccess 「Accessって事務のソフトでしょう?パソコンに入ってはいるけれど……」と、日々のちょっとしたデータ管理にはもっぱらExcelを使っている、という方は少なくないはず。 図表の作成や見栄えの良い資料を作るのに、Ex…

特別編集 学びたいランキング1位のクラウドをやさしく解説

クラウド時代はすでに始まっているのか Amazon Web Service(AWS)やMicrosoft Azureなどのサービスに代表される、クラウドコンピューティング(クラウド)の利用が拡大しています。スモールスタートを叶えられることや、物理的なデバイスから開放されるとい…

特別編集 動画・記事で学ぶJavaScript入門

今やWebサイトやWebアプリケーションの作成に欠かせない、プログラミング言語JavaScript。デザイナーの皆さんや新しい言語に挑戦したい方にとっては真っ先に思い浮かぶ言語かもしれません。ただ、ちょっとだけハードルが高いという声もよく聞きます。 いきな…

特別編集 エンジニア力を発揮するためのビジネススキル

エンジニアの技術的スキルは足りていても、コミュニケーション不足で意図しないミスが発生したり、技術的な内容がどうしても相手に伝わらなかったりして、プロジェクトが円滑に進まなくなることもありますよね。そんなときは、ビジネススキルを見直してみま…

エンジニアへの挑戦状 #03 テストデータ作成問題

あなたのプログラマとしての力を測る問題です。非プログラマにはわからない。言語問わず、プログラマならわかるはず。さて、あなたは解けますか? 所要時間:3~5分 考え方がわかれば、1分足らずで解けるかも!? 【問題】 ある飲食店で注文された商品の金額…

エンジニアへの挑戦状 #02 Pythonでお宝探し【解説】

この記事は、2022年3月11日に配信した「エンジニアへの挑戦状 #02 Pythonでお宝探し」の解説となります。まだ問題を解いていない方は、こちらからご覧ください。https://www.r-staffing.co.jp/engineer/entry/20220311_1 あなたのPythonスキルを測る問題でし…

エンジニアへの挑戦状 #01 プログラム修正問題【解説】

この記事は、2022年1月28日に配信した「エンジニアへの挑戦状 プログラム修正問題#01」の解説となります。まだ問題を解いていない方は、こちらからご覧ください。https://www.r-staffing.co.jp/engineer/entry/20220128_1 あなたのプログラマとしての力を測…

エンジニアへの挑戦状 #02 Pythonでお宝探し

あなたのPythonスキルを測る問題です。学んでいないとわからない。詳しければ、1分以内にわかるはず。さて、あなたは解けますか? 所要時間:3~5分Pythonの基礎力が問われる問題です。 【問題】 ある海賊団が冒険中に謎のメッセージを遺跡で見つけました。…

初心者でもわかる量子コンピュータの計算の仕組み 【第1話】数式なしで量子コンピュータの現状を理解しよう

ここ数年、量子コンピュータに関するニュースが増えました。その度に、これまでのコンピュータはいずれ不要になるのか、量子コンピュータは実用化されたのか、量子力学を学んだほうがいいのか、など疑問や不安に思う方もいるかもしれません。 一方で、量子コ…

特別編集 仕事でイライラやモヤモヤを感じているなら

職場でイライラやモヤモヤ、不安を感じることはありませんか。今回は心の整え方にフォーカスした記事をご紹介します。その方法は感情を無理やり抑えるものではありません。例えば、怒り=【大事なもの】×【傷つけられる】、不安=【未来のこと】×【わからな…

エンジニアへの挑戦状 プログラム修正問題 #01

あなたのプログラマとしての力を測る問題です。非プログラマにはわからない。プログラマなら、言語問わずわかるはず。さて、あなたは解けますか? 所要時間:3~5分コツがわかれば、1分足らずで解けるかも!? 【問題】 新入社員にプログラミングを教えてい…

特別編集 Javaエンジニアが次に学ぶ言語に迷ったとき読みたい3つの記事

エンジニアとしての幅を広げるために、Java以外の言語に挑戦したい。だけど、「こんなものを作ってみたい」といった気持ちが湧かない場合や結局どの言語がいいのかといった迷いで、次の一歩がなかなか踏み出せない。今回はそんな方たちに向けて、Javaエンジ…

特別編集 再びやり直すなら読みたい3つの記事

昔はプログラマだったけれど、枯れた技術だしもう最新のトレンドについていけない。そんな方にも案件をご紹介し、実際にプログラマに復帰された方をたくさん見てきました。その経験から、今回は再びやってみるかと思ったときに学び直しておきたいことについ…

特別編集 基礎から学ぶ、人工知能に必要な数学

人工知能(AI)や機械学習を根本から理解しようと学習すると、数学の知識が求められ、その難しさに頭を抱えてしまい挫折してしまう方も多いのではないでしょうか。実際、便利で手軽なフレームワークを使用すると、高い計算力がなくても大方困ることはありま…

【第9話】ロジスティック回帰で、翌月の購買実績を予測してみよう!クロスバリデーション編【漫画】未経験なのに、機械学習の仕事始めました

クロスバリデーションとは? 前回は予測モデルを構築しました。しかし、モデルを作るのに利用したデータと、精度を計測するデータが同じになってしまうため、「予測がどのくらい正確にできているか」がわからないのが問題でした。 本番における精度がどの程…

特別編集 IT系の資格を取得するなら

IT系の資格は持っていますか?知識と技術を持っていることの証明となる資格ですが、実務にはあまり役立たないから、とそこまで重視していない方も多いのでは。そこで今回は、これまで資格取得について講義いただいたイベントレポートをまとめました。初心者…

【第8話】ロジスティック回帰で、翌月の購買実績を予測してみよう!実践編【漫画】未経験なのに、機械学習の仕事始めました

★この記事で利用するサンプルコードは、こちらで確認できます。 モデル構築ライブラリ「scikit-learn」とは? ロジスティック回帰の概要を第7話で紹介しました。ロジスティック回帰とは、簡単にいうと、データが与えられたときにAかBのどちらに属するのかを…

第6話 ExcelからAccessの読み書き【連載】実務で使えるAccessのコツ

データベース管理ソフトウェア、Accessを実務で使うときに「知っているとちょっと便利なコツ」について紹介するこのコラム。今回は、Excelと連携させることの最大のメリットをご紹介します。あわせて知っておきたい、悪意のある第三者にどう対応するかのセキ…

第5話 VBA内でSQLを扱うコツ【連載】実務で使えるAccessのコツ

データベース管理ソフトウェア、Accessを実務で使うときに「知っているとちょっと便利なコツ」について紹介するこのコラム。今回は、VBA内に複雑なSQLを組み込むための手順を解説します。複雑なものほど長くなるSQLですが、なにを使って区切ると読みやすくな…

【第7話】ロジスティック回帰ってなあに?紹介編【漫画】未経験なのに、機械学習の仕事始めました

第5話と第6話では、データの集計と可視化を実践しましたね!今回から、 いよいよ機械学習に入っていきましょう! 未知の事象を予測する! ロジスティック回帰ってなあに? いよいよ機械学習について学んでいきましょう。機械学習には多種多様な手法がありま…

第4話 DAOとADOの違い【連載】実務で使えるAccessのコツ

データベース管理ソフトウェア、Accessを実務で使うときに「知っているとちょっと便利なコツ」について紹介するこのコラム。今回は、AccessVBAを使う方なら一度は考えるDAOとADOの違いと使い分けについて、記事公開時点(2021年8月)の最新の情報を踏まえて…

第3話 マクロとVBAの違い【連載】実務で使えるAccessのコツ

データベース管理ソフトウェア、Accessを実務で使うときに「知っているとちょっと便利なコツ」について紹介するこのコラム。今回は意外と曖昧になりがちな、マクロとVBAの違いを解説します。特に間違えやすい、Excelのマクロ/VBAとの違い、説明できますか?…

【第6話】続!集計と可視化:Plotlyでデータをグラフ化して傾向をとらえよう【漫画】未経験なのに、機械学習の仕事始めました

前回の続き:第5話 集計と可視化:pandasでデータの加工をしてみよう 第5話では、pandasを使ってデータを加工する方法を紹介しました。今回は、加工したデータをグラフにすることで、データの傾向をとらえてみましょう! 今回のサンプルコード サンプルコー…

第5話 集計と可視化:pandasでデータの加工をしてみよう【漫画】未経験なのに、機械学習の仕事始めました

サンプルデータをダウンロードしよう 当記事で利用するデータセットはこちらのサイトからダウンロードできます。 コードはこちらに掲載しています。 「Data Folder」をクリックし、次のページで「Online Retail.xlsx」をクリックすることで、データをダウン…

第2話 レイアウトで躓きやすいポイント 【連載】実務で使えるAccessのコツ

データベース管理ソフトウェア、Accessを実務で使うときに「知っているとちょっと便利なコツ」について紹介するこのコラム。今回はレイアウトでつまずきやすいポイントを解説します。見た目が揃わずにイラッとしたことがある方はぜひ最後までお読みください…

第1話「イベント」を使いこなそう 【連載】実務で使えるAccessのコツ

MicrosoftOfficeシリーズで利用できるデータベース管理ソフトウェア、Access。Excelなど他のソフトと比べて情報が少ないため、わからないことがあっても調べるのに苦戦し、結局同じ機能ばかり使っていませんか?このコラムでは、Accessを実務で使うときに「…

第4話 機械学習したいのにデータがない!? 【漫画】未経験なのに、機械学習の仕事始めました

データを使える状態にする「前処理」って何? 前処理は、第1話で紹介した CRISP-DM において、ビジネス理解、データの理解、データの準備の3ステップにあたります。 STEP1.ビジネス理解 まずは、ビジネス理解についてです。解決したい問題設定におけるビジネ…

第3話 機械学習の活用事例!建設機械や回転寿司屋でも活用されている!?【漫画】未経験なのに、機械学習の仕事始めました

私たちの日常にも、データ活用や機械学習が活かされているんですね! 現実世界で「機械学習の技術」は、どのように活かされているの? マーケティング領域ではデータ活用が進んでいます。マーケティング職や、ウェブ、アプリ開発の仕事をされている方は、機…

特別編集 テクニカルライティング

文章を書くことに苦手意識を持っていませんか?仕様書などの技術的な文章を書くときに使える「テクニカルライティングのポイント」をご紹介します。テクニカルライティングは、課題解決するための思考整理にも使えるそう。メールや議事録でも使える「ロジッ…

特別編集 Git

誰が・いつ・どこで・何のために・どう修正したか、という記録を取りまとめることができる「Git」。便利なツールであるため、Gitを導入する企業が増えています。いまは利用していなくても、転職や新しい現場で利用していたときに備えて、「基礎の基礎」と「…

第2話 人工知能、機械学習、ディープラーニングの違いとは?【漫画】未経験なのに、機械学習の仕事始めました

人工知能、機械学習、ディープラーニングの違い 人工知能という言葉の定義はむずかしい 人工知能という言葉の定義はむずかしいと言われています。「人工」という言葉には「人間と機械を区別する基準は何か?」という問いが生まれます。「知能」という言葉に…

特別編集 VBA

パソコンにExcelやAccessが入ってさえいれば、環境構築が不要ですぐに利用できるプログラミング言語の「VBA」。手軽に学べて、多くの職場で求められることが多いスキルです。事務のお仕事からエンジニアに転身した方のインタビューでも、はじめはExcelの「VB…

特別編集 RPA

事務作業などを自動化し、業務の効率化に繋がるRPA。コロナ禍で導入する企業も増え、いま注目されているツールの一つです。そこで今回は、RPAの基本や現場での事例、ロボット開発の手順などを解説した記事をまとめました。今後もRPAに代替させる業務が増える…

第1話 機械学習の仕事内容って?実はコードを書くだけじゃない!【漫画】未経験なのに、機械学習の仕事始めました 

(出典)https://papers.nips.cc/paper/2015/file/86df7dcfd896fcaf2674f757a2463eba-Paper.pdf ・Configuration:設定 機械学習システムに必要な設定をする・Data Collection:データ収集 機械学習するためのサンプルデータを集める・Data Verification:デ…

【動画レポート】ITIL(R)の基本。技術者であってもサービスを理解しよう

この記事では、動画「ITIL(R)の基本。技術者であってもサービスを理解しよう」をレポートします。 今回の動画では、ITサービスマネジメントのフレームワークとして世界中で利用されているITIL(R)の基本、それを理解するためのITサービスマネジメントの考え方…

第19話 detached HEAD 状態って何?ブランチがない状態を解決する方法 【連載】マンガでわかるGit~コマンド編~

Webサービスやアプリ開発の現場では必須のバージョン管理システム「Git(ギット)」。Gitは、専用のソフトを使えばクリックで直感的に操作することもできますが、いざというときにコマンドが使えると便利です。 前回の第18話では、コミットにタグをつける「g…

特別編集 Webクリエイター

未経験者だけれども、「HTMLやJavaScript、PHPを勉強してみたい」という声を多く聞きます。そこで今回は、フロントエンドエンジニアとサーバーサイドエンジニアに必要な基礎知識をご紹介。Webクリエイターの仕事内容は幅広く、その分学ばなければいけないこ…

'); $backTopNav.appendTo($('.no-entry .entry-content')); } ////////////////////////////////////////////////////////// /* /* カテゴリ **/ function setLocalNav(){ // 右カラム:イベントレポートのナビ生成 var $reportNav = $('#js-report-nav'); if ( $reportNav.length > 0 ) { var reportCatParentIndex = 2; var reportCats = itseCategory[reportCatParentIndex][1]; $.each(reportCats,function(index, val) { $('
  • '+itseCategoryText[reportCatParentIndex][1][index]+'
  • ').appendTo($reportNav); }); } // 右カラム:コラム・連載のナビ生成 var $columnNav = $('#js-column-nav'); if ( $columnNav.length > 0 ) { var columnCatParentIndex = 1; var columnCats = itseCategory[columnCatParentIndex][1]; $.each(columnCats,function(index, val) { $('
  • '+itseCategoryText[columnCatParentIndex][1][index]+'
  • ').appendTo($columnNav); }); } } function setClassCategories(){ $('.categories a').each(function(){ if(!$(this).hasClass('.urllist-category-link')){ $(this).addClass('urllist-category-link category-'+$(this).text()); } }); } setLocalNav(); setClassCategories(); ////////////////////////////////////////////////////////// /* /* カレンダー **/ var eventData; var Calendar = function (elm) { this.$elm = elm; } Calendar.prototype.init = function () { this.$calendar = null; this.calendarDate = {}; this.settings = { year: 0, month: 0, weekValue: ['æ—¥', '月', '火', 'æ°´', '木', '金', '土'], areaClass: 'calendar', activeDateClass: 'active-date', prevNavClass: 'prev', nextNavClass: 'next', sunClass: 'sun', satClass: 'sat', todayClass: 'today', emptyClass: '', headerFormat: 'yå¹´m月', emptyValue: ' ' } var date = this.getDate(); this.calendarData = { year: date.year, month: date.month, date: date }; this.today = date.days; this.currentMonth = date.month; this.currentYear = date.year; this.setup(); } Calendar.prototype.getDate = function () { var date = new Date(); var toYear = date.getFullYear(); var toMonth = date.getMonth() + 1; var toDays = date.getDate(); var result = {}; result = { year: toYear, month: toMonth, days: toDays }; return result; }; Calendar.prototype.getPrevDate = function () { var result = { year: this.calendarData.year, month: this.calendarData.month }; if (result.month === 1) { result.year--; result.month = 12; } else { result.month--; } return result; }; Calendar.prototype.getNextDate = function () { var result = { year: this.calendarData.year, month: this.calendarData.month }; if (result.month === 12) { result.year++; result.month = 1; } else { result.month++; } return result; }; Calendar.prototype.zeroFormat = function (v, n) { var vl = String(v).length; if (n > vl) { return (new Array((n - vl) + 1).join(0)) + v; } else { return v; } }; Calendar.prototype.weekClass = function (weekNumber, targetDate) { var date = this.getDate(); var classArr = []; var classStr = ''; if (weekNumber === 0) { classArr.push(this.settings.sunClass); } else if (weekNumber === 6) { classArr.push(this.settings.satClass); } if (targetDate && targetDate === '' + date.year + this.zeroFormat(date.month, 2) + this.zeroFormat(date.days, 2)) { classArr.push(this.settings.todayClass); } if (classArr.length > 0) { classStr = ' class="' + classArr.join(' ') + '"'; } return classStr; }; Calendar.prototype.createBaseHTML = function () { var htmlStr = ''; htmlStr += '\n
    \n'; htmlStr += '
    \n'; htmlStr += '
    \n'; htmlStr += '
    \n'; htmlStr += '
    \n'; htmlStr += '
    \n'; htmlStr += '
    \n'; htmlStr += '
    \n'; htmlStr += '
    \n'; this.$calendar = $(htmlStr); this.$calendar.addClass(this.settings.areaClass); this.$calendar.find('.calendar-month').addClass(this.settings.activeDateClass); this.$calendar.find('.calendar-prev').addClass(this.settings.prevNavClass); this.$calendar.find('.calendar-next').addClass(this.settings.nextNavClass); }; Calendar.prototype.createBody = function () { var self = this; var year = this.calendarData.year; var month = this.calendarData.month; var lastdays = new Date(year, month, 0); var forDate = new Date(year, month - 1, 1); var emptyCell = '
  • ' + this.settings.emptyValue + '
  • \n'; var rowCount = 1; var htmlStr = ''; var i; var j; var len; htmlStr = '\n'; htmlStr += '\n'; htmlStr += '\n'; this.$calendar.find('.calendar-body').html(htmlStr); }; Calendar.prototype.setHeader = function () { var headerText = this.settings.headerFormat.replace('y', this.calendarData.year).replace('m', this.calendarData.month); this.$calendar.find('.calendar-month').html(headerText); }; Calendar.prototype.setup = function () { var self = this; this.createBaseHTML(); this.setHeader(); this.createBody(); // ヘッダー内、左右のリンクをクリックしたときの処理 this.$calendar.find('.js-change-month a').on('click', function () { var mode = $(this).attr('href').replace(/^#/, ''); if (mode === 'prev') { self.prevMonth(); } else if (mode === 'next') { self.nextMonth(); } return false; }); this.$elm.append(this.$calendar); }; Calendar.prototype.changeCalendar = function (year, month) { var date = this.getPrevDate(); if (year && month && String(year).match(/^[0-9]{4}$/) && String(month).match(/^[0-1]?[0-9]$/)) { this.calendarData.year = Number(year); this.calendarData.month = Number(month); this.setHeader(); this.createBody(); } }; Calendar.prototype.prevMonth = function () { var date = this.getPrevDate(); this.changeCalendar(date.year, date.month); }; Calendar.prototype.nextMonth = function () { var date = this.getNextDate(); this.changeCalendar(date.year, date.month); }; ////////////////////////////////////////////////////////// var getEventData = function () { var d = $.Deferred(); // dataを作る var data = {}; eventSchedule.forEach(function(v, i){ var date = new Date(v.date); var event = { category: v.category, year: date.getFullYear(), month: date.getMonth() + 1, day: date.getDate(), url: "http://www.itstaffing.jp" + v.url, title: v.title, }; data[i+1] = event; }); // ここまで d.resolve(data); return d.promise(); } if ($("#calendar").length > 0) { var getData = getEventData(); getData.then(function (data) { eventData = data; //console.log(eventData); var calendar = new Calendar($("#calendar")); calendar.init(); }); } //}; }); }();