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
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.
Explicitly specify obj file name and delete it
Maybe, hash fragment and JS are used.
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.
ccf.{html,css,js} are isolated into sub folder.
Even though compilation fails, compiler server tries to execute and empty result is returned. Thus, client can not recognize execution is not done.
Currently, CCF messages are embedded in compilation/execution results. Maybe unified error handling is necessary.
Currently, web server app uses Plack::App::WrapCGI, though AnyEvent is also used. psgi.streaming is adequate for asynchronous behavior.
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.
Not only period since post but also lines of the code and compiler keys can be shown without additional information
Anyway, by other limitation, output can't be unlimited. However, explicit limitation is better.
Purge old data from compile server
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.
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.
Arbitrary decision: 10KB
The current consideration is as follows:
For each invocation on Windows, cmd.exe window pop-ups.
Purge old data from web server app
It is better for future enhancement to store/restore results.
Re-initialization might be easier than migration.
#9 required
To adjust parameters, to see results is necessary.
like /results/ID
Ace is here: http://ace.ajax.org/
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.
Currently, all data are transferred by S3. So, it is stored anyway. Maybe it is implemented by making enable to select listed or not.
Sources written by me do not state license. It will be Boost Software License http://www.boost.org/LICENSE_1_0.txt.
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.