http://www.it1352.com/Onlinetools

支持几十种语言的在线运行。

缺点:对请求频率限制太严格了,一分钟不到十次吧。。。可以清理浏览器 Cookie 之后重新访问。必须用示例中的 Rextester 类作为类名。

可以嵌入到自己网站,比如 Java 嵌入语句如下:

<iframe src="http://www.it1352.com/Onlinetools/OnlineCompileCommon/4?c_height=100&r_height=100&code=&autoExecute=true" style="width:520px;height:450px;"></iframe>

参数: c_height—>【源码框高度】 r_height—>【结果框高度】 code—>【代码片段(需URL编码)】 autoExecute—>【是否自动执行】

http://demo.php.cn/

专门在线执行 PHP 代码的网站,快,代码窗口可以自动换行,但预览窗口不会自动换行,好在可以全屏预览。PHP 版本是 7.0.8。

http://anycodes.cn/zh/

可以在线执行各种语言,但是 PHP 的版本较低,低于 5.4 。

优点:速度快,稳定,支持多个文件(目前是两个)。

http://www.dooccn.com/php/

可以在线执行多种语言,可以选择 PHP 的多个版本。php5.3 php5.4 php5.5 php5.6 php7。

缺点:速度比较慢。

https://ideone.com

在线执行代码,然后生成分享链接。可以把链接发给别人,也可以嵌入网页。

优点:支持的语言多,版本新。PHP 版本是 7.1.0。

比如,下面这个链接是我执行代码后生成的,

https://ideone.com/uIdTu3,对应的分享 JavaScript 代码为 <script src="https://ideone.com/e.js/uIdTu3" type="text/javascript" ></script>

https://tool.lu/coderunner/

各种语言都可以在线执行,PHP 的版本是 5.4.16。

登录后可以保存在线代码,可以嵌入博客。首页还有各种其他工具。

缺点:不是很稳定,sandbox 经常挂掉。出现这一句 sandbox> exited with status 0 就表示已经挂掉了,需要刷新重连。

这个应该是作者的博客

tool.lu技术架构参考这里,摘抄如下:

背景

一个字,穷!在小流量的情况下,这个应该算是比较经济的解决方案了吧(各种容灾都没有,监控没有,服务的吞吐测试没有)。哈哈哈…

后端的业务处理和服务

整个的网站都放在aliyun的VPS上。

由于工具网站的后端处理比较耗资源,于是将业务处理服务部署到了两台VPS上。(aliyun +1 & 美国 +1)

Redis只是做了少量的缓存作用,所以图中并未给出。

Untitled.png

面对前端的一些优化

cdn 现在全部都放在aliyun的VPS上。

  • 使用nginx的 nginx-http-concat 扩展合并多个文件请求。
  • http_image_filter_module 进行一些图片的实时压缩计算

域名分别为 s1.tool.lu, s2.tool.lu, s3.tool.lu

爬虫

现在所有的爬虫均基于Scrapy编写,全部部署在 美国的vps上;数据储存在MariaDB。

虚拟化

主要用于一些不可信任代码的执行。

选型Docker,可限制CPU和Mem,不能限制Disk,但是Docker在CentOS6.x下的问题较多,各种坑;最近使用CentOS7搭建之后貌似很Happy。

代码在线执行工具(PHP,Java,C++ 等)的更多相关文章

  1. canvas-js贝塞尔曲线代码在线生成工具

    详细内容请点击 canvas贝塞尔曲线代码在线生成工具 可以快速生成二次.三次贝塞尔曲线的源码生成器,方便经常使用到canvas画图的同学使用,可以直接预览效果随意画出自己想要的图像. 生成源码效果预 ...

  2. canvas-js贝塞尔曲代码在线生成工具

    canvas贝塞尔曲代码在线生成工具 可以快速生成二次.三次贝塞尔曲线的源码生成器,方便经常使用到canvas画图的同学使用,可以直接预览效果随意画出自己想要的图像. 生成源码效果预览: canvas ...

  3. java动态编译 (java在线执行代码后端实现原理)(二)

    在上一篇java动态编译 (java在线执行代码后端实现原理(一))文章中实现了 字符串编译成字节码,然后通过反射来运行代码的demo.这一篇文章提供一个如何防止死循环的代码占用cpu的问题. 思路: ...

  4. java动态编译 (java在线执行代码后端实现原理)

    需求:要实现一个web网页中输入java代码,然后能知道编译结果以及执行结果 类似于菜鸟java在线工具的效果:https://c.runoob.com/compile/10 刚开始从什么概念都没有到 ...

  5. java util - 在java代码中执行javascript代码工具 rhino-1.7.7.jar

    需要 rhino-1.7.7.jar 包 代码示例: package cn.java.mozilla.javascript; import org.mozilla.javascript.Context ...

  6. 通过jstack定位在线执行java系统故障_案例1

    问题描写叙述: 在一个在线执行的java web系统中,会定时执行一个FTP上传的任务,结果有一天发现,文件正常生成后却没有上传. 问题初步分析: 1.查看日志文件 发现这个任务仅仅打印了開始进入FT ...

  7. 一个Java编写的小玩意儿---多人在线聊天工具

    这个在线聊天工具小项目使用JAVA编写,用JAVA来做图形界面本来就是出了名的低效和丑陋.不过这不是重点.写这个小项目的目的在于串一串J2SE的知识,把当时写这个项目的时候的思路梳理一下.时间有点久了 ...

  8. 【在线工具】java开发常用在线工具

    转自:常用工具页面 Java源代码搜索 Grepcode是一个面向于Java开发人员的网站,在这里你可以通过Java的projects.classes等各种关键字在线查看它对应的源码,知道对应的pro ...

  9. 通过指令码来判断Java代码的执行顺序(++问题与return和finally的问题)

    问题 在<深入理解Java虚拟机>一书中遇到了如下代码: public int method() { int i; try { i = 1; return i; } catch (Exce ...

随机推荐

  1. ViewPager+Fragmrnt最简单结合方法

    Fragment和ViewPager 本博文系本菜鸟第一次博文展示,有错误之处请虽然提出 FragmentPagerAdapter 谷歌官方提供了这么一个adapter(FragmentPagerAd ...

  2. noi25 最长最短单词(为什么会出现运行时错误)

    noi25 最长最短单词(为什么会出现运行时错误) 一.总结 一句话总结:比如除以零,数组越界,指针越界,使用已经释放的空间,数组开得太大,超出了栈的范围,造成栈溢出 1.c++报runtime er ...

  3. Android 一个异步SocketHelper

    发送流程:首先定义一个缓冲池,发送数据时仅仅是将待发送的数据加入到缓冲池中,再由后台的工作线程从缓冲池中取得待发送数据进行发送.可能某些情况下在数据发送完成时需要做一些处理(比如写日志),便定义了一个 ...

  4. 如何使用 PyCharm 将代码上传到GitHub上(详细图解)

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 一丶说明 测试条件:需要有GitHub账号以及在本地安装了Git工具,无论是Linux环境还是Windows都是一样的 如果还没有 ...

  5. MySQL和Python交互

    与Python交互 python3模块名:pymysql conda install pymysql conda install sqlalchemy python2模块名:MySQLdb impor ...

  6. Java基础学习总结(49)——Excel导入导出工具类

    在项目的pom文件中引入 <dependency> <groupId>net.sourceforge.jexcelapi</groupId> <artifac ...

  7. Android开发系列(二十):AutoCompleteTextView(自己主动完毕文本框)的功能和使用方法

    当用户输入一定的字符之后,自己主动完毕文本框可以显示一个下拉菜单,供用户从中选择,当用户选择某个菜单项之后,AutoCompleteTextView可以依照用户的选择自己主动填写该文本框 AutoCo ...

  8. WCF学习笔记——对象序列化

    当试图通过Web服务.WCF这样的远程处理技术将一个对象复制到远端时,具有对类型序列化的能力很关键. 一 序列化基础 序列化描述了持久化或传输一个对象的状态到流的过程(.NET将对象序列化到流,流是字 ...

  9. 2、opencv2.4.13.6安装

    一. 卸载opencv3.3.0: Going to the "build" folder directory of opencv from terminal, and execu ...

  10. AE要素选择(点选和拉框选择)

    原文 AE要素选择(点选和拉框选择) 选择一个要素或者一个要素集(FeatureSelection)的方法很多,如IMap::SelectByShape.ILayer::search.IFeature ...