我开始使用C#时学到的第一件事就是最重要的一件事.您可以使用Reflector或其他工具反编译任何.NET程序集.许多开发人员都不知道这个事实,当我向他们展示他们的源代码时,他们中的大多数都感到震惊.
防止反编译仍然是一项艰巨的任务.我仍在寻找一种快速,简便,安全的方法.我不想混淆我的代码,所以我的方法名称将是a,b,c左右.反射器或其他工具应该无法将我的应用程序识别为.NET程序集.我已经了解了一些工具,但它们非常昂贵.有没有其他方法来保护我的应用程序?
编辑:
我的问题的原因不是防止盗版.我只想阻止竞争对手阅读我的代码.我知道他们会,他们已经做到了.他们甚至告诉过我.也许我有点偏执,但商业竞争对手阅读我的代码并不能让我感觉良好.
看这个例子!
int main( int argc, char ** argv )
{
int *ptr = malloc(100 * sizeof (int));
printf("sizeof(array) is %d bytes\n", sizeof(ptr));
}Run Code Online (Sandbox Code Playgroud)
printf函数只返回4个字节!怎么了?
非常感谢!!!
我知道这确实是一个主观问题,但对于最佳实践(和可读性),我似乎无法修复格式化长字符串HTML的最佳方法.我通常这样做:
echo '
<div>
<p>Content Inside</p>
<div class="subbox">
<ul>
<li>etc.</li>
<li>etc.</li>
<li>etc.</li>
<li>etc.</li>
</ul>
</div>
</div>
';
Run Code Online (Sandbox Code Playgroud)
但我仍然不喜欢结果,特别是如果它出现在一大块代码的中间.它只是感觉凌乱.
我正在尝试打印一个PDF文档,我正在从一系列图像构建.如果它很重要,我会在Mozilla插件中完成所有这些操作.
我创建PDFDocument,并将其放入PDFView,然后我打电话
[printView printWithInfo: [NSPrintInfo sharedPrintInfo] autoRotate: YES];
Run Code Online (Sandbox Code Playgroud)
打印对话框出现(作为一个单独的窗口,而不是面板.我假设这是来自mozilla窗口,所以我不太担心它.对话框显示我的文档,我可以正确翻页,一切看起来都不错.
但是,当我点击"打印"时,带有"布局"等的下拉列表变为空,并且其下的视图变为空.窗口不会消失,文档不会打印.点击取消完全相同.我唯一能做的就是强行退出Mozillla.
我从apple dev网站开始使用PDFKitLinker2程序,该程序可以运行.但我看不出它与我的版本之间有任何显着差异.
关于在哪里看的任何建议?
谢谢.
编辑:是的,我知道这几乎是打印屏幕外PDFViews的完全重复,但从来没有得到足够的答案......(直到现在我才注意到它...)
标准stats :: kruskal.test模块允许计算数据集上的kruskal-wallis测试:
>>> data(diamonds)
>>> kruskal.test(price~carat, data=diamonds)
Kruskal-Wallis rank sum test
data: price by carat by color
Kruskal-Wallis chi-squared = 50570.15, df = 272, p-value < 2.2e-16
Run Code Online (Sandbox Code Playgroud)
这是正确的,它给了我一个概率,即数据中的所有组具有相同的均值.
但是,我希望得到每对比较的详细信息,比如D和E颜色的钻石具有相同的平均价格,就像其他一些软件(SPSS)要求进行Kruskal测试时一样.
我从pgirmess包中找到了kruskalmc,它允许我做我想做的事:
> kruskalmc(diamonds$price, diamonds$color)
Multiple comparison test after Kruskal-Wallis
p.value: 0.05
Comparisons
obs.dif critical.dif difference
D-E 571.7459 747.4962 FALSE
D-F 2237.4309 751.5684 TRUE
D-G 2643.1778 726.9854 TRUE
D-H 4539.4392 774.4809 TRUE
D-I 6002.6286 862.0150 TRUE
D-J 8077.2871 1061.7451 TRUE
E-F 2809.1767 680.4144 TRUE
E-G 3214.9237 653.1587 …Run Code Online (Sandbox Code Playgroud) 我无法将我的域名指向我使用谷歌应用引擎托管的网站.这是背景...注意分离"谷歌应用程序"(域名托管,电子邮件等)和"谷歌应用程序引擎"(网站框架)的概念.
我有一个使用Google Apps for Your Domain的域名,我们称之为company.com.所以我的谷歌应用程序帐户登录名是bob@company.com.我有一个不同的域名别名,我的谷歌应用程序帐户,我们称之为mycompany.com.它已使用cname方法成功别名并在我的主要Google Apps帐户中注册,并更新了mx记录.我们有很多域名,我只想使用一个"谷歌应用"帐户来维护它们.
现在我有一个我使用谷歌应用引擎建立的网站,网址实际上是mycompany.appspot.com.我想让mycompany.com指向我目前位于mycompany.appspot.com的网站.
在应用程序设置下的谷歌应用程序引擎仪表板中有一个位置,您可以在其中添加域.所以我点击那里进入mycompany.com,我收到一条错误消息,说该域名没有使用谷歌应用程序.
如果我回到我提交的页面,会有一条说明我需要使用谷歌应用注册域名.所以我点击链接进行操作并进入mycompany.com,我收到一条错误消息,说明该域名已经注册并且正在进行所有权验证.但是这个过程已经完成了.
那么......我该怎么办?谷歌应用引擎不支持只有主要谷歌应用帐户别名的域吗?mycompany.com是否需要拥有自己的主要谷歌应用帐户?
我在一些遗留代码中看到了以下(奇怪的)Javascript舍入函数.谷歌搜索后,我可以看到它在网上很多地方出现.但是我无法弄清楚为什么存在硬编码值8191和10485.
有谁知道为什么这些价值被包括在内有任何合理的理由?如果没有,希望我们可以杀死模因!
function roundNumber(num,dec) {
var newnumber = 0;
if (num > 8191 && num < 10485) {
num = num-5000;
newnumber = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
newnumber = newnumber+5000;
} else {
newnumber = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
}
return newnumber;
}
Run Code Online (Sandbox Code Playgroud) WPF是否可以Label自动拆分为多行?在下面的示例中,文本在右侧裁剪.
<Window x:Class="..." xmlns="..." xmlns:x="..." Height="300" Width="300">
<Grid>
<Label>
`_Twas brillig, and the slithy toves did gyre and gimble in the wabe:
all mimsy were the borogoves, and the mome raths outgrabe.
</Label>
</Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)
难道我做错了什么?
遗憾的是,采取其他控制措施不是一个好选择,因为我需要支持访问密钥.
替换Labela TextBlock(有TextWrapping="Wrap"),并调整其控制模板以识别访问密钥可能是一个解决方案,但它不是一个矫枉过正吗?
编辑:标签的非标准样式会破坏皮肤,所以我想尽可能避免它.
我在那里,我对编程有点新意,更多的是一种爱好.我想知道以下逻辑或技术是否具有特定名称或术语.我目前的项目有7个复选框,每周一个.我需要一个容易保存哪些盒子被检查.
以下是将复选框保存为单个数字的方法.每个复选框都会获得一个比上一个复选框加倍的值.当我想知道哪些盒子被检查时,我向后工作,看看我可以用总值除以复选框值多少次.
private int SetSelectedDays()
{
int selectedDays = 0;
selectedDays += (dayMon.Checked) ? 1 : 0;
selectedDays += (dayTue.Checked) ? 2 : 0;
selectedDays += (dayWed.Checked) ? 4 : 0;
selectedDays += (dayThu.Checked) ? 8 : 0;
selectedDays += (dayFri.Checked) ? 16 : 0;
selectedDays += (daySat.Checked) ? 32 : 0;
selectedDays += (daySun.Checked) ? 64 : 0;
return selectedDays;
}
private void SelectedDays(int n)
{
if ((n / 64 >= 1) & !(n / 64 >= 2))
{ …Run Code Online (Sandbox Code Playgroud) .net ×2
c# ×2
alias ×1
awk ×1
bash ×1
bitmask ×1
c ×1
decompiling ×1
dns ×1
google-apps ×1
javascript ×1
line-breaks ×1
malloc ×1
objective-c ×1
pdfview ×1
php ×1
printing ×1
r ×1
reflector ×1
rounding ×1
sed ×1
sizeof ×1
verification ×1
wpf ×1
wpf-controls ×1