Ich wollte die Stückpreise von freiberuflichen Projekten von früher nach Sprache vergleichen und aggregieren, also habe ich sie tatsächlich untersucht.
Informationen zu freiberuflichen Projekten werden auf der folgenden Website zusammengestellt Da auf der Seite jeder Sprache aggregierte Informationen vorhanden waren, basiert dies darauf
Revatec Freiberuflich tätig https://freelance.levtech.jp
** * Daten vom 21. November 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,C Sprache,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,R Sprache,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
"""
Gemeinsame Einstellung für Variable / Konstante
"""
DATA_PATH = 'data'
now = datetime.datetime.today()
CATEGORIES = {
'Language',
'FrameWork',
'DB',
'OS',
'Cloud'
}
"""
Hauptverarbeitung
"""
def main() -> None:
make_date = now.strftime("%Y%m%d")
#Verzeichnis erstellen
os.makedirs(DATA_PATH + '/graphs/' + make_date, exist_ok=True)
price_graph(make_date)
count_graph(make_date)
mix_graph(make_date)
"""
Erstellung eines Einheitspreisdiagramms
"""
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-Einer-龥]+', '', regex=True) #Japanisch löschen
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)
#Vertikale Anzeige der X-Achse
ax1.set_xticklabels(labels, rotation=90)
#Fügen Sie dem Balkendiagramm einen numerischen Wert hinzu
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)
"""
Erstellen Sie ein Diagramm der Anzahl der Fälle
"""
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-Einer-龥]+', '', regex=True) #Japanisch löschen
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)
#Vertikale Anzeige der X-Achse
ax1.set_xticklabels(labels, rotation=90)
#Fügen Sie dem Balkendiagramm einen numerischen Wert hinzu
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)
"""
Stückpreis und Anzahl der Projekte Diagrammerstellung
"""
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-Einer-龥]+', '', regex=True) #Japanisch löschen
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')
#Vertikale Anzeige der X-Achse
ax1.set_xticklabels(labels, rotation=90)
#Fügen Sie dem Balkendiagramm einen numerischen Wert hinzu
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')
#Ausgabelegende
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()
Die Spitze ist Kotlin. Ich bin überzeugt, dass es derzeit an Android-Ingenieuren mangelt. Wenn Sie sich die Anzahl der Projekte und den Stückpreis für das Websystem ansehen, scheinen Ruby, Python und go gut zu sein. Ich hatte das Bild, dass der Stückpreis von Java vorerst hoch ist, aber es ist überraschend, dass PHP höher ist, ist die Nachfrage nicht zu hoch?
Die Spitze ist PhoneGap. Ich habe dies zum ersten Mal gehört, aber es scheint sich um ein plattformübergreifendes Framework für die Entwicklung mobiler Anwendungen zu handeln, das von Nitobi entwickelt und veröffentlicht wurde. Django und Rails scheinen gut für das Web zu sein. Da React für die Web- und Anwendungsentwicklung verwendet wird, sind die Anzahl der Projekte und der Stückpreis gut. Vue hatte keine Informationen an der Site-Quelle. ..
DB
Die Oberseite ist großer Tisch. Ich höre oft Bigquery, aber der Unterschied scheint wie eine große Datenbank zu sein, die schneller läuft als Bigquery. In Bezug auf DB besteht kein Zweifel, ob Sie sich in Bezug auf die Kostenleistung an MySQL erinnern. Oracle und SQL Server sind überraschend niedrig. Warum,,,
Cloud
Der höchste Stückpreis ist GCP! AWS ist überwältigend, wenn es um die Anzahl der Projekte geht! Vorerst scheint es besser, sich zumindest an AWS zu erinnern. Wenn die Nachfrage zu hoch wird, sinkt der Stückpreis tendenziell. Daher ist es möglicherweise besser, sich an GCP zu erinnern, wenn man die Zukunft betrachtet. Azure hat eine heikle Anzahl von Angeboten und Stückpreisen
Das Ergebnis war sehr interessant! Wenn Sie von nun an ein Web-System verwenden, wächst Python möglicherweise. Es ist einfach, eine Umgebung aufzubauen, indem man sie tatsächlich berührt. Reichhaltige Bibliothek. Ich war besonders beeindruckt, wie einfach es ist, CSV → Diagramme zu erstellen! Es ist wirklich schön, schnell mit dem Back-End erstellen und ein Image erstellen zu können, anstatt die HTML- oder JS-Bibliothek zu verwenden, um verrückt zu werden ~
Diesmal ist es das Ergebnis einer Untersuchung eines der Projektstandorte. Bitte verwenden Sie es als Referenz! Informationen zu Vue, Graphql und Rust wurden nicht aufgelistet, daher mache ich mir darüber Sorgen.
Recommended Posts