这是我的第一个Bash脚本.我的Debian机器有WiFi问题.我不是在这里询问原因,而是如何在Bash的问题上设置一个创可贴.我的WiFi将随机退出,通常每12-15分钟一次.我用这个SSH服务器上,不希望有运行ifdown wlan0,并ifup wlan0从物理服务器手动(它重新连接无线网络).
此Bash脚本的功能是尝试连接三次.如果它失败三次,它就会放弃.否则,每三秒钟它会通过尝试ping Google来检查我的服务器是否已连接.
#!/bin/bash
ATTEMPTS=1
function test_connection {
ping -c 1 www.google.com
local EXIT_CODE=$?
if [ $EXIT_CODE -eq 0 ]
then
return true
else
return false
fi
}
function reset_connection {
ifdown wlan0
ifup wlan0
EXIT_CODE=$((EXIT_CODE+1))
}
function connection_test_loop {
if [ $ATTEMPTS -ge 3 ]
then
echo CONNECTION FAILED TO INITIALIZE ... ATTEMPT $ATTEMPTS FAILED ... EXITING
exit
fi
if ! [ test_connection ]
then
echo CONNECTION DROPPED ... ATTEMPTING TO RE-ESTABLISH CONNECTION …Run Code Online (Sandbox Code Playgroud) 我问过这几个开发人员,每次都得到不同的答案。
假设我在一个 MVC 框架中工作,我有一个名为validator. 假设这个对象有一堆方法可以用来告诉你电子邮件或电话号码是否有效,或者给定的值是否真的包含内容。
假设我想让这个服务成为我正在创建的模型的属性。我可以简单地将它注入到我的模型类的构造方法中。但是,这个服务在 MVC 中适合什么地方?它是一个模型吗?
文件应该存放在哪里?与模型?在它自己的目录中,也许称为services?
我的日子有点不好过。我创建了一些图标放在一些链接旁边。这些链接在悬停时会应用“下划线”文本装饰效果。我添加了图标,它非常适合,只是当锚标记悬停在图标上时,图标没有下划线。我究竟做错了什么?
超文本标记语言
<a class="link" href="#">
<img src="images/home.png" alt="" id="home" class="icon"/>
home
</a>
<a class="link" href="about/">
<img src="images/about.png" alt="" id="about" class="icon"/>
About
</a>
<a class="link" href="contact/">
<img src="images/contact.png" alt="" id="contact" class="icon"/>
Contact
</a>
<a class="link" href="work/">
<img src="images/work.png" alt="" id="work" class="icon"/>
Work
</a>
Run Code Online (Sandbox Code Playgroud)
CSS
#home {
width: 15px;
height: 15px;
}
#about {
width: 15px;
height: 15px;
}
#contact {
width: 19px;
height: 15px;
}
#work {
width: 16px;
height: 15px;
}
.link {
margin: 0;
padding: 0;
display: inline-block;
line-height: …Run Code Online (Sandbox Code Playgroud) 我有一个用户服务。我想创建一个方法来利用我构建的另一个服务。此服务有两种方法。getUser()和getCurrentUser()。getCurrentUser()利用获取 UID 的注入服务。它使用返回的 UID 来运行该getUser()方法。我的问题是我无法getCurrentUser()返回第二层承诺。
这个问题有点难以解释。这是代码...
svs.service("usersService", function($rootScope, $http, loginService, alertBoxService) {
var self = this;
self.getUser = function(identifier, column) {
if (typeof(column) === 'undefined') column = "uid";
return $http.get($rootScope.api + "/getUser/" + identifier + "/" + column);
}
self.getCurrentUser = function() {
var currentUserPromise;
loginService.getCurrentUid().then(
function(response) {
if (response.data === "false") {
alertBoxService.trigger($rootScope.unexpectedApiResponse);
} else {
console.log(self.getUser(response.data));
currentUserPromise = self.getUser(response.data);
}
}, function(response) {
alertBoxService.trigger($rootScope.asyncFailed);
}
);
return currentUserPromise; …Run Code Online (Sandbox Code Playgroud) 好吧,真正令人沮丧和奇怪的事情正在发生.我在我的服务器上安装了JQuery,我知道它是正确导入的,因为当我运行一个简单的...
$(function() { alert('hello') });
它警告"你好".但是,当我尝试使用css选择器时......
$(".image").css("border","3px solid red");
这是行不通的!是的,我100%确定文件中有类名称.这是真正的踢球者,当我将我的代码复制到一个jsFiddle时,它工作得很好.是什么赋予了?!
我在这里查看了Angular网站上的文档,但我仍然有点困惑.
我有一个角度指令,其模板包含由其创建的元素ng-repeat.这些元素中的每一个都有一个共同的类.我正在尝试按类选择这些元素,以便在属于该类的元素上触发事件时可以传递处理程序.
至于我可以回答说在这里我有选择具有这些元素的选择jqLite或angular.element().我的jQuery包含在包含Angular之后.我认为这应该以这种方式完成,因为我希望选择特定类的元素,而Angular通过我的指令生成它们.
我实际上并没有尝试.click()在课堂上使用这个事件,它只是一个概念证明.我在与指令的contains元素关联的控制器中有以下代码:
$(".gallery-image").click(function(){
alert("test");
});
Run Code Online (Sandbox Code Playgroud)
我试图做的应该是相当明显的,我只是不确定如何处理这个Angular和jQuery的混合.
如何在这些元素上选择并运行带有jQuery的事件处理程序?
我有这个代码......
$results_query = "SELECT * FROM profile WHERE string LIKE '%" . $search_deliminator . "%'";
$results_result = $database->query($results_query);
$result = mysql_fetch_array($results_result);
Run Code Online (Sandbox Code Playgroud)
我要做的是拉出字符串列包含搜索deliminator的所有行.此外,我想从行的每一列获取值.
我如何拉出包含每一行所需的多维数组,以及每一行中每列的每个值?
编辑:
我正在寻求做这件事......
while ($row = mysql_fetch_assoc($results_result)) {
$result[] = $row;
}
Run Code Online (Sandbox Code Playgroud)
然后像这样回应每一列......
foreach ($result as $row) {
echo $row["0"];
}
Run Code Online (Sandbox Code Playgroud) 所以,我知道我需要一个正则表达式,并使用preg_match().
的文档preg_match()说,如果偏移量比字符串长度长,该函数将返回 false 或 false-ish。我将文档解释为如果没有匹配项它将返回 false。
我对正则表达式很糟糕,但是在这个网站上阅读了它们之后,我尝试编写一个函数来完成我需要的功能。它不起作用。
我有以下片段:
if (preg_match('/^[a-zA-Z0-9_]+/', $requested_table_name) === false) {
echo "Invalid String";
} else {
echo "You're golden, Ponyboy";
}
Run Code Online (Sandbox Code Playgroud)
如果我理解正确,反斜杠开始和结束正则表达式,则克拉告诉表达式从字符串的开头开始。字符类表示匹配小写字母、大写字母、数字或下划线的字符,然后符号+表示将该字符集与整个字符串匹配,而不仅仅是字符串的第一个字符。
我一定是弄错了,因为我的程序的输出表明无论输入如何,该字符串都是有效的。
我的代码的问题是函数的使用preg_match(),还是正则表达式的语法?无论哪种情况,问题具体是什么,我该如何解决?
我已经接管了在Express节点上运行的站点的开发。我应该注意,这是我第一次使用Node或Express。由于某种原因,原始开发人员一定不会喜欢模板引擎,因为他已将其完全删除。我们基本上在前端使用Angular和Firebase来完成所有工作,因此我理解为什么我们不经常将数据注入服务器端的页面。不过,仍然会很高兴。
原来从未安装过模板引擎。相反,他指示Node将views文件夹视为静态目录。然后,他将文件呈现为纯静态文件。例如:
摘自App.js文件:
app.use(express.static(path.join(__dirname, 'views')));
Run Code Online (Sandbox Code Playgroud)
路由文件摘录:
router.get("/", function(request, response) {
response.render("index.html");
});
Run Code Online (Sandbox Code Playgroud)
我现在真的不想添加模板引擎并弄乱路由。尽管我非常怀疑我是否需要经常从服务器端插入数据,但我还是想知道我该怎么做。
我唯一能想到的就是这样的东西...
router.get("/", function(request, response) {
var data = request.query.someVariable;
var fileContents = fs.readFileSync('../views/index.html', 'utf8')
fileContents = fileContents.replace("$SomeDelim", data);
response.send(fileContents);
});
Run Code Online (Sandbox Code Playgroud)
真的不是那么漂亮。有没有使用模板引擎的更好方法?
我读过这个关于类似问题的问题,但它并没有完全解决我的问题。
我有一个应用程序,需要使用 API 中的数据。问题是这样做存在性能和技术限制。性能限制是显而易见的。技术限制在于 API 不支持我需要进行的一些更精细的查询。
我决定使用 MySQL 作为可查询缓存。
由于我需要从 API 检索的数据不会经常更改,因此我决定每天刷新一次缓存,因此我不需要任何复杂的映射器来检查缓存中是否有数据,如果没有则回退到 API。这是我的第一个设计,但我意识到,当 API 无法支持我需要进行的大多数查询时,这并不是很实用。
现在我为每个聚合都有一组两个映射器。一种用于 MySQL,一种用于 API。
我现在的问题是如何从域中隐藏持久性的复杂性,以及我似乎需要多个存储库的事实。
理想情况下,我会有一个两个映射器都遵守的界面,但正如之前所披露的那样,这是不可能的。
是否可以拥有多个存储库,每个映射器一个?
persistence domain-driven-design datamapper repository ddd-repositories
php ×3
angularjs ×2
jquery ×2
bash ×1
class ×1
command ×1
css ×1
datamapper ×1
events ×1
express ×1
function ×1
html ×1
icons ×1
image ×1
javascript ×1
jsfiddle ×1
linux ×1
mysql ×1
nested ×1
node.js ×1
object ×1
oop ×1
persistence ×1
preg-match ×1
promise ×1
regex ×1
repository ×1
resolve ×1
row ×1
selector ×1
service ×1
static ×1
string ×1
traversal ×1
underline ×1
validation ×1
watch ×1