Je voulais comparer et agréger les prix unitaires des projets freelance par langue d'avant, donc je l'ai en fait étudié.
Les informations sur les projets indépendants sont compilées à partir du site suivant Puisqu'il y avait des informations agrégées sur la page de chaque langue, elles sont basées sur ce
Revatec Freelance https://freelance.levtech.jp
** * Données au 21 novembre 2020 **
created_at,skill,count,avg_price,max_price,min_price
20201121,OpenShift,5,62,65,60
20201121,Amazon VPC,1,70,70,70
20201121,Google Cloud Platform,55,80,105,53
20201121,Dynamics CRM,1,65,65,65
20201121,Amazon S3,2,80,85,75
20201121,Amazon EC2,2,74,85,64
20201121,AWS,1926,76,135,20
20201121,Google App Engine,7,77,95,60
20201121,Amazon SimpleDB,1,80,80,80
20201121,Force.com,2,70,70,70
20201121,Office 365,9,56,65,40
20201121,Microsoft Azure,141,67,90,50
20201121,OpenStack,21,64,80,45
20201121,Heroku,29,75,102,55
created_at,skill,count,avg_price,max_price,min_price
20201121,Kyoto Tycoon,1,75,75,75
20201121,SQLite,20,72,90,55
20201121,MySQL,1465,75,125,35
20201121,Symfoware Server,4,60,65,55
20201121,Cassandra,14,62,80,45
20201121,PostgreSQL,487,71,135,35
20201121,Riak,5,63,100,45
20201121,Bigtable,3,86,95,80
20201121,SQL Server,375,65,95,35
20201121,Redis,296,78,105,39
20201121,Hbase,5,68,75,60
20201121,Oracle,971,66,115,25
20201121,Sybase,6,75,85,65
20201121,IMS,3,58,64,55
20201121,Access,88,60,145,40
20201121,DB2,79,64,95,35
created_at,skill,count,avg_price,max_price,min_price
20201121,Pyramid,12,77,105,65
20201121,Rails,237,81,115,45
20201121,MyBatis,61,71,85,55
20201121,Node.js,256,77,125,45
20201121,Backbone.js,77,76,115,39
20201121,Knockout.js,4,72,90,55
20201121,AngularJS,152,74,105,47
20201121,Laravel,343,73,125,40
20201121,JUnit,80,73,125,50
20201121,Wicket,3,82,95,70
20201121,Django,89,83,115,55
20201121,Padrino,2,82,85,80
20201121,iBATIS,14,67,80,55
20201121,Silex,4,76,80,75
20201121,FuelPHP,101,76,115,50
20201121,MVC,69,68,95,37
20201121,CodeIgniter,39,74,105,45
20201121,Liferay,1,70,70,70
20201121,React,378,77,115,40
20201121,Spark,19,82,95,55
20201121,PhoneGap,3,86,95,80
20201121,JSF,18,64,75,55
20201121,jQuery,354,71,95,35
20201121,Seasar2,32,70,95,49
20201121,Spring,362,71,115,45
20201121,Bottle,1,75,75,75
20201121,Catalyst,26,64,72,55
20201121,intra-mart,14,70,135,50
20201121,SAStruts,16,71,95,57
20201121,Flask,25,82,125,65
20201121,Sinatra,6,78,85,75
20201121,Struts,129,67,95,45
20201121,Symfony,55,74,95,55
20201121,CakePHP,149,71,95,50
created_at,skill,count,avg_price,max_price,min_price
20201121,PHP,1560,72,145,35
20201121,CSS,650,70,125,35
20201121,Langage C,269,68,115,35
20201121,UML,7,70,85,50
20201121,C++,374,72,125,45
20201121,C#.NET,147,62,80,32
20201121,Transact-SQL,6,65,75,55
20201121,Kotlin,270,83,125,45
20201121,VB,83,62,85,40
20201121,HTML5,305,72,115,35
20201121,VC,8,61,66,50
20201121,C#,706,68,115,35
20201121,Apex,49,79,135,55
20201121,VBA,165,60,145,30
20201121,ASP.NET,161,65,95,48
20201121,Go,361,81,125,39
20201121,PL/SQL,146,63,85,45
20201121,COBOL,81,61,95,37
20201121,LESS,9,74,115,55
20201121,Swift,407,81,125,50
20201121,VC++,30,65,90,52
20201121,HTML,674,69,125,35
20201121,CSS3,209,75,115,35
20201121,Java,2484,70,145,25
20201121,JSP,54,68,105,55
20201121,Sass,55,71,115,45
20201121,SQL,881,65,145,33
20201121,VBScript,44,62,75,45
20201121,Objective-C,247,76,115,40
20201121,CoffeeScript,16,81,95,65
20201121,JavaScript,1749,72,125,20
20201121,Lua,6,73,80,65
20201121,Langue R,19,78,95,65
20201121,Smalltalk,2,75,80,70
20201121,Scala,117,83,115,55
20201121,Perl,108,73,110,50
20201121,Shell,193,64,95,45
20201121,SAS,12,61,75,50
20201121,Ruby,652,80,125,39
20201121,ABAP,12,67,80,55
20201121,Python,669,78,145,32
20201121,VB.NET,284,62,85,40
created_at,skill,count,avg_price,max_price,min_price
20201121,Windows,998,63,135,25
20201121,Red Hat,92,66,95,40
20201121,Solaris,37,61,80,40
20201121,AIX,77,63,90,52
20201121,Ubuntu,39,75,90,45
20201121,Unix,236,69,100,40
20201121,AS/400,1,65,65,65
20201121,FreeBSD,3,70,75,62
20201121,HP-UX,21,62,75,55
20201121,Windows Server,387,62,100,33
20201121,Android,563,78,125,35
20201121,Linux,2266,69,135,30
import datetime
import os
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
"""
Réglage de la variable / constante commune
"""
DATA_PATH = 'data'
now = datetime.datetime.today()
CATEGORIES = {
'Language',
'FrameWork',
'DB',
'OS',
'Cloud'
}
"""
Traitement principal
"""
def main() -> None:
make_date = now.strftime("%Y%m%d")
#Créer le répertoire
os.makedirs(DATA_PATH + '/graphs/' + make_date, exist_ok=True)
price_graph(make_date)
count_graph(make_date)
mix_graph(make_date)
"""
Création d'un graphique de prix unitaire
"""
def price_graph(make_date: str) -> None:
for category_key in CATEGORIES:
df = pd.read_csv(DATA_PATH + '/levtech/' + category_key + '.csv')
df = df.sort_values(by=['avg_price'], ascending=False)
labels = df['skill'].str.replace('[Ah-Hmm-Un-龥]+', '', regex=True) #Supprimer le japonais
y_list1 = df['avg_price']
fig = plt.figure(figsize=(14, 7))
ax1 = fig.add_subplot(1, 1, 1)
ax1.bar(labels, y_list1, color='tab:blue')
ax1.set_ylabel('price')
ax1.set_title(category_key)
#Affichage vertical de l'axe X
ax1.set_xticklabels(labels, rotation=90)
#Ajouter une valeur numérique au graphique à barres
for x, y in zip(labels, y_list1):
ax1.text(x, y, y, ha='center', va='bottom')
# plt.show()
fig.savefig(DATA_PATH + '/graphs/' + make_date + '/levtech-' + category_key + '-price.png', bbox_inches='tight', format='png', dpi=300)
"""
Créer un graphique du nombre de cas
"""
def count_graph(make_date: str) -> None:
for category_key in CATEGORIES:
df = pd.read_csv(DATA_PATH + '/levtech/' + category_key + '.csv')
df = df.sort_values(by=['count'], ascending=False)
labels = df['skill'].str.replace('[Ah-Hmm-Un-龥]+', '', regex=True) #Supprimer le japonais
y_list1 = df['count']
fig = plt.figure(figsize=(14, 7))
ax1 = fig.add_subplot(1, 1, 1)
ax1.bar(labels, y_list1, color='tab:orange')
ax1.set_ylabel('count')
ax1.set_title(category_key)
#Affichage vertical de l'axe X
ax1.set_xticklabels(labels, rotation=90)
#Ajouter une valeur numérique au graphique à barres
for x, y in zip(labels, y_list1):
ax1.text(x, y, y, ha='center', va='bottom', fontsize='small')
# plt.show()
fig.savefig(DATA_PATH + '/graphs/' + make_date + '/levtech-' + category_key + '-count.png', bbox_inches='tight', format='png', dpi=300)
"""
Prix unitaire et nombre de projets création graphique
"""
def mix_graph(make_date: str) -> None:
for category_key in CATEGORIES:
df = pd.read_csv(DATA_PATH + '/levtech/' + category_key + '.csv')
df = df.sort_values(by=['avg_price'], ascending=False)
labels = df['skill'].str.replace('[Ah-Hmm-Un-龥]+', '', regex=True) #Supprimer le japonais
y_list1 = df['avg_price']
y_list2 = df['count']
fig = plt.figure(figsize=(14, 7))
left = np.arange(len(labels))
width = 0.3
ax1 = fig.add_subplot(1, 1, 1)
ax1.bar(labels, y_list1, width=width, color='tab:blue', label='price')
ax1.set_ylabel('price')
ax1.set_title(category_key)
ax2 = ax1.twinx()
ax2.bar(left + width, y_list2, width=width, color='tab:orange', label='count')
ax2.set_ylabel('count')
#Affichage vertical de l'axe X
ax1.set_xticklabels(labels, rotation=90)
#Ajouter une valeur numérique au graphique à barres
for x, y in zip(labels, y_list1):
ax1.text(x, y, y, ha='center', va='bottom')
for x, y in zip(left + width, y_list2):
ax2.text(x, y, y, ha='center', va='bottom', fontsize='small')
#Légende de sortie
handler1, label1 = ax1.get_legend_handles_labels()
handler2, label2 = ax2.get_legend_handles_labels()
ax1.legend(handler1 + handler2, label1 + label2)
# plt.show()
fig.savefig(DATA_PATH + '/graphs/' + make_date + '/levtech-' + category_key + '-mix.png', bbox_inches='tight', format='png', dpi=300)
if __name__ == '__main__':
main()
Le sommet est Kotlin. Je suis convaincu qu'il y a actuellement une pénurie d'ingénieurs Android. Si vous regardez le nombre de projets et le prix unitaire du système Web, Ruby, Python et go semblent bons. J'ai eu l'impression que le prix unitaire de Java est élevé pour le moment, mais il est surprenant que PHP soit plus cher, n'est-il pas trop demandé?
Le sommet est PhoneGap. J'ai entendu cela pour la première fois, mais il semble que ce soit un cadre de développement d'applications mobiles multiplateforme développé et publié par Nitobi. Django et Rails semblent être bons pour le Web. Puisque React est utilisé pour le développement Web et d'applications, le nombre de projets et le prix unitaire sont bons. Vue n'avait aucune information à la source du site. ..
DB
Le plateau est Big table. J'entends souvent parler de Bigquery, mais la différence semble être comme une base de données à grande échelle qui fonctionne plus vite que Bigquery. En ce qui concerne DB, il ne fait aucun doute que vous vous souvenez de MySQL en termes de performances de coût. Oracle et SQL Server sont étonnamment bas. Pourquoi,,,
Cloud
Le prix unitaire le plus élevé est GCP! AWS est écrasant en termes de nombre de projets! Pour le moment, il semble préférable de se souvenir au moins d'AWS. Si la demande devient trop élevée, le prix unitaire a tendance à diminuer, il peut donc être préférable de se souvenir de GCP en considérant l'avenir. Azure a un nombre délicat d'offres et de prix unitaires
Le résultat était assez intéressant! Si vous utilisez un système Web à partir de maintenant, Python peut se développer. Il est facile de créer un environnement en le touchant. Bibliothèque riche. J'ai été particulièrement impressionné par la facilité de création de → graphiques CSV! C'est vraiment sympa de pouvoir créer rapidement et créer des images avec le back-end plutôt que d'utiliser la bibliothèque html ou js pour devenir fou ~
Cette fois, c'est le résultat d'une enquête sur l'un des sites du projet, veuillez donc l'utiliser comme référence! Les informations sur Vue, Graphql et Rust n'étaient pas répertoriées, donc je m'inquiète à ce sujet.