我是Python的长期用户,并且非常喜欢使用字典的方式.它们非常直观且易于使用.是否有一个好的Java等同于python的字典?我听说有人使用hashmaps和hashtables.有人可以解释使用哈希表和哈希映射与python的词典的相似之处和不同之处吗?
我对PHP编码有点新,我知道如果你没有清理你的PHP代码,恶意用户可以破解网站.我想知道他们是否需要数据输入框(如文件提交或用户名/密码输入字段)?
像"include(header.php)"这样的命令还需要某种安全性,还是天生安全?
所以我一直在研究实现最低共同的祖先算法.我查看了许多不同的算法(主要是Trajan解决方案的变体或RMQ的变体).
我使用的是非二叉树.我的树通常会在查询之间进行更改,因此预处理不一定是值得的.树不应超过50-75个节点.我想知道的是我是否应该使用他们的算法或只是坚持自己的算法.
我的算法
myLCA(node1, node2) {
parentNode := [ ]
while (node1!=NULL) {
parentNode.push(node1)
node1 := node1.parent
}
while (node2!=NULL) {
for i in parentNode.size {
if (parentNode(i) == node2) {
return node2;
}
}
node2 := node2.parent
}
}
Run Code Online (Sandbox Code Playgroud) 我刚刚进入信息可视化和科学可视化,并且一直在使用Piccolo和JFreeChart.我试图找到一些我可以开始使用的新库.我正在寻找涉及多维可视化和地图覆盖(类似于开放层)的库,但是可以接触任何图形库.
我现在在几家不同的公司工作,每个人都有关于如何命名类和包的不同规则.它们各自具有不同的包布局和类之间的工作流程.通过这些经历,我了解了如何布局项目; 但是,我想更具体地定义如何布局项目.这个问题更多的是关于uml而不是关于命名约定.
我很好奇的是关于以下内容的官方架构定义是什么(我已经看到帮助器用作实用程序和管理器用作帮助程序等).
我无法理解从对象空间转换到视图空间的数学.我在硬件中这样做,我有下面的Atranspose矩阵:
ATranspose =
[rightx upx lookx 0]
[righty upy looky 0]
[rightz upz lookz 0]
[-eyeright -eyeup -eyelook 1]
Run Code Online (Sandbox Code Playgroud)
然后找到我们要做的观点:
[x,y,z,1] = [x',y',z',1]*ATranspose
xnew = xold*rightx + xold*righty + xold*rightz + xold*(-eyeright)
Run Code Online (Sandbox Code Playgroud)
但我不确定这是否正确.
它也可能是
[x,y,z,1]=atranspose*[x',y',z',1]T
Run Code Online (Sandbox Code Playgroud)
有人可以向我解释一下吗?我无法在网上找到任何不直接与opengl代码相关的内容,我只是想了解从对象坐标到眼睛坐标转换点背后的数学.
我一直在寻找,但没有找到一个人在同一台服务器上托管多个节点网站而不使用子域.我想要以下类似的东西......
website.com/app1 - > 127.0.0.1:3000
website.com/app2 - > 127.0.0.1:9000
upstream node {
server 127.0.0.1:3000;
keepalive 64;
}
server {
listen 80;
server_name webaddress.com;
root /var/www/trucks/;
location /livereload {
proxy_pass http://localhost:35729;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
location /app1 {
rewrite ^/app1/?(.*) /$1 break;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.1:3000;
root /var/www/trucks;
}
Run Code Online (Sandbox Code Playgroud)
我甚至尝试重写请求; 但是,这似乎没有任何影响.如果我删除/ app1它可以正常工作.我得到的最接近的是转发到多个站点,但当地快递路线无效.
我试图在javascript中传递一个变量.我以下面的方式创建一个链接,一切似乎都在工作.
label.innerHTML = '<a href="#" onclick="show_box(this);"> link</a>';
Run Code Online (Sandbox Code Playgroud)
然而,当我以下面的方式创建链接,其中链接也将传递一个关联的对象,我从firebug得到以下错误 - >元素列表后"缺少"
label.innerHTML = '<a href="#" onclick="show_box(this,'+object+');"> link</a>';
Run Code Online (Sandbox Code Playgroud)
这是将对象传递给函数的可接受方式.问题是我在一个函数中创建这个链接.该函数根据传递给它的对象创建这样的链接.因此,我不能把这个"对象"作为全球范围.
我不是网络开发人员,想要了解传递变量的更好方法.在过去,我使用各种方法将事物传递给java脚本函数.我从未使用过表单,因为我总是将它们与服务器和数据库相关联.我有一个网站,用户选择更改网站的内容.
我想知道你是否可以使用没有任何服务器的表单,只是将一些东西传递给javascript函数,用于更改页面内容.对于基本示例,如果有人选择男性页面背景变为蓝色,如果他们选择女性,则背景变为粉红色.表单是否可以去,只需提交调用javascript函数?我如何实际将表单内容传递给javascript函数?
我知道使用 Clojure 解决排列的方法有多种。我尝试使用 Core.Logic 创建 DCG(定子句语法),但该库的 DCG 部分太实验性,无法工作。
在下面的代码中我尝试了两种不同的方法。一种是列表理解(已注释掉),这与我在 Haskell 中解决此问题的方式类似。
第二种方法使用 MapCat 将 cons/first 应用于递归调用排列的每个返回值。删除项目可确保我不会在每个位置多次使用相同的字母。
有人可以解释一下列表理解方法有什么问题以及 MapCat 方法有什么问题吗?在 Haskell 中推理此类问题要容易得多 - 我是否缺少一些关于 Clojure 的观点?
(defn remove-item [xs]
(remove #{(first xs)} xs )
)
(defn permutation [xs]
(if (= (count xs) 1)
xs
;(for [x xs y (permutation (remove-item xs))
; :let [z (map concat y)]]
; z)
(mapcat #(map cons first (permutation (remove-item %)) ) xs)
)
)
Run Code Online (Sandbox Code Playgroud)
编辑:@thumbnail 已经解决了评论中的 MapCat 子问题
我试图想出一个比较两个字符串的算法.它会在任何包含相同字母的单词中注册匹配.例如,租金和燕鸥是等价的,因为它们都包含字母r,e,n,t.
编辑我为这么模糊而道歉.比较将在两组几千个单词上进行数百次.这只是整个代码的一小部分,所以我不希望它让一切都陷入困境.
对于那些提出要求匹配的人来说非常重要,例如租金也会匹配ternicate.
编辑2对于像租金== ternicate这样的匹配,ternicate与租金不匹配.它更像是第二个单词包含单词1的字母.因此,如果你有额外的字母,它仍然是匹配,只要该单词包含第一个单词的所有字母.
我正在创建一个用户界面,显示图形和操作图形.该类扩展JFrame实现了ActionListener.然后,ActionListener根据操作调用不同的类来操作图形.这种方法很有效,而班级的ActionListeners很少; 然而,现在这堂课变得难以管理.
我知道,为了封装,最好在用户界面类中使用ActionListener,因为它需要访问接口的非静态组件.但是,封装和可读性之间似乎存在冲突.
我建议将类打破为接口的一个类,为ActionListener打破第二个类并静态访问接口组件.我想知道的是,这是遵循基本的设计惯例吗?并且,如果这是一种可接受的方法,您会将主类放在用户界面类或ActionListener类中吗?
我过去一直在使用矢量,我对它们非常熟悉.我听说ArrayLists更快更灵活.我是使用ArrayLists和Java Generics的新手.我目前正在使用它们如下并接收有关参数化的警告(我认为我通过声明它们来做到了这一点<String>.
ArrayList<String> arrayList = new ArrayList <String> ();
...
//then within a method
arrayList.add(file.getName()); //<-This line triggers the warning.
Run Code Online (Sandbox Code Playgroud)
我在网上发现,可以通过抑制方法中的警告来避免这种情况,如下所示.但是,这是一个解决方法,我宁愿了解arraylists如何正常工作和使用它们,而不是禁止警告错误地使用它们.
@SuppressWarnings("unchecked")
Run Code Online (Sandbox Code Playgroud)
并且,如果有关于使用ArrayLists的某种约定或标准,我也很想了解这些.
编辑: 我收到的警告如下:类型安全:方法add(Object)属于原始类型ArrayList.应该参数化对泛型类型ArrayList的引用
java ×6
algorithm ×2
architecture ×2
conventions ×2
graphics ×2
html ×2
javascript ×2
3d ×1
arraylist ×1
clojure ×1
compare ×1
dictionary ×1
express ×1
forms ×1
hardware ×1
hash ×1
include ×1
math ×1
nginx ×1
node.js ×1
opengl ×1
php ×1
python ×1
regex ×1
security ×1
standards ×1
string ×1
suhosin ×1
swing ×1
traversal ×1
tree ×1
uml ×1
warnings ×1