From d5c56f7c516c4df7bdbb8c9da763829b0740eccb Mon Sep 17 00:00:00 2001 From: yhattori Date: Mon, 6 Sep 2021 21:49:24 +0900 Subject: [PATCH 1/7] =?UTF-8?q?=E2=9E=95=20add=20init=20data?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- webapp/sql/2_init.sql | 73 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 71 insertions(+), 2 deletions(-) diff --git a/webapp/sql/2_init.sql b/webapp/sql/2_init.sql index 004aa85ff..de11de50f 100644 --- a/webapp/sql/2_init.sql +++ b/webapp/sql/2_init.sql @@ -1,5 +1,8 @@ +-- for browser check +INSERT INTO `users` (`id`, `code`, `name`, `hashed_password`, `type`) VALUES +('81c95a50-f81f-425b-8e9e-6f07d774eac1','T00000','isucon-teacher','$2a$04$nfgVNp2Zh0iVMYtMkKBYOuTjGs2Tt0TOaxl24bBkCU.glKau1aJVy','teacher'), +('983350fe-ea3a-4828-ab7b-5c7934d1d309','S00000','isucon','$2a$04$lmKw6juHcAsKhRQJE599VuWoMdgBUQqC5b.18ZpTCB4Eig0moVhZG','student'); INSERT INTO `users` (`id`, `code`, `name`, `hashed_password`, `type`) VALUES -('4bcb995b-a9a7-4f39-8f33-79bc9d285728','T00000','isucon(教員)','$2a$04$Jww9mv/QdUHk8nVUMeBPpOMoAgxn3Nr6FQ4ZrJBqBNirWYuwedCYq','teacher'), ('c6482e64-b532-44dd-92ef-f027b5c066c7','T00001','山口 陽輝','$2a$04$11HvLZoso2fGl8nnm4Wv3.KnwJ30DmhNqHuthYri7Hv2.oWZ3De9i','teacher'), ('50261242-df34-479e-9065-9439769f1343','T00002','加藤 駿','$2a$04$2SRGQjwcmZH/Jh7DwWUzkeLSEK7B8b4s8ahRx/HyGRA1hsrHALbOS','teacher'), ('8eef895f-9f6d-4af2-bc20-1040fb523402','T00003','獅子吼 加奈子','$2a$04$moxiDsNEEVkj71CePbWkBeU9L2nUJCG/pLFqMaBglnwxIJSkYPmMK','teacher'), @@ -50,7 +53,6 @@ INSERT INTO `users` (`id`, `code`, `name`, `hashed_password`, `type`) VALUES ('35bf49e3-3386-46a0-b71b-26141d3c04a9','T00048','佐々木 翼','$2a$04$no8cAUZ7LqZBfdwbTiUxKO9nKUgOPTuXVuI14pc4rg8MwB0P4QXdy','teacher'), ('f21a7e7a-7580-457c-a873-767c99cea88e','T00049','佐藤 大樹','$2a$04$d2416wzVHmyw1oDzeOHbzOZZ0riC7RjG43.ENQGrQhFgT8s8WN8c6','teacher'); INSERT INTO `users` (`id`, `code`, `name`, `hashed_password`, `type`) VALUES -('bab74ad1-374f-4022-a26e-07721f1633e0','S00000','isucon(学生)','$2a$04$RjAX36UvGAbyBQG2i0qpZeN5rpSnr9eZOM69RShXGg8yKRQ8iXPIW','student'), ('a10bb7bf-dc7c-4de1-bf39-9efa49c0f37e','S00001','佐々木 翠','$2a$04$xs2Ki5q5i4Jv3VSqaCxyyuitSZELSUO2RTjf/PHO.Y4yk/NYwuLA.','student'), ('b2d64bcf-8b95-4345-9ba3-b0a1e7d5dd87','S00002','井上 一郎','$2a$04$5TScW.USIdTiihpoa8ZEj.tpvKwDzAscIdBBG1mcSt5z2bx4UdId6','student'), ('76d14aca-2426-4ac4-9e0c-a8fa9b3bd22b','S00003','安藤 蘭','$2a$04$HsDP1mSXAhBLZm9W.VX4UeS2N7lM5m06lF1m2fcqPYzx/auv2HtMS','student'), @@ -5050,3 +5052,70 @@ INSERT INTO `users` (`id`, `code`, `name`, `hashed_password`, `type`) VALUES ('e1259047-6678-4a06-956a-feb04e50d923','S04997','玉城 秀樹','$2a$04$NZYII2hb4.d04V3EaN7Tg.GUoAEXspa7WdqpyJ1V43TW/sHjJ0/Fq','student'), ('8cb6f16e-0549-4e14-83be-46d6e65086e8','S04998','金城 大輝','$2a$04$I2vnOp7jXXt1.HyDrVxKzOCO444tWJ34v.lQbAOSamsuC2xdUZLo6','student'), ('a44324dd-66a6-48af-9684-f29f61faefe5','S04999','宮里 拓','$2a$04$C0PMZ9VYIyznpKGOjtfIw.5cdUEdUHoSVj5Vy4idXVvt/l32DUAAe','student'); + +-- 動作確認用 +INSERT INTO `users` (`id`, `code`, `name`, `hashed_password`, `type`) VALUES +('93a85eda-5576-429e-ab9b-dd1da14d72bf','T99999','isucon-teacher2','$2a$04$DM8mmWZ9vaCRS1ZCBCAMju3Fg2PAv9SvSq4UZss7XYGJQNSESQEZm','teacher'), +('6eee1df5-a734-4eef-97f5-33fadf9def15','S99999','isucon1','$2a$04$E6TdLLp72D1l5EJcQ6qDn.AB/bdFh6gtVcgu0SUFS.3j.Vt5X9ch2','student'), +('804bc9a1-4b18-4784-913a-f9765083d1f0','S99998','isucon2','$2a$04$abH7BE13odlVdw.rLLDvT.mWcTsvR.FXIm0.Pu0p2iiE4WvV6N51O','student'), +('680a6610-7115-4b19-b149-e5bcb5250d9e','S99997','isucon3','$2a$04$6q3Lb.KYJLkkaWx34DMVy.1t2icsMbzW1eQvwFzXesHW3encgz/ru','student'); + + +INSERT INTO `courses` VALUES +('b4f7ab13-8629-420a-a173-f166b0162b56','X00001','major-subjects','ISUCON演習第一','この科目ではISUCONの過去問を通してサーバのチューニングアップを学びます。\n課題は講義中に出題するクイズへの回答を提出してください。\n\n本講義の成績は課題の提出状況により判断します。',1,1,'monday','93a85eda-5576-429e-ab9b-dd1da14d72bf','ISUCON チューニングアップ ','in-progress'), +('c22a43db-e9d9-4077-9bc8-99479ef86b41','X00002','major-subjects','ISUCON演習第二','この科目ではISUCONの過去問を通してサーバのチューニングアップを学びます。\n課題は講義中に出題するクイズへの回答を提出してください。\n\n本講義の成績は課題の提出状況により判断します。',1,1,'tuesday','93a85eda-5576-429e-ab9b-dd1da14d72bf','ISUCON チューニングアップ','in-progress'), +('ae53eb49-0258-463f-be70-1b295d7df740','X00003','major-subjects','ISUCON演習第三','この科目ではISUCONの過去問を通してサーバのチューニングアップを学びます。\n課題は講義中に出題するクイズへの回答を提出してください。\n\n本講義の成績は課題の提出状況により判断します。',1,1,'wednesday','93a85eda-5576-429e-ab9b-dd1da14d72bf','ISUCON チューニングアップ','registration'); + +INSERT INTO `registrations` VALUES +('b4f7ab13-8629-420a-a173-f166b0162b56','6eee1df5-a734-4eef-97f5-33fadf9def15'), +('b4f7ab13-8629-420a-a173-f166b0162b56','804bc9a1-4b18-4784-913a-f9765083d1f0'), +('b4f7ab13-8629-420a-a173-f166b0162b56','680a6610-7115-4b19-b149-e5bcb5250d9e'), +('c22a43db-e9d9-4077-9bc8-99479ef86b41','6eee1df5-a734-4eef-97f5-33fadf9def15'); + +INSERT INTO `classes` VALUES +('0d02abb9-d509-440b-b118-d5c712e6e4ce','b4f7ab13-8629-420a-a173-f166b0162b56',1,'第1回 ISUCON4 予選','本日はISUCON4 予選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。',0), +('8b7e3ce4-0fb9-479b-878c-7f2a68d75aea','b4f7ab13-8629-420a-a173-f166b0162b56',5,'第5回 ISUCON7 予選','本日はISUCON7 予選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。',0), +('8b84fa0d-e917-44fe-a0e6-ef0b70abada0','b4f7ab13-8629-420a-a173-f166b0162b56',3,'第3回 ISUCON5 予選','本日はISUCON5 予選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。',0), +('b2e570bb-a742-4d93-a61d-ce23af6c468a','b4f7ab13-8629-420a-a173-f166b0162b56',2,'第2回 ISUCON4 本選','本日はISUCON4 本選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。',0), +('cf180222-abae-4741-8cc8-756424c0d2cc','b4f7ab13-8629-420a-a173-f166b0162b56',4,'第4回 ISUCON6 予選','本日はISUCON6 予選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。',0); + +INSERT INTO `announcements` VALUES +('012c1141-76ed-44cc-971b-7f12a85829a3','b4f7ab13-8629-420a-a173-f166b0162b56','クラス追加: ISUCON5 予選','クラスが新しく追加されました: ISUCON5 予選\n本日はISUCON5 予選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。','2021-09-01 09:53:00'), +('0d2c9070-f93c-4b81-bc41-76d4323f9cc1','b4f7ab13-8629-420a-a173-f166b0162b56','クラス追加: ISUCON4 予選','クラスが新しく追加されました: ISUCON4 予選\n本日はISUCON4 予選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。','2021-09-01 09:51:00'), +('78851d4b-5e2b-4391-a168-7026de4caa4c','c22a43db-e9d9-4077-9bc8-99479ef86b41','クラス追加: ISUCON7 予選','クラスが新しく追加されました: ISUCON7 予選\n本日はISUCON7 予選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。','2021-09-01 09:55:00'), +('e1063339-2727-4e1a-a769-4d7b21083878','b4f7ab13-8629-420a-a173-f166b0162b56','クラス追加: ISUCON6 予選','クラスが新しく追加されました: ISUCON6 予選\n本日はISUCON6 予選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。','2021-09-01 09:54:00'), +('f50e3beb-bc3d-4c56-bef1-df0ce341915a','b4f7ab13-8629-420a-a173-f166b0162b56','クラス追加: ISUCON4 本選','クラスが新しく追加されました: ISUCON4 本選\n本日はISUCON4 本選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。','2021-09-01 09:52:00'); + +INSERT INTO `unread_announcements` VALUES +('012c1141-76ed-44cc-971b-7f12a85829a3','6eee1df5-a734-4eef-97f5-33fadf9def15',true), +('0d2c9070-f93c-4b81-bc41-76d4323f9cc1','6eee1df5-a734-4eef-97f5-33fadf9def15',true), +('78851d4b-5e2b-4391-a168-7026de4caa4c','6eee1df5-a734-4eef-97f5-33fadf9def15',true), +('e1063339-2727-4e1a-a769-4d7b21083878','6eee1df5-a734-4eef-97f5-33fadf9def15',true), +('f50e3beb-bc3d-4c56-bef1-df0ce341915a','6eee1df5-a734-4eef-97f5-33fadf9def15',true), +('012c1141-76ed-44cc-971b-7f12a85829a3','804bc9a1-4b18-4784-913a-f9765083d1f0',true), +('0d2c9070-f93c-4b81-bc41-76d4323f9cc1','804bc9a1-4b18-4784-913a-f9765083d1f0',true), +('78851d4b-5e2b-4391-a168-7026de4caa4c','804bc9a1-4b18-4784-913a-f9765083d1f0',true), +('e1063339-2727-4e1a-a769-4d7b21083878','804bc9a1-4b18-4784-913a-f9765083d1f0',true), +('f50e3beb-bc3d-4c56-bef1-df0ce341915a','804bc9a1-4b18-4784-913a-f9765083d1f0',true), +('012c1141-76ed-44cc-971b-7f12a85829a3','680a6610-7115-4b19-b149-e5bcb5250d9e',true), +('0d2c9070-f93c-4b81-bc41-76d4323f9cc1','680a6610-7115-4b19-b149-e5bcb5250d9e',true), +('78851d4b-5e2b-4391-a168-7026de4caa4c','680a6610-7115-4b19-b149-e5bcb5250d9e',true), +('e1063339-2727-4e1a-a769-4d7b21083878','680a6610-7115-4b19-b149-e5bcb5250d9e',true), +('f50e3beb-bc3d-4c56-bef1-df0ce341915a','680a6610-7115-4b19-b149-e5bcb5250d9e',true); + +INSERT INTO `submissions` VALUES +('6eee1df5-a734-4eef-97f5-33fadf9def15','0d02abb9-d509-440b-b118-d5c712e6e4ce','S99999_1st.pdf',72), +('6eee1df5-a734-4eef-97f5-33fadf9def15','8b7e3ce4-0fb9-479b-878c-7f2a68d75aea','S99999_5th.pdf',60), +('6eee1df5-a734-4eef-97f5-33fadf9def15','8b84fa0d-e917-44fe-a0e6-ef0b70abada0','S99999_3rd.pdf',88), +('6eee1df5-a734-4eef-97f5-33fadf9def15','b2e570bb-a742-4d93-a61d-ce23af6c468a','S99999_2nd.pdf',65), +('6eee1df5-a734-4eef-97f5-33fadf9def15','cf180222-abae-4741-8cc8-756424c0d2cc','S99999_4th.pdf',54), +('804bc9a1-4b18-4784-913a-f9765083d1f0','0d02abb9-d509-440b-b118-d5c712e6e4ce','S99998_1st.pdf',12), +('804bc9a1-4b18-4784-913a-f9765083d1f0','8b7e3ce4-0fb9-479b-878c-7f2a68d75aea','S99998_5th.pdf',16), +('804bc9a1-4b18-4784-913a-f9765083d1f0','8b84fa0d-e917-44fe-a0e6-ef0b70abada0','S99998_3rd.pdf',26), +('804bc9a1-4b18-4784-913a-f9765083d1f0','b2e570bb-a742-4d93-a61d-ce23af6c468a','S99998_2nd.pdf',8), +('804bc9a1-4b18-4784-913a-f9765083d1f0','cf180222-abae-4741-8cc8-756424c0d2cc','S99998_4th.pdf',33), +('680a6610-7115-4b19-b149-e5bcb5250d9e','0d02abb9-d509-440b-b118-d5c712e6e4ce','S99997_1st.pdf',90), +('680a6610-7115-4b19-b149-e5bcb5250d9e','8b7e3ce4-0fb9-479b-878c-7f2a68d75aea','S99997_5th.pdf',100), +('680a6610-7115-4b19-b149-e5bcb5250d9e','8b84fa0d-e917-44fe-a0e6-ef0b70abada0','S99997_3rd.pdf',73), +('680a6610-7115-4b19-b149-e5bcb5250d9e','b2e570bb-a742-4d93-a61d-ce23af6c468a','S99997_2nd.pdf',82), +('680a6610-7115-4b19-b149-e5bcb5250d9e','cf180222-abae-4741-8cc8-756424c0d2cc','S99997_4th.pdf',79); From d6d727c5660b569386ea34fc1eea61a364677dab Mon Sep 17 00:00:00 2001 From: yhattori Date: Wed, 8 Sep 2021 19:57:11 +0900 Subject: [PATCH 2/7] =?UTF-8?q?=E2=9E=95=20add=20initial=20data?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...6e4ce-680a6610-7115-4b19-b149-e5bcb5250d9e.pdf | Bin 0 -> 813 bytes ...6e4ce-6eee1df5-a734-4eef-97f5-33fadf9def15.pdf | Bin 0 -> 813 bytes ...6e4ce-804bc9a1-4b18-4784-913a-f9765083d1f0.pdf | Bin 0 -> 813 bytes ...75aea-680a6610-7115-4b19-b149-e5bcb5250d9e.pdf | Bin 0 -> 784 bytes ...75aea-6eee1df5-a734-4eef-97f5-33fadf9def15.pdf | Bin 0 -> 784 bytes ...75aea-804bc9a1-4b18-4784-913a-f9765083d1f0.pdf | Bin 0 -> 784 bytes ...bada0-680a6610-7115-4b19-b149-e5bcb5250d9e.pdf | Bin 0 -> 791 bytes ...bada0-6eee1df5-a734-4eef-97f5-33fadf9def15.pdf | Bin 0 -> 791 bytes ...bada0-804bc9a1-4b18-4784-913a-f9765083d1f0.pdf | Bin 0 -> 791 bytes ...c468a-680a6610-7115-4b19-b149-e5bcb5250d9e.pdf | Bin 0 -> 801 bytes ...c468a-6eee1df5-a734-4eef-97f5-33fadf9def15.pdf | Bin 0 -> 801 bytes ...c468a-804bc9a1-4b18-4784-913a-f9765083d1f0.pdf | Bin 0 -> 801 bytes ...0d2cc-680a6610-7115-4b19-b149-e5bcb5250d9e.pdf | Bin 0 -> 799 bytes ...0d2cc-6eee1df5-a734-4eef-97f5-33fadf9def15.pdf | Bin 0 -> 799 bytes ...0d2cc-804bc9a1-4b18-4784-913a-f9765083d1f0.pdf | Bin 0 -> 799 bytes webapp/golang/main.go | 3 ++- 16 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 webapp/data/0d02abb9-d509-440b-b118-d5c712e6e4ce-680a6610-7115-4b19-b149-e5bcb5250d9e.pdf create mode 100644 webapp/data/0d02abb9-d509-440b-b118-d5c712e6e4ce-6eee1df5-a734-4eef-97f5-33fadf9def15.pdf create mode 100644 webapp/data/0d02abb9-d509-440b-b118-d5c712e6e4ce-804bc9a1-4b18-4784-913a-f9765083d1f0.pdf create mode 100644 webapp/data/8b7e3ce4-0fb9-479b-878c-7f2a68d75aea-680a6610-7115-4b19-b149-e5bcb5250d9e.pdf create mode 100644 webapp/data/8b7e3ce4-0fb9-479b-878c-7f2a68d75aea-6eee1df5-a734-4eef-97f5-33fadf9def15.pdf create mode 100644 webapp/data/8b7e3ce4-0fb9-479b-878c-7f2a68d75aea-804bc9a1-4b18-4784-913a-f9765083d1f0.pdf create mode 100644 webapp/data/8b84fa0d-e917-44fe-a0e6-ef0b70abada0-680a6610-7115-4b19-b149-e5bcb5250d9e.pdf create mode 100644 webapp/data/8b84fa0d-e917-44fe-a0e6-ef0b70abada0-6eee1df5-a734-4eef-97f5-33fadf9def15.pdf create mode 100644 webapp/data/8b84fa0d-e917-44fe-a0e6-ef0b70abada0-804bc9a1-4b18-4784-913a-f9765083d1f0.pdf create mode 100644 webapp/data/b2e570bb-a742-4d93-a61d-ce23af6c468a-680a6610-7115-4b19-b149-e5bcb5250d9e.pdf create mode 100644 webapp/data/b2e570bb-a742-4d93-a61d-ce23af6c468a-6eee1df5-a734-4eef-97f5-33fadf9def15.pdf create mode 100644 webapp/data/b2e570bb-a742-4d93-a61d-ce23af6c468a-804bc9a1-4b18-4784-913a-f9765083d1f0.pdf create mode 100644 webapp/data/cf180222-abae-4741-8cc8-756424c0d2cc-680a6610-7115-4b19-b149-e5bcb5250d9e.pdf create mode 100644 webapp/data/cf180222-abae-4741-8cc8-756424c0d2cc-6eee1df5-a734-4eef-97f5-33fadf9def15.pdf create mode 100644 webapp/data/cf180222-abae-4741-8cc8-756424c0d2cc-804bc9a1-4b18-4784-913a-f9765083d1f0.pdf diff --git a/webapp/data/0d02abb9-d509-440b-b118-d5c712e6e4ce-680a6610-7115-4b19-b149-e5bcb5250d9e.pdf b/webapp/data/0d02abb9-d509-440b-b118-d5c712e6e4ce-680a6610-7115-4b19-b149-e5bcb5250d9e.pdf new file mode 100644 index 0000000000000000000000000000000000000000..88976280451bea38ebc06f2e407ff859da37e4dd GIT binary patch literal 813 zcmZuvO-~y!5WV|X%q3DmYHaU^H$)MKq=Z&bK*@5dI2hIhr^z~6I~DD(?~Hd7ScDI@ z=gsrXyzva~zRkbNVZoRL0q$|lCKCq0%fCAVe5QlmxD^3+dSyH$NLsM-b7ty_$c%uG zuOgM+{4|x-Q}+tLkR?DWA%+4^(Vh>)nYn!(K+^TfRvxJ-<$#CxSqS@u4w#i?OC<3@DQkwd<_yR#`=m&n2jg z@bWnVg&1aNTu0-J9K#R$Ti0t_TUhRlso;JGu^t~zpj<yllQYi{4&eAl=@~luJ^+vrYX^1+_hjDss z%rg^^GaQj_fy(nV2ZXyNah7O7eS{RYwGT<9K0>J)9ih-@yD<$7J71zM%*Yqc;UFG9 S3?(!nmQ#!b8w@UP=j=Zf3c?5g literal 0 HcmV?d00001 diff --git a/webapp/data/0d02abb9-d509-440b-b118-d5c712e6e4ce-6eee1df5-a734-4eef-97f5-33fadf9def15.pdf b/webapp/data/0d02abb9-d509-440b-b118-d5c712e6e4ce-6eee1df5-a734-4eef-97f5-33fadf9def15.pdf new file mode 100644 index 0000000000000000000000000000000000000000..88976280451bea38ebc06f2e407ff859da37e4dd GIT binary patch literal 813 zcmZuvO-~y!5WV|X%q3DmYHaU^H$)MKq=Z&bK*@5dI2hIhr^z~6I~DD(?~Hd7ScDI@ z=gsrXyzva~zRkbNVZoRL0q$|lCKCq0%fCAVe5QlmxD^3+dSyH$NLsM-b7ty_$c%uG zuOgM+{4|x-Q}+tLkR?DWA%+4^(Vh>)nYn!(K+^TfRvxJ-<$#CxSqS@u4w#i?OC<3@DQkwd<_yR#`=m&n2jg z@bWnVg&1aNTu0-J9K#R$Ti0t_TUhRlso;JGu^t~zpj<yllQYi{4&eAl=@~luJ^+vrYX^1+_hjDss z%rg^^GaQj_fy(nV2ZXyNah7O7eS{RYwGT<9K0>J)9ih-@yD<$7J71zM%*Yqc;UFG9 S3?(!nmQ#!b8w@UP=j=Zf3c?5g literal 0 HcmV?d00001 diff --git a/webapp/data/0d02abb9-d509-440b-b118-d5c712e6e4ce-804bc9a1-4b18-4784-913a-f9765083d1f0.pdf b/webapp/data/0d02abb9-d509-440b-b118-d5c712e6e4ce-804bc9a1-4b18-4784-913a-f9765083d1f0.pdf new file mode 100644 index 0000000000000000000000000000000000000000..88976280451bea38ebc06f2e407ff859da37e4dd GIT binary patch literal 813 zcmZuvO-~y!5WV|X%q3DmYHaU^H$)MKq=Z&bK*@5dI2hIhr^z~6I~DD(?~Hd7ScDI@ z=gsrXyzva~zRkbNVZoRL0q$|lCKCq0%fCAVe5QlmxD^3+dSyH$NLsM-b7ty_$c%uG zuOgM+{4|x-Q}+tLkR?DWA%+4^(Vh>)nYn!(K+^TfRvxJ-<$#CxSqS@u4w#i?OC<3@DQkwd<_yR#`=m&n2jg z@bWnVg&1aNTu0-J9K#R$Ti0t_TUhRlso;JGu^t~zpj<yllQYi{4&eAl=@~luJ^+vrYX^1+_hjDss z%rg^^GaQj_fy(nV2ZXyNah7O7eS{RYwGT<9K0>J)9ih-@yD<$7J71zM%*Yqc;UFG9 S3?(!nmQ#!b8w@UP=j=Zf3c?5g literal 0 HcmV?d00001 diff --git a/webapp/data/8b7e3ce4-0fb9-479b-878c-7f2a68d75aea-680a6610-7115-4b19-b149-e5bcb5250d9e.pdf b/webapp/data/8b7e3ce4-0fb9-479b-878c-7f2a68d75aea-680a6610-7115-4b19-b149-e5bcb5250d9e.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f24c66f7fce66300e05d18cd1bcf96845515e382 GIT binary patch literal 784 zcmZva$xg#C5Qgu5in&w*Bx*a06QYVk3l%$68%~IWp{4}2ah13TczR}>v?T~1V$bK_ zvt@ddv+=R)CyYrDV4vUFV88%){e;%n1B_<)!rI z*31h%w4d;ZDgjan(HFRjW`82h$Zkppl8)EKyhdqAG2rQU6hi++X%edpdT263FH=+7 zP4!}Gyc`UGk8SDj*cudQYcw_P?mg$T&9n2h)9qG`SA3{zLt5Y$X8B=U@uFK_*baK@ zH~+z+N{30+5K%3^D_XdGbq^VtH^a_0qbMH_FDYfgQ=~h1XkdGy(h%Zu=9$lmZ-Wu})LNXi?LWa1D(BNlQo(w?^ZPOT0m((T8UO$Q literal 0 HcmV?d00001 diff --git a/webapp/data/8b7e3ce4-0fb9-479b-878c-7f2a68d75aea-6eee1df5-a734-4eef-97f5-33fadf9def15.pdf b/webapp/data/8b7e3ce4-0fb9-479b-878c-7f2a68d75aea-6eee1df5-a734-4eef-97f5-33fadf9def15.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f24c66f7fce66300e05d18cd1bcf96845515e382 GIT binary patch literal 784 zcmZva$xg#C5Qgu5in&w*Bx*a06QYVk3l%$68%~IWp{4}2ah13TczR}>v?T~1V$bK_ zvt@ddv+=R)CyYrDV4vUFV88%){e;%n1B_<)!rI z*31h%w4d;ZDgjan(HFRjW`82h$Zkppl8)EKyhdqAG2rQU6hi++X%edpdT263FH=+7 zP4!}Gyc`UGk8SDj*cudQYcw_P?mg$T&9n2h)9qG`SA3{zLt5Y$X8B=U@uFK_*baK@ zH~+z+N{30+5K%3^D_XdGbq^VtH^a_0qbMH_FDYfgQ=~h1XkdGy(h%Zu=9$lmZ-Wu})LNXi?LWa1D(BNlQo(w?^ZPOT0m((T8UO$Q literal 0 HcmV?d00001 diff --git a/webapp/data/8b7e3ce4-0fb9-479b-878c-7f2a68d75aea-804bc9a1-4b18-4784-913a-f9765083d1f0.pdf b/webapp/data/8b7e3ce4-0fb9-479b-878c-7f2a68d75aea-804bc9a1-4b18-4784-913a-f9765083d1f0.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f24c66f7fce66300e05d18cd1bcf96845515e382 GIT binary patch literal 784 zcmZva$xg#C5Qgu5in&w*Bx*a06QYVk3l%$68%~IWp{4}2ah13TczR}>v?T~1V$bK_ zvt@ddv+=R)CyYrDV4vUFV88%){e;%n1B_<)!rI z*31h%w4d;ZDgjan(HFRjW`82h$Zkppl8)EKyhdqAG2rQU6hi++X%edpdT263FH=+7 zP4!}Gyc`UGk8SDj*cudQYcw_P?mg$T&9n2h)9qG`SA3{zLt5Y$X8B=U@uFK_*baK@ zH~+z+N{30+5K%3^D_XdGbq^VtH^a_0qbMH_FDYfgQ=~h1XkdGy(h%Zu=9$lmZ-Wu})LNXi?LWa1D(BNlQo(w?^ZPOT0m((T8UO$Q literal 0 HcmV?d00001 diff --git a/webapp/data/8b84fa0d-e917-44fe-a0e6-ef0b70abada0-680a6610-7115-4b19-b149-e5bcb5250d9e.pdf b/webapp/data/8b84fa0d-e917-44fe-a0e6-ef0b70abada0-680a6610-7115-4b19-b149-e5bcb5250d9e.pdf new file mode 100644 index 0000000000000000000000000000000000000000..eaee4c0313ebfd90353a7d172668297730a8ac49 GIT binary patch literal 791 zcmZvaO>f&U42JLe6}$xK1}u{Np`=F8L%Ie9)}ck}+t7oWFsZxP3S_0|`s+)|PFfe! z!4e<7B1M{`yPu06dOQ(Ag97*XEM_wSAj^My1bJzL-MKA;JG;de5)v)N#f89T&0@je z>#Zo|JHK&V*|~d#KcrHijZ$MpyXy7_)?B(n6F~FvSG8_QnsN?!_?(5&|FU!s^GFf8 zmr;}@w(j6p*phQL1G#Wbpkr@vqNCB(c=AUs?+=e5*3RCenp|>jTVyTBYuvqHs8+U* zMeX3baf=@+stNR{7Ba5ob0rKuD!IXC8=fFhhBa;QXlsf!FJnNROu1d>UAM}0gmR(5 zWX#J=1QRvR$he8dnJ%ckg;L+3e1`IS2a^J_0Z0o7_OEMPeeibR$qLw`-#A~}W`zS+ zPN4@NR5iB2)_Zc8RI7 literal 0 HcmV?d00001 diff --git a/webapp/data/8b84fa0d-e917-44fe-a0e6-ef0b70abada0-6eee1df5-a734-4eef-97f5-33fadf9def15.pdf b/webapp/data/8b84fa0d-e917-44fe-a0e6-ef0b70abada0-6eee1df5-a734-4eef-97f5-33fadf9def15.pdf new file mode 100644 index 0000000000000000000000000000000000000000..eaee4c0313ebfd90353a7d172668297730a8ac49 GIT binary patch literal 791 zcmZvaO>f&U42JLe6}$xK1}u{Np`=F8L%Ie9)}ck}+t7oWFsZxP3S_0|`s+)|PFfe! z!4e<7B1M{`yPu06dOQ(Ag97*XEM_wSAj^My1bJzL-MKA;JG;de5)v)N#f89T&0@je z>#Zo|JHK&V*|~d#KcrHijZ$MpyXy7_)?B(n6F~FvSG8_QnsN?!_?(5&|FU!s^GFf8 zmr;}@w(j6p*phQL1G#Wbpkr@vqNCB(c=AUs?+=e5*3RCenp|>jTVyTBYuvqHs8+U* zMeX3baf=@+stNR{7Ba5ob0rKuD!IXC8=fFhhBa;QXlsf!FJnNROu1d>UAM}0gmR(5 zWX#J=1QRvR$he8dnJ%ckg;L+3e1`IS2a^J_0Z0o7_OEMPeeibR$qLw`-#A~}W`zS+ zPN4@NR5iB2)_Zc8RI7 literal 0 HcmV?d00001 diff --git a/webapp/data/8b84fa0d-e917-44fe-a0e6-ef0b70abada0-804bc9a1-4b18-4784-913a-f9765083d1f0.pdf b/webapp/data/8b84fa0d-e917-44fe-a0e6-ef0b70abada0-804bc9a1-4b18-4784-913a-f9765083d1f0.pdf new file mode 100644 index 0000000000000000000000000000000000000000..eaee4c0313ebfd90353a7d172668297730a8ac49 GIT binary patch literal 791 zcmZvaO>f&U42JLe6}$xK1}u{Np`=F8L%Ie9)}ck}+t7oWFsZxP3S_0|`s+)|PFfe! z!4e<7B1M{`yPu06dOQ(Ag97*XEM_wSAj^My1bJzL-MKA;JG;de5)v)N#f89T&0@je z>#Zo|JHK&V*|~d#KcrHijZ$MpyXy7_)?B(n6F~FvSG8_QnsN?!_?(5&|FU!s^GFf8 zmr;}@w(j6p*phQL1G#Wbpkr@vqNCB(c=AUs?+=e5*3RCenp|>jTVyTBYuvqHs8+U* zMeX3baf=@+stNR{7Ba5ob0rKuD!IXC8=fFhhBa;QXlsf!FJnNROu1d>UAM}0gmR(5 zWX#J=1QRvR$he8dnJ%ckg;L+3e1`IS2a^J_0Z0o7_OEMPeeibR$qLw`-#A~}W`zS+ zPN4@NR5iB2)_Zc8RI7 literal 0 HcmV?d00001 diff --git a/webapp/data/b2e570bb-a742-4d93-a61d-ce23af6c468a-680a6610-7115-4b19-b149-e5bcb5250d9e.pdf b/webapp/data/b2e570bb-a742-4d93-a61d-ce23af6c468a-680a6610-7115-4b19-b149-e5bcb5250d9e.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f4cb61ced423c092e97aa18e0b126dee6bf5f401 GIT binary patch literal 801 zcmZuv-%r9Y5Pt7paW5olkhW~=1|dFx5RLdFFrSPMRVvQFM%H4`zuvoUATu`E+WYS7 z-F??!=pt#xE-skK7erL+34a!Z4GgOUzydXaoMY`V_`e! zuHXC*Mdc2QvJjG%VE59$6mhI8jb3A{Vd?|QZbI$qRozM#9^?}VDkMC8 z^FS;*AsSO}oX9>X0qZP3h4cf`vkL9@A%S;ni*3L`A7mRJgT96%?8Ei^addwdHsFZ( zkreG-7&RO&TN~^2dV>TNND)iX3*sb5A`!<&p~oo=POWo4Lc7wuF#!?7D(VF)ih>9b zu9w95p#}K?QrOBSB$fIL1u8i}uGHDelr-Rco_!n4$Y(`?!?%AVlu$ZfPMiqVYK`wF F><4}Tx?=zU literal 0 HcmV?d00001 diff --git a/webapp/data/b2e570bb-a742-4d93-a61d-ce23af6c468a-6eee1df5-a734-4eef-97f5-33fadf9def15.pdf b/webapp/data/b2e570bb-a742-4d93-a61d-ce23af6c468a-6eee1df5-a734-4eef-97f5-33fadf9def15.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f4cb61ced423c092e97aa18e0b126dee6bf5f401 GIT binary patch literal 801 zcmZuv-%r9Y5Pt7paW5olkhW~=1|dFx5RLdFFrSPMRVvQFM%H4`zuvoUATu`E+WYS7 z-F??!=pt#xE-skK7erL+34a!Z4GgOUzydXaoMY`V_`e! zuHXC*Mdc2QvJjG%VE59$6mhI8jb3A{Vd?|QZbI$qRozM#9^?}VDkMC8 z^FS;*AsSO}oX9>X0qZP3h4cf`vkL9@A%S;ni*3L`A7mRJgT96%?8Ei^addwdHsFZ( zkreG-7&RO&TN~^2dV>TNND)iX3*sb5A`!<&p~oo=POWo4Lc7wuF#!?7D(VF)ih>9b zu9w95p#}K?QrOBSB$fIL1u8i}uGHDelr-Rco_!n4$Y(`?!?%AVlu$ZfPMiqVYK`wF F><4}Tx?=zU literal 0 HcmV?d00001 diff --git a/webapp/data/b2e570bb-a742-4d93-a61d-ce23af6c468a-804bc9a1-4b18-4784-913a-f9765083d1f0.pdf b/webapp/data/b2e570bb-a742-4d93-a61d-ce23af6c468a-804bc9a1-4b18-4784-913a-f9765083d1f0.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f4cb61ced423c092e97aa18e0b126dee6bf5f401 GIT binary patch literal 801 zcmZuv-%r9Y5Pt7paW5olkhW~=1|dFx5RLdFFrSPMRVvQFM%H4`zuvoUATu`E+WYS7 z-F??!=pt#xE-skK7erL+34a!Z4GgOUzydXaoMY`V_`e! zuHXC*Mdc2QvJjG%VE59$6mhI8jb3A{Vd?|QZbI$qRozM#9^?}VDkMC8 z^FS;*AsSO}oX9>X0qZP3h4cf`vkL9@A%S;ni*3L`A7mRJgT96%?8Ei^addwdHsFZ( zkreG-7&RO&TN~^2dV>TNND)iX3*sb5A`!<&p~oo=POWo4Lc7wuF#!?7D(VF)ih>9b zu9w95p#}K?QrOBSB$fIL1u8i}uGHDelr-Rco_!n4$Y(`?!?%AVlu$ZfPMiqVYK`wF F><4}Tx?=zU literal 0 HcmV?d00001 diff --git a/webapp/data/cf180222-abae-4741-8cc8-756424c0d2cc-680a6610-7115-4b19-b149-e5bcb5250d9e.pdf b/webapp/data/cf180222-abae-4741-8cc8-756424c0d2cc-680a6610-7115-4b19-b149-e5bcb5250d9e.pdf new file mode 100644 index 0000000000000000000000000000000000000000..bdb42f8ba6559007629642fada2edb596bcd06fc GIT binary patch literal 799 zcmZva%Wm5+5JmU=irE-w3)Cd_pd7)-!fuQPc^NjlD2gnYm~j+XVj$8*lCSR!B|A}2 zE=2P1a)x&_qvemqcR4N?lOVv|J+bMO0dW2LY=O^BFgv#;uryoiAwkiKot`q=Y)H%q ze7+T>bmz)$Dl>C0@CQ`_q!MB*a2DNsOPaacHvuFqFRG14X-YZZ_G1=8|I5-nthE@S zdl^PqS?~7kz4drFodRFDCg8H)P@==8^LRXuoUiwHA$q6NgBp+c%y>&$;6Lr|uMO3` z>0@Cz=x&_i2Te5rALStsV64Z}aHf0H!5eYYlT(*ZT&&gvvF3pvX!% zU;molTuV9Nc?oI&LRDKIO#NKqFHWT>q&P{FtSHhXQQ}>Crm1aumxl&=Y3&0OkTYzG zet^pJGzY}}kk~ympgAIig&ZQO)Mu2c$q`{ys-11Az4^L&vzU>uoWs^T{35i_hWMOf MBG_njcC%pr0QBU&bN~PV literal 0 HcmV?d00001 diff --git a/webapp/data/cf180222-abae-4741-8cc8-756424c0d2cc-6eee1df5-a734-4eef-97f5-33fadf9def15.pdf b/webapp/data/cf180222-abae-4741-8cc8-756424c0d2cc-6eee1df5-a734-4eef-97f5-33fadf9def15.pdf new file mode 100644 index 0000000000000000000000000000000000000000..bdb42f8ba6559007629642fada2edb596bcd06fc GIT binary patch literal 799 zcmZva%Wm5+5JmU=irE-w3)Cd_pd7)-!fuQPc^NjlD2gnYm~j+XVj$8*lCSR!B|A}2 zE=2P1a)x&_qvemqcR4N?lOVv|J+bMO0dW2LY=O^BFgv#;uryoiAwkiKot`q=Y)H%q ze7+T>bmz)$Dl>C0@CQ`_q!MB*a2DNsOPaacHvuFqFRG14X-YZZ_G1=8|I5-nthE@S zdl^PqS?~7kz4drFodRFDCg8H)P@==8^LRXuoUiwHA$q6NgBp+c%y>&$;6Lr|uMO3` z>0@Cz=x&_i2Te5rALStsV64Z}aHf0H!5eYYlT(*ZT&&gvvF3pvX!% zU;molTuV9Nc?oI&LRDKIO#NKqFHWT>q&P{FtSHhXQQ}>Crm1aumxl&=Y3&0OkTYzG zet^pJGzY}}kk~ympgAIig&ZQO)Mu2c$q`{ys-11Az4^L&vzU>uoWs^T{35i_hWMOf MBG_njcC%pr0QBU&bN~PV literal 0 HcmV?d00001 diff --git a/webapp/data/cf180222-abae-4741-8cc8-756424c0d2cc-804bc9a1-4b18-4784-913a-f9765083d1f0.pdf b/webapp/data/cf180222-abae-4741-8cc8-756424c0d2cc-804bc9a1-4b18-4784-913a-f9765083d1f0.pdf new file mode 100644 index 0000000000000000000000000000000000000000..bdb42f8ba6559007629642fada2edb596bcd06fc GIT binary patch literal 799 zcmZva%Wm5+5JmU=irE-w3)Cd_pd7)-!fuQPc^NjlD2gnYm~j+XVj$8*lCSR!B|A}2 zE=2P1a)x&_qvemqcR4N?lOVv|J+bMO0dW2LY=O^BFgv#;uryoiAwkiKot`q=Y)H%q ze7+T>bmz)$Dl>C0@CQ`_q!MB*a2DNsOPaacHvuFqFRG14X-YZZ_G1=8|I5-nthE@S zdl^PqS?~7kz4drFodRFDCg8H)P@==8^LRXuoUiwHA$q6NgBp+c%y>&$;6Lr|uMO3` z>0@Cz=x&_i2Te5rALStsV64Z}aHf0H!5eYYlT(*ZT&&gvvF3pvX!% zU;molTuV9Nc?oI&LRDKIO#NKqFHWT>q&P{FtSHhXQQ}>Crm1aumxl&=Y3&0OkTYzG zet^pJGzY}}kk~ympgAIig&ZQO)Mu2c$q`{ys-11Az4^L&vzU>uoWs^T{35i_hWMOf MBG_njcC%pr0QBU&bN~PV literal 0 HcmV?d00001 diff --git a/webapp/golang/main.go b/webapp/golang/main.go index 877165c2f..1c451b884 100644 --- a/webapp/golang/main.go +++ b/webapp/golang/main.go @@ -28,6 +28,7 @@ import ( const ( SQLDirectory = "../sql/" AssignmentsDirectory = "../assignments/" + InitDataDirectory = "../data/" SessionName = "isucholar_go" mysqlErrNumDuplicateEntry = 1062 ) @@ -117,7 +118,7 @@ func (h *handlers) Initialize(c echo.Context) error { c.Logger().Error(err) return c.NoContent(http.StatusInternalServerError) } - if err := exec.Command("mkdir", AssignmentsDirectory).Run(); err != nil { + if err := exec.Command("cp", "-r", InitDataDirectory, AssignmentsDirectory).Run(); err != nil { c.Logger().Error(err) return c.NoContent(http.StatusInternalServerError) } From 2c03f3fc6aa7db0f6fc2a34ab5ba8dcbbedf6e9d Mon Sep 17 00:00:00 2001 From: yhattori Date: Wed, 8 Sep 2021 20:02:02 +0900 Subject: [PATCH 3/7] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20=20revert=20user=20nam?= =?UTF-8?q?e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- webapp/sql/2_init.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/webapp/sql/2_init.sql b/webapp/sql/2_init.sql index de11de50f..c4aa5d9dd 100644 --- a/webapp/sql/2_init.sql +++ b/webapp/sql/2_init.sql @@ -1,7 +1,7 @@ -- for browser check INSERT INTO `users` (`id`, `code`, `name`, `hashed_password`, `type`) VALUES -('81c95a50-f81f-425b-8e9e-6f07d774eac1','T00000','isucon-teacher','$2a$04$nfgVNp2Zh0iVMYtMkKBYOuTjGs2Tt0TOaxl24bBkCU.glKau1aJVy','teacher'), -('983350fe-ea3a-4828-ab7b-5c7934d1d309','S00000','isucon','$2a$04$lmKw6juHcAsKhRQJE599VuWoMdgBUQqC5b.18ZpTCB4Eig0moVhZG','student'); +('81c95a50-f81f-425b-8e9e-6f07d774eac1','T00000','isucon(教員)','$2a$04$nfgVNp2Zh0iVMYtMkKBYOuTjGs2Tt0TOaxl24bBkCU.glKau1aJVy','teacher'), +('983350fe-ea3a-4828-ab7b-5c7934d1d309','S00000','isucon(学生)','$2a$04$lmKw6juHcAsKhRQJE599VuWoMdgBUQqC5b.18ZpTCB4Eig0moVhZG','student'); INSERT INTO `users` (`id`, `code`, `name`, `hashed_password`, `type`) VALUES ('c6482e64-b532-44dd-92ef-f027b5c066c7','T00001','山口 陽輝','$2a$04$11HvLZoso2fGl8nnm4Wv3.KnwJ30DmhNqHuthYri7Hv2.oWZ3De9i','teacher'), ('50261242-df34-479e-9065-9439769f1343','T00002','加藤 駿','$2a$04$2SRGQjwcmZH/Jh7DwWUzkeLSEK7B8b4s8ahRx/HyGRA1hsrHALbOS','teacher'), From d7ec68ea72328a916d7bff5bb1a912a1e4347356 Mon Sep 17 00:00:00 2001 From: yhattori Date: Thu, 9 Sep 2021 00:23:20 +0900 Subject: [PATCH 4/7] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20=20fix=20init=20sql?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- webapp/sql/2_init.sql | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/webapp/sql/2_init.sql b/webapp/sql/2_init.sql index c4aa5d9dd..568ce29b2 100644 --- a/webapp/sql/2_init.sql +++ b/webapp/sql/2_init.sql @@ -1,8 +1,5 @@ --- for browser check INSERT INTO `users` (`id`, `code`, `name`, `hashed_password`, `type`) VALUES ('81c95a50-f81f-425b-8e9e-6f07d774eac1','T00000','isucon(教員)','$2a$04$nfgVNp2Zh0iVMYtMkKBYOuTjGs2Tt0TOaxl24bBkCU.glKau1aJVy','teacher'), -('983350fe-ea3a-4828-ab7b-5c7934d1d309','S00000','isucon(学生)','$2a$04$lmKw6juHcAsKhRQJE599VuWoMdgBUQqC5b.18ZpTCB4Eig0moVhZG','student'); -INSERT INTO `users` (`id`, `code`, `name`, `hashed_password`, `type`) VALUES ('c6482e64-b532-44dd-92ef-f027b5c066c7','T00001','山口 陽輝','$2a$04$11HvLZoso2fGl8nnm4Wv3.KnwJ30DmhNqHuthYri7Hv2.oWZ3De9i','teacher'), ('50261242-df34-479e-9065-9439769f1343','T00002','加藤 駿','$2a$04$2SRGQjwcmZH/Jh7DwWUzkeLSEK7B8b4s8ahRx/HyGRA1hsrHALbOS','teacher'), ('8eef895f-9f6d-4af2-bc20-1040fb523402','T00003','獅子吼 加奈子','$2a$04$moxiDsNEEVkj71CePbWkBeU9L2nUJCG/pLFqMaBglnwxIJSkYPmMK','teacher'), @@ -53,6 +50,7 @@ INSERT INTO `users` (`id`, `code`, `name`, `hashed_password`, `type`) VALUES ('35bf49e3-3386-46a0-b71b-26141d3c04a9','T00048','佐々木 翼','$2a$04$no8cAUZ7LqZBfdwbTiUxKO9nKUgOPTuXVuI14pc4rg8MwB0P4QXdy','teacher'), ('f21a7e7a-7580-457c-a873-767c99cea88e','T00049','佐藤 大樹','$2a$04$d2416wzVHmyw1oDzeOHbzOZZ0riC7RjG43.ENQGrQhFgT8s8WN8c6','teacher'); INSERT INTO `users` (`id`, `code`, `name`, `hashed_password`, `type`) VALUES +('983350fe-ea3a-4828-ab7b-5c7934d1d309','S00000','isucon(学生)','$2a$04$lmKw6juHcAsKhRQJE599VuWoMdgBUQqC5b.18ZpTCB4Eig0moVhZG','student'), ('a10bb7bf-dc7c-4de1-bf39-9efa49c0f37e','S00001','佐々木 翠','$2a$04$xs2Ki5q5i4Jv3VSqaCxyyuitSZELSUO2RTjf/PHO.Y4yk/NYwuLA.','student'), ('b2d64bcf-8b95-4345-9ba3-b0a1e7d5dd87','S00002','井上 一郎','$2a$04$5TScW.USIdTiihpoa8ZEj.tpvKwDzAscIdBBG1mcSt5z2bx4UdId6','student'), ('76d14aca-2426-4ac4-9e0c-a8fa9b3bd22b','S00003','安藤 蘭','$2a$04$HsDP1mSXAhBLZm9W.VX4UeS2N7lM5m06lF1m2fcqPYzx/auv2HtMS','student'), @@ -5055,16 +5053,15 @@ INSERT INTO `users` (`id`, `code`, `name`, `hashed_password`, `type`) VALUES -- 動作確認用 INSERT INTO `users` (`id`, `code`, `name`, `hashed_password`, `type`) VALUES -('93a85eda-5576-429e-ab9b-dd1da14d72bf','T99999','isucon-teacher2','$2a$04$DM8mmWZ9vaCRS1ZCBCAMju3Fg2PAv9SvSq4UZss7XYGJQNSESQEZm','teacher'), +('93a85eda-5576-429e-ab9b-dd1da14d72bf','T99999','isucon-teacher','$2a$04$DM8mmWZ9vaCRS1ZCBCAMju3Fg2PAv9SvSq4UZss7XYGJQNSESQEZm','teacher'), ('6eee1df5-a734-4eef-97f5-33fadf9def15','S99999','isucon1','$2a$04$E6TdLLp72D1l5EJcQ6qDn.AB/bdFh6gtVcgu0SUFS.3j.Vt5X9ch2','student'), ('804bc9a1-4b18-4784-913a-f9765083d1f0','S99998','isucon2','$2a$04$abH7BE13odlVdw.rLLDvT.mWcTsvR.FXIm0.Pu0p2iiE4WvV6N51O','student'), ('680a6610-7115-4b19-b149-e5bcb5250d9e','S99997','isucon3','$2a$04$6q3Lb.KYJLkkaWx34DMVy.1t2icsMbzW1eQvwFzXesHW3encgz/ru','student'); - INSERT INTO `courses` VALUES -('b4f7ab13-8629-420a-a173-f166b0162b56','X00001','major-subjects','ISUCON演習第一','この科目ではISUCONの過去問を通してサーバのチューニングアップを学びます。\n課題は講義中に出題するクイズへの回答を提出してください。\n\n本講義の成績は課題の提出状況により判断します。',1,1,'monday','93a85eda-5576-429e-ab9b-dd1da14d72bf','ISUCON チューニングアップ ','in-progress'), -('c22a43db-e9d9-4077-9bc8-99479ef86b41','X00002','major-subjects','ISUCON演習第二','この科目ではISUCONの過去問を通してサーバのチューニングアップを学びます。\n課題は講義中に出題するクイズへの回答を提出してください。\n\n本講義の成績は課題の提出状況により判断します。',1,1,'tuesday','93a85eda-5576-429e-ab9b-dd1da14d72bf','ISUCON チューニングアップ','in-progress'), -('ae53eb49-0258-463f-be70-1b295d7df740','X00003','major-subjects','ISUCON演習第三','この科目ではISUCONの過去問を通してサーバのチューニングアップを学びます。\n課題は講義中に出題するクイズへの回答を提出してください。\n\n本講義の成績は課題の提出状況により判断します。',1,1,'wednesday','93a85eda-5576-429e-ab9b-dd1da14d72bf','ISUCON チューニングアップ','registration'); +('b4f7ab13-8629-420a-a173-f166b0162b56','X00001','major-subjects','ISUCON演習第一','この科目ではISUCONの過去問を通してサーバのチューニングアップを学びます。\n課題は講義中に出題するクイズへの回答を提出してください。\n\n本講義の成績は課題の提出状況により判断します。',1,1,'monday','93a85eda-5576-429e-ab9b-dd1da14d72bf','ISUCON SpeedUP','in-progress'), +('c22a43db-e9d9-4077-9bc8-99479ef86b41','X00002','major-subjects','ISUCON演習第二','この科目ではISUCONの過去問を通してサーバのチューニングアップを学びます。\n課題は講義中に出題するクイズへの回答を提出してください。\n\n本講義の成績は課題の提出状況により判断します。',1,1,'tuesday','93a85eda-5576-429e-ab9b-dd1da14d72bf','ISUCON SpeedUP','in-progress'), +('ae53eb49-0258-463f-be70-1b295d7df740','X00003','major-subjects','ISUCON演習第三','この科目ではISUCONの過去問を通してサーバのチューニングアップを学びます。\n課題は講義中に出題するクイズへの回答を提出してください。\n\n本講義の成績は課題の提出状況により判断します。',1,1,'wednesday','93a85eda-5576-429e-ab9b-dd1da14d72bf','ISUCON SpeedUP','in-progress'); INSERT INTO `registrations` VALUES ('b4f7ab13-8629-420a-a173-f166b0162b56','6eee1df5-a734-4eef-97f5-33fadf9def15'), From ccb1fcddf1e0ef31059d69a8ca5ac59458d9d616 Mon Sep 17 00:00:00 2001 From: yhattori Date: Thu, 9 Sep 2021 00:40:46 +0900 Subject: [PATCH 5/7] [bench] add init test data --- benchmarker/generate/initialize.go | 75 ++++++++++++++++++++++++++++++ benchmarker/scenario/scenario.go | 5 ++ benchmarker/scenario/validation.go | 5 +- 3 files changed, 84 insertions(+), 1 deletion(-) create mode 100644 benchmarker/generate/initialize.go diff --git a/benchmarker/generate/initialize.go b/benchmarker/generate/initialize.go new file mode 100644 index 000000000..0368f33db --- /dev/null +++ b/benchmarker/generate/initialize.go @@ -0,0 +1,75 @@ +package generate + +import ( + _ "embed" + + "github.com/isucon/isucon11-final/benchmarker/model" +) + +var ( + initCourses []*model.Course +) + +func init() { + // 動作確認用のアカウント + // ベンチではこのアカウントを操作することはないためUserAccountのみを管理する + testTeacher := &model.Teacher{ + UserAccount: &model.UserAccount{ + Code: "T99999", + Name: "isucon-teacher", + RawPassword: "isucon", + }, + } + + // course(in-progress/registration)の作成 + // grade計算はclosedのコースのみ含まれないので学生を保持する必要はない + testCourse1 := model.NewCourse( + &model.CourseParam{ + Code: "X00001", + Type: "major-subjects", + Name: "ISUCON演習第一", + Description: "この科目ではISUCONの過去問を通してサーバのチューニングアップを学びます。\n課題は講義中に出題するクイズへの回答を提出してください。\n\n本講義の成績は課題の提出状況により判断します。", + Credit: 1, + Teacher: "isucon-teacher", + Period: 0, + DayOfWeek: 0, + Keywords: "ISUCON SpeedUP", + }, "b4f7ab13-8629-420a-a173-f166b0162b56", testTeacher, 50) + testCourse1.SetStatusToInProgress() + + testCourse2 := model.NewCourse( + &model.CourseParam{ + Code: "X00002", + Type: "major-subjects", + Name: "ISUCON演習第二", + Description: "この科目ではISUCONの過去問を通してサーバのチューニングアップを学びます。\n課題は講義中に出題するクイズへの回答を提出してください。\n\n本講義の成績は課題の提出状況により判断します。", + Credit: 1, + Teacher: "isucon-teacher", + Period: 0, + DayOfWeek: 1, + Keywords: "ISUCON SpeedUP", + }, "c22a43db-e9d9-4077-9bc8-99479ef86b41", testTeacher, 50) + testCourse2.SetStatusToInProgress() + + testCourse3 := model.NewCourse( + &model.CourseParam{ + Code: "X00003", + Type: "major-subjects", + Name: "ISUCON演習第三", + Description: "この科目ではISUCONの過去問を通してサーバのチューニングアップを学びます。\n課題は講義中に出題するクイズへの回答を提出してください。\n\n本講義の成績は課題の提出状況により判断します。", + Credit: 1, + Teacher: "isucon-teacher", + Period: 0, + DayOfWeek: 2, + Keywords: "ISUCON SpeedUP", + }, "ae53eb49-0258-463f-be70-1b295d7df740", testTeacher, 50) + + initCourses = []*model.Course{testCourse1, testCourse2, testCourse3} +} + +// InitialCourses は初期に追加されているコースを返す +// Loadなどでは操作されることは想定されていないので検証のみで扱う +func InitialCourses() []*model.Course { + // 他の初期コースを追加する場合はここで追加する + return initCourses +} diff --git a/benchmarker/scenario/scenario.go b/benchmarker/scenario/scenario.go index 759d7ef45..b6efe3e71 100644 --- a/benchmarker/scenario/scenario.go +++ b/benchmarker/scenario/scenario.go @@ -31,6 +31,10 @@ type Scenario struct { loadRequestEndTime time.Time debugData *DebugData + // initCourse は/initializeで追加されるコース + // 中のデータの更新はしないこと + initCourse []*model.Course + rmu sync.RWMutex finishCoursePubSub *pubsub.PubSub @@ -66,6 +70,7 @@ func NewScenario(config *Config) (*Scenario, error) { activeStudents: make([]*model.Student, 0, initialStudentsCount), debugData: NewDebugData(config.IsDebug), finishCoursePubSub: pubsub.NewPubSub(), + initCourse: generate.InitialCourses(), }, nil } diff --git a/benchmarker/scenario/validation.go b/benchmarker/scenario/validation.go index 3d3bbc0ec..41bb50ce3 100644 --- a/benchmarker/scenario/validation.go +++ b/benchmarker/scenario/validation.go @@ -175,6 +175,9 @@ func (s *Scenario) validateCourses(ctx context.Context, step *isucandar.Benchmar students := s.ActiveStudents() expectCourses := s.CourseManager.ExposeCoursesForValidation() + for _, c := range s.initCourse { + expectCourses[c.ID] = c + } if len(students) == 0 || len(expectCourses) == 0 { return @@ -199,7 +202,7 @@ func (s *Scenario) validateCourses(ctx context.Context, step *isucandar.Benchmar _, nextPathParam = parseLinkHeader(hres) } - if len(expectCourses) != len(actuals) { + if !AssertEqual("course count", len(expectCourses), len(actuals)) { step.AddError(errNotMatchCount) return } From bd69c13766545401c6e53473a9f9bf7be70c9bf2 Mon Sep 17 00:00:00 2001 From: yhattori Date: Thu, 9 Sep 2021 17:19:11 +0900 Subject: [PATCH 6/7] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20=20change=20uuid=20to?= =?UTF-8?q?=20ulid=20of=20init=20data?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- benchmarker/generate/initialize.go | 6 +-- webapp/sql/2_init.sql | 66 ++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+), 3 deletions(-) diff --git a/benchmarker/generate/initialize.go b/benchmarker/generate/initialize.go index 0368f33db..387e1cd4d 100644 --- a/benchmarker/generate/initialize.go +++ b/benchmarker/generate/initialize.go @@ -34,7 +34,7 @@ func init() { Period: 0, DayOfWeek: 0, Keywords: "ISUCON SpeedUP", - }, "b4f7ab13-8629-420a-a173-f166b0162b56", testTeacher, 50) + }, "01FF4RXEKS0DG2EG20CWPQ60M3", testTeacher, 50) testCourse1.SetStatusToInProgress() testCourse2 := model.NewCourse( @@ -48,7 +48,7 @@ func init() { Period: 0, DayOfWeek: 1, Keywords: "ISUCON SpeedUP", - }, "c22a43db-e9d9-4077-9bc8-99479ef86b41", testTeacher, 50) + }, "01FF4RXEKS0DG2EG20CYAYCCGM", testTeacher, 50) testCourse2.SetStatusToInProgress() testCourse3 := model.NewCourse( @@ -62,7 +62,7 @@ func init() { Period: 0, DayOfWeek: 2, Keywords: "ISUCON SpeedUP", - }, "ae53eb49-0258-463f-be70-1b295d7df740", testTeacher, 50) + }, "01FF4RXEKS0DG2EG20D23EQZRY", testTeacher, 50) initCourses = []*model.Course{testCourse1, testCourse2, testCourse3} } diff --git a/webapp/sql/2_init.sql b/webapp/sql/2_init.sql index 27dba50e1..c1dbd5f54 100644 --- a/webapp/sql/2_init.sql +++ b/webapp/sql/2_init.sql @@ -5050,3 +5050,69 @@ INSERT INTO `users` (`id`, `code`, `name`, `hashed_password`, `type`) VALUES ('01FEZPDYKRYDFP0A3K1CXHDGWT','S04997','斎藤 誠','$2a$04$xSSAksUI7kPEpv.o/AafRO9McM8/rlZuAF8fmsrHcYV39zIyjvrRa','student'), ('01FEZPDYKR6AJYEADQ59JZ6MWH','S04998','佐藤 麻美','$2a$04$0RIgxzAjnVL/qUpHhy1vnO/HwgauGVTgZsIJtCilrxvVa6yBCKnWu','student'), ('01FEZPDYKRWCH5RGHQ7KH45SNK','S04999','新井 大地','$2a$04$G4zlrprnfhtzYV5iVKKR2.nhkQ./AsYdNRo0xg1puOq7TSvIvnQj.','student'); + +-- 動作確認用 +INSERT INTO `users` (`id`, `code`, `name`, `hashed_password`, `type`) VALUES +('01FF4RXEKS0DG2EG20CKDWS7CC','T99999','isucon-teacher','$2a$04$DM8mmWZ9vaCRS1ZCBCAMju3Fg2PAv9SvSq4UZss7XYGJQNSESQEZm','teacher'), +('01FF4RXEKS0DG2EG20CN2GJB8K','S99999','isucon1','$2a$04$E6TdLLp72D1l5EJcQ6qDn.AB/bdFh6gtVcgu0SUFS.3j.Vt5X9ch2','student'), +('01FF4RXEKS0DG2EG20CQVX6FV0','S99998','isucon2','$2a$04$abH7BE13odlVdw.rLLDvT.mWcTsvR.FXIm0.Pu0p2iiE4WvV6N51O','student'), +('01FF4RXEKS0DG2EG20CTTAPEVH','S99997','isucon3','$2a$04$6q3Lb.KYJLkkaWx34DMVy.1t2icsMbzW1eQvwFzXesHW3encgz/ru','student'); + +INSERT INTO `courses` VALUES +('01FF4RXEKS0DG2EG20CWPQ60M3','X00001','major-subjects','ISUCON演習第一','この科目ではISUCONの過去問を通してサーバのチューニングアップを学びます。\n課題は講義中に出題するクイズへの回答を提出してください。\n\n本講義の成績は課題の提出状況により判断します。',1,1,'monday','01FF4RXEKS0DG2EG20CKDWS7CC','ISUCON SpeedUP','in-progress'), +('01FF4RXEKS0DG2EG20CYAYCCGM','X00002','major-subjects','ISUCON演習第二','この科目ではISUCONの過去問を通してサーバのチューニングアップを学びます。\n課題は講義中に出題するクイズへの回答を提出してください。\n\n本講義の成績は課題の提出状況により判断します。',1,1,'tuesday','01FF4RXEKS0DG2EG20CKDWS7CC','ISUCON SpeedUP','in-progress'), +('01FF4RXEKS0DG2EG20D23EQZRY','X00003','major-subjects','ISUCON演習第三','この科目ではISUCONの過去問を通してサーバのチューニングアップを学びます。\n課題は講義中に出題するクイズへの回答を提出してください。\n\n本講義の成績は課題の提出状況により判断します。',1,1,'wednesday','01FF4RXEKS0DG2EG20CKDWS7CC','ISUCON SpeedUP','registration'); + +INSERT INTO `registrations` VALUES +('01FF4RXEKS0DG2EG20CWPQ60M3','01FF4RXEKS0DG2EG20CN2GJB8K'), +('01FF4RXEKS0DG2EG20CWPQ60M3','01FF4RXEKS0DG2EG20CQVX6FV0'), +('01FF4RXEKS0DG2EG20CWPQ60M3','01FF4RXEKS0DG2EG20CTTAPEVH'), +('01FF4RXEKS0DG2EG20CYAYCCGM','01FF4RXEKS0DG2EG20CN2GJB8K'); + +INSERT INTO `classes` VALUES +('01FF4RXEKS0DG2EG20CWPQ60M3','01FF4RXEKS0DG2EG20CWPQ60M3',1,'第1回 ISUCON4 予選','本日はISUCON4 予選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。',0), +('01FF4RXEKS0DG2EG20CYAYCCGM','01FF4RXEKS0DG2EG20CWPQ60M3',2,'第2回 ISUCON4 本選','本日はISUCON4 本選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。',0), +('01FF4RXEKS0DG2EG20D23EQZRY','01FF4RXEKS0DG2EG20CWPQ60M3',3,'第3回 ISUCON5 予選','本日はISUCON5 予選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。',0), +('01FF4RXEKS0DG2EG20D4APKY18','01FF4RXEKS0DG2EG20CWPQ60M3',4,'第4回 ISUCON6 予選','本日はISUCON6 予選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。',0), +('01FF4RXEKS0DG2EG20D61YCEM1','01FF4RXEKS0DG2EG20CWPQ60M3',5,'第5回 ISUCON7 予選','本日はISUCON7 予選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。',0); + +INSERT INTO `announcements` VALUES +('01FF4RXEKS0DG2EG20D6N5CNRQ','01FF4RXEKS0DG2EG20CWPQ60M3','クラス追加: ISUCON4 予選','クラスが新しく追加されました: ISUCON4 予選\n本日はISUCON4 予選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。'), +('01FF4RXEKS0DG2EG20DA1W34X3','01FF4RXEKS0DG2EG20CWPQ60M3','クラス追加: ISUCON4 本選','クラスが新しく追加されました: ISUCON4 本選\n本日はISUCON4 本選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。'), +('01FF4RXEKS0DG2EG20DAGTWP61','01FF4RXEKS0DG2EG20CWPQ60M3','クラス追加: ISUCON5 予選','クラスが新しく追加されました: ISUCON5 予選\n本日はISUCON5 予選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。'), +('01FF4RXEKS0DG2EG20DBT4PFHF','01FF4RXEKS0DG2EG20CWPQ60M3','クラス追加: ISUCON6 予選','クラスが新しく追加されました: ISUCON6 予選\n本日はISUCON6 予選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。'), +('01FF4RXEKS0DG2EG20DDPCS14P','01FF4RXEKS0DG2EG20CWPQ60M3','クラス追加: ISUCON7 予選','クラスが新しく追加されました: ISUCON7 予選\n本日はISUCON7 予選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。'); + +INSERT INTO `unread_announcements` VALUES +('01FF4RXEKS0DG2EG20D6N5CNRQ','01FF4RXEKS0DG2EG20CN2GJB8K',true), +('01FF4RXEKS0DG2EG20DA1W34X3','01FF4RXEKS0DG2EG20CN2GJB8K',true), +('01FF4RXEKS0DG2EG20DAGTWP61','01FF4RXEKS0DG2EG20CN2GJB8K',true), +('01FF4RXEKS0DG2EG20DBT4PFHF','01FF4RXEKS0DG2EG20CN2GJB8K',true), +('01FF4RXEKS0DG2EG20DDPCS14P','01FF4RXEKS0DG2EG20CN2GJB8K',true), +('01FF4RXEKS0DG2EG20D6N5CNRQ','01FF4RXEKS0DG2EG20CQVX6FV0',true), +('01FF4RXEKS0DG2EG20DA1W34X3','01FF4RXEKS0DG2EG20CQVX6FV0',true), +('01FF4RXEKS0DG2EG20DAGTWP61','01FF4RXEKS0DG2EG20CQVX6FV0',true), +('01FF4RXEKS0DG2EG20DBT4PFHF','01FF4RXEKS0DG2EG20CQVX6FV0',true), +('01FF4RXEKS0DG2EG20DDPCS14P','01FF4RXEKS0DG2EG20CQVX6FV0',true), +('01FF4RXEKS0DG2EG20D6N5CNRQ','01FF4RXEKS0DG2EG20CTTAPEVH',true), +('01FF4RXEKS0DG2EG20DA1W34X3','01FF4RXEKS0DG2EG20CTTAPEVH',true), +('01FF4RXEKS0DG2EG20DAGTWP61','01FF4RXEKS0DG2EG20CTTAPEVH',true), +('01FF4RXEKS0DG2EG20DBT4PFHF','01FF4RXEKS0DG2EG20CTTAPEVH',true), +('01FF4RXEKS0DG2EG20DDPCS14P','01FF4RXEKS0DG2EG20CTTAPEVH',true); + +INSERT INTO `submissions` VALUES +('01FF4RXEKS0DG2EG20CN2GJB8K','01FF4RXEKS0DG2EG20CWPQ60M3','S99999_1st.pdf',72), +('01FF4RXEKS0DG2EG20CN2GJB8K','01FF4RXEKS0DG2EG20CYAYCCGM','S99999_2nd.pdf',65), +('01FF4RXEKS0DG2EG20CN2GJB8K','01FF4RXEKS0DG2EG20D23EQZRY','S99999_3rd.pdf',88), +('01FF4RXEKS0DG2EG20CN2GJB8K','01FF4RXEKS0DG2EG20D4APKY18','S99999_4th.pdf',54), +('01FF4RXEKS0DG2EG20CN2GJB8K','01FF4RXEKS0DG2EG20D61YCEM1','S99999_5th.pdf',60), +('01FF4RXEKS0DG2EG20CQVX6FV0','01FF4RXEKS0DG2EG20CWPQ60M3','S99998_1st.pdf',12), +('01FF4RXEKS0DG2EG20CQVX6FV0','01FF4RXEKS0DG2EG20CYAYCCGM','S99998_2nd.pdf',8), +('01FF4RXEKS0DG2EG20CQVX6FV0','01FF4RXEKS0DG2EG20D23EQZRY','S99998_3rd.pdf',26), +('01FF4RXEKS0DG2EG20CQVX6FV0','01FF4RXEKS0DG2EG20D4APKY18','S99998_4th.pdf',33), +('01FF4RXEKS0DG2EG20CQVX6FV0','01FF4RXEKS0DG2EG20D61YCEM1','S99998_5th.pdf',16), +('01FF4RXEKS0DG2EG20CTTAPEVH','01FF4RXEKS0DG2EG20CWPQ60M3','S99997_1st.pdf',90), +('01FF4RXEKS0DG2EG20CTTAPEVH','01FF4RXEKS0DG2EG20CYAYCCGM','S99997_2nd.pdf',82), +('01FF4RXEKS0DG2EG20CTTAPEVH','01FF4RXEKS0DG2EG20D23EQZRY','S99997_3rd.pdf',73), +('01FF4RXEKS0DG2EG20CTTAPEVH','01FF4RXEKS0DG2EG20D4APKY18','S99997_4th.pdf',79), +('01FF4RXEKS0DG2EG20CTTAPEVH','01FF4RXEKS0DG2EG20D61YCEM1','S99997_5th.pdf',100); From f7b763f8809b3e0d24c0ac4f088626e2fcc0cd5e Mon Sep 17 00:00:00 2001 From: yhattori Date: Thu, 9 Sep 2021 18:34:46 +0900 Subject: [PATCH 7/7] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20=20separate=20init=20d?= =?UTF-8?q?ata?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- webapp/golang/main.go | 1 + webapp/sql/2_init.sql | 66 ----------------------------------------- webapp/sql/3_sample.sql | 64 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 65 insertions(+), 66 deletions(-) create mode 100644 webapp/sql/3_sample.sql diff --git a/webapp/golang/main.go b/webapp/golang/main.go index 99b100cc9..09b808fb6 100644 --- a/webapp/golang/main.go +++ b/webapp/golang/main.go @@ -99,6 +99,7 @@ func (h *handlers) Initialize(c echo.Context) error { files := []string{ "1_schema.sql", "2_init.sql", + "3_sample.sql", } for _, file := range files { data, err := ioutil.ReadFile(SQLDirectory + file) diff --git a/webapp/sql/2_init.sql b/webapp/sql/2_init.sql index c1dbd5f54..27dba50e1 100644 --- a/webapp/sql/2_init.sql +++ b/webapp/sql/2_init.sql @@ -5050,69 +5050,3 @@ INSERT INTO `users` (`id`, `code`, `name`, `hashed_password`, `type`) VALUES ('01FEZPDYKRYDFP0A3K1CXHDGWT','S04997','斎藤 誠','$2a$04$xSSAksUI7kPEpv.o/AafRO9McM8/rlZuAF8fmsrHcYV39zIyjvrRa','student'), ('01FEZPDYKR6AJYEADQ59JZ6MWH','S04998','佐藤 麻美','$2a$04$0RIgxzAjnVL/qUpHhy1vnO/HwgauGVTgZsIJtCilrxvVa6yBCKnWu','student'), ('01FEZPDYKRWCH5RGHQ7KH45SNK','S04999','新井 大地','$2a$04$G4zlrprnfhtzYV5iVKKR2.nhkQ./AsYdNRo0xg1puOq7TSvIvnQj.','student'); - --- 動作確認用 -INSERT INTO `users` (`id`, `code`, `name`, `hashed_password`, `type`) VALUES -('01FF4RXEKS0DG2EG20CKDWS7CC','T99999','isucon-teacher','$2a$04$DM8mmWZ9vaCRS1ZCBCAMju3Fg2PAv9SvSq4UZss7XYGJQNSESQEZm','teacher'), -('01FF4RXEKS0DG2EG20CN2GJB8K','S99999','isucon1','$2a$04$E6TdLLp72D1l5EJcQ6qDn.AB/bdFh6gtVcgu0SUFS.3j.Vt5X9ch2','student'), -('01FF4RXEKS0DG2EG20CQVX6FV0','S99998','isucon2','$2a$04$abH7BE13odlVdw.rLLDvT.mWcTsvR.FXIm0.Pu0p2iiE4WvV6N51O','student'), -('01FF4RXEKS0DG2EG20CTTAPEVH','S99997','isucon3','$2a$04$6q3Lb.KYJLkkaWx34DMVy.1t2icsMbzW1eQvwFzXesHW3encgz/ru','student'); - -INSERT INTO `courses` VALUES -('01FF4RXEKS0DG2EG20CWPQ60M3','X00001','major-subjects','ISUCON演習第一','この科目ではISUCONの過去問を通してサーバのチューニングアップを学びます。\n課題は講義中に出題するクイズへの回答を提出してください。\n\n本講義の成績は課題の提出状況により判断します。',1,1,'monday','01FF4RXEKS0DG2EG20CKDWS7CC','ISUCON SpeedUP','in-progress'), -('01FF4RXEKS0DG2EG20CYAYCCGM','X00002','major-subjects','ISUCON演習第二','この科目ではISUCONの過去問を通してサーバのチューニングアップを学びます。\n課題は講義中に出題するクイズへの回答を提出してください。\n\n本講義の成績は課題の提出状況により判断します。',1,1,'tuesday','01FF4RXEKS0DG2EG20CKDWS7CC','ISUCON SpeedUP','in-progress'), -('01FF4RXEKS0DG2EG20D23EQZRY','X00003','major-subjects','ISUCON演習第三','この科目ではISUCONの過去問を通してサーバのチューニングアップを学びます。\n課題は講義中に出題するクイズへの回答を提出してください。\n\n本講義の成績は課題の提出状況により判断します。',1,1,'wednesday','01FF4RXEKS0DG2EG20CKDWS7CC','ISUCON SpeedUP','registration'); - -INSERT INTO `registrations` VALUES -('01FF4RXEKS0DG2EG20CWPQ60M3','01FF4RXEKS0DG2EG20CN2GJB8K'), -('01FF4RXEKS0DG2EG20CWPQ60M3','01FF4RXEKS0DG2EG20CQVX6FV0'), -('01FF4RXEKS0DG2EG20CWPQ60M3','01FF4RXEKS0DG2EG20CTTAPEVH'), -('01FF4RXEKS0DG2EG20CYAYCCGM','01FF4RXEKS0DG2EG20CN2GJB8K'); - -INSERT INTO `classes` VALUES -('01FF4RXEKS0DG2EG20CWPQ60M3','01FF4RXEKS0DG2EG20CWPQ60M3',1,'第1回 ISUCON4 予選','本日はISUCON4 予選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。',0), -('01FF4RXEKS0DG2EG20CYAYCCGM','01FF4RXEKS0DG2EG20CWPQ60M3',2,'第2回 ISUCON4 本選','本日はISUCON4 本選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。',0), -('01FF4RXEKS0DG2EG20D23EQZRY','01FF4RXEKS0DG2EG20CWPQ60M3',3,'第3回 ISUCON5 予選','本日はISUCON5 予選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。',0), -('01FF4RXEKS0DG2EG20D4APKY18','01FF4RXEKS0DG2EG20CWPQ60M3',4,'第4回 ISUCON6 予選','本日はISUCON6 予選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。',0), -('01FF4RXEKS0DG2EG20D61YCEM1','01FF4RXEKS0DG2EG20CWPQ60M3',5,'第5回 ISUCON7 予選','本日はISUCON7 予選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。',0); - -INSERT INTO `announcements` VALUES -('01FF4RXEKS0DG2EG20D6N5CNRQ','01FF4RXEKS0DG2EG20CWPQ60M3','クラス追加: ISUCON4 予選','クラスが新しく追加されました: ISUCON4 予選\n本日はISUCON4 予選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。'), -('01FF4RXEKS0DG2EG20DA1W34X3','01FF4RXEKS0DG2EG20CWPQ60M3','クラス追加: ISUCON4 本選','クラスが新しく追加されました: ISUCON4 本選\n本日はISUCON4 本選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。'), -('01FF4RXEKS0DG2EG20DAGTWP61','01FF4RXEKS0DG2EG20CWPQ60M3','クラス追加: ISUCON5 予選','クラスが新しく追加されました: ISUCON5 予選\n本日はISUCON5 予選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。'), -('01FF4RXEKS0DG2EG20DBT4PFHF','01FF4RXEKS0DG2EG20CWPQ60M3','クラス追加: ISUCON6 予選','クラスが新しく追加されました: ISUCON6 予選\n本日はISUCON6 予選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。'), -('01FF4RXEKS0DG2EG20DDPCS14P','01FF4RXEKS0DG2EG20CWPQ60M3','クラス追加: ISUCON7 予選','クラスが新しく追加されました: ISUCON7 予選\n本日はISUCON7 予選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。'); - -INSERT INTO `unread_announcements` VALUES -('01FF4RXEKS0DG2EG20D6N5CNRQ','01FF4RXEKS0DG2EG20CN2GJB8K',true), -('01FF4RXEKS0DG2EG20DA1W34X3','01FF4RXEKS0DG2EG20CN2GJB8K',true), -('01FF4RXEKS0DG2EG20DAGTWP61','01FF4RXEKS0DG2EG20CN2GJB8K',true), -('01FF4RXEKS0DG2EG20DBT4PFHF','01FF4RXEKS0DG2EG20CN2GJB8K',true), -('01FF4RXEKS0DG2EG20DDPCS14P','01FF4RXEKS0DG2EG20CN2GJB8K',true), -('01FF4RXEKS0DG2EG20D6N5CNRQ','01FF4RXEKS0DG2EG20CQVX6FV0',true), -('01FF4RXEKS0DG2EG20DA1W34X3','01FF4RXEKS0DG2EG20CQVX6FV0',true), -('01FF4RXEKS0DG2EG20DAGTWP61','01FF4RXEKS0DG2EG20CQVX6FV0',true), -('01FF4RXEKS0DG2EG20DBT4PFHF','01FF4RXEKS0DG2EG20CQVX6FV0',true), -('01FF4RXEKS0DG2EG20DDPCS14P','01FF4RXEKS0DG2EG20CQVX6FV0',true), -('01FF4RXEKS0DG2EG20D6N5CNRQ','01FF4RXEKS0DG2EG20CTTAPEVH',true), -('01FF4RXEKS0DG2EG20DA1W34X3','01FF4RXEKS0DG2EG20CTTAPEVH',true), -('01FF4RXEKS0DG2EG20DAGTWP61','01FF4RXEKS0DG2EG20CTTAPEVH',true), -('01FF4RXEKS0DG2EG20DBT4PFHF','01FF4RXEKS0DG2EG20CTTAPEVH',true), -('01FF4RXEKS0DG2EG20DDPCS14P','01FF4RXEKS0DG2EG20CTTAPEVH',true); - -INSERT INTO `submissions` VALUES -('01FF4RXEKS0DG2EG20CN2GJB8K','01FF4RXEKS0DG2EG20CWPQ60M3','S99999_1st.pdf',72), -('01FF4RXEKS0DG2EG20CN2GJB8K','01FF4RXEKS0DG2EG20CYAYCCGM','S99999_2nd.pdf',65), -('01FF4RXEKS0DG2EG20CN2GJB8K','01FF4RXEKS0DG2EG20D23EQZRY','S99999_3rd.pdf',88), -('01FF4RXEKS0DG2EG20CN2GJB8K','01FF4RXEKS0DG2EG20D4APKY18','S99999_4th.pdf',54), -('01FF4RXEKS0DG2EG20CN2GJB8K','01FF4RXEKS0DG2EG20D61YCEM1','S99999_5th.pdf',60), -('01FF4RXEKS0DG2EG20CQVX6FV0','01FF4RXEKS0DG2EG20CWPQ60M3','S99998_1st.pdf',12), -('01FF4RXEKS0DG2EG20CQVX6FV0','01FF4RXEKS0DG2EG20CYAYCCGM','S99998_2nd.pdf',8), -('01FF4RXEKS0DG2EG20CQVX6FV0','01FF4RXEKS0DG2EG20D23EQZRY','S99998_3rd.pdf',26), -('01FF4RXEKS0DG2EG20CQVX6FV0','01FF4RXEKS0DG2EG20D4APKY18','S99998_4th.pdf',33), -('01FF4RXEKS0DG2EG20CQVX6FV0','01FF4RXEKS0DG2EG20D61YCEM1','S99998_5th.pdf',16), -('01FF4RXEKS0DG2EG20CTTAPEVH','01FF4RXEKS0DG2EG20CWPQ60M3','S99997_1st.pdf',90), -('01FF4RXEKS0DG2EG20CTTAPEVH','01FF4RXEKS0DG2EG20CYAYCCGM','S99997_2nd.pdf',82), -('01FF4RXEKS0DG2EG20CTTAPEVH','01FF4RXEKS0DG2EG20D23EQZRY','S99997_3rd.pdf',73), -('01FF4RXEKS0DG2EG20CTTAPEVH','01FF4RXEKS0DG2EG20D4APKY18','S99997_4th.pdf',79), -('01FF4RXEKS0DG2EG20CTTAPEVH','01FF4RXEKS0DG2EG20D61YCEM1','S99997_5th.pdf',100); diff --git a/webapp/sql/3_sample.sql b/webapp/sql/3_sample.sql new file mode 100644 index 000000000..a2ffe2bf7 --- /dev/null +++ b/webapp/sql/3_sample.sql @@ -0,0 +1,64 @@ +INSERT INTO `users` (`id`, `code`, `name`, `hashed_password`, `type`) VALUES +('01FF4RXEKS0DG2EG20CKDWS7CC','T99999','isucon-teacher','$2a$04$DM8mmWZ9vaCRS1ZCBCAMju3Fg2PAv9SvSq4UZss7XYGJQNSESQEZm','teacher'), +('01FF4RXEKS0DG2EG20CN2GJB8K','S99999','isucon1','$2a$04$E6TdLLp72D1l5EJcQ6qDn.AB/bdFh6gtVcgu0SUFS.3j.Vt5X9ch2','student'), +('01FF4RXEKS0DG2EG20CQVX6FV0','S99998','isucon2','$2a$04$abH7BE13odlVdw.rLLDvT.mWcTsvR.FXIm0.Pu0p2iiE4WvV6N51O','student'), +('01FF4RXEKS0DG2EG20CTTAPEVH','S99997','isucon3','$2a$04$6q3Lb.KYJLkkaWx34DMVy.1t2icsMbzW1eQvwFzXesHW3encgz/ru','student'); + +INSERT INTO `courses` VALUES +('01FF4RXEKS0DG2EG20CWPQ60M3','X00001','major-subjects','ISUCON演習第一','この科目ではISUCONの過去問を通してサーバのチューニングアップを学びます。\n課題は講義中に出題するクイズへの回答を提出してください。\n\n本講義の成績は課題の提出状況により判断します。',1,1,'monday','01FF4RXEKS0DG2EG20CKDWS7CC','ISUCON SpeedUP','in-progress'), +('01FF4RXEKS0DG2EG20CYAYCCGM','X00002','major-subjects','ISUCON演習第二','この科目ではISUCONの過去問を通してサーバのチューニングアップを学びます。\n課題は講義中に出題するクイズへの回答を提出してください。\n\n本講義の成績は課題の提出状況により判断します。',1,1,'tuesday','01FF4RXEKS0DG2EG20CKDWS7CC','ISUCON SpeedUP','in-progress'), +('01FF4RXEKS0DG2EG20D23EQZRY','X00003','major-subjects','ISUCON演習第三','この科目ではISUCONの過去問を通してサーバのチューニングアップを学びます。\n課題は講義中に出題するクイズへの回答を提出してください。\n\n本講義の成績は課題の提出状況により判断します。',1,1,'wednesday','01FF4RXEKS0DG2EG20CKDWS7CC','ISUCON SpeedUP','registration'); + +INSERT INTO `registrations` VALUES +('01FF4RXEKS0DG2EG20CWPQ60M3','01FF4RXEKS0DG2EG20CN2GJB8K'), +('01FF4RXEKS0DG2EG20CWPQ60M3','01FF4RXEKS0DG2EG20CQVX6FV0'), +('01FF4RXEKS0DG2EG20CWPQ60M3','01FF4RXEKS0DG2EG20CTTAPEVH'), +('01FF4RXEKS0DG2EG20CYAYCCGM','01FF4RXEKS0DG2EG20CN2GJB8K'); + +INSERT INTO `classes` VALUES +('01FF4RXEKS0DG2EG20CWPQ60M3','01FF4RXEKS0DG2EG20CWPQ60M3',1,'第1回 ISUCON4 予選','本日はISUCON4 予選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。',0), +('01FF4RXEKS0DG2EG20CYAYCCGM','01FF4RXEKS0DG2EG20CWPQ60M3',2,'第2回 ISUCON4 本選','本日はISUCON4 本選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。',0), +('01FF4RXEKS0DG2EG20D23EQZRY','01FF4RXEKS0DG2EG20CWPQ60M3',3,'第3回 ISUCON5 予選','本日はISUCON5 予選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。',0), +('01FF4RXEKS0DG2EG20D4APKY18','01FF4RXEKS0DG2EG20CWPQ60M3',4,'第4回 ISUCON6 予選','本日はISUCON6 予選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。',0), +('01FF4RXEKS0DG2EG20D61YCEM1','01FF4RXEKS0DG2EG20CWPQ60M3',5,'第5回 ISUCON7 予選','本日はISUCON7 予選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。',0); + +INSERT INTO `announcements` VALUES +('01FF4RXEKS0DG2EG20D6N5CNRQ','01FF4RXEKS0DG2EG20CWPQ60M3','クラス追加: ISUCON4 予選','クラスが新しく追加されました: ISUCON4 予選\n本日はISUCON4 予選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。'), +('01FF4RXEKS0DG2EG20DA1W34X3','01FF4RXEKS0DG2EG20CWPQ60M3','クラス追加: ISUCON4 本選','クラスが新しく追加されました: ISUCON4 本選\n本日はISUCON4 本選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。'), +('01FF4RXEKS0DG2EG20DAGTWP61','01FF4RXEKS0DG2EG20CWPQ60M3','クラス追加: ISUCON5 予選','クラスが新しく追加されました: ISUCON5 予選\n本日はISUCON5 予選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。'), +('01FF4RXEKS0DG2EG20DBT4PFHF','01FF4RXEKS0DG2EG20CWPQ60M3','クラス追加: ISUCON6 予選','クラスが新しく追加されました: ISUCON6 予選\n本日はISUCON6 予選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。'), +('01FF4RXEKS0DG2EG20DDPCS14P','01FF4RXEKS0DG2EG20CWPQ60M3','クラス追加: ISUCON7 予選','クラスが新しく追加されました: ISUCON7 予選\n本日はISUCON7 予選の過去問を実施します。課題は講義中に出題するクイズへの回答を提出してください。'); + +INSERT INTO `unread_announcements` VALUES +('01FF4RXEKS0DG2EG20D6N5CNRQ','01FF4RXEKS0DG2EG20CN2GJB8K',true), +('01FF4RXEKS0DG2EG20DA1W34X3','01FF4RXEKS0DG2EG20CN2GJB8K',true), +('01FF4RXEKS0DG2EG20DAGTWP61','01FF4RXEKS0DG2EG20CN2GJB8K',true), +('01FF4RXEKS0DG2EG20DBT4PFHF','01FF4RXEKS0DG2EG20CN2GJB8K',true), +('01FF4RXEKS0DG2EG20DDPCS14P','01FF4RXEKS0DG2EG20CN2GJB8K',true), +('01FF4RXEKS0DG2EG20D6N5CNRQ','01FF4RXEKS0DG2EG20CQVX6FV0',true), +('01FF4RXEKS0DG2EG20DA1W34X3','01FF4RXEKS0DG2EG20CQVX6FV0',true), +('01FF4RXEKS0DG2EG20DAGTWP61','01FF4RXEKS0DG2EG20CQVX6FV0',true), +('01FF4RXEKS0DG2EG20DBT4PFHF','01FF4RXEKS0DG2EG20CQVX6FV0',true), +('01FF4RXEKS0DG2EG20DDPCS14P','01FF4RXEKS0DG2EG20CQVX6FV0',true), +('01FF4RXEKS0DG2EG20D6N5CNRQ','01FF4RXEKS0DG2EG20CTTAPEVH',true), +('01FF4RXEKS0DG2EG20DA1W34X3','01FF4RXEKS0DG2EG20CTTAPEVH',true), +('01FF4RXEKS0DG2EG20DAGTWP61','01FF4RXEKS0DG2EG20CTTAPEVH',true), +('01FF4RXEKS0DG2EG20DBT4PFHF','01FF4RXEKS0DG2EG20CTTAPEVH',true), +('01FF4RXEKS0DG2EG20DDPCS14P','01FF4RXEKS0DG2EG20CTTAPEVH',true); + +INSERT INTO `submissions` VALUES +('01FF4RXEKS0DG2EG20CN2GJB8K','01FF4RXEKS0DG2EG20CWPQ60M3','S99999_1st.pdf',72), +('01FF4RXEKS0DG2EG20CN2GJB8K','01FF4RXEKS0DG2EG20CYAYCCGM','S99999_2nd.pdf',65), +('01FF4RXEKS0DG2EG20CN2GJB8K','01FF4RXEKS0DG2EG20D23EQZRY','S99999_3rd.pdf',88), +('01FF4RXEKS0DG2EG20CN2GJB8K','01FF4RXEKS0DG2EG20D4APKY18','S99999_4th.pdf',54), +('01FF4RXEKS0DG2EG20CN2GJB8K','01FF4RXEKS0DG2EG20D61YCEM1','S99999_5th.pdf',60), +('01FF4RXEKS0DG2EG20CQVX6FV0','01FF4RXEKS0DG2EG20CWPQ60M3','S99998_1st.pdf',12), +('01FF4RXEKS0DG2EG20CQVX6FV0','01FF4RXEKS0DG2EG20CYAYCCGM','S99998_2nd.pdf',8), +('01FF4RXEKS0DG2EG20CQVX6FV0','01FF4RXEKS0DG2EG20D23EQZRY','S99998_3rd.pdf',26), +('01FF4RXEKS0DG2EG20CQVX6FV0','01FF4RXEKS0DG2EG20D4APKY18','S99998_4th.pdf',33), +('01FF4RXEKS0DG2EG20CQVX6FV0','01FF4RXEKS0DG2EG20D61YCEM1','S99998_5th.pdf',16), +('01FF4RXEKS0DG2EG20CTTAPEVH','01FF4RXEKS0DG2EG20CWPQ60M3','S99997_1st.pdf',90), +('01FF4RXEKS0DG2EG20CTTAPEVH','01FF4RXEKS0DG2EG20CYAYCCGM','S99997_2nd.pdf',82), +('01FF4RXEKS0DG2EG20CTTAPEVH','01FF4RXEKS0DG2EG20D23EQZRY','S99997_3rd.pdf',73), +('01FF4RXEKS0DG2EG20CTTAPEVH','01FF4RXEKS0DG2EG20D4APKY18','S99997_4th.pdf',79), +('01FF4RXEKS0DG2EG20CTTAPEVH','01FF4RXEKS0DG2EG20D61YCEM1','S99997_5th.pdf',100);