株式会社シベスピ 従業員ブログ

シベスピの社員ブログ。技術・想い・経験沢山書いていきます!

最近知ったplantUMLを使ってみた

こんにちは。日笠です。

入社をして1年半が過ぎました。入社当初は仕事に精一杯で土日も仕事のことを考えたりしていましたが、最近はようやく生活が自分のものになってきて休みの日は趣味に費やすことができております。

今回のテーマ「plantUML」

f:id:chivsp:20210719090824p:plain
plantUML_参考

さて今回はplantUMLのお話です。
UML自体の説明は、様々なサイトが解説しているので、割愛します。

plantUMLを使おうとした経緯

私はPowerPointで資料を作成するのが結構好き(得意とは言いません(笑))で、満足できる出来になるまでとことん突き詰めます。趣味だったらいくらでも時間をかけていいのですが、仕事となると別です。
PowerPointで一番時間がかかるのが、図の位置調整でしょうか。グループ化したり、図の配置から左右中央ぞろえなどを利用して効率的に位置調整をしても、やっぱり時間がかかります。
プログラムチックに文字だけで図を描けないものか(latex的な)と探していた時に「plantUML」を知りました。

plantUMLとは

wikipediaを見ると、「オープンソースUMLダイアグラム作成用のテキストベースの言語」とのことです。

plantUMLに必要な環境

肝心のplantUMLが入ってないけど!っとなるかと思いますが、Visual Studio Codeからインストールが可能です。
環境構築は全く難しくありませんでした。検索すれば詳しい環境構築方法がありますので、そちらを参考にしてください。

実際に使ってみる

シーケンス図

plantUMLでの記載


   @startuml
      title ログイン画面

      actor ユーザ
      ユーザ -> "ログイン画面" : ログイン
      "ログイン画面" -> "ユーザ情報" : 権限チェック

      ref over ユーザ情報, 権限 : 権限チェック
      "ユーザ情報" --> "ログイン画面" : 権限結果

   @enduml

結果
f:id:chivsp:20210717234100p:plain
ログイン画面_シーケンス図
Visual Studio Codeの画面

実際の編集画面です。

f:id:chivsp:20210717235024p:plain
Visual Studio Code_編集画面

コードを編集するとリアルタイムで図も更新されます。コードにエラーがある場合は、図は更新されず、ビックリマークが出ます。

ER図

plantUMLでの記載


@startuml
    entity "顧客マスタ" as costomerMaster {
        *顧客ID
        --
        顧客名
        郵便番号
        住所
        電話番号
        FAX番号
    }


    entity "注文" as order {
        *注文ID
        --
        *顧客ID:<>
        注文日時
        配送希望日
        配送方法
        お届け先名
        お届け先住所
        決済方法
        合計金額
        消費金額
    }


    entity "注文明細" as orderDetail {
        *注文ID
        *明細番号
        --
        SKU
        注文数
        税抜価格
        税込価格
    }

    entity "SKUマスタ" as SKUMaster{
        *SKU
        --
        商品ID:<>
        カラー
        サイズ
        重量
        販売単価
        仕入単価
    }

    entity "商品マスタ" as productMaster{
        *商品ID
       --
        商品名
        原産国
        仕入れ先ID:<>
        商品カテゴリ
        配送必要日数
    }

    entity "仕入先マスタ" as SupplierMaster{
        *仕入先ID
        --
        仕入先名
        郵便番号
        住所
        電話番号
        FAX番号
    }

    ' ------- IE記法 ------- '
    '' 「|」は1
    '' 「o」は0
    '' 「{」「}」は多
    ' ------- リレーション------- '
    '' 「r」は右
    '' 「l」は左
    '' 「d」は下
    '' 「u」は上
    costomerMaster |o-r-o{ order
    order||-r-|{orderDetail
    orderDetail}-d-||SKUMaster
    SKUMaster}|-l-||productMaster
    productMaster||-l-o{SupplierMaster


@enduml

結果
f:id:chivsp:20210718003355p:plain
ER図

最後に

今回は、シーケンス図とER図をサクッと作成してみましたが、公式サイトには下記のような図も作成することができるそうです。

  • シーケンス図
  • ユースケース
  • クラス図
  • オブジェクト図
  • アクティビティ図
  • コンポーネント
  • 配置図
  • 状態遷移図(ステートマシン図)
  • タイミング図

いかがだったでしょうか。
plantUMLを使うことで、テキストベースでそれなりの図を描くことができました。
記法もなんとなくで記載できそうなわかりやすい書き方となっていると思います。(特にER図の「|」「o」「{」とか)
さっと、図を作るときに覚えておいて損はないでしょう。

ありがとうございました。

目標について

山田です。今回は「目標」に関する記事を書こうと思います。
書こうと思ったきっかけは、私も30歳を超え、今後の人生をどうしていくのかについて、色々考えたからです。(いまも考えています)
今回は、仕事を軸に話をしますが、他の事でもポイントは同じだと考えています。

目標を立てる

どういう人になりたい、こんな仕事をしたい、こういう生活をしたい、老後はこんな趣味をしたいなど、考えるポイントは多く、それを掘り下げていくことで目標が具体的になります。その目標を達成するには、どのくらいの年収が必要なのか、どんなスキルを持っている必要があるのか、どんな役職になっている必要があるのかがわかってくるので、それを目標にします。
具体的になっていないと、何をしたらよいかが決まらないので、出来る限り具体的になるよう考えてください。また、合わせていつまでにも考えてください。期限を設けることで、次の「実現方法を考える」際に役立ちます。

実現方法を考える

目標が見つかったら、それを実現するために必要なことをまとめましょう。
例えば、先ほど書いた「どんな役職になっている必要があるのか」は、その役職に上がるために、必要な条件や経験などを確認してみて、それを満たすためにやるべきことを掘り下げると、やるべきことの全量が見えてきます。そのやるべきことを、目標の際に考えた「いつまで」に収まるように計画を立てます。その計画が現実味を帯びていない場合は、何が原因で実現に不安を感じているのかを、分析して、対策をする、もしくは、目標の再設定をしましょう。

実際に動く

実現方法を考えたら、あとは動くだけです。
なかなか計画通りには行かないと思います。問題が起きるたびに計画を修正して、目標達成に向けて頑張っていきましょう。

相談する

「目標を立てる」「実現方法を考える」「実際に動く」の3つの工程でまとめましたが、どの工程も、初めから100点で実施するのは難しいと思います。
もし周りに信頼できる人がいるのであれば、相談するとよいと考えています。自分では気づけなかった視点で意見をもらえたり、人生の先輩であれば、経験した結果を教えてくれるかもしれません。

まとめ

私も、漠然と動くよりは目標を持って動く方が、有意義で効率も良いと感じて、日々を過ごしています。
なかなか、すぐに目標を立てて動くのは難しいと思いますので、まずは考えてみると良いと思います。将来の話をするのは少し恥ずかしい感じもしますが、いろいろな人と話して、意見を交換したり、アドバイスをもらうことで、今後の人生が今より良くなるかもしれません。

動的に条件を切り替えるSQL

SBです。
今回は前回同様、SQLを備忘録がてら紹介します。
Oracleにて動的に条件を切り替えるSQLです。

テーブルはこんな感じ
在庫テーブル

区分 商品 在庫
食物 リンゴ 20
食物 バナナ 10
その他 ドライバー 10
その他 タオル 5

在庫に関して、食物は10以下、その他の場合は5以下の時に発注をしたいです。
なので、今回の場合は以下を抽出します。

区分 商品 在庫
食物 バナナ 10
その他 タオル 5


最初考えたときはこんな感じのSQLを想定していました。

SELECT * FROM 在庫テーブル
WHERE CASE WHEN 区分 = 食物 THEN 在庫 <= 10
           WHEN 区分 = その他 THEN 在庫 <= 5


が結果は、ORA-00905 キーワードがありませんとエラーが出ました。
調べた感じMySQLでは使えるようですが、Oracleでは使えませんでした。
SQL単体ではCASE句のみの対応のため、使える箇所は項目として使用する箇所のみのようです。
上記の記述だとCASE文になるためその場合はPL/SQLが必要になってくるとのこと。

なので今回の例だとCASE句に書き換えた以下のSQLで抽出できます。

SELECT * FROM 在庫テーブル
WHERE CASE WHEN 区分 = 食物 THEN 10
           WHEN 区分 = その他 THEN 5
           END >= 在庫 


ただ、もっと複雑な条件になってくると煩雑になってくるので、基本的にはこう書くのが一番簡潔でよいのかなと思います。

SELECT * FROM 在庫テーブル
WHERE (区分 = 食物 AND 在庫 <= 10)
   OR (区分 = その他 AND 在庫 <= 5)

以上、備忘録がてらのSQL紹介でした。

エンジニアの資格について

お久しぶりです、大畠です。
最近引っ越しまして、念願だったダイニングテーブルを購入しました。

それまで自宅で仕事する時には座椅子&座卓だったのですが、床に近い状態で仕事をするのがどうも落ち着きませんでした。
特に不便とかはなかったのですが、パソコンで作業する時は椅子に座ると集中できる気がします。
ですが、椅子に座っても結局あぐらをかいているので、座椅子の時と姿勢は変わっていません。
床からの高さと集中力は関係ないとは思いますが……以上、単純な好みの話でした。

資格制度の興味

最近ではIPAが主催する基本情報技術者試験がありました。
弊社では基本情報の資格取得は必須となるので、私も入社してから勉強し取得した次第です。
資格取得するまでは、それを目標にスキルアップのモチベーションとしていたのですが、資格取得してからは、なにを目標にすればよいか迷っていました。
今は、現場で活躍できるようその分野のスキルアップを目指していますが、そういえば基本情報を取得してからさらに上の資格にはなにがあるのか気になり、今回調べてみました。

国家資格

IPAが主催している情報処理技術者試験は、経済産業省が認定している国家資格です。
ひとえに国家資格と言っても、細分化されており、以下のようにランク分けされています。
www.jitec.ipa.go.jp

基本情報技術者試験(FE)

エンジニアの登竜門的な存在。
出題する分野が幅広く、ITエンジニアのキャリアを築いていく上でも、こんな技術があるのかと知ることもできるので有用な資格だと思います。
下記の統計情報を見る限り、合格率は毎年25~30%程度だそうです。
IPA 独立行政法人 情報処理推進機構:情報処理技術者試験・情報処理安全確保支援士試験:統計情報
難しい試験と思われがちですが、一方で過去には9歳の子が合格したこともあるそうです。
当試験については、他の社員が記事に取り上げていますので、気になる方は見てみてください。
chivsp.hatenablog.com
chivsp.hatenablog.com

応用情報技術者試験(AP)

基本情報で得た知識と現場経験から、さらなる応用を利かせたエンジニアスキルが求められた資格です。
分野は基本情報技術者試験と変わりありませんが、総じて難易度は上がっています。
午後試験も記述式となるので、鉛筆を転がして運で受かるような試験ではありません。
個人的には応用情報を持つと、世間からもエンジニアとしてスキルがあるな、とアピールできると思っています。
次にIPAを受けるならば、私もこの試験からになると思います。

高度情報処理技術者試験

基本情報、応用情報ではITに関する幅広い分野に精通するゼネラリスト的な知識を求められましたが、高度情報処理の資格取得には各分野に特化したスペシャリスト的な知識が求められます。

ITストラテジスト試験(ST)

ITを活用した経営戦略や事業提案など、情報技術の他に経営戦略についての知識が要求されます。
ITコンサルタントや幹部候補など、経営を踏まえたシステム構築ができることを目的としています。

システムアーキテクト試験(SA)

要求された品質で、対象のシステム化計画の構想、立案、ソフトウェアの設計、開発、テスト、運用及び保守についての知識が求められます。
高度試験の中で歴史も古く、システムエンジニアの王道ともいわれる資格です。

プロジェクトマネージャ試験(PM)

システム開発の管理、プロジェクトを円滑に進めるマネジメントについての資格です。
各チーム間の連携やステークホルダへの報告や相談など、細かい調整を求められ、試験内容も論文形式と高度試験の中で難易度の高い試験と分類とされています。

ネットワークスペシャリスト試験(NW)

ネットワーク分野に特化した資格です。
企画から要件定義、開発、運用、保守の業務に従事し、セキュリティの観点からも堅牢なネットワークシステムが構築できることが求められます。
合格に求められる知識量も他の試験より多いとされています。

データベーススペシャリスト試験(DB)

データベースを使用するシステムの企画~運用・保守までの技術支援、効率性や安全性といったユーザの要求に従った品質のあるデータベースを構築できるスキルが求められます。
後に出てくるベンダー資格など、特定の製品でしか使えない技術は出題されず、標準SQLが出題対象となります。

エンベデッドシステムスペシャリスト試験(ES)

組み込みシステム系についての資格です。
ハードウェアとソフトウェアを組み合わせたシステム構築ができ、電子回路やモータ関連の知識が要求されます。
場合によっては物理の教科書に出てくる知識も必要となるそうです。
昨今では、IoT系エンジニアを目指す方に取得してほしい資格となります。

ITサービスマネージャ試験(SM)

試験は主にITIL(Information Technology Infrastructure Library)に関する問題が多く、リスク管理やコスト管理といった知識も求められ、ある程度の経営知識やビジネススキルが必要とされています。

システム監査技術者試験(AU

三者的立場として、該当システムを総合的に点検・評価・検証し、改善などの助言をあたえる監査人としての技量が求められます。

情報処理安全確保支援士試験(SC)

サイバーセキュリティに関する専門的な知識や技能についての資格です。
進化の著しいサイバー攻撃マルウェアの対策や、脆弱性を持たないシステム構築に関する知識が求められ、最近でも注目度の高い資格です。

民間資格

エンジニアが取得できる資格には公的組織から認定される資格の他、IT関連製品を製造・販売するベンダーから、自社製品の操作や管理技術を満たしていることを認定する民間資格などもあります。
IT技術の発展に伴い、その数は膨大で全部取得することは難しいでしょう。
以下はその一例です。
自分のスキルやキャリアを踏まえて、どの資格を取得すればよいのか(あるのか)、調べてみてはいかがでしょうか。

Microsoft認定資格プログラム(MCP

Microsoft製品に対する知識と技能をレベル別に判定します。
製品ごとにバージョンの違いなどがあるので、漠然とMicrosoftを使っているからといって受験するのは難しいと思います。
Microsoft Certifications | Microsoft Docs

ORACLE MASTER

日本ORACLE社が公式に運営するデータベースの理解力を認定する資格です。データベースの構築・運用の他、SQLに関する問題も出題されます。
ORACLE MASTER Portal - be an ORACLE MASTER - | オラクル認定資格制度 | Oracle University

AWS認定資格

クラウドサーバにおいて、トップシェアを誇るAWSの公式認定資格です。
AWSはサービスが100種類以上あり、その中でシステム要件に沿った適切なサービスを利用するには専門的な知識が必要です。
AWSを使用する企業が増える中、保守・運用できる人材は重宝されるので注目度の高い資格です。
AWS 認定 – AWS クラウドコンピューティング認定プログラム | AWS

CCNA 認定

Cisco社が実施するネットワークエンジニアの技能を認定する資格です。
基礎的なネットワーク知識の他、Cisco社製品の知識を求められます。
資格取得後も3年後には失効してしまうので、日々技術のアップデートをし、再度受験をする必要があります。
CCNA 認定とトレーニングプログラム - Cisco

Linux技術者認定試験(LPIC

カナダに本部を置くNPO法人「LPI」によって運営されています。
世界でも通用する公正なLinuxスキルを求められます。
LPIC | 世界標準のIT資格 | LPI日本支部 | Linux Professional Institute Japan

最後に

エンジニア間の会話で、資格取得には興味がない(資格に意味はない)という意見を持つ人をたまに見かけます。
僕は自分に自信がないので、自身のエンジニアとしての立場を理解するために資格を持つのはいいことだと思います。
また、資格勉強を通じて知らなかった知識に触れることは楽しいですし、思わぬ興味の発見にもつながるので、安くはない受験料を払って受験する価値はあると思います。

宅配弁当のすすめ。

こんにちは。
在宅勤務の日のお昼休みは、もっぱら洗濯をしている松本です。
週末に一気に洗濯を回さなくていい生活、とてもいいですね。
状況が落ち着いても、在宅が世の中に定着したままでいてくれると嬉しいです。洗濯物のために。

飲食店が早く閉まっちゃう……。

私は自炊がまったく得意ではないので、食事に関してはどうしても「買う」という方向に走ってしまいがちなのですが……。
残業してしまった、電車が遅れてしまった等々の理由により、最寄り駅に着く頃には20時を回っていることもしばしばある中、緊急事態宣言やまん延防止重点措置により、店内で飲食ができるお店は閉まっていることが多いです。
こうなると選択肢は、コンビニまたはテイクアウトをしているお店に限られてくるわけですが、そろそろマンネリが来てしまいました。

そんな中で目に入ったのが、今回お話する宅配弁当のサブスクリプションです。
今まで、あまり「サブスク」そのものに興味を持っていなかったのですが、せっかくの機会だと思って、ちょっと見てみることにしました。

予想以上にいっぱいある!

いや多いな!
というのが、最初にざっと調べてみた感想でした。

ですが、ただ同じようなサービスが並んでいるわけではありません。
食材が届いて調理は自分でするもの、とにかくコスパがいいもの、おまかせでメニューを選んでくれるもの……などなど。
各社に特徴があって、私の理想に合ったサービスを探すのはそれほど苦労しませんでした。
逆にこれだけ多種多様な内容が揃っていれば、自分がなぜ宅配弁当を利用したいのかを突き詰めたら、きっとそれぞれの理由に合うサービスが見つかりそうだなあと思います。

利用してみて

これまでは帰宅前にコンビニに寄っては、栄養を気にしてサラダを買ってみたり、カロリーを確認してみたりと、いろいろと気にしながら、陳列棚を右往左往してその日の夕食を購入していました。
しかし今回「栄養バランスを重視したサービス」を選んだおかげで、帰宅後レンジでチンするだけのストレスのない食事ができて、大変助かっています。
また、常に自宅にお弁当があるようなものなので、とにかく在宅勤務をしている時のお昼にちょうどいいです。
今の生活様式にピッタリなのがうれしい!
これからも利用していこうと思っています。

おわり

本当に色んなサービスがあって、見ているだけでも楽しかったです。
普段お弁当などを購入していらっしゃる方はもちろん、自炊が得意な方でも、試しに検索してみてはいかがでしょうか。

ポジティブに考えることのメリット

お久しぶりです、黒田です。
相変わらずの内向き発信ネタです。

ポジティブの反対はネガティブ

何を当たり前のことを言ってるんだと言われそうですが、大事なことなので書きました。
何が言いたいのかというと、ポジティブな考えから行った行動とネガティブな考えから行った行動は真逆の結果につながるということです。
また、その結果は自分だけでなく周りに対しても同様です。
どちらも周囲を巻き込んだ効果を発生させやすいと考えておくことは重要だと思います。

ネガティブであることを自覚することが大切

私は働き始めた頃はネガティブでした。
これは今だから言えることで、当時は自分で自分をネガティブとは思っていません。
当時は業界全体で高稼働が当たり前だったこともあり、上司はプロジェクトがトラブっていようが人がどんどん辞めていこうが手を打ちません。
何で誰も改善しないんだとか、何で何もしない人間が役職に就いて高い給料もらってるんだとブーブー言いながら働いていました。

そんな働き方をしていた頃のとある社内での飲み会で、プロジェクトの愚痴を言っていたらある先輩社員から言われました。
 
 「黒田くん、愚痴ばっかりでもったいないよね」

場の空気を壊さないように笑顔ながらも相手に確実に刺さることを重要視した強めの神発言だったことも大きいですが、自分の心にぶっ刺さると同時に強く気付かされました。

 「そうか、俺は周りの人間を不快な気持ちにしていたのか」

ということはポジティブは周りをポジティブにする

会社で一緒に働く仲間を不快な気持ちにしていいことなど何もありません。
自分にとっても会社にとっても不利益しか生まないので、自分だけでなく周りもポジティブになるような行動を実行するようにしました。
大事なのは視点を変えることです。
 
 仕事が忙しい
 →生産性を上げるための実戦訓練機会に恵まれている、人を増やすチャンスがある、会社にアピールするチャンスに恵まれている
 周りの人のやる気がない
 →リーダーシップを発揮するチャンス、自分の仕事の範囲を拡大するチャンス
 お客さんが何も決めてくれない
 →自分たちに都合のいい方向に進めるチャンス、主体的に提案してお客さんにアピールするチャンス
 上司から指摘を受けた
 →自分の短所や改善すべき点を(タダで)教えてもらえた、一つ賢くなった

ビジネスマンにとって一番の不幸は仕事がないことであり、会社の利益に貢献=自分の評価になるという原則さえ忘れなければ大体のことはポジティブに捉えられます。

最後に

誰しもポジティブな人に自分の気持ちを牽引されたり、ネガティブな人にため息をつきたくなったことはあると思います。
周りの人とはポジティブな方向に引っ張り合った方が得することが多いので、1人でも多くの人が意識することが大事かなと思います。
自分の気持ちをコロコロと左右されるのは嫌だと思うかもしれませんが、前向きな方向にはチョロい方が得することが多いというのが持論です。
レッツポジティブループ!!

基本情報技術者試験の勉強方法について

お久しぶりです。
鎌野です。

シベスピでは、新入社員の方に基本情報を取得してもうらようにしています。
現在、春季の試験が開催され、合格された方や惜しくも不合格になってしまった方もいる状況です。
※CBT形式は、テスト後に正答率が表示されるためおおよそ合格ラインに
 達しているかわかるようになっています。

今回は、自分が基本情報の勉強していた時に考えていたことや勉強方法について、少しお話をさせてもらおうかと思いました。

あくまで、私の主観に基づいていますので参考になればよいかと思います。

基本情報について知ろう

基本情報は、大きく分けて2つのテストで構成されています。
 1.午前問 80問(1つ1.25点)
 2.午後問 
両方のテストで、60点以上取れば晴れて合格となります。
※多少その時の状況によってボーダーが前後しますが、基本的には60点です。

基本情報の勉強方法に記載されているサイトは見かけますが、「基本情報は簡単ですぐ合格できる」といったような言葉がありますが、それでも合格することが難しいと思っています。
毎回、合格率は30%前後です。
試験の申込だけをして受けに来ない人がいると考えても、40%くらいになるでしょうか。
要は、半分以上は不合格になっているということです。
※中には、真面目に勉強せずに来ている人などもいるので、
 もう少しは上がるかと思いますが。

合格率が40%の試験なので、簡単には合格できないかと思っています。
なので、サイトの「基本情報は簡単ですぐに合格できる」といった言葉に惑わされないようにしてください。

最初に実施してもらいたいこと

まずは、過去問を1つ規定の形式で解いてください。
その前に一通りの勉強などは必要ありません。
これには、下記のような理由があります。
 1.勉強せずに解いた場合、どれくらいの点数が取れるか知っておく。
 2.基本情報の試験がどういう感じかを知っておく。

1については、自分の今の実力を知っておく必要があります。
点数は悪くてもかまいません。
点数を知ることで現在の立ち位置を確認し、今後の勉強計画の方針を決定するためです。
点数が悪ければ、合格に向けて勉強量を増やしたり、逆に点数が良ければ、無理のない勉強量でスケジュールを立てることが出来ます。

私の場合は、試験の何か月前までには午前と午後で●●点を超えるといった基準を決めてそれに沿って勉強していました。
 ①3か月前は、午前と午後で60点を超える
 ②2か月前は、午前と午後で70点を超える
 ③1か月前は、午前と午後で80点を超える
といった感じです。
1か月前に60点を超えるという目標だと、本番の試験では危ないので、余裕をもった目標にすることをお勧めします。

2については、試験の問題がどういった感じかわかっていないと勉強方法も定まらないためです。

午前問について

まずは、午前問について知りましょう。
午前問の構成は80問で、1つの問題は4つの選択解答式です。
 1.テクノロジ系 50問
 2.マネジメント系 10問
 3.ストラテジ系 20問

テクノロジ系は、午前の大部分を占める問題になります。
範囲も幅広いです。
しかし、出題される傾向は各分類で偏りもあります。
出題される傾向が高い問題を優先的に勉強するようにしましょう。
出題される頻度が低い問題を勉強しても、点数に結び付く可能性は低いので。

マネジメント系も同様です。

ストラテジ系は、主に単語の説明を回答する問題です。
なので、暗記ができるかどうかなので暗記さえできれば点数は取れます。

基本的には、過去問道場というサイトがあるので過去問を解き続けて勉強することをお勧めします。
基本情報は過去の問題をそのまま出してくる場合もあるので、問題を見ただけで解答できる場合も少なくはありません。
また、似たような問題も出題されます。
過去問を解いて、その問題の内容や選択肢に出ていた言葉(不正解の選択肢も含む)の意味を理解するようにすれば、点数も上がってくるかと思います。

最後に、苦手分野についてです。
どうしてもテクノロジ系の中で苦手分野ができないという人もいるかと思います。
そういった分野は思い切って捨てましょう。
午前問は60点以上を取れさえすればいいのです。
1つや2つ捨てたとしても、4択なので25%で当たります。
ましてや、その分野が出題されない可能性もあります。
ですので、どうしてもわからない分野に時間をかけるより他に時間をかけたほうが良いということもあります。

私の場合は、計算問題が苦手でした。
2進数から10進数に変換しろとかいった問題ですね。
この計算問題は必ず出題されるので、勉強しておいたほうがいいのですが、他で点数を取るために捨てました。
25%に賭けました。

こういったように、苦手分野を捨てることも視野に入れておいてください。
ただし、捨てる分野が多くなりすぎることは注意してください。
出題の頻度とも相談して決めてください。

午後問について

午後問は下記のような構成になっています。
 1.情報セキュリティ問題 必須 20点
 2.4つの分野から2つ選択する問題 4つ中2つ選択 各15点
 3.アルゴリズム問題 必須 25点
 4.プログラム言語問題 4つ中1つ選択 各25点

まずは、プログラム言語問題で何を選択するか決めましょう。
おそらく、Java表計算のどちらかが多いかと思います。
これは自分に合った問題を選択してください。
Javaに自信がなければ表計算がよいかと思います。
決めたあとは、その分野だけを勉強するようにしてください。

次に勉強方法についてです。
問題構成を見てわかるように、情報セキュリティとアルゴリズム、プログラム言語は必ず出題される問題です。
そして、これらで満点を取れば70点で合格ラインに到達します。
なので、集中的に勉強すべきはこの3つになります。
ここで点数を取れないと、合格ラインに到達することが難しくなります。

情報セキュリティについては、そこまで難しくないのである程度勉強すれば全て正解を解答できるかと思います。

問題はアルゴリズムとプログラム言語です。
こちらは、1つ考え違いをしてしますと雪崩式に解答を間違う可能性があります。
そして、配点も高いです。
なので、この2つは早いうちから集中的に勉強しておくことをお勧めします。

アルゴリズムが苦手で点数が取れないですという人は多くいます。
しかし、これだけは避けて通れません。
早いうちに問題になれて、解答できるようにしてください。

残りの2つの選択問題については、満遍なく勉強するしかありません。
しかし、午前問で勉強した知識も役に立つので他の問題よりかは難しくはないかと思います。
こちらについても、午前問と同じようにある程度の分野は捨てることも可能です。
私は、ソフトウェア・ハードウェア分野が苦手でしたので、そこが勉強しませんでした。
選択式なので、たとえその分野が選択肢にあったとしても、他を選べばよいだけです。
ここでも、あまり捨てすぎると困ることになるので注意はしてください。

最後に

私は、過去問をずっと解いて勉強をしていました。
他のサイトを見えても過去問だけ解いていればよいといったサイトも多くありますが、その通りかと思います。
過去問で勉強は可能です。
しかし、初めてIT系の勉強をする人で多いのは、まずは書籍で勉強してある程度の知識を身に着けてから問題を解くといった人だと思います。
それでも問題はないと思いますが、そこに時間をかけすぎないようにしたほうが良いです。
本を読んだだけで、出来る気になって満足するためです。
なので、本を読むのは遅くても1週間程度で切り上げて、問題を解くようにしてください。

以上が私が実践していた勉強方法や考え方です。
もちろん、これが全て正解ではありません。
自分にあったやり方もあるかと思います。

まずはどうしたらいいかわからないと迷ったときに、1つの方法として実践してもらえればと思っています。

次は秋季試験になるかと思いますが、試験を受ける方の少しでも参考になり合格できるための手助けになれれば、うれしいです。