我一直在阅读Nodejs及其框架,并且最近完成了我的第一个完整的javascript前端(使用Angularjs).
我决定使用以下两个框架中的一个来进行我的下一个宠物项目:Nodejs冒险:
我已经读到了这两个,但仍然无法完全理解他们的差异,为什么我应该选择使用一个而不是另一个.所以请戴上你最好的推销员帽子,选择一个框架,然后把它卖给我.
我的宠物项目需要的一些功能是:
我目前有1个magento应用程序运行3个不同的商店:
该商店的数据库大小为370MB.这些商店共享9.000 SKU,并且每个商店都有1k到2k的分组产品(与SKU相关联).
运行apache AB基准测试工具,我得到的每秒低至0.29个请求,我认为即使对于magento商店也是如此.
最大的担忧是后端.目前有5人通过后端更新和插入新产品,更新/插入一个产品需要4分钟.这是浪费大量时间,我不能为我的生活解释它.
这是我服务器的资源:
我正在使用eAccelerator和Memcahed运行Debian Lenny Apache 2.0,PHP版本5.2.6-1 + lenny16.(你可以在这里查看所有信息)
这是我的Apache,MySQL和PHP的配置文件.
我不是服务器管理员(虽然我负责所有的网站和服务器本身),所以这不是我的"海滩"可以这么说.我的问题是,这是应该使用我当前的资源的方式,还是我错过了我配置中的重要内容?
我意识到这可能看起来像是在寻找"手持",但这不是我的意图.我只是厌倦了一遍又一遍地尝试新东西,我似乎无法让它顺利运行.
我一直在寻找一些时间,找不到Turn.js的好选择.Turn.js似乎很好,但我想在花钱之前先看一些替代方案.如果有开源替代方案会更好.
我正在寻找的主要功能是:
我在我的应用程序上使用airbnb的地图作为react-native.这个问题适用于Android应用程序,因为我还没有绕过iOS应用程序.
我的问题:
navigator.geolocation在模拟器上工作正常,但在真实设备上花费的时间太长,以至于它有时会在旧设备上超时.
我注意到了什么:
如果showsUserLocationprop设置为true,我可以在getCurrentPosition结算之前在地图上看到原生的"当前位置"标记.
我想要的是:
showsUserLocation道具的行为,但似乎一旦watchPostion错误,它就完全停止了.这是我到目前为止所做的,它非常简单,因为它是:
componentDidMount() {
navigator.geolocation.getCurrentPosition(
(position) => {
console.log("getCurrentPosition Success");
this.setState({
region: {
...this.state.region,
latitude: position.coords.latitude,
longitude: position.coords.longitude,
}
});
this.props.resetNotifications();
this.watchPosition();
},
(error) => {
this.props.displayError("Error dectecting your location");
alert(JSON.stringify(error))
},
{enableHighAccuracy: true, timeout: 20000, maximumAge: 1000}
);
}
watchPosition() {
this.watchID = navigator.geolocation.watchPosition(
(position) => {
console.log("watchPosition Success");
if(this.props.followUser){
this.map.animateToRegion(this.newRegion(position.coords.latitude, position.coords.longitude));
}
},
(error) => {
this.props.displayError("Error dectecting your location");
}, …Run Code Online (Sandbox Code Playgroud) 我正在为我的角度网站建立一个"导游".
我环顾四周寻找选择,Intro.js看起来最合适.它已经准备好了一个Angular指令和所有东西:Angular Intro.js.
一切都按预期工作,直到我必须添加一个步骤到第一个(并且只有第一个)由ng-repeat绑定注入的DOM对象.我给所有ng-repeat项目一个唯一的ID(通过$ index),但Intro.js没有承认它.
我猜Intro试图通过指定的ID找到DIV,但由于ng-repeat尚未完成,因此该名称没有DIV.
我做了一个plunker,你可以看到它正在处理静态内容但却无法知道ng-repeat中的对象.
相关代码:
HTML:
<!-- Works -->
<div id="static">This is static content.</div>
<!-- Doesnt work -->
<div id="item{{$index}}" ng-repeat="item in items">
{{ item.name }}
</div>
Run Code Online (Sandbox Code Playgroud)
角度控制器:
$scope.IntroOptions = {
steps:[
{
element: document.querySelector('#static'),
intro: "This is static content"
},
{
/** ID "item0" belongs to the first element on the ng-repeat **/
element: document.querySelector('#item0'),
intro: "Doesnt work!"
}
],
showStepNumbers: false,
exitOnOverlayClick: true,
exitOnEsc:true,
nextLabel: '<strong>NEXT!</strong>',
prevLabel: '<span style="color:green">Previous</span>', …Run Code Online (Sandbox Code Playgroud) 我在一个Magento安装上运行了3个在线商店.
它们共享超过10.000+ SKU(我将它们设置为简单产品),但前端可见的唯一产品是每个商店的分组产品(SKU与它们相关联).
因此,我的URL重写表非常繁重,在检查Varien Profiler时,我遇到了"mage :: dispatch :: routers_match",这需要5秒多的时间才能完成.我估计这是因为它是一张如此大的桌子.这让我想到了我的问题:
如何指定我不想重写哪个URL Magento.无论如何,我可以告诉它不要重写简单的产品网址吗?仅这一点就会使表格下降到1/3.
PS:Magento CE 1.7.0.2
编辑:
谢谢Tobias指出我正确的方向.我去app/code/core/Mage/Catalog/Model/Url.php并编辑了这个函数refreshProductRewrites:
foreach ($products as $product) {
if($product->getTypeId() == "simple"){
continue;
}
else {
$this->_refreshProductRewrite($product, $this->_categories[$storeRootCategoryId]);
foreach ($product->getCategoryIds() as $categoryId) {
if ($categoryId != $storeRootCategoryId && isset($this->_categories[$categoryId])) {
if (strpos($this->_categories[$categoryId]['path'], $storeRootCategoryPath . '/') !== 0) {
continue;
}
$this->_refreshProductRewrite($product, $this->_categories[$categoryId]);
}
}
}
}
Run Code Online (Sandbox Code Playgroud) 我正在为我正在开发的电子商务网站制作一个sku表单的添加产品.我做了基本上有2个字段的表格,"cod"和"qt".
我把它传递给了这个脚本(已编辑):
<?php
$sku = $_POST['cod'];
$qty = $_POST['qt'];
$product = new Mage_Catalog_Model_Product();
$cart = Mage::getSingleton('checkout/cart');
$osids = array();
foreach ($sku as $lol){
$lolz = Mage::getModel('catalog/product')->loadByAttribute('sku',$lol)->getId();
array_push($osids, $lolz);
}
var_dump($osids);
$params = array(
'qty' => 2,
);
$cart->addProductsByIds($osids, $params);
$cart->save();
Mage::getSingleton('checkout/session')->setCartWasUpdated(true);
?>
Run Code Online (Sandbox Code Playgroud)
var_dump正确显示数组,即.在这种情况下,多个skus,但foreach循环只将数组中的第一个sku添加到购物车.
知道为什么吗?
我不想在阵列中添加所有的sku.
在我提出任何问题之前,让我告诉您我对 Progress Openedge 没有任何经验,但是我的公司运行在其中制作的应用程序,现在我必须通过它进行一些 SOAP 调用。所以我想,为什么不调用用我认为合适的任何语言制作的外部脚本?
但是当我用谷歌搜索它时,我什至找不到如何通过 OpenEdge 运行外部脚本。任何地方都没有示例,文档很长且令人困惑(至少对我而言)。这让我想到了这个简单的问题:
如何在 Progress OpenEdge 中调用外部脚本?
javascript ×3
magento ×3
php ×3
magento-1.7 ×2
android ×1
angularjs ×1
apache ×1
flash ×1
geolocation ×1
google-maps ×1
html5 ×1
intro.js ×1
jquery ×1
meteor ×1
mysql ×1
node.js ×1
openedge ×1
progress-4gl ×1
react-native ×1
reactjs ×1
sails.js ×1