我想通过一张桌子随机删除一些数据.我正在做一些数据随机化,将真实的名字变成假的等等.其中一个表有一个列,大约40%的时间是空的.我的名字随机发生器应用程序可以在它分配新的名字时在其中的某处投掷硬币.但我最好只是在最后做:随机修剪一些数据.
我有这个代码,它不起作用,但看起来应该对我来说:
Use MyDb
go
CREATE VIEW vRandNumber
AS
SELECT RAND() as RandNumber
go
CREATE FUNCTION RandNumber()
RETURNS float
AS
BEGIN
RETURN (SELECT RandNumber FROM vRandNumber)
END
go
select dbo.RandNumber()
update names set nickname = null
where ((select dbo.RandNumber()) > 0.5)
Run Code Online (Sandbox Code Playgroud)
当我运行RandNumber函数时它很好,很随机.但是当我进行更新时,它会在一半时间内更新所有行,而在另一半时间内不会更新所有行.
我想让它在每次运行脚本时更新随机行数.我真的以为像RandNumber这样的函数会为表中的每一行运行一次.显然不是.
如果没有循环且没有控制台应用程序,这可能吗?
编辑:我也尝试了RAND()的几种变体直接在哪里得到相同的结果.
def load_lib
path = File.join(File.dirname(__FILE__), 'lib')
failures = []
Dir.glob("#{path}/**/*.rb").each { |file|
puts "loading: #{file} ... "
}
end
Run Code Online (Sandbox Code Playgroud)
有脚本.当我单独放入每一行时,该load_lib
功能可用并且工作正常.但是当我将它粘贴到irb中的一个大块(Ubuntu终端,Sh Ctrl C)时,它会突然出现Dir.glob(...
在线上并显示:
Display all 931 possibilities? (y or n)
!
!=
!~
<=>
.... [dozens of lines in this vein]
Run Code Online (Sandbox Code Playgroud)
然后根本不创建该方法.
以下是我一次将其粘贴到一行时发生的情况(成功):
>> def load_lib
>> path = File.join(File.dirname(__FILE__), 'lib')
>> failures = []
>> Dir.glob("#{path}/**/*.rb").each { |file|
?> puts file
>> }
>> end
=> nil
>> load_lib
./lib/alpha_processor.rb
./lib/development_mail_interceptor.rb
./lib/service_processors/beta_processor.rb
Run Code Online (Sandbox Code Playgroud)
是否有一些关于[]
或{} …
Win7 PC通过VMWare Player在Ubuntu VM中运行Rails.我正在网站上工作,想把它展示给我网络外的朋友.
我发现这篇博文,让我非常接近:http://blog.fardad.com/2012/06/vmware-player-and-custom-nat-port-map.html
好的,所以我有使用NAT的VM.据我了解,这意味着VM看起来与父机器的外部流量具有相同的IP地址.
我进入了NAT设置并添加了端口转发:
Host Port: 8200 Type: UDP Virtual IP Address: 192.168.198.184:3000
Run Code Online (Sandbox Code Playgroud)
好的,所以我的理解是我现在应该可以转到192.168.1.1xx:8200(我的'真正的'PC的IP)并访问在VM中运行的web服务器.但是当我去那个地址时,我什么也得不到.我可以从PC ping 192.168.198.184(VM).
我想要做的是进入我的路由器并设置一个最终将转发到VM的端口.
好像我错过了一些非常小的东西,但我不知道那是什么.请帮忙.
如果有人好奇如何获得虚拟网络编辑器:
转到vmware目录并在提升的cmd.exe框中运行
rundll32.exe vmnetui.dll VMNetUI_ShowStandalone
假设我有一个包含varchar字段的表.如果我像这样插入:
INSERT MyTable
SELECT N'the string goes here'
Run Code Online (Sandbox Code Playgroud)
这与之间有什么根本区别:
INSERT MyTable
SELECT 'the string goes here'
Run Code Online (Sandbox Code Playgroud)
我的理解是,如果字符串包含Unicode字符且目标列不是unicode,则只会出现问题.除此之外,SQL处理它很好并将字符串N''
转换为varchar字段(基本上忽略了N
).
我的印象是N
在弦乐前面是一个很好的练习,但我无法找到任何关于它的讨论我认为是确定的.
有人问过,但没有回答.答案(使用/warn:1
)不适用于msbuild.exe,只适用于csc.exe.也许我错过了csc和msbuild之间的东西?
我想在我使用时禁止所有编译器警告和代码分析警告(例如"变量'variableNameHere'已分配,但其值..."或代码分析警告:CA1805:Microsoft.Performance:...)命令行msbuild.我不想改变解决方案文件.我正在构建的非常大的解决方案中有几百个警告消息 - 修复它们远远超出了我的项目范围.
我试过/v:quiet
但是没用.
有没有办法通过命令行执行此操作?
更新:这个:
C:\WINDOWS\Microsoft.NET\Framework\v3.5\msbuild.exe C:\Dev\ReallyBigSolution.sln /p:NoWarn=true /p:NoWarn=CA1031
绝对不行.我仍然收到数百个警告,包括我特别阻止的警告(CA1031).
使用/p:RunCodeAnalysis=Never
或/p:RunCodeAnalysis=false
显然不会抑制代码分析警告或错误.
Rails修复:确保<%= javascript_include_tag "application" %>
在任何脚本加载之前,以便首先加载jquery.
这看起来很奇怪.当我加载页面时,我得到2个js错误(在Chrome中):
jquery-ui.min.js:17 Uncaught ReferenceError: jQuery is not defined
jquery.blockUI.js:499 Uncaught ReferenceError: jQuery is not defined
Run Code Online (Sandbox Code Playgroud)
好吧,这似乎......很奇怪.所以我看看我的脚本包括.我的前两个脚本包括在我的页面上:
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.min.js"></script>
<script src="http://bainternet-js-cdn.googlecode.com/svn/trunk/js/jQuery%20BlockUI%20Plugin/2.39/jquery.blockUI.js"></script>
Run Code Online (Sandbox Code Playgroud)
所以第一个包括获取与自身相关的javascript错误?这似乎不太可能.这看起来像是误导错误的情况(真正的错误在其他地方).我该怎么做才能解决这个问题?页面上的JS错误看起来有点不专业(至少对其他开发者而言).前几天我没有收到此错误 - 甚至还原了代码以确保.
假设我的Mongodb中有一个Products数组.我希望用户能够在自己的页面上看到每个产品:http://www.mysite.com/product/12345/Widget-Wodget
.由于每个产品没有增量整数ID(12345),而是具有BSON ID(5063a36bdeb13f7505000630),我需要添加整数ID或使用BSON ID.
由于BSON ID包括PID:
如果我在网址中使用BSON ID,我是否会向外界公开安全信息?
? npx jest --version
24.5.0
Run Code Online (Sandbox Code Playgroud)
获得了一组对时区敏感的玩笑测试。我们通常使用npm脚本运行它们:"jest": "TZ=utc jest"
将TZ设置为utc时,我可以在快照中获得如下所示的值:
modificationDate="2019-01-08T00:00:00.000Z"
Run Code Online (Sandbox Code Playgroud)
没有它,我得到:
modificationDate="2019-01-08T08:00:00.000Z"
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以在我的jest配置中进行设置,这样我就可以npx jest
在命令行中运行而不必通过NPM脚本了?配置文档中没有关于此的任何内容。
我尝试将这两个添加到我的jest.config.js中。没有人起作用:
TZ: 'utc',
globals: {
TZ: 'utc',
},
Run Code Online (Sandbox Code Playgroud)
当然,解决这个问题似乎微不足道,但是令我惊讶的是,Jest没有办法配置它进行测试。
应该是一个简单的.我想,通过阅读这篇博文,我可以在我的next
命令后立即返回一些内容:
next "new value" if axis_range == "test"
我真正想做的是在同一行记录下一个原因:
next @logger.info('skipping this item because for fun') unless (elephants.size > 0)
我找不到next
关于ruby doc的这种用法的任何讨论.代码肯定有效.我意识到我可以使用一个unless
块来执行此操作,但该行代码非常简洁.
两个问题:
next
有点奇怪而不是'ruby-ish'吗?Jest希望测试位于__tests__文件夹中或命名为blah.test.js. 我不喜欢这两种模式.我希望我的测试文件存在/test
并命名它们test/index.ios.test.js
似乎是多余和愚蠢的.我的第一个尝试是将package.json中的jest配置更改为:
"jest": {
"testPathDirs": ["test"],
"testRegex": "\\.(js|jsx)$",
"preset": "react-native"
}
Run Code Online (Sandbox Code Playgroud)
哪个成功找到测试,但都失败了:
Cannot find module 'setupDevtools' from 'setup.js'
at Resolver.resolveModule (node_modules/jest-resolve/build/index.js:151:17)
at Object.<anonymous> (node_modules/react-native/jest/setup.js:23:1)
Run Code Online (Sandbox Code Playgroud)
那个功能在node_modules/react-native/Libraries/Core/Devtools/setupDevtools.js
.我怎么告诉Jest在哪里找到它?
javascript ×2
jestjs ×2
reactjs ×2
ruby ×2
sql ×2
bson ×1
irb ×1
jquery ×1
mongodb ×1
msbuild ×1
react-native ×1
sql-server ×1
unicode ×1
url ×1
vmware ×1