見出し画像

Web系エンジニアになるために覚えておくべき用語

Web系エンジニアになるにあたって、自分が分からなかった専門用語をざっくりとまとめることにしました。ちょいちょい関係ない専門用語も交じってるかも知れません。随時更新していく予定です。

Heroku
WEBアプリの公開を簡単にしてくれる画期的なサービス

デプロイ
日本語で配置する・配備する・展開するといった意味
開発したものを利用できる状態にする作業を指す言葉

インフラ
基盤・下部構造という意味を持つ英単語

AWS
Amazon Web Serviceの略
皆さんご存じアマゾンさん、が提供してくれてるクラウドサービス
Amazonが提供してくれてるいっぱいあるクラウドサービスの総称
最初にリリースされたものはAmazonS3
ちなみにs3はSimpleStorageServiceの略で、いつでもウェブのどこからでも容量に関係なくデータを格納および取得できる
月間100万以上の開発者に利用されてる
AmazonS3は1秒間で100万リクエストを処理してる

GCP
Google Cloud Platformの略
皆さんご存じGoogleさん、が提供してくれているクラウドサービス

Docker
Linux上で独立した別のLinuxシステムを起動することができるコンテナ型の仮想化ソフトウェアの1つ
オープンソース

Terraform
インフラ用プロビジョニングツールのこと
インフラをコードで管理して、「構築」「変更」「バージョン管理」ができる

チューター
チュートリアルする人
個人指導の教師とかを指す

GitHub
GitはProgateで学べるので割愛
GitHubはGitを利用した開発者を支援するWebサービス

Issue(イシュー)
GutHubにある機能
プロジェクトやソースコードを管理するための機能

プルリク
GutHubにある機能
PullRequestの略
他の人に「コード更新したから見てねー!」と伝える仕組み?

UI/UX
それぞれUser InterfaceとUser Experience
見た目の部分
UIで大事なのは分かりやすさ
UXで大事なのは体験

CI
Continuous Integration
継続的インテグレーション
ビルドやテストを頻繁に繰り返し行うことにより問題を早期に発見し、開発の効率化・省力化や納期の短縮を図る手法

CircleCI
GitHubのpush操作に反応して裏でなんか実行してくれるやつ

DevOps
ソフトウェアの開発担当と導入・運用担当が密接に協力する体制を構築し、ソフトウェアの導入や更新を迅速に進めること
Development(開発)とOperations(運用)の略語を組み合わせた造語

サーチャブル
たぶん検索性
検索したときに自分のこととか出やすいかどうかとか

Kubernetes
自動デプロイ、スケーリング、アプリ・コンテナの運用自動化のために設計されたオープンソースのプラットフォーム

クラウドネイティブ
クラウド上での利用を前提して設計されたシステムやサービスのこと

GCP
GoogleCloudPlatformの略
Google がクラウド上で提供するサービス群の総称

GitHubActions
Githubを使った開発者のワークフローを自動化するサービス

CroudFormation
Amazon Web Services リソースのモデル化およびセットアップに役立つサービス

動的型付け言語
変数などのデータ型の宣言がいらないプログラミング言語
Python,JavaScript,Ruby

静的型付け言語
変数などのデータ型の宣言が必要なプログラミング言語
Go,C#,C++,Java,VisualBasic

スキーム
計画を伴う枠組み(を作る)
体系的な計画(を立てる)
体系的な構想(を練る)
基本的な仕組み
基本構想
陰謀
企み
などの意味を持つ英単語

VPOE
Vice President(副社長)
of Engineering(技術者)

エンジェル投資家
創業間もない企業に対し資金を供給する富裕な個人のこと。

パラレルキャリア
本業を持ちながらも余暇を使用して第二の活動を行う新しい働き方

LAMP
ウェブサービスのサーバーを構築するための道具の頭文字を表している
LはLinux(os)
AはApache(webサーバー)
MはMysql(データベース)
PはPHPとかPerlとかPythonとか(プログラミング言語)

TypeScript
JavaScriptを進化させた言語
googleも使ってる
急成長中の言語

Kotlin
Javaをベースに作られている言語
ネイティブアプリ開発案件とかに使われる言語
JVM(Java Virtual Machine:Javaを動かすための仮想マシン)上で動く
JRuby,Groovy,ScalaもJVMで動く

Rust
C++のようなコンパイル言語で、Windowsでexeファイルを作成できる
海外ではやっている言語
日本で流行るかどうかは微妙

Scala
オブジェクト指向と関数型プログラミングの両方を扱うことができる
JVM(Java Virtual Machine:Javaを動かすための仮想マシン)上で動く
TwitterやLinkedin、Chatworkやビズリーチが採用している言語
人工知能に関する実装にもScalaを使用していることがある

Go
軽量・高速・シンプル
将来的に伸びると言われている言語
GCPと相性がいい
高速でコンパイルできる
ちなみにGoとGolangは全く同じもの

Elixir
Web系言語
Erlang(アーラン)仮想環境上で動作する関数型言語

Ruby
日本人が作ったプログラミング言語
まつもとゆきひろさんが作った言語
ちなみに2chを作ったのは「ひろゆき」さんで、「まつもとゆきひろ」さんとは全くの別人

Python
機械学習や深層学習の分野で多くの支持を得ている
データ分析系でも使用される
今世界で最も使われている言語

Perl
テキスト処理が得意なスクリプト言語
Rubyなどのスクリプト言語と比べて比較的高速で人気

Java
フリーランスエージェントいわく、名古屋のフリーランスエンジニアが一番稼げる言語
JVM(Java Virtual Machine)上で動くため、JVMがある環境ならどこでも動かせる
Pythonの前は世界で一番使われていた言語

VC++
C言語/C++ 言語によるWindows向けソフトウェア開発のための統合開発環境(IDE:integrated統合 development開発 environment環境)

C#
ゲームが作れるUnityで主流の言語
ツール作りにも便利

Objective-C
C言語ベース
主にmacOSやiOS上で動作するアプリケーションの開発で利用される

PHP
フリーランスエージェントいわく、東京のフリーランスエンジニアが一番稼げる言語
Web系の言語

swift
C言語ベース
Objective-Cの上位互換みたいなもの
ネイティブアプリ開発案件とかに使われる言語

Bootstrap
もっとも有名なCSSフレームワーク

LESS
CSS をより使いやすく、よりメンテナンスしやすくするための CSS プリプロセッサ

Vue.js
javaScriptのライブラリ
Webアプリを簡単に書いたり、効率的に書ける。
フリーランスエンジニアの場合、React.jsよりは単価が落ちる

React.js
javaScriptのライブラリ
Vueより複雑だがやれることが多い。たぶん。
フリーランスエンジニアの場合、vue.jsより単価が高い

Vert.x
Eclipseの開発者によるオープンソースの反応的で多言語的なソフトウェア開発ツールキット

Iron
Rustのウェブフレームワーク

Finch
ScalaのWebフレームワーク?

Cats
ScalaのWebフレームワーク?

Phoenix
ElixirのWebフレームワーク

Rails
RubyのWebフレームワーク
プログラミングスクールとかで人気
これでポートフォリオを作るのも人気

Flask
PythonのWebフレームワーク

Django
PythonのWebフレームワーク

Struts2
Java言語有名なWEBアプリケーション開発フレームワークの1つ
別名Apache Struts?

.NET Framework
マイクロソフトが開発した、WebサービスおよびWebアプリケーションのための開発・実行環境のこと

Aurora
Amazon Auroraのこと?
完全マネージド型のリレーショナルデータベースエンジンで、MySQL および PostgreSQL と互換性があ

MySQL
世界でもっとも利用されているデータベース管理システム
データベース扱うなら大体の人が使ってる

PostgreSQL
オープンソースのリレーショナルデータベース管理システム(RDBMS)

SQL Server
Microsoftのデータベース

Oracle
大規模システムでよく使われるデータベース

Cassandra
Apache Cassandra
NoSQLミドルウェア(RDBMSとNoSQLはよく比較される?)
元々Facebookが作成したもの

DynamoDB
Amazon DynamoDBの略
NoSQL, スキーマレスなAWS上のデータベースサービス

Redis
キーと5種類の値型の対応関係を格納する非常に高速な非リレーショナルデータベース(NoSQL)

Memcached
高性能な分散メモリキャッシュサーバ

Spark
巨大なデータに対して高速に分散処理を行うオープンソースのフレームワーク。
JavaやScala、Pythonなどいろいろなプログラミング言語のAPIが用意されている。

--------------------

【AWS】
EKS

Elastic Kubernetes Service
AWS で Kubernetes を簡単に実行できるようにするマネージド型サービス

ECS
Elastic Container Service
クラスターで Docker コンテナを簡単に実行、停止、管理できる非常にスケーラブルで高速なコンテナ管理サービス

Beanstalk
Java、.NET、PHP、Node.js、Python、Ruby、Go および Docker を使用して開発されたウェブアプリケーションやサービスを、Apache、Nginx、Passenger、IIS など使い慣れたサーバーでデプロイおよびスケーリングするためのサービス

APIGateway
あらゆる規模の REST および WebSocket API を作成、公開、保守、モニタリング、および保護するための AWS サービス

Cognito
ウェブアプリケーションやモバイルアプリケーションの認証、許可、ユーザー管理をサポート

Lambda
サーバーをプロビジョニングしたり管理する必要なくコードを実行できるコンピューティングサービス

DynamoDB
どんな規模にも対応する高速で柔軟な NoSQL データベースサービス

RDS
Relational Database Service
クラウド上のリレーショナルデータベースのセットアップ、オペレーション、スケールが簡単になる

VPC
Virtual Private Cloud
AWS クラウド内で論理的に分離したセクションをプロビジョニングし、仮想ネットワークで AWS リソースを起動できる

IAM
Identity and Access Management
AWS リソースへのアクセスを安全に管理するためのウェブサービス

EC2
安全でサイズ変更可能なコンピューティング性能をクラウド内で提供するウェブサービス

EFS
Elastic File System
完全マネージド型の NFS ファイルシステム

S3
どこからでもお好みの量のデータの保存と取得が簡単に行えるオブジェクトストレージ

CloudFront
ユーザーへの静的および動的ウェブコンテンツ (.html、.css、.js、イメージファイルなど) の配信を高速化するウェブサービス


Roude53
可用性と拡張性に優れたドメインネームシステム(DNS)ウェブサービス

Elasticsearch
AWS クラウドの Elasticsearch クラスターを、簡単にデプロイ、運用、スケールするマネージド型サービス

Redshift
クラウド内のフルマネージド型、ペタバイト規模のデータウェアハウスサービス

EMR
Elastic MapReduce
大量のデータを迅速、容易に、かつコスト効果よく処理するためのウェブサービス

Kinesis
動画とデータストリームをリアルタイムで容易に収集、処理、分析

Firehose
Kinesis Data Firehose
リアルタイムのストリーミングデータを Amazon Simple Storage Service (Amazon S3)、Amazon Redshift、Amazon Elasticsearch Service (Amazon ES)、Splunk などの送信先に配信するための完全マネージド型サービス

SQS
Simple Queue Service
マイクロサービス、分散システム、およびサーバーレスアプリケーション用の完全マネージド型メッセージキュー

SNS
Simple Notification Service
マイクロサービス、分散型システム、およびサーバーレスアプリケーションのための完全マネージド型 pub/sub メッセージング

SES
Simple Email Service
企業や開発者のための、フレキシブルで可用性が高く、手頃な価格の E メール送受信サービス

CloudFormation
Amazon Web Services リソースのモデル化およびセットアップに役立つサービス

CloudWatch
Amazon Web Services (AWS) リソースと、AWS でリアルタイムに実行されるアプリケーションを監視

--------------------

【GCP】

GKE
Google Kubernets engine
Kubernetes クラスタを効率的かつ安全な方法で確実に実行

GAE
Google App Engine
Java、Node.js、Python、Go など好きな言語で作成したアプリケーションをGCPが管理するインフラに簡単にデプロイすることができる

GCE
Computer Engine
スケーラブルで高性能な仮想マシン

GCS
Google Cloud Storage
オブジェクトストレージで、管理がシンプルで、高耐久性、高可用性のストレージ

CloudSQL
MySQL、PostgreSQL、SQL Server 用のフルマネージド データベース サービス

CloudFunctions
イベント ドリブンなサーバーレス コンピューティング プラットフォーム

Memorystore
フルマネージドの Redis 向けインメモリ データストア サービス

BigQuery
高スケーラビリティでコスト効率に優れたサーバーレス クラウド データ ウェアハウスで、インメモリ BI エンジンと機械学習ビルトインを備えている

PubSub
エンタープライズ メッセージ指向ミドルウェアの柔軟性と信頼性をクラウドにもたらす
ストリーム分析パイプラインの基盤となるスケーラブルで耐久性のあるイベント取り込み・配信システム

Dataflow
信頼性と表現力を損なうことなく、ストリーム データとバッチデータの処理を簡素化

Composer
Apache Airflow を基に構築された、フルマネージドのワークフロー オーケストレーション サービス

Istio
マイクロサービスを接続、モニタリング、保護するオープン プラットフォーム

Knative
最新のサーバーレス ワークロードをビルド、デプロイ、管理できる Kubernetes ベースのプラットフォーム

Datalab
データの探索、分析、可視化と機械学習のための使いやすいインタラクティブなツール

MLEngine
機械学習モデルを構築し、本番環境で実行できるようにするマネージド サービス

GCR
Docker コンテナ イメージを保存、管理、保護

ClordBuild
継続的なビルド、テスト、デプロイを実現

DeploymentManager
シンプルなテンプレートを使ってクラウド リソースを構築、管理

Stackdriver
サービス、コンテナ、アプリケーション、インフラストラクチャのモニタリングと管理

--------------------
Envoy
ライドシェアサービスのLyftが開発し現在はCloud Native Computing Foundationにコードが寄贈されているOSSのプロキシソフトウェア

Spinnaker
マルチクラウド対応の継続的デリバリプラットフォームです。複数クラウドに対するデプロイ/クラスタ管理を行い、継続的デリバリプロセスの自動化を行う

Terraform
インフラストラクチャ定義ツール に分類されるツールで、クラウド上のリソースを定義ファイルの状態になるように生成・操作してくれる

CircleCI
継続的インテグレーションツール「Jenkins」と同様な機能を提供し、ビルド/テスト/デプロイなどについて自動実行できるサービス

DataDog
ITシステムのモニタリングクラウドサービス

TreasureData
データ収集・保管・分析が可能なフルマネージドなクラウドサービス

Sentry
フロントエンドで発生したエラー情報を検知し、ログとして保管してくれるサービス

gRPC
RPC (Remote Procedure Call) を実現するためにGoogleが開発したプロトコルの1つ

プロビジョニング
設備やサービスに新たな利用申請や需要が生じた際に、資源の割り当てや設定などを行い、利用や運用が可能な状態にすること。

Scaffold
足場という意味
railsでMVCを勝手に作ってくれる優れもの

REST
REpresentational State Transfer
インターネットそのものやWebアプリケーションなどの、分散・ネットワーク化されたシステムやアプリケーションを構築するためのアーキテクチャスタイルの1つ

validation
検証

invoke
関与する

migrate
移行する

belong
属する

presence
存在感、出席、参列とかそんな感じ

OOP
Object オブジェクト
Oriented 指向
Programing プログラミング

TDD
Test テスト
Driven 駆動
Development 開発

パーシャル
partial 部分的

モックアップ
模型みたいなもの

認証 (authentication)
相手が誰か確認する
社員証をチェックするみたいなもの

認可 (authorization)
通していい相手か確認する
社員証見て入れるかどうか判断するようなもの

マイグレーション
migration 移行

コンフリクト
conflict 衝突

ハッシュ
hash 刻む

この記事が気に入ったらサポートをしてみませんか?