天道酬勤,学无止境

技术分享

如何在 Heroku 上的 React App 中访问 $PORT 环境变量(How to access $PORT environment variable in React App on Heroku)

问题 我在同一个 Heroku 应用程序上运行服务器和 React 站点。 我的 server.js 能够很好地访问 $PORT 环境变量,但我的 React 应用程序没有从中得到任何东西(变量为空白)。 我需要能够访问 PORT 环境变量,因为这就是我的服务器(Radiks)正在运行的。 根据我的阅读,React 环境变量只有在它们以REACT_APP_为前缀时才允许使用,因此在package.json的build脚本中,我添加了一个新的环境变量,它的值与$PORT相同。 我的档案: web: REACT_APP_PORT=$PORT node src/server.js 在package.json中: ... "scripts": { "start": "node server.js", "heroku-postbuild": "NPM_CONFIG_PRODUCTION=false npm install && npm run build", "build": "REACT_APP_PORT=$PORT react-scripts build", "test": "react-scripts build", "eject": "react-scripts eject", "predeploy": "npm run build", "deploy": "gh-pages -d

2022-01-16 17:45:00   reactjs   heroku

ApplicationServices(根)IServiceProvider 和注入的 IServiceProvider 有什么区别?(What's the difference between the ApplicationServices (root) IServiceProvider and an injected IServiceProvider?)

问题 我很难理解为什么在使用IApplicationBuilder.ApplicationServices而不是IServiceProvider时在 Startup Configure 方法中应用服务定位器模式的行为会有所不同。 当我使用IApplicationBuilder.ApplicationServices (设置提供对应用程序的服务容器访问的IServiceProvider )时,我收到以下错误: 无法从根提供商解析范围服务“...” 相反,当我直接使用注入的IServiceProvider ,它就像一个魅力: public void Configure( IApplicationBuilder app, IWebHostEnvironment env, IServiceProvider sp) { // 1 : resolving a scoped service directly from application services container // IServiceProvider throws 'Cannot resolve scoped service from root provider' var test1 = app.ApplicationServices.GetRequiredService<IMyScopedService>(); // 2

2022-01-16 17:44:56   c#   asp.net-core   dependency-injection

Jquery UI嵌套的可选问题(Jquery UI nested Selectable issue)

问题 我需要在运行时单击按钮时水平和垂直创建/拆分我的 div 元素。 我可以创建一个 div 容器,根据单击的按钮在其中拆分画布。 例如:当我单击 Horizo​​ntalSplit 按钮时,它应该在所选容器内创建两个新的 div。 我遇到了嵌套子 div 元素的问题。 当我试图选择最里面的子代码时,选择父 div 也会产生问题。 我无法弄清楚为什么我的 nonSelectable 类会自动获得“ui-selected” 这是我到目前为止所做的: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <link rel="stylesheet" href="css/themes/base/jquery.ui.all.css"> <script type="text/javascript" src="scripts/jquery-1.6.js"></script> <script type="text/javascript" src="scripts/jquery-ui-1.8.13.custom.min.js" ><

2022-01-16 17:44:52   jquery   css   jquery-ui

编译时引用.NET dll(单声道)(Referencing .NET dll when compiliation(with mono))

问题 我问了一个问题来安装 F# powerpack 并在这里使用它。 error FS0078: Unable to find the file 'FSharp.PowerPack.Linq.dll' in any of /Library/Frameworks/Mono.framework/Versions/2.10.2/lib/mono/2.0 /Users/smcho/Desktop/fs/powerpack /Users/smcho/smcho/bin/FSharp-2.0.0.0/bin 当我运行这个命令fsc linq.fs /r:FSharp.PowerPack.Linq.dll ,我收到了这个带有单声道的错误消息。 似乎使用/r: ,单声道 F# 编译器似乎在 /Library/Frameworks/Mono.framework/Versions/2.10.2/lib/mono/2.0 <-- 单声道目录 /Users/smcho/smcho/bin/FSharp-2.0.0.0/bin <-- F#目录 /Users/smcho/Desktop/fs/powerpack <-- 当前目录。 但是,我不想复制当前目录中的所有 dll,有没有办法让 mono F# 或 C# 编译器知道在哪里可以找到除了这两个目录之外的 dll? 似乎 MONO_PATH

2022-01-16 17:44:48   .net   mono   reference

Firebase 通过时间戳获取数据(Firebase get data by timestamp)

问题 我需要过滤数据以获取时间戳匹配的特定数据。 比如我需要在数据arrivalTime有确切的日期和时间字段,数据库中的时间戳字段匹配。 我在下面尝试,但它没有返回任何数据。 _arrivalTIme = moment( `${todaysDate.format('YYYY/MM/DD')} ${_arrivalTIme}:00`, ).toDate(); // _arrivalTIme: Thu May 28 2020 09:00:00 GMT-0600 (Mountain Daylight Time) return firestore() .collection('mainCol') .doc(todayDate) .collection('subCol') .where('arrivalTime', '==', `${_arrivalTIme}`) ... 我的数据库记录如下所示: 我究竟做错了什么? 回答1 您正在将数据库中的日期字段与代码中的字符串进行比较。 这种比较永远不会是真的。 您要么需要获取与数据库中的值完全相同的Timestamp值,要么(更常见)进行范围检查: return firestore() .collection('mainCol') .doc(todayDate) .collection('subCol') .where('arrivalTime'

2022-01-16 17:44:45   node.js   google-cloud-firestore

为什么未定义的常量评估为真?(Why do undefined constants evaluate to true?)

问题 愚蠢的问题 - 我很惊讶这个咬了我。 为什么 PHP 中的未定义常量评估为真? 测试用例: <?php if(WHATEVER_THIS_ISNT_DEFINED) echo 'Huh?'; ?> 上面的示例打印“嗯?” 非常感谢你的帮助! :) 回答1 尝试defined('WHATEVER_THIS_ISNT_DEFINED') 当 PHP 遇到未定义的常量时,它会抛出E_NOTICE ,并使用您尝试使用的常量名称作为字符串。 这就是为什么您的代码段会打印Huh! ,因为非空字符串(不是"0" )将评估为true 。 从手册: 如果您使用未定义的常量,PHP 假定您指的是常量本身的名称,就像您将其称为字符串一样(CONSTANT 与“CONSTANT”)。 发生这种情况时将发出 E_NOTICE 级别的错误。 如果您将错误报告级别设置为报告E_NOTICE ,这是开发期间的一个好习惯,您也会看到抛出的通知。 PHP 常量语法定义() 转换为布尔值错误报告 error_reporting() 函数 回答2 从手册: 如果您使用未定义的常量,PHP 假定您指的是常量本身的名称,就像您将其称为字符串一样(CONSTANT 与“CONSTANT”)。 基本上,如果未定义WHATEVER_THIS_ISNT_DEFINED ,PHP 会将其解释为"WHATEVER_THIS

2022-01-16 17:44:41   php   constants

VS2010无法调试.NET框架代码(Unable to debug .NET framework code in VS2010)

问题 我正在尝试使用公共可用符号调试 .NET 代码。 我按照说明进行设置: 在工具-> 选项-> 调试中,我选中了“启用 .NET 框架源步进”,禁用了“仅启用我的代码”。 在工具-> 选项-> 调试-> 符号中加载所有符号。 我检查了很多 *.pdb 出现在这个文件夹中。 在 ASP.NET MVC 应用程序中,我将断点置于 Application_Start() 方法中。 调试器运行后,我看到调用堆栈,查看调用堆栈(System.Web.dll)中的所有方法。 但是如果我尝试双击它,我只会看到反汇编代码(或消息 - 没有可用的源代码)。 可能是什么原因 ? 回答1 你有安装VS2010 SP1吗? 如果是,则转到:http://social.msdn.microsoft.com/Forums/en-US/refsourceserver/thread/41388c7b-582b-4e3f-8178-3d38a3c99639 回答2 听起来符号没有加载,可能是由于版本不匹配。 过去我在加载正确的符号时遇到过问题。 我总是通过指向 Microsoft 符号服务器来解决它。 下面的文章提供了有关如何为 .NET Framework 设置调试的分步说明。 在第三部分“使用模块窗口加载框架符号”中,它描述了使用 Microsoft 符号服务器。 http://msdn.microsoft

2022-01-16 17:44:36   .net   visual-studio-2010   debugging

如何在 iOS 上使用 AVMutableComposition 和 CALayers(How to use AVMutableComposition and CALayers on iOS)

问题 I'm planning to render content in a view on iOS using AV mutable composition. I want to combine the video coming from one of the iPhone cameras with content created in a layer - mutable composition seems to fit the bill here as it can composite layers into the video content. It's not critical that the compositing be done as video is being recorded - I'm also happy to mix the required data into a composition that is then rendered (via AVExportSession) to a file after initial video recording has been completed. What I don't get though is how a [ca]layer is supposed to know what to draw at a

2022-01-16 17:44:32   ios   iphone   composition   foundation

所有执行者都死了 MinHash LSH PySpark approxSimilarityJoin self-join on EMR cluster(All executors dead MinHash LSH PySpark approxSimilarityJoin self-join on EMR cluster)

问题 在 (name_id, name) 组合的数据帧上调用 Spark 的 MinHashLSH 的 approxSimilarityJoin 时遇到问题。 我尝试解决的问题的摘要: 我有一个包含大约 3000 万个公司名称的唯一(name_id、name)组合的数据框。 其中一些名称指的是同一家公司,但 (i) 拼写错误,和/或 (ii) 包含其他名称。 不可能为每个组合执行模糊字符串匹配。 为了减少模糊字符串匹配组合的数量,我在 Spark 中使用了 MinHashLSH。 我的预期方法是使用具有相对较大的 Jaccard 阈值的 approxSimilarityJoin(自连接),这样我就能够对匹配的组合运行模糊匹配算法,以进一步改善消歧。 我采取的步骤的摘要: 使用 CountVectorizer 为每个名称创建一个字符计数向量, 使用 MinHashLSH 及其 approxSimilarityJoin 并进行以下设置: numHashTables=100 阈值 = 0.3(用于 approxSimilarityJoin 的 Jaccard 阈值) 在 approxSimilarityJoin 之后,我删除了重复的组合(认为存在匹配的组合 (i,j) 和 (j,i),然后我删除 (j,i)) 删除重复组合后,我使用 FuzzyWuzzy 包运行模糊字符串匹配算法

2022-01-16 17:44:29   pyspark   apache-spark-sql   garbage-collection   amazon-emr   minhash

Javascript异步加载背景图像(Javascript load background-image asynchrously)

问题 是否可以异步加载背景图像? 我见过许多jQuery插件以异步方式加载普通图像,但我找不到是否可以预加载/异步加载背景图像。 编辑 我澄清我的问题。 我一直在这个测试站点 http://mentalfaps.com/ 上工作 背景图像是从一组由 chron 作业每小时刷新的图像中随机加载的(它在 flickr 目录上获取随机图像)。 主机目前免费且速度较慢,因此背景图像需要一些时间才能加载。 第一个叠加层(带有 PNG 透明 mentalfaps 徽标的叠加层)的位置和宽度由jQuery(document).ready构造中创建的函数调节。 如果您尝试多次刷新页面,则右侧覆盖 div 的宽度为 0(因此您会在布局中看到一个“洞”) 这是设置我的位置的方法: function setPositions(){ var oH = $('#overlay-header'); var overlayHeaderOffset = oH.offset(); var overlayRightWidth = $(window).width() - (overlayHeaderOffset.left + oH.width()); if (overlayRightWidth >= 0) { $('#overlay-right').width(overlayRightWidth); } else {

2022-01-16 17:44:22   javascript   jquery   jquery-ui   html   css