我有表SQLite数据库myTable
和列id
,posX
,posY
.行数不断变化(可能会增加或减少).如果我知道的值id
的每一行,并且行数,我可以执行一个SQL查询来更新所有的posX
,并posY
根据ID不同值的字段?
例如:
---------------------
myTable:
id posX posY
1 35 565
3 89 224
6 11 456
14 87 475
---------------------
Run Code Online (Sandbox Code Playgroud)
SQL查询伪代码:
UPDATE myTable SET posX[id] = @arrayX[id], posY[id] = @arrayY[id] "
Run Code Online (Sandbox Code Playgroud)
@arrayX
并且@arrayY
是存储posX
和posY
字段的新值的数组.
如果,例如,arrayX
和arrayY
包含以下值:
arrayX = { 20, 30, 40, 50 }
arrayY = { 100, 200, 300, 400 }
Run Code Online (Sandbox Code Playgroud)
...然后查询后的数据库应如下所示:
---------------------
myTable:
id posX posY …
Run Code Online (Sandbox Code Playgroud) 今天一位同事跟我打赌他知道一种提供特殊格式字符串的方法,该字符串可以通过以下正则表达式检查并仍然提供带扩展名的文件名.php
或.jsp
或.asp
:
if (preg_match('/\.(jpeg|jpg|gif|png|bmp|jpe)$/i', $var) && preg_match('/\.(asp|jsp|php)$/i', $var) == false)
{
echo "No way you have extension .php or .jsp or .asp after this check.";
}
Run Code Online (Sandbox Code Playgroud)
尽管我努力尝试并在网上搜索,但我无法找到能够使这种事情成为可能的缺陷.我能忽略一些东西吗?鉴于处理了"空字节"漏洞,这里还有什么问题?
注意:我绝不暗示此代码是检查文件扩展名的完全证明方法,preg_match()
函数中可能存在缺陷或文件内容可能格式不同,我只是用正则表达式语法提出问题本身.
编辑 - 实际代码:
if (isset($_FILES["image"]) && $_FILES["image"]["name"] && preg_match('/\.(jpeg|jpg|gif|png|bmp|jpe)$/i', $_FILES["image"]["name"]) && preg_match('/\.(asp|jsp|php)$/i', $_FILES["image"]["name"]) == false) {
$time = time();
$imgname = $time . "_" . $_FILES["image"]["name"];
$dest = "../uploads/images/";
if (file_exists($dest) == false) {
mkdir($dest);
}
copy($_FILES['image']['tmp_name'], $dest . $imgname);
}else{
echo "Invalid image file"; …
Run Code Online (Sandbox Code Playgroud) 在Stackoverflow上有关于Carousel淡入淡出过渡的几个问题,但它们似乎都没有在默认的4.0.0实现上工作:
<div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators">
<li data-target="#carouselExampleIndicators" data-slide-to="0" class="active"></li>
<li data-target="#carouselExampleIndicators" data-slide-to="1"></li>
<li data-target="#carouselExampleIndicators" data-slide-to="2"></li>
</ol>
<div class="carousel-inner">
<div class="carousel-item active">
<img class="d-block w-100" src="..." alt="First slide">
</div>
<div class="carousel-item">
<img class="d-block w-100" src="..." alt="Second slide">
</div>
<div class="carousel-item">
<img class="d-block w-100" src="..." alt="Third slide">
</div>
</div>
<a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
Run Code Online (Sandbox Code Playgroud)
carousel-item
自从Alpha.6版本以来,引导程序是否改变了-s 的过渡方式?如何实现淡入淡出过渡而不是4.0.0中的幻灯片?
因此,据我所知,没有办法拥有C++ GUI设计器并将您的应用程序作为一个独立的可执行文件发布.所有第三方框架都以.dll-s等形式添加它们的依赖项,无论是MFC,Qt,WTL,wxWidgets,GTK.这让我只有一个解决方案 - 使用Win32 API为我当前的应用程序设计GUI.我的假设是正确的还是我错过了什么?我一直想知道uTorrent和其他一些人是如何设法做到的.谢谢.
就Android SDK而言,这可能没什么意义,但是,在C++中,我习惯将main.cpp(特别是main()函数)保存为我声明和初始化其他类/对象的地方,之后所有的我的应用程序在这些类中发生的事情.之后我再也没有回来检查main.cpp中的任何东西.但是在Java,Android SDK中,您必须覆盖主要活动中的许多方法,并且所有方法都在一个文件中进行.例:
我的项目中有一个MainActivity.java和SomeTest.java文件,其中第一个是默认的MainActivity类,它扩展了Activity,SomeTest.java包含声明和运行新Thread的类.我从MainActivity.java初始化SomeTest类,并将活动的句柄作为参数传递给它:
SomeTest test = new SomeTest(MainActivity.this);
Run Code Online (Sandbox Code Playgroud)
有了MainActivity的句柄,我继续从这个新创建的线程做一切.当我需要更新UI时,我使用runOnUiThread()在我的主布局上创建并显示一个新的ListView(例如).我想得到新创建的Listview的宽度和高度,因为我必须在MainActivity.java中覆盖onWindowFocusChanged()并从那里通知线程,因为getWidth()和getHeight()只有ListView时才有值实际显示在屏幕上.对我来说,从MainActivity到该线程进行这样的连接('回调',如果你愿意的话)并不是一个好习惯.
有没有一种方法,我可以保持像onWindowFocusChanged()方法中的线程,不碰MainActivity.java呢?
正如我所说,可能没有多大意义.
我正在使用com.adobe.images.PNGEncoder将bitmapData编码为byteArray.有没有办法将byteArray转换回bitmapData不使用Loader?谢谢.
编辑:我不想使用Loader的原因是它是Asynchronous,我不想实现eventlisteners.
ArrayList<String>
对包含数字的(以递减/递增方式)排序的最快方法是什么,例如:{ "12", "3.5", "188", "33.03" }
?请问Collections
对此有一个内置的方法?目前我正在将ArrayList
内容复制到ArrayList<Double>
然后使用Collections.Sort()
方法然后将其放回到初始数组中.有更快的方法吗?
我正在编写一个HTTP客户端,它还没有内置任何编码算法.因此,我想知道是否有一个Accept-Encoding标头的值来表明这一点?喜欢:"无"例如,或"text/plain"或类似?
我知道当使用HttpURLConnection时,Java会尝试为服务器的多个请求重用相同的TCP连接,除非服务器端存在限制.实际上,当我看到wireshark日志时,其中一个requestHeaders
HTTP标头是Connection:keep-alive.但是当服务器返回数据时,我看到一个TCP [FIN,ACK]
数据包从我这边发送回服务器.
这如何重用 tcp连接?
是否可以使用 重定向对特定文件的请求example.com/test
,example.com/test.php
而使.htaccess
所有其他文件/扩展名保持不变?