(unix)shell脚本中如何漂亮地打印JSON?

有一个(unix)shell脚本来以可读的forms格式化JSON吗? 基本上,我想要它改变以下内容: { "foo": "lorem", "bar": "ipsum" } …变成这样的东西: { "foo": "lorem", "bar": "ipsum" }

如何重命名本地Git分支?

我不想重命名远程分支,如重命名主分支中所描述的本地和远程Git存储库 。 我如何重命名没有被推送到远程分支的本地分支?

你如何创build一个远程Git分支?

我创build了一个本地分支,我想“推”上游。 关于如何跟踪新创build的远程分支,Stack Overflow存在类似的问题。 但是,我的工作stream程略有不同。 首先,我想创build一个本地分支,当我满意并且想分享我的分支时,我只会将其推向上游。 我该怎么做? (我的谷歌search似乎没有拿出任何东西)。 我怎么会告诉我的同事把它从上游的仓库里拿出来呢? 更新与Git 2.0有一个更简单的答案,我已经写在下面: https : //stackoverflow.com/a/27185855/109305

带有“列表”条目的SQL表与每个条目有一行的SQL表

我有一个Sqlite表,其中每一行的forms是: value, "a,b,c,d,e,f,g,h,i,j", value3, value4 在我的查询查找值的配对, %b%使用LIKE 。 在查询时间方面更有效率,而不是有一个表,其中每一行是一个排列: value, a, value3, value4 … value, j, value3, value4 所以我的查询现在值,b这次使用=运算符。 作为一个说明,我感兴趣的用例有大约10,000行,每个“list”元素平均有8个条目。 我标记Sqlite和MySQL因为我有一个与MySQL和Sqlite的数据库类似的问题。

警告:mysqli_query()期望至less有2个参数,给出1。 什么?

我做了一个PHP页面,应该从数据库中select两个名称并显示它们。 它只是说: Warning: mysqli_query() expects at least 2 parameters, 1 given in /home/tdoylex1/public_html/dorkhub/index.php on line 4 Warning: mysqli_query() expects at least 2 parameters, 1 given in /home/tdoylex1/public_html/dorkhub/index.php on line 8 我的代码是: <?php mysqli_connect(localhost,tdoylex1_dork,dorkk,tdoylex1_dork); $name1 = mysqli_query("SELECT name1 FROM users ORDER BY RAND() LIMIT 1"); $name2 = mysqli_query("SELECT name FROM users ORDER BY RAND() LIMIT 1"); […]

如何解决错误:在根元素之后的文档中的标记必须是格式良好的

我把我的代码放在XMLvalidation网站,它给了我这个错误: 第8行:4根元素之后的文档中的标记必须是格式正确的。 有问题的行是<xsl:output method = "html" doctype-system = "about:legacy-compat"/> ,行。 XML <?xml version="1.0"?> <!– Fig. 15.21: sorting.xsl –> <xsl:stylesheet version = "1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"/> <!– write XML declaration and DOCTYPE DTD information –> *<xsl:output method = "html" doctype-system = "about:legacy-compat" />* <!– match document root –> <xsl:template match="/"> -<html> <xsl:apply-templates/> </html> </xsl:template>

如何获得精确的屏幕中间,即使重新resize

好的,这类问题有两个部分。 当我制作一个JFrame并在上面画一些东西的时候,即使我把宽度设置为400,并且使得当一个物品碰到它(当然,允许物品的宽度),它会弹回来。 但由于某种原因,屏幕总是会出现10像素左右的偏差。 有没有办法解决这个问题,还是我只需要通过加/减号来弥补? 我怎样才能得到精确的屏幕中心。 所以,如果我制作一个默认为200 * 200像素的JFrame ,那么中心就是100 * 100。 (考虑到问题1的问题)但是如果有人调整屏幕大小(是的,我希望他们能够重新resize),那么这个问题仍然是重中之重。 所以如果他们把它做成全屏,屏幕尺寸是1200 * 900,那么中心就是600 * 450。 我希望这是清楚的

移动对象和计时器

我有一个屏幕,说500宽度和400高度,我有一个形状束vector。 比方说,vector有两种不同的形状。 我希望物体从屏幕底部随机popup,达到一定的上升,然后再下降(类似于游戏水果忍者,水果是我的形状)。 在我的主要(视图)我有一个形状的向量我实例化计时器,添加到数组,并使用翻译function将它们放置在屏幕的button。 我的计时器需要一个动作监听器,它基本上改变了形状的平移,直到上升然后下降,但是我的问题是所有的形状都是同时开始的。 像这样的东西: Shape f = new Shape(new Area(new Ellipse2D.Double(0, 50, 50, 50))); f.translate(0, 400); f.timer = new Timer( 10 , taskPerformer); f.timer.start(); vector.add(f); Shape f2 = new Shape(new Area(new Rectangle2D.Double(0, 50, 50, 50))); f2.translate(200, 400); f2.timer = new Timer( 10 , taskPerformer); f2.timer.setInitialDelay(5000); f2.timer.start(); vector.add(f2); 和我的行动听众: Random generator = new Random(); […]

发送一系列命令并等待响应

我必须更新连接到串行端口的设备上的固件和设置。 由于这是通过一系列命令完成的,我发送一个命令并等待,直到我收到一个答案。 在answere里面(很多行),我search一个string来表示操作是否成功完成。 Serial->write(“boot”, 1000); Serial->waitForKeyword(“boot successful”); Serial->sendFile(“image.dat”); … 所以我为这个阻塞读/写方法创build了一个新的线程。 在线程内部,我使用了waitForX()函数。 如果我调用watiForKeyword(),它将调用readLines(),直到它检测到关键字或超时 bool waitForKeyword(const QString &keyword) { QString str; // read all lines while(serial->readLines(10000)) { // check each line while((str = serial->getLine()) != "") { // found! if(str.contains(keyword)) return true; } } // timeout return false; } readLines()读取所有可用的内容并将其分隔成行,每行放在一个QStringList中,并得到一个string,我调用getLine(),它返回列表中的第一个string并删除它。 bool SerialPort::readLines(int waitTimeout) { if(!waitForReadyRead(waitTimeout)) { qDebug() […]

当你通过“this”作为参数时

我试图了解this ,这让我感到困惑: var randomFunction = function(callback) { var data = 10; callback(data); }; var obj = { initialData: 20, sumData: function(data) { var sum = this.initialData + data; console.log(sum); }, prepareRandomFunction: function() { randomFunction(this.sumData.bind(this)); } }; obj.prepareRandomFunction(); 这是否被devise为自己在代码中第一次呈现? 例如,在我的例子中,我成功地使用它来引用obj ,并将函数绑定到obj ,但由于this是作为callback函数传递,什么是阻止它被设置为randomFunction (即什么阻止它从从字面上传递“this.sumData.bind(this)”,以便在从那里调用的时候将其设置为randomFunction )? 我是一个试图学习的菜鸟。 谢谢。 更新我不完全问这是如何工作的(我不这么认为)。 我主要是想知道为什么this被设置在我定义它作为我的randomFunction调用的参数,而不是在randomFunction调用callback 。 我可能是错的,但如果我将this.sumData.bind(this)与我现在的callback(data)交换,我想我会得到一个不同的结果。 这是因为callback是一个引用this.sumData.bind(this)时,它是第一次定义(和this是obj )? 我想我已经通过这个场景了解到this是在执行时设置的。 它不会作为parameter passing,以后在参数被调用的时候被设置。