我正在浏览互联网并注意到,例如,YouTube包含这样的URL来表示视频页面:http://www.youtube.com/watch?v=gwS1tGLB0vc.
我的网站使用这样的URL作为主题页面:http://www.example.com/page.php?topic_id=6f3246d0sdf42c2jb67abba60ce33d5cc.
不同的是,如果您还没有注意到在youtube上,他们的观看页面没有文件扩展名,所以我想知道,为什么有些网站没有使用文件扩展名以及它有什么用途?
似乎许多应用提供商正在使用OAuth2来允许API访问,例如Twitter和Facebook.有没有人使用一个好的库来进行OAuth2处理,这个处理通常足以在所有应用程序中使用?
我的一位同事正在参加面向对象编程课程的介绍,并被他的教授问了一个讨论问题:
为什么许多开发人员反对在类上/内使用"受保护"修饰符?
当问题在午餐时提出时,我的同事和我都无法想到有人可能会反对protected在课堂上使用修饰语的原因.设置问题的前提(假设许多开发人员实际上反对protected修饰符;是吗?),我们试图找出原因.
就个人而言,我在类上使用protected访问修饰符的唯一时间是我编写的代码,我可能想在测试环境中进行补充.例如,我可能编写一个没有调试信息的基类,然后创建一个新的类进行测试,继承基类并覆盖其方法,以便在基本方法调用之前/之后添加调试输出代码.我想我可以轻松地使用涉及接口和依赖注入的设计来实现相同的目标,但我唯一的经验protected是用于测试目的.在这种情况下,唯一要避免的原因protected是因为你可以用更好的方式完成同样的事情.
为什么开发人员可能会反对protected在他们的OOP设计中使用修饰符?
注意:因为教授要求一般OOP问题不是特定于任何一种语言,我不确定答案是否可能因为protectedC#,Java等的不同实现而加权不同.
使用ASP.NET WebForms,可以在页面指令中设置会话状态模式:
<%@ Page EnableSessionState="true|false|ReadOnly" %>
Run Code Online (Sandbox Code Playgroud)
ASP.NET MVC中是否也可以使用相同的配置(例如,每个控制器或每个操作),如果是,如何?
(换句话说:我可以禁用或设置每个控制器/操作的只读会话状态吗?我假设会话状态读/写会导致一些开销,所以如果没有关闭会话状态可能会有用需要.)
可能重复:
Java中函数指针的最接近的替代是什么?
我正在写一个工厂类来创建一堆不同的小部件.为了论证,假设这个工厂可以创建1000个小部件.
myWidget createWidget (widgetId)
{
case 0: createwidget0 ();
.
.
case 1000: createwidget1000 ();
}
Run Code Online (Sandbox Code Playgroud)
我不想写1000个案例陈述.我想将所有创建例程放在一个数组中.使用widgetId作为索引直接执行create例程,因此不必通过比较1000条件.因此整个createWidget例程可以像这样简化
myWidget createWidget (widgetId)
{
myAwsomeFuncArr createFunc;
myWidget widget = createFunc[widgetId] ();
}
Run Code Online (Sandbox Code Playgroud)
是用Java做的吗?
我知道你可以使用:contains来获取innerHTML包含某个字符串的元素,但是我怎样才能获得innerHTML以字符串开头的元素?
我对这个问题有类似的问题,但略有不同.我编译了一个.so库来与JNI一起使用.因为它很大(15 MB),所以我把它放在SDCard而不是标准的应用程序中.
该文件名为libSample.so,位于 /data/library/libSample.so
我在静态初始化块中加载它:
try {
File sdcard = Environment.getExternalStorageDirectory();
File libraryLoc = new File(sdcard.getAbsolutePath() + "/library/libSample.so");
Log.i("Library", "Does the library exist?" + libraryLoc.exists());
System.load(libraryLoc.getAbsolutePath());
}
catch (UnsatisfiedLinkError e) {
Log.e("Translator", e.getMessage());
Log.e("Translator", e.toString());
}
Run Code Online (Sandbox Code Playgroud)
这是相关的logcat输出:
09-02 16:42:58.882: DEBUG/dalvikvm(4185): Trying to load lib /data/data/com.example.hellojni/lib/libhello-jni.so 0x434fb6f8
09-02 16:42:58.892: DEBUG/dalvikvm(4185): Added shared lib /data/data/com.example.hellojni/lib/libhello-jni.so 0x434fb6f8
09-02 16:42:58.892: DEBUG/dalvikvm(4185): No JNI_OnLoad found in /data/data/com.example.hellojni/lib/libhello-jni.so 0x434fb6f8
09-02 16:42:58.892: INFO/Library(4185): Library exists: true
09-02 16:42:58.902: INFO/Library(4185): Library can be read: true
09-02 …Run Code Online (Sandbox Code Playgroud) 我是LINQ的新手,并且不想过度使用并且难以维护这些代码.
你怎么看,这个LINQ查询太长了?
IList<ListViewItem> data = runAnalysis.PassAnalyses.Cast<PassAnalysis>().
Select(passAnalysis => passAnalysis.GetValue(PeakStatistics.PeakStatisticsProperty)).
SelectMany(peakStatistics => peakStatistics.Statistics.
Where(statisticsBase => statisticsBase.Name == statisticType).
Select(statisticsBase => new ListViewItem {Content = statisticsBase})).ToList();
Run Code Online (Sandbox Code Playgroud) 这很奇怪,我不知道为什么.我有一个ViewModel为我的对象返回一些值,在渲染它时,它们有不同的值,但是,它们指向同一个属性:
<%: Model.myProperty %>
Run Code Online (Sandbox Code Playgroud)
返回"25",这是我设置的属性.但是当它作为文本框呈现时,它返回"0"作为我的文本框的值!
<%: Html.TextBoxFor(f => f.myProperty) %>
Run Code Online (Sandbox Code Playgroud)
知道为什么吗?该属性为十进制类型.谢谢.
我发现自己想要使用Emacs,主要是因为org-mode,但是我在习惯滚动的滚动行为时遇到了很多麻烦.我知道这是Emacs的一个众所周知的问题/怪癖,并且在滚动时有各种方法可以减少急动.但到目前为止我没有尝试过任何事情.
我见过的主要建议是(setq scroll-conservatively 10000)或者使用smooth-scrolling.el中提供的更全面的修复.我认为这些对我来说都可以正常工作,但是当我按住向上箭头和向下箭头键重复向上或向下滚动时,两者都会失败.当我这样做时屏幕冻结,我看到滚动边距中的滚动指示条向上或向下移动.在我停止按住向上箭头或向下箭头键之前,屏幕不会刷新.
如果我反复按向上箭头或向下箭头,那么我的行为接近我想要的行为,即屏幕平滑滚动,光标键不会重置到屏幕中间.但这是不可取的,因为(1)它需要重复的按键和(2)我认为滚动速度比我应该能够获得更好的解决方案的速度慢.
按住光标键的问题在我看来是向上箭头或向下箭头的重复速度是如此之快以至于它触发emacs以停止屏幕刷新直到释放按键.我想知道对我来说可能的解决方法是在密钥重复率或在emacs中调用下一个/上一个行函数的速率中添加一些延迟.
我没有看到其他人报告这个问题,我想知道其他人是否经历过同样的行为.什么是解决问题的最佳方法,这样我可以按住向上/向下箭头键,并且重复速率足够慢,以便屏幕不会冻结?
更新:以上行为是我在Win7/64上运行emacs时得到的.在同一台机器上,当我在运行Ubuntu 10.04的VirtualBox VM中运行emacs时,即使按住光标键,滚动也没有问题.