kenkoooo / atcoderproblems Goto Github PK
View Code? Open in Web Editor NEWExtend your AtCoder
Home Page: https://kenkoooo.com/atcoder/
License: MIT License
Extend your AtCoder
Home Page: https://kenkoooo.com/atcoder/
License: MIT License
In ApiCall.tsx
, the function returns the array of the model. It seems the returned API data structure and the typescript models are very similar. How about matching typescript models to the returned API data structure?
For example, getSubmissions
function can be simplified like this.
static getSubmissions(
url: string,
query?: { user: string; rivals: string }
): Promise<Array<Submission>> {
return this.getJson(url, query).then((obj: Array<any>) => {
let submissions: Submission[] = obj.map(o => o as Submission);
return submissions;
});
}
This does not work for getRanking
and getRatedPointSumRanking
since these functions treat some of the returned properties as something else.
Matching enables shorter code and less maintenance. Currently, if we change the properties in the models, we have to edit corresponding API call using that model. Also, some of the property must be changed from camel case to underscores such as contestId
and userId
unless there are specific reasons for using camel case. I believe the above example should work, but let me know if it doesn't work.
言語ごとに AC 数などをランキング表示できるようにする。
Accepted count displayed 0 with users with a few ACs
http://beta.kenkoooo.com/atcoder/?user=iwiwi&kind=user
TypeScript に移行したいという気持ちとともにある。
トップページの ライバル:
のtextboxのplaceholderに User ID,User ID,User ID,...
とあり複数比較ができるように見えるのですが、動作しません。
ライバルの欄を空白(あるいは存在しないユーザを入れたとき)と同様の挙動をします。
例: http://kenkoooo.com/atcoder/?name=kimiyuki&rivals=kenkoooo%2Cchokudai&kind=index
(元々未実装でなくて) バグならば修正をお願いしたいです。
ジャッジ中にクローリングされるとステータスがWJのままになってしまうっぽい(?)
再現: http://beta.kenkoooo.com/atcoder/?user=kshinya&kind=user
2018/05/15 02:37:52.792 ERROR - [com.kenkoooo.atcoder.scraper.SubmissionScraper] Catching
scala.MatchError: /contests/arc027/tasks/ (of class java.lang.String)
at com.kenkoooo.atcoder.scraper.SubmissionScraper.$anonfun$scrape$3(SubmissionScraper.scala:37) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.util.Try$.apply(Try.scala:209) ~[atcoder-problems-assembly-0.1.jar:0.1]
at com.kenkoooo.atcoder.scraper.SubmissionScraper.$anonfun$scrape$2(SubmissionScraper.scala:30) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:234) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.collection.Iterator.foreach(Iterator.scala:929) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.collection.Iterator.foreach$(Iterator.scala:929) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.collection.AbstractIterator.foreach(Iterator.scala:1417) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.collection.IterableLike.foreach(IterableLike.scala:71) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.collection.IterableLike.foreach$(IterableLike.scala:70) ~[atcoder-problems-assembly-0.1.jar:0.1]
at net.ruippeixotog.scalascraper.model.LazyElementQuery.foreach(ElementQuery.scala:40) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.collection.TraversableLike.map(TraversableLike.scala:234) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.collection.TraversableLike.map$(TraversableLike.scala:227) ~[atcoder-problems-assembly-0.1.jar:0.1]
at net.ruippeixotog.scalascraper.model.LazyElementQuery.map(ElementQuery.scala:40) ~[atcoder-problems-assembly-0.1.jar:0.1]
at com.kenkoooo.atcoder.scraper.SubmissionScraper.$anonfun$scrape$1(SubmissionScraper.scala:28) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.util.Try$.apply(Try.scala:209) ~[atcoder-problems-assembly-0.1.jar:0.1]
at com.kenkoooo.atcoder.scraper.SubmissionScraper.scrape(SubmissionScraper.scala:22) ~[atcoder-problems-assembly-0.1.jar:0.1]
at com.kenkoooo.atcoder.runner.AllSubmissionScrapingRunner.scrapeOnePage(AllSubmissionScrapingRunner.scala:22) ~[atcoder-problems-assembly-0.1.jar:0.1]
at com.kenkoooo.atcoder.Main$.$anonfun$main$1(Main.scala:53) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.util.Try$.apply(Try.scala:209) ~[atcoder-problems-assembly-0.1.jar:0.1]
at com.kenkoooo.atcoder.common.ScheduledExecutorServiceExtension$TryAndDieScheduledExecutorService$.$anonfun$tryAtFixedDelay$1(ScheduledExecutorServiceExtension.scala:30) ~[atcoder-problems-assembly-0.1.jar:0.1]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_162]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [?:1.8.0_162]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_162]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:1.8.0_162]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_162]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_162]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_162]
2018/06/25 07:58:56.690 ERROR - [com.kenkoooo.atcoder.common.ScheduledExecutorServiceExtension$TryAndDieScheduledExecutorService$$anonfun$$nestedInanonfun$tryAtFixedDelay$1$1] Catching
java.sql.SQLException: Cannot get a connection, pool error Timeout waiting for idle object
at org.apache.commons.dbcp2.PoolingDataSource.getConnection(PoolingDataSource.java:142) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scalikejdbc.Commons2ConnectionPool.borrow(Commons2ConnectionPool.scala:48) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scalikejdbc.DB$.readOnly(DB.scala:174) ~[atcoder-problems-assembly-0.1.jar:0.1]
at com.kenkoooo.atcoder.db.SqlClient.executeAndLoadSubmission(SqlClient.scala:61) ~[atcoder-problems-assembly-0.1.jar:0.1]
at com.kenkoooo.atcoder.db.SubmissionIterator.reload(SqlClient.scala:475) ~[atcoder-problems-assembly-0.1.jar:0.1]
at com.kenkoooo.atcoder.db.SubmissionIterator.hasNext(SqlClient.scala:461) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.collection.Iterator.foreach(Iterator.scala:929) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.collection.Iterator.foreach$(Iterator.scala:929) ~[atcoder-problems-assembly-0.1.jar:0.1]
at com.kenkoooo.atcoder.db.SubmissionIterator.foreach(SqlClient.scala:452) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.collection.TraversableOnce.size(TraversableOnce.scala:107) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.collection.TraversableOnce.size$(TraversableOnce.scala:105) ~[atcoder-problems-assembly-0.1.jar:0.1]
at com.kenkoooo.atcoder.db.SubmissionIterator.size(SqlClient.scala:452) ~[atcoder-problems-assembly-0.1.jar:0.1]
at com.kenkoooo.atcoder.runner.NewerSubmissionScrapingRunner.scrapeOnePage(NewerSubmissionScrapingRunner.scala:30) ~[atcoder-problems-assembly-0.1.jar:0.1]
at com.kenkoooo.atcoder.Main$.$anonfun$main$1(Main.scala:54) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.util.Try$.apply(Try.scala:209) ~[atcoder-problems-assembly-0.1.jar:0.1]
at com.kenkoooo.atcoder.common.ScheduledExecutorServiceExtension$TryAndDieScheduledExecutorService$.$anonfun$tryAtFixedDelay$1(ScheduledExecutorServiceExtension.scala:30) ~[atcoder-problems-assembly-0.1.jar:0.1]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_171]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [?:1.8.0_171]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_171]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:1.8.0_171]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_171]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_171]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_171]
Caused by: java.util.NoSuchElementException: Timeout waiting for idle object
at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:449) ~[atcoder-problems-assembly-0.1.jar:0.1]
at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:363) ~[atcoder-problems-assembly-0.1.jar:0.1]
at org.apache.commons.dbcp2.PoolingDataSource.getConnection(PoolingDataSource.java:134) ~[atcoder-problems-assembly-0.1.jar:0.1]
... 23 more
...
2018/06/28 13:23:15.820 INFO - [com.kenkoooo.atcoder.runner.NewerSubmissionScrapingRunner] 0 submissions overlapped in abc091
2018/06/28 13:23:16.320 INFO - [com.kenkoooo.atcoder.scraper.SubmissionScraper] scraping https://beta.atcoder.jp/contests/agc014/submissions?page=203...
2018/06/28 13:23:18.464 ERROR - [com.kenkoooo.atcoder.common.ScheduledExecutorServiceExtension$TryAndDieScheduledExecutorService$$anonfun$$nestedInanonfun$tryAtFixedDelay$1$1] Catching
java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method) ~[?:1.8.0_171]
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) ~[?:1.8.0_171]
at java.net.SocketInputStream.read(SocketInputStream.java:171) ~[?:1.8.0_171]
at java.net.SocketInputStream.read(SocketInputStream.java:141) ~[?:1.8.0_171]
at sun.security.ssl.InputRecord.readFully(InputRecord.java:465) ~[?:1.8.0_171]
at sun.security.ssl.InputRecord.read(InputRecord.java:503) ~[?:1.8.0_171]
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:983) ~[?:1.8.0_171]
at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:940) ~[?:1.8.0_171]
at sun.security.ssl.AppInputStream.read(AppInputStream.java:105) ~[?:1.8.0_171]
at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) ~[?:1.8.0_171]
at java.io.BufferedInputStream.read1(BufferedInputStream.java:286) ~[?:1.8.0_171]
at java.io.BufferedInputStream.read(BufferedInputStream.java:345) ~[?:1.8.0_171]
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:735) ~[?:1.8.0_171]
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:678) ~[?:1.8.0_171]
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1587) ~[?:1.8.0_171]
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492) ~[?:1.8.0_171]
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480) ~[?:1.8.0_171]
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:347) ~[?:1.8.0_171]
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:655) ~[atcoder-problems-assembly-0.1.jar:0.1]
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:628) ~[atcoder-problems-assembly-0.1.jar:0.1]
at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:260) ~[atcoder-problems-assembly-0.1.jar:0.1]
at net.ruippeixotog.scalascraper.browser.JsoupBrowser.executeRequest(JsoupBrowser.scala:73) ~[atcoder-problems-assembly-0.1.jar:0.1]
at net.ruippeixotog.scalascraper.browser.JsoupBrowser.$anonfun$executePipeline$3(JsoupBrowser.scala:84) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.Function1.$anonfun$andThen$1(Function1.scala:52) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.Function1.$anonfun$andThen$1(Function1.scala:52) ~[atcoder-problems-assembly-0.1.jar:0.1]
at net.ruippeixotog.scalascraper.browser.JsoupBrowser.get(JsoupBrowser.scala:36) ~[atcoder-problems-assembly-0.1.jar:0.1]
at net.ruippeixotog.scalascraper.browser.JsoupBrowser.get(JsoupBrowser.scala:30) ~[atcoder-problems-assembly-0.1.jar:0.1]
at com.kenkoooo.atcoder.scraper.ContestScraper.scrape(ContestScraper.scala:23) ~[atcoder-problems-assembly-0.1.jar:0.1]
at com.kenkoooo.atcoder.scraper.ContestScraper.$anonfun$scrapeAllContests$1(ContestScraper.scala:54) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.collection.Iterator$$anon$7.next(Iterator.scala:128) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.collection.Iterator$$anon$15.hasNext(Iterator.scala:637) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.collection.Iterator$$anon$10.hasNext(Iterator.scala:447) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.collection.Iterator.foreach(Iterator.scala:929) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.collection.Iterator.foreach$(Iterator.scala:929) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.collection.AbstractIterator.foreach(Iterator.scala:1417) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.collection.generic.Growable.$plus$plus$eq(Growable.scala:59) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.collection.generic.Growable.$plus$plus$eq$(Growable.scala:50) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.collection.mutable.ArrayBuffer.$plus$plus$eq(ArrayBuffer.scala:104) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.collection.mutable.ArrayBuffer.$plus$plus$eq(ArrayBuffer.scala:48) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.collection.TraversableOnce.to(TraversableOnce.scala:310) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.collection.TraversableOnce.to$(TraversableOnce.scala:308) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.collection.AbstractIterator.to(Iterator.scala:1417) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.collection.TraversableOnce.toBuffer(TraversableOnce.scala:302) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.collection.TraversableOnce.toBuffer$(TraversableOnce.scala:302) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.collection.AbstractIterator.toBuffer(Iterator.scala:1417) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.collection.TraversableOnce.toArray(TraversableOnce.scala:289) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.collection.TraversableOnce.toArray$(TraversableOnce.scala:283) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.collection.AbstractIterator.toArray(Iterator.scala:1417) ~[atcoder-problems-assembly-0.1.jar:0.1]
at com.kenkoooo.atcoder.scraper.ContestScraper.scrapeAllContests(ContestScraper.scala:57) ~[atcoder-problems-assembly-0.1.jar:0.1]
at com.kenkoooo.atcoder.Main$.$anonfun$main$3(Main.scala:62) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.util.Try$.apply(Try.scala:209) ~[atcoder-problems-assembly-0.1.jar:0.1]
at com.kenkoooo.atcoder.common.ScheduledExecutorServiceExtension$TryAndDieScheduledExecutorService$.$anonfun$tryAtFixedDelay$1(ScheduledExecutorServiceExtension.scala:30) ~[atcoder-problems-assembly-0.1.jar:0.1]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_171]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [?:1.8.0_171]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_171]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:1.8.0_171]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_171]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_171]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_171]
...
2018/02/01 15:06:10.843 ERROR - [com.kenkoooo.atcoder.scraper.SubmissionScraper] Catching
scala.MatchError: /contests/arc027/tasks/ (of class java.lang.String)
at com.kenkoooo.atcoder.scraper.SubmissionScraper.$anonfun$scrape$3(SubmissionScraper.scala:37) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.util.Try$.apply(Try.scala:209) ~[atcoder-problems-assembly-0.1.jar:0.1]
at com.kenkoooo.atcoder.scraper.SubmissionScraper.$anonfun$scrape$2(SubmissionScraper.scala:30) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:234) ~[atcoder-problems-assembly-0.1.jar:0.1]
あるユーザーが Shortest などを取っている問題だけを抽出する画面を作る。
別オリジンからAPIにXHRを送るとSame-Origin Policyに引っかかってデータを取得することができません
サーバーサイドで任意のオリジンからのアクセスを許可するようにCORS関連のhttpヘッダーを設定してくださるとありがたいです
2018/05/05 13:57:39.202 ERROR - [com.kenkoooo.atcoder.scraper.SubmissionScraper] Catching
java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method) ~[?:1.8.0_151]
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) ~[?:1.8.0_151]
at java.net.SocketInputStream.read(SocketInputStream.java:171) ~[?:1.8.0_151]
at java.net.SocketInputStream.read(SocketInputStream.java:141) ~[?:1.8.0_151]
at sun.security.ssl.InputRecord.readFully(InputRecord.java:465) ~[?:1.8.0_151]
at sun.security.ssl.InputRecord.read(InputRecord.java:503) ~[?:1.8.0_151]
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:983) ~[?:1.8.0_151]
at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:940) ~[?:1.8.0_151]
at sun.security.ssl.AppInputStream.read(AppInputStream.java:105) ~[?:1.8.0_151]
at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) ~[?:1.8.0_151]
at java.io.BufferedInputStream.read1(BufferedInputStream.java:286) ~[?:1.8.0_151]
at java.io.BufferedInputStream.read(BufferedInputStream.java:345) ~[?:1.8.0_151]
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:735) ~[?:1.8.0_151]
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:678) ~[?:1.8.0_151]
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1587) ~[?:1.8.0_151]
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492) ~[?:1.8.0_151]
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480) ~[?:1.8.0_151]
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:347) ~[?:1.8.0_151]
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:655) ~[atcoder-problems-assembly-0.1.jar:0.1]
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:628) ~[atcoder-problems-assembly-0.1.jar:0.1]
at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:260) ~[atcoder-problems-assembly-0.1.jar:0.1]
at net.ruippeixotog.scalascraper.browser.JsoupBrowser.executeRequest(JsoupBrowser.scala:73) ~[atcoder-problems-assembly-0.1.jar:0.1]
at net.ruippeixotog.scalascraper.browser.JsoupBrowser.$anonfun$executePipeline$3(JsoupBrowser.scala:84) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.Function1.$anonfun$andThen$1(Function1.scala:52) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.Function1.$anonfun$andThen$1(Function1.scala:52) ~[atcoder-problems-assembly-0.1.jar:0.1]
at net.ruippeixotog.scalascraper.browser.JsoupBrowser.get(JsoupBrowser.scala:36) ~[atcoder-problems-assembly-0.1.jar:0.1]
at net.ruippeixotog.scalascraper.browser.JsoupBrowser.get(JsoupBrowser.scala:30) ~[atcoder-problems-assembly-0.1.jar:0.1]
at com.kenkoooo.atcoder.scraper.SubmissionScraper.$anonfun$scrape$1(SubmissionScraper.scala:27) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.util.Try$.apply(Try.scala:209) ~[atcoder-problems-assembly-0.1.jar:0.1]
at com.kenkoooo.atcoder.scraper.SubmissionScraper.scrape(SubmissionScraper.scala:22) ~[atcoder-problems-assembly-0.1.jar:0.1]
at com.kenkoooo.atcoder.runner.NewerSubmissionScrapingRunner.scrapeOnePage(NewerSubmissionScrapingRunner.scala:29) ~[atcoder-problems-assembly-0.1.jar:0.1]
at com.kenkoooo.atcoder.Main$.$anonfun$main$1(Main.scala:54) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) ~[atcoder-problems-assembly-0.1.jar:0.1]
at scala.util.Try$.apply(Try.scala:209) ~[atcoder-problems-assembly-0.1.jar:0.1]
at com.kenkoooo.atcoder.common.ScheduledExecutorServiceExtension$TryAndDieScheduledExecutorService$.$anonfun$tryAtFixedDelay$1(ScheduledExecutorServiceExtension.scala:30) ~[atcoder-problems-assembly-0.1.jar:0.1]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_151]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [?:1.8.0_151]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_151]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:1.8.0_151]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_151]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_151]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_151]
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.