天道酬勤,学无止境

技术分享

Assembly 8086 - DOSBOX - How to produce beep sound?

问题 回答1 您可以使用扬声器来保持您的设计简单。 扬声器可让您播放不同频率的方波,它实际上可用于再现数字音频,但涉及更多。 扬声器只是一个电磁铁,当电流流过它时,它会被拉回,否则它会停留在默认位置。 通过前后移动扬声器,可以产生声波。 可以手动或使用 PIT 的通道 2 移动扬声器。 端口 61h 的位 0 控制扬声器源(0 = 手动,1 = PIT),同一端口的位 1 是使用 PIT 时的“扬声器启用”位(不使用时扬声器的“位置”)。 这是缺少手动驾驶部分的示意图(来自此页面): PIT 通过端口 40h-43h 控制,我们将使用模式 3(方波发生器)设置每次分频器的两个字节。 PIT 有一个运行在大约 1.193180 MHz 的振荡器,分频器用于控制方波的周期。 无需处理内部结构:在 PIT 振荡器的每个滴答声中,加载的分频器都会递减。 方波的周期等于 PIT 将分频器减至零所需的时间。 产生声音只需使用所需的分频器对 PIT 进行编程并启用扬声器即可。 稍后,我们需要禁用它。 一个简单的方法是使用每秒调用 18.2 次的 int 1ch。 通过在第一次播放声音时将持续时间保存在变量中,通过在 int 1ch 的每个滴答声中递减它并在计数达到零时禁用扬声器,可以控制哔声的持续时间。 使用 int 1ch 需要一个设置函数 ( beep_setup ) 和一个拆卸函数 (

2022-07-11 10:01:09   assembly   x86   dos   x86-16   dosbox

Use word count in Pandas dataframe to drop rows with only one word

问题 我有一个包含 2 条记录的数据框(数据): id text 0001 The farmer plants grain 0002 tuna 我想计算这个数据框的text列中的单词数,并删除只有一个单词的行。 我知道如何计算字数: count = data['text'].str.split().str.len() 如何使用结果来运行将删除数据框中的行的 IF 语句? 任何 IF 语句,例如... if count == 1: print('drop') ...导致此错误: Traceback (most recent call last): File "<ipython-input-118-b3fcb0218e8e>", line 32, in <module> if count == 1: File "C:\Users\taca\AppData\Local\Continuum\Anaconda3\lib\site-packages\pandas\core\generic.py", line 917, in __nonzero__ .format(self.__class__.__name__)) ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a

2022-07-11 10:00:39   python   pandas   dataframe

Multiple Processes under one JVM

问题 我们可以在一个 JVM 中运行多个进程吗? 并且每个进程都应该有自己的内存配额? 我的目标是在新的 http 请求进入时启动新进程并为进程分配单独的内存,以便每个用户请求都有自己的内存配额 - 如果一个人的内存配额已满,则不会打扰其他用户请求。 我怎样才能做到这一点? 不确定这是否是假设的。 回答1 简短的回答:不是真的。 Java 平台为您提供了两种选择: 线程。 这是许多情况下的典型答案:每个新的传入请求都由一个单独的线程处理(这可能是从一个池中出来的,以限制并行创建/使用的线程实例的总数)。 但是当然:线程存在于同一个进程中; 没有通过线程正在做什么来控制“关联”的内存消耗这样的事情。 子进程。 您可以创建一个真实的进程并使用它来运行您打算运行的任何内容。 但是当然:那么你有一个外部的真实过程要处理。 所以,本质上,真正的答案是:不,你不能把这个想法应用到 Java 上。 “更多”Java 解决方案是研究应用服务器等概念,例如 Tomcat 或 WebSphere。 或者,如果你坚持手动做事; 您可以构建自己的“负载均衡器”; 您有一个面向客户端的 JVM; 它只是将请求“转发”到许多其他 JVM 之一; 那些“其他”JVM 将独立工作; 每个都在自己的进程中运行; 当然,您可以对 CPU/内存/... 的使用进行“微管理”。 回答2 最接近的概念是尚未实现 AFAIK

2022-07-11 10:00:35   java   memory   memory-management   jvm

How does Javascript implement date comparison operator?

问题 这个答案说, Date 对象会做你想做的事 - 为每个日期构造一个,然后使用> 、 < 、 <=或>=比较它们。 我没有在引用的页面上看到此功能。 这是特定于浏览器的行为,还是语言的标准特性? 如果 Date 是一个 javascript“对象”,并且 javascript 不支持运算符重载,那么 Date 对象上的> 、 < 、 <=或>=运算符的这种行为是如何实现的? 我的意思是,它是否在Date.prototype上定义,是否因为定义了一些隐式转换(例如从对象到数字或字符串)而发生,它是否是添加到 Javascript 语言解释器/运行的 Date 对象的特例-时间,还是什么? 回答1 每当您使用通常期望数字(加法、减法、较大/较小比较)的对象时,都会调用valueOf方法将对象转换为原语: { valueOf: () => 2 }.valueOf() // 2 //or not explicitly called: + { valueOf: () => 2 } // 2 //using the compare operator: { valueOf: () => 2 } < { valueOf: ()=>3 } //true as 2 < 3 因此,当您比较日期时,也会发生这种情况。 由于Date.prototype.valueOf方法返回自 1970 年以来的毫秒数

2022-07-11 10:00:22   javascript   datetime   operator-overloading   operators

DropDownListFor not binding value

问题 我有以下 ViewModel public class ContactAddViewModel { string _title; public ContactAddViewModel() { var titles = new List<SelectListItem>() { new SelectListItem() { Value = "Mr", Text= "Mr" }, new SelectListItem() { Value= "Miss", Text="Miss" }, new SelectListItem() { Value = "Mrs", Text= "Mrs" }, new SelectListItem() { Value = "Ms", Text = "Ms" }, new SelectListItem() { Value = "Dr", Text = "Dr" } }; Titles = titles; } [Required] [Display(Name = "Title")] public string Title { get; set; } public IEnumerable<SelectListItem> Titles { get; set; } ... 在控制器中调用: var ctc = new ContactAddViewModel() {

2022-07-11 10:00:19   asp.net-mvc   asp.net-mvc-5

Visual Studio Bundler & Minifier Context Menu Not Working

问题 回答1 回答2 我遇到了同样的问题。 即使安装了软件包,它也没有在选项中显示。 因此,我使用 CLI 捆绑了这些文件。 遵循以下步骤: 1. 在命令提示符下转到您的项目。 2.依次运行以下命令: dotnet add package BuildBundlerMinifier dotnet restore dotnet build dotnet clean 请注意,仅当您使用 ASP.NET Core 1.x 时才需要 dotnet restore 命令。 执行这些命令将捆绑和缩小文件。 回答3 TL;博士。 事实上,它可以正常工作,但是当它在 js 或 css 文件中遇到严重错误时,它的代码会中断并且错误会阻止.min文件。 因此,您应该将bundleconfig.json文件中的 js 或 css 文件名作为注释( // )一一关闭,直到 Bundle 和 Minifier 按预期工作。 长解释 几年后我遇到了这个问题。 我注意到 Bundler 和 Minifier 正在按设计工作。 但是,如果基础 css 或 js 文件有太多严重错误,则无法创建缩小文件。 我们正在逐步关闭 Bundle&Minifier 报告的严重错误。 ] 还有宾果游戏! 缩小文件已创建。 ] 总之,您应该找到问题文件并在删除后尝试缩小它。 我的意思是,如果要将问题文件附加到缩小文件中

2022-07-11 10:00:08   visual-studio-2015

Rails ActiveRecord: Missing column in grouping query

问题 Key.select('products.name as product, product_groups.name as product_group, AVG(keys.cost) as cost') .group('products.id, product_groups.id') .left_joins(:product,:product_group) 结果: => #<ActiveRecord::Relation [#<Key id: nil, cost: 0.6e1>, #<Key id: nil, cost: 0.4e1>]> 预期返回 3 字段,但返回值:2 字段。 I found the solution. The detail areas in the console did not appear as HASH. 回答1

2022-07-11 09:59:46   ruby-on-rails   ruby   activerecord

Why is indexOf(char) is 0 if the value exists? [duplicate]

问题 这个问题在这里已经有了答案: indexOf中的0是什么意思? (1 个回答) 5年前关闭。 为什么firstHalf.indexOf(secondHalfArr[i]) 0 ? "use strict"; let word = "9999999999", len = word.length, oddSecondHalfStarter = (len % 2 == 0) ? len / 2 : 1 + len / 2, firstHalf = word.substr(0, len / 2), secondHalf = word.substr(oddSecondHalfStarter, len), firstHalfArr = word.substr(0, len / 2).split(''), secondHalfArr = word.substr(oddSecondHalfStarter, len).split(''), firstHalfLength = firstHalf.length, secondHalfLength = secondHalf.length, charsToReplace = 0; for (let i = 0; i < firstHalfLength; i++) { if (firstHalf.indexOf(secondHalfArr[i]) <

2022-07-11 09:59:36   javascript   arrays   ecmascript-6   strict

Set sqldialect to logback db appender programmatically

问题 我正在编写用于创建 DBAppender 以使用我的连接池的数据源的源代码。 现在,当我启动 DBAppender 时,我收到错误消息“如果 JDBC 驱动程序不支持 getGeneratedKeys 方法且没有特定的 SQL 方言,则 DBAppender 无法运行”。 所以我想将 sqlDialect 添加到我的实现中,但找不到这样做的方法。 将 appender 添加到 logger 的代码如下所示: LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); DataSourceConnectionSource source = new DataSourceConnectionSource(); source.setDataSource(Database.getInstance().getDatasource()); DBAppender dbAppender = new DBAppender(); dbAppender.setName("db"); dbAppender.setConnectionSource(source); dbAppender.setContext(lc); dbAppender.start(); Logger logger = (Logger)

2022-07-11 09:59:29   java-8   logback

Grails: how to use jQuery & ajax to send data to controller

问题 我正在尝试使用 ajax 为事件发布评论以避免页面重新加载。 这是我发布评论的表格。 <g:form > <g:textArea class="form-control" id="review" name="comment" value="${review?.comment}"></g:textArea> <span class="star-rating star-5"> <g:radio name="rating" id="rating-1" value="1"/><i></i> <g:radio name="rating" id="rating-2" value="2"/><i></i> <g:radio name="rating" id="rating-3" value="3"/><i></i> <g:radio name="rating" id="rating-4" value="4"/><i></i> <g:radio name="rating" id="rating-5" value="5"/><i></i> </span> ... <input type="submit" id="comment-ajax"/> 我的阿贾克斯: $( "#comment-ajax" ).click( function (){ var eventID = document

2022-07-11 09:59:24   jquery   ajax   grails