是否可以在不使用像PHP这样的服务器端语言的情况下获取用户的ip地址(我网站的访问者)?
由于我的服务器的负载均衡器,我在使用服务器语言(PHP)时遇到问题.我试过http_x_forwared_for,但也没有检索完美的IP地址.
我用C++或C#编写的oop代码究竟是如何转换为机器代码的,或者在C#的情况下转换为字节码?我的意思是,对象如何翻译?
在程序编程中,编译后它看起来很明显,因为机器语言中的函数实际上是真正的支持.但是在oop编程的情况下,机器语言中没有对象.
我的理论是它将对象本身编译为某种类似C的结构,它只包含数据(没有成员函数),并且当调用memeber函数时,如果接受一个addion参数,它是对象本身的数据结构.我对吗?
我在计算机上运行了我的基准测试(英特尔i3-3220 @ 3.3GHz,Fedora 18),并得到了非常意外的结果.函数指针实际上比内联函数快一点.
码:
#include <iostream>
#include <chrono>
inline short toBigEndian(short i)
{
return (i<<8)|(i>>8);
}
short (*toBigEndianPtr)(short i)=toBigEndian;
int main()
{
std::chrono::duration<double> t;
int total=0;
for(int i=0;i<10000000;i++)
{
auto begin=std::chrono::high_resolution_clock::now();
short a=toBigEndian((short)i);//toBigEndianPtr((short)i);
total+=a;
auto end=std::chrono::high_resolution_clock::now();
t+=std::chrono::duration_cast<std::chrono::duration<double>>(end-begin);
}
std::cout<<t.count()<<", "<<total<<std::endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
用.编译
g++ test.cpp -std=c++0x -O0
Run Code Online (Sandbox Code Playgroud)
'toBigEndian'循环总是在0.26-0.27秒左右完成,而'toBigEndianPtr'则需要0.21-0.22秒.
更奇怪的是,当我删除'total'时,函数指针在0.35-0.37秒处变慢,而内联函数在约0.27-0.28秒.
我的问题是:
当'total'存在时,为什么函数指针比内联函数更快?
我正在Dart Web UI中构建一个简单的网站.每个页面都有一个标题(带有网站导航)和一个页脚.我已经使用了页眉和页脚的组件,每个页面看起来像这样:
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<link rel="import" href="header.html">
<link rel="import" href="footer.html">
</head>
<body>
<header-component></header-component>
Page content...
<footer-component></footer-component>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这很好用,但组件不会插入HTML本身,而是从Dart(或JavaScript)代码动态加载.有没有办法让Web UI编译器将页眉和页脚插入HTML文件本身,以便搜索引擎和禁用JavaScript的用户可以看到它们?
我正在创建一个网站,其中有4个相同维度的div.如果我单击任何div,它将最大化以覆盖剩余的3个div.为此,我需要使用z-index属性.我没有在样式中指定z-index,只在单击任何div时使用jQuery添加它.这是我的div代码:
<div id="one" style="background: #58D3F7; height: 200px; width: 200px; position: absolute;
margin-left: 410px; margin-top: 202px; float: left; cursor: pointer; text-align: center;"></div>
Run Code Online (Sandbox Code Playgroud)
这里是用于最大化的jQuery代码:
$(function () {
var state = true;
$("#one").click(function () {
if (state) {
$("#one").animate({
height: 300,
top: -100
}, 1000);
$("#one").css({ "z-index": "1" });
$("#one").animate({
width: 300,
left: -100
}, 1000);
$("#itxt1").animate({
color: "#58D3F7"
}, 1000);
$("#one").animate({
height: 650,
width: 650
}, 1000);
} else {
$("#one").animate({
backgroundColor: "#58D3F7",
height: …Run Code Online (Sandbox Code Playgroud) 我有一个循环,我已经建立了一个小问题.这是我第一次尝试使用jQuery构建循环.这是一个简单的阅读更多/更少的按钮.
我遇到的问题很奇怪.当页面首次加载时,它可以很好地工作,但在此之后的任何时候,它都会运行整个事情,而不考虑对ID的更改.
HTML:
<div class="inner_container" id="tag_info"><?php?></div>
<a id="read_more">read more ></a>
Run Code Online (Sandbox Code Playgroud)
jQuery的:
$('a#read_more').click(function() {
$('#tag_info').stop().animate({
height: '100%'
}, 500 );
$(this).text('< read less');
$(this).removeAttr('id');
$(this).attr('id', 'read_less');
$('a#read_less').click(function() {
$('#tag_info').stop().animate({
height: '50px'
}, 500 );
$(this).text('read more >');
$(this).removeAttr('id');
$(this).attr('id', 'read_more');
});
});
Run Code Online (Sandbox Code Playgroud)
CSS:[锚定样式不必要]
#tag_info {
height: 50px;
overflow: hidden;
}
Run Code Online (Sandbox Code Playgroud)
发生的事情(第一次之后的任何时间)div将立即动画到第一次单击功能中设置的高度,然后跳回到第二次单击功能中设置的高度.
如果我将它们分成两个不同的单击功能,则第二个功能不起作用.最令人困惑的是它工作一次,然后无法正常工作.有什么建议?
我一直在用eclipse开发带有phonegap的Android应用程序,直到几周前,我决定尝试使用Sublime Text 2.我发现它比eclipse编辑器好得多,所以我想继续使用它.我唯一缺少的是在Sublime内部设备上测试app的快速方法.
幸运的是,其他人也有同样的想法,并为此开发了一个插件:https: //github.com/Korcholis/Andrew
可悲的是,我无法让它工作,我安装了ant并将插件指向adb但是当我尝试创建一个新项目时没有任何反应(并且控制台中没有错误消息).
我还发现了这个其他插件:https: //bitbucket.org/ucomesdag/sublime-android 但是我不知道如何安装和运行它.
别人找到了办法吗?
当Sublime Text在Javascript中选择整个单词时实际上是由"点"划分的,这真的很烦人.如何解决这个问题?
我试图跑步时遇到这个问题chrome.webRequest.onHeadersReceived.
这是我的代码:
的manifest.json
{
"manifest_version": 2,
"name": "testing",
"description": "testing",
"version": "1.0",
"permissions":
[
"webRequest","*://*/*","webRequestBlocking"
],
"content_scripts":
[
{
"matches": ["*://*/*"],
"css": ["highlight.css"],
"js": ["highlight.js","jquery-min.js" ],
"run_at": "document_end",
"all_frames": true
}
]}
Run Code Online (Sandbox Code Playgroud)
highlight.js
chrome.webRequest.onHeadersReceived.addListener(
function(info) {
var headers = info.responseHeaders;
for (var i=headers.length-1; i>=0; --i) {
var header = headers[i].name.toLowerCase();
if (header == 'x-frame-options' || header == 'frame-options') {
headers.splice(i, 1); // Remove header
}
}
return {responseHeaders: headers};
},
{
urls: [ '*://*/*' ], // Pattern to …Run Code Online (Sandbox Code Playgroud) jquery ×2
sublimetext2 ×2
android ×1
c++ ×1
clientip ×1
compilation ×1
dart ×1
dart-webui ×1
html ×1
ip-address ×1
javascript ×1
oop ×1
performance ×1
python ×1