isucon / isucon9-portal Goto Github PK
View Code? Open in Web Editor NEWISUCON9 Contest Portal Site
License: MIT License
ISUCON9 Contest Portal Site
License: MIT License
この2つのエンドポイントの仕様を決める。
(パス名はイメージです)
ジョブIDと、チームに関連する情報全て返す
例年の仕様だと、他人のスコアは1時間前になったら更新されなくなる
表示されないわけではなく、他人のグラフも表示されるし、自分のスコアは更新される
実装が困難な場合は表示しないという実装にしてもいいかな...
ちなみに、スタッフは当然見れる
固定グラフ幅にしたので、シードデータが見れない
いい感じになるようにする
django_1 | Internal Server Error: /contest/
django_1 | Traceback (most recent call last):
django_1 | File "/usr/local/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
django_1 | return self.cursor.execute(sql, params)
django_1 | psycopg2.errors.AmbiguousColumn: ORDER BY "best_score" is ambiguous
django_1 | LINE 1: ...am"."id", "contest_aggregatedscore"."id" ORDER BY "best_scor...
django_1 | ^
django_1 |
django_1 |
django_1 | The above exception was the direct cause of the following exception:
django_1 |
django_1 | Traceback (most recent call last):
django_1 | File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 34, in inner
django_1 | response = get_response(request)
django_1 | File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py", line 115, in _get_response
django_1 | response = self.process_exception_by_middleware(e, request)
django_1 | File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py", line 113, in _get_response
django_1 | response = wrapped_callback(request, *callback_args, **callback_kwargs)
django_1 | File "/usr/local/lib/python3.6/contextlib.py", line 52, in inner
django_1 | return func(*args, **kwds)
django_1 | File "/usr/local/lib/python3.6/site-packages/django/contrib/auth/decorators.py", line 21, in _wrapped_view
django_1 | return view_func(request, *args, **kwargs)
django_1 | File "/opt/app/isucon/portal/contest/decorators.py", line 11, in _function
django_1 | return function(request, *args, **kwargs)
django_1 | File "/opt/app/isucon/portal/contest/views.py", line 37, in dashboard
django_1 | top_teams = ScoreHistory.objects.get_top_teams()
django_1 | File "/opt/app/isucon/portal/contest/models.py", line 107, in get_top_teams
django_1 | return [history.team for history in histories]
django_1 | File "/usr/local/lib/python3.6/site-packages/django/db/models/query.py", line 274, in __iter__
django_1 | self._fetch_all()
django_1 | File "/usr/local/lib/python3.6/site-packages/django/db/models/query.py", line 1242, in _fetch_all
django_1 | self._result_cache = list(self._iterable_class(self))
django_1 | File "/usr/local/lib/python3.6/site-packages/django/db/models/query.py", line 55, in __iter__
django_1 | results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
django_1 | File "/usr/local/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1100, in execute_sql
django_1 | cursor.execute(sql, params)
django_1 | File "/usr/local/lib/python3.6/site-packages/django/db/backends/utils.py", line 99, in execute
django_1 | return super().execute(sql, params)
django_1 | File "/usr/local/lib/python3.6/site-packages/django/db/backends/utils.py", line 67, in execute
django_1 | return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
django_1 | File "/usr/local/lib/python3.6/site-packages/django/db/backends/utils.py", line 76, in _execute_with_wrappers
django_1 | return executor(sql, params, many, context)
django_1 | File "/usr/local/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
django_1 | return self.cursor.execute(sql, params)
django_1 | File "/usr/local/lib/python3.6/site-packages/django/db/utils.py", line 89, in __exit__
django_1 | raise dj_exc_value.with_traceback(traceback) from exc_value
django_1 | File "/usr/local/lib/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
django_1 | return self.cursor.execute(sql, params)
django_1 | django.db.utils.ProgrammingError: ORDER BY "best_score" is ambiguous
django_1 | LINE 1: ...am"."id", "contest_aggregatedscore"."id" ORDER BY "best_scor...
django_1 | ^
django_1 |
blue & green デプロイできるようにしたいので、それがちゃんとできる何かしらであればいい
DBからtopn取ってくるようにし、グラフデータ取得時にそのid配列を用いてtopn処理する
2日目に、1日目登録したサーバが残っており、global_ipが被る可能性がある
そうなると登録できないことになりかねないため、これを直す
ズレが生じたので、unixtimeで比較するようにして安全にする
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.