问题标签 [legacy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
legacy - cybersyn/cyberstride 是用什么语言实现的?
我知道它是在 IBM 360 大型机架构上实现的,但有人知道具体使用了哪些语言吗?据说其中大部分是在 3-4 个月内编程和部署的——这对于任何项目来说都是一个相当迅速的周转,更不用说有能力监控整个经济的项目了。我部分认为它可能已经在 APL 中实现,因为 IBM 360 连接,并且因为它似乎很适合快速开发这样一个系统所需的那种抽象。有谁知道更真实的事情吗?
windows-xp - 带有 USB 打印机的 DOS 旧应用程序
我的不幸任务是对 DBIII+/Clipper '87 开发的两个遗留应用程序进行(最少的)维护工作。
我可以完全访问源代码和最小的工具链,以便在需要时重新编译应用程序,但由于主要用户的各种(主要是心理)原因,我不允许从头开始重新实现它。
无论如何,虽然应用程序在 XP 下运行良好,但硬件支持正在成为一件苦差事。用户需要更换出现故障的打印机(具有并行接口的旧影响 HP)和托管应用程序的 486 (!) 桌面。
现在的主要问题是找到一台可以在 XP 下使用的打印机,可能通过 USB(华硕 EEE Box 是完美的,它不支持并行端口)并使其对 DOS 应用程序“可见”。
到目前为止,我找到了一种解决方法:
http://geekswithblogs.net/dtotzke/articles/26204.aspx
加上一些实用程序:
http://www.dosprn.com/ http://www.dos2usb.com/index.htm http://www.printfil.com/english.htm
这些实用程序似乎更好,因为它们为旧的转义序列提供了某种过滤器(例如 ESC/P 用于 Epson 或 HP 方言),使打印机对打印机透明。至少他们是这么说的。
所以问题是:有没有人在 XP 下将旧的 DOS 程序与现代打印机接口的经验?有什么注意事项吗?您是否使用了列出的实用程序之一(或另一个我还没有找到的实用程序),如果是,您会推荐哪一个?
legacy - 将旧的遗留 Web 应用程序转移到新的应用程序时的最佳实践是什么(特别是关于断开链接的问题)?
假设您有一个旧网站,带有内部 php CMS。
现在,由于某种原因,您在 Wordpress 中重新构建了您的网站,使用 SEO 友好的 URL,注册了一个 Google Analytics 帐户,并且需要更新您的系统,所以当
在浏览器上设置,现在它指向您新安装的系统。
问题是您的网站很旧并且已经为您的客户所熟知。很多人在您的网页中为很多链接添加了书签,因此仅将您的域重定向到您的“新网站”会产生一堆断开的链接或其他与 SEO 相关的问题。
那么,在这种情况下,在进行这种转变时应该采取哪些步骤?(我只记得在很多复杂的方案中使用 mod_rewrite)。当您以丢失所有旧链接的方式更改系统时,是否还有其他“最佳实践”?
.net - 从 COM ProgID 加载 .NET 程序集而不创建 COM 对象
有点奇怪的问题,可能与大多数人想做的事情相反,但我正在尝试解决遗留的 COM 问题。
我有两个组件,它们实际上都是 .NET 程序集,但由于历史原因,一个将另一个作为 COM 对象加载(该程序集是为 COM 互操作注册的)。它是一种插件体系结构,其中插件由其 COM ProgID 标识,因此这是我加载插件程序集时获得的唯一信息。
我尝试过的一种技术是:
如果转换为 .NET 接口成功,我知道我有一个 .NET 程序集并且可以通过该接口访问它。但是,该技术有点笨拙,我遇到了 COM 方面的问题,尤其是在 64 位系统上。如果可能的话,我宁愿不加载 COM 对象并直接将插件加载为 .NET 程序集。
但我必须继续说明的唯一信息是插件的 COM ProgID。
那么,如何在不创建任何 COM 对象的情况下从 COM ProgID 转到加载 .NET 程序集?
python - 如何配置 Python 2.3 日志消息的格式?
在 Python 2.4 及更高版本中,将日志记录模块配置为具有更基本的格式很容易:
logging.basicConfig(level=opts.LOGLEVEL, format="%(message)s")
但是对于需要支持 Python 2.3 的应用程序来说,这似乎更加困难,因为在 Py2.4 中对日志记录 API 进行了大修。特别是, basicConfig 不接受任何参数。尝试对 Py2.3 文档中的唯一示例进行变体,我得到了这个:
但是在 Py2.3 中调用这个根记录器,例如
给出重复的输出:
我找不到修改 Py2.3 中根记录器上现有处理程序格式的方法(上面的“except”块),因此产生重复输出的“addHandler”调用。有没有办法在没有这种重复的情况下设置根记录器的格式?谢谢!
ruby-on-rails - 如何使 ActiveRecord 与旧的分区/分片数据库/表一起使用?
首先感谢您的时间...在google,github和here上搜索之后,对大词(partition/shard/fedorate)更加困惑,我想我必须描述我遇到的具体问题并四处询问.
我公司的数据库是处理海量用户和订单的,所以我们对数据库和表进行了多种拆分,下面分别介绍:
基本概念是数据库和表是根据一个字段(不一定是主键)分离的,并且数据库太多,表太多,因此为每个数据库和一个模型编写或神奇地生成一个 database.yml 配置对于每个表是不可能的,或者至少不是最好的解决方案。
我研究了drnic的魔术解决方案,datafabric,甚至是活动记录的源代码,也许我可以使用ERB生成database.yml并在过滤器周围进行数据库连接,也许我可以使用named_scope来动态决定表名找到,但更新/创建操作仅限于“self.class.quoted_table_name”,因此我无法轻松解决我的问题。甚至我可以为每个表生成一个模型,因为它的数量最多可达 30 个。
但这并不干燥!
我需要的是一个干净的解决方案,如以下 DSL:
任何人都可以启发我吗?任何帮助将不胜感激~~~~
architecture - 谁应该学习“旧”系统?
我参与了几个项目,这些项目基本上涉及用“新”系统替换“旧”系统。一贯的模式是,构建“新”系统的团队中几乎没有人对“旧”系统有任何真正的了解。每当我对此提出质疑时,都会有人告诉我这是有目的的……通过不了解“旧”系统,团队能够以不同的方式思考,而不受那里的工作方式的限制。所以发生的情况是,团队中通常只有 1 或 2 个人对“旧”系统有所了解,每当出现有关“旧”系统如何做某事的问题时,都会向他们咨询。
但似乎总是发生的情况是,在“新”系统交付后,用户总是会提出“我们如何在新系统中执行 X(在旧系统中很容易)”形式的问题?对于开发人员来说,这往往是他们第一次听说 X。所以他们必须去研究 X 是什么,而他们给用户的答案往往是“你不能”或“你可以,但它是真的很尴尬”。
这对我来说似乎不对……在我看来,让“新”系统的每个开发人员都非常了解“旧”系统会收获很多,而且这不一定会扼杀他们的创造力,如果他们有不错的设计和开发技能。
关于哪种方法最好的任何想法?
vb6 - VB6 和 Crystal Reports 7,以编程方式设置“记录样式”导出选项
我正在对一些旧软件进行更改,以“记录样式”格式转储 CR7 报告的内容,该格式基本上将每个可见数据字段转储到固定长度的文本文件中。这一切都很好,只有一个例外。当我需要一些数字显示两位小数时,我所有的数字都被四舍五入到最接近的整数。在报告本身中,数字字段的格式正确(设置为显示两位小数并四舍五入到两位)。
当我从我的 VB6 程序(使用 Crystal Reports OCX 控件)导出报表时,这些数字的小数部分被截断。
当我从 Crystal Reports 7 IDE 导出报表时,我收到一个提示,当我使用 Crystal Reports OCX 控件导出报表时没有收到提示:
数字和日期格式对话框:与报告中的数字格式相同,与报告中的日期格式相同 http://www.nezumisoftware.com/ubastet-pics/cr_dialog.jpg
当这两个选项都被选中时,我导出的文件是完美的。
我似乎找不到以编程方式设置这些选项的方法,或者在我的报告文件中将它们设置为默认值。有没有办法做到这一点?
编辑添加:被截断的字段在 Access 2000 数据库中属于单一类型,这仍然让我感到困惑,因为 CR7 中单一类型的默认格式始终显示两位小数。
perl - 将旧版 Perl 代码迁移到 UTF-8 时会出现什么问题?
到目前为止,我工作的项目只在源代码中使用 ASCII。由于 I18N 领域即将发生一些变化,而且我们在测试中需要一些 Unicode 字符串,我们正在考虑硬着头皮将源代码移动到 UTF-8,同时使用utf8
pragma ( use utf8;
)
由于代码现在是 ASCII,我不希望代码本身有任何问题。但是,我不太清楚我们可能会得到任何副作用,而我认为考虑到我们的环境(perl5.8.8、Apache2、mod_perl、带有 FreeTDS 驱动程序的 MSSQL Server),我很可能会得到一些副作用。
如果您过去曾进行过此类迁移:我会遇到什么问题?我该如何管理它们?
c# - 在 C# 多线程环境中使用旧版 COM 组件
我有旧版 COM 组件,我的任务是编写 Web 服务来包装 COM 并启用并发非阻塞调用。
首先,因为 COM 对象本身是无状态的,所以我决定使用 [ThreadStatic] 属性,这样每个线程都会有自己的 COM 对象实例,以防止使用 lock { } 语句并启用真正的并发处理,但它似乎所有调用仍然同步进行。
我编写了一个测试代码,该代码运行与 for {} 循环同步的 COM 组件中的方法,然后添加了第二个线程,该线程执行完全相同但到 COM 对象的另一个实例,我没有看到任何变化,X 调用总是消耗 Y时间跨度,无论线程数如何。它就像有一个静态锁或什么的......
尽管如此,单独的进程实际上可以同时处理每个调用。是什么阻止了不同的线程表现相同?
我可以做些什么来启用对 COM 组件的真正并发调用?