yak1ex / ccf Goto Github PK
View Code? Open in Web Editor NEWC++ Compiler Farm
License: Boost Software License 1.0
C++ Compiler Farm
License: Boost Software License 1.0
Currently, CCF messages are embedded in compilation/execution results. Maybe unified error handling is necessary.
Currently, all data are transferred by S3. So, it is stored anyway. Maybe it is implemented by making enable to select listed or not.
Purge old data from web server app
To avoid duplicated ID, each server should record ID last used. Both of compiler sever and web server need this functionality. Thus, it is better to create module.
ccf.{html,css,js} are isolated into sub folder.
The current consideration is as follows:
Towards to #11, each invocation should be distinguishable. Persistent ID is managed in each compile server. Thus, key for each compiler server should be given in, initial, execution of compile server. Web application can check configuration when list invocation in initialization.
#9 required
Not only period since post but also lines of the code and compiler keys can be shown without additional information
Even though CPU time is not consumed, a process may block. An example is I/O wait. For Linux, to sue POSIX timer function is a candidate. For Windows, combination of thread, event and wait function may be promising.
Currently, connection to compile server is made for each HTTP request . Now, web server app becomes a PSGI app. So, we can share connection to compile server.
Anyway, by other limitation, output can't be unlimited. However, explicit limitation is better.
To adjust parameters, to see results is necessary.
Even though compilation fails, compiler server tries to execute and empty result is returned. Thus, client can not recognize execution is not done.
It is better for future enhancement to store/restore results.
Sources written by me do not state license. It will be Boost Software License http://www.boost.org/LICENSE_1_0.txt.
Arbitrary decision: 10KB
Explicitly specify obj file name and delete it
Currently, web server app uses Plack::App::WrapCGI, though AnyEvent is also used. psgi.streaming is adequate for asynchronous behavior.
For each invocation on Windows, cmd.exe window pop-ups.
like /results/ID
Maybe, hash fragment and JS are used.
Available variables in configuration are $input and $ouput only. MSVC produces temporary obj file even in making executable directly. May need supply this as the 3rd variable.
Purge old data from compile server
Ace is here: http://ace.ajax.org/
Arbitrary decision: 10KB
Curently, returning status 1 produces the following representation:
CCF: execution failed by status: 0x0100
It may confuse people that execution itself is failed.
Re-initialization might be easier than migration.
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.