J'ai participé au tour de qualification ISUCON10!

Première participation d'ISUCON!

J'ai participé à ISUCON10! Ce fut une expérience très enrichissante car c'était la première fois que je participais à un tel concours (programmation de concours)! Dans cet article, je voudrais présenter ma propre expérience et ce qu'est ISUCON.

Qu'est-ce que ISUCON: penser:

Concours pour bien accélérer (test ** I ** ikanjini ** S ** peed ** U ** p ** CON **) Abréviation de **, c'est une bataille de réglage ** qui vise à accélérer le service Web en question dans la limite de la réglementation spécifiée.

Les participants n'accélèrent le système Web donné comme thème que pour un temps limité (** 8 heures !! **) Nous nous engageons à ** comment lire, comprendre et améliorer les performances de l'ensemble du système **.

Il est divisé en tour de qualification et en course principale, et seules 30 équipes sur le total remporteront le tour de qualification, qui est l'avant-poste! ** ** Récemment, avec la participation d'étudiants, il a été divisé en créneaux généraux et créneaux étudiants. ** Général 25 équipes **, ** Étudiants 5 équipes ** seront sélectionnés.

** Le prix gagnant est de 1 million de yens! C'est un tournoi généreux appelé **.

Il a eu lieu 10 fois au total jusqu'à présent, et cette fois c'était la 10ème fois pour commémorer: applaudissez:

Constitution

Ratio de langue éligible en ligne
Le classement général des taux d'utilisation est le suivant.

Go 276 paires 59.0%
Rubis 81 paires 17.3%
Python 47 paires 10.0%
Nodejs 29 paires 6.2%
PHP 18 paires 3.8%
Rouille 8 paires 1.7%
Perl 7 paires 1.5%
Elixir 1 set 0.2%
original-rubis 1 set 0.2%

Ce problème

Ce numéro a reçu un site Web appelé issumo où vous pouvez rechercher ** des chaises et des propriétés, et acheter et demander des matériaux **. Les principales fonctions étaient les suivantes.

etc...

Cette fois, il n'y a pas eu de traitement tel que la connexion, donc Je pense que c'était un problème purement de déterminer quel était le goulot d'étranglement du système. Personnellement, la recherche a été incroyable, notamment en traçant! L'interface utilisateur qui affiche les informations de propriété dans la plage de latitude et de longitude de la plage tracée était bonne ...!

Ce que j'ai fait le jour

Sommaire

Si vous le composez de cette manière, vous pouvez clairement voir que je ne pouvais pas du tout bouger ce jour-là. Bien que je travaille habituellement exclusivement pour le front-end, j'ai réalisé que je manquais massivement de connaissances et d'expérience liées au back-end. Pour être honnête, je suis vraiment déçu.

Réflexions et impressions

En y repensant plus tard, je l'ai trouvé en commentant ** Partie comme recherche ** et ** Partie semblable à N + 1 ** (recherche de trace) ** J'ai été enterré dans d'autres travaux **, ce qui est un point de réflexion. De plus, ** je ne pouvais pas penser à un moyen d'améliorer la requête, et j'étais stupéfait **, donc s'il n'y en avait pas Je pense que je pourrais bouger un peu plus ma main. Je ne touche généralement pas à Go, donc ce pourrait être une bonne idée de créer un serveur backend avec Go. En tout cas, ISUCON était parfaitement conscient de son manque de capacités. Mais c'était vraiment amusant! C'était une bonne occasion d'acquérir des connaissances et des langues variées que je ne touche généralement pas. Il y avait aussi une implémentation dans Deno, donc j'ai pensé qu'il serait fourmi d'utiliser du tapuscrit dans le backend.

Cette fois, il n'y avait que des propriétés et des chaises, et il n'y avait pas de SQL qui se rejoignaient, donc certaines équipes faisaient un travail difficile d'allouer des bases de données à chacune! Les idées que je peux proposer sont déjà incroyables. .. .. !!

Je pensais que la direction qui rassemblait les choses qui se tenaient habituellement les samedis et dimanches le samedi et traitait 500 groupes de participants était vraiment incroyable. Merci beaucoup: sourire:

Explication des questions de qualification

Il est publié sur http://isucon.net/archives/55025156.html!

Recommended Posts

J'ai participé au tour de qualification ISUCON10!
Participé à la première ISUCON avec l'équipe "Ranchu" # ISUCON10 Qualifying
Ce que j'ai appris en participant aux qualifications ISUCON10
J'ai participé à AtCoder (ABC158)
J'ai participé à l'activité de traduction du document officiel Django
Je me suis perdu dans le labyrinthe
J'ai participé au PyData Tokyo Meetup # 2
J'ai écrit la file d'attente en Python
J'ai participé à la compétition NFL de Kaggle
J'ai participé à AtCoder (édition ABC169)
J'ai écrit la pile en Python
J'ai essayé de sauvegarder les données récupérées au format CSV!
Tri sélect écrit en C
Je ne peux pas obtenir l'élément dans Selenium!
J'ai écrit l'aile coulissante dans la création.
J'ai essayé de simuler "Birthday Paradox" avec Python
J'ai essayé la méthode des moindres carrés en Python
Je ne peux pas saisir de caractères dans la zone de texte! ?? !! ?? !! !! ??
J'ai essayé d'implémenter la fonction gamma inverse en python
J'ai vérifié le calendrier supprimé dans le calendrier de l'Avent Qiita 2016
J'ai essayé d'implémenter Human In The Loop - Partie ① Tableau de bord -
Je veux afficher la progression en Python!
J'ai essayé de représenter graphiquement les packages installés en Python
J'ai fréquenté l'école et j'ai participé pour la première fois au concours limité BEGINNER de SIGNATE.
Je veux écrire en Python! (3) Utiliser des simulacres
J'ai participé à une programmation compétitive une semaine après avoir commencé la programmation
J'ai compté les grains
[Note] Le module installé ne peut pas être appelé dans jupyter.
Je veux utiliser le jeu de données R avec python
Je ne peux pas utiliser la commande darknet dans Google Colaboratory!
J'ai vérifié le package Python pré-installé dans Google Cloud Dataflow
J'avais des problèmes car la chaîne de caractères dans le PDF était étrange
Mémo que je suis resté coincé dans l'introduction de Mezzanine
J'ai écrit le fonctionnement de base de Seaborn dans Jupyter Lab
J'ai essayé de résumer le code souvent utilisé dans Pandas
J'ai essayé d'illustrer le temps et le temps du langage C
J'ai essayé de programmer le test du chi carré en Python et Java.
Je l'ai écrit en langage Go pour comprendre le principe SOLID
J'ai essayé de résumer les commandes souvent utilisées en entreprise
J'ai essayé d'implémenter la fonction d'envoi de courrier en Python
Je n'arrive pas à me connecter à la page d'administration avec Django 3
J'ai écrit le fonctionnement de base de Numpy dans Jupyter Lab.
Je veux rendre le type de dictionnaire dans la liste unique
Je veux aligner les nombres valides dans le tableau Numpy
J'ai implémenté N-Queen dans différentes langues et mesuré la vitesse
J'ai écrit un script qui divise l'image en deux
Je ne voulais pas écrire la clé AWS dans le programme
J'ai examiné l'arborescence des appareils
Trouver des erreurs en Python
Code dont j'aurais aimé me souvenir lors de ma première participation à AtCoder (Réflexion 1 pour la prochaine fois)
J'ai tweeté depuis le terminal!
J'ai essayé de toucher l'API Qiita
J'ai essayé la bibliothèque changefinder!
Méthodes disponibles dans la liste
[Rapport] Participation à PyCon 2016 JP
Je comprends Python en japonais!
Ce que j'ai appris en Python
J'ai téléchargé la source python