jq

Getting the object array index in jq

若如初见. 提交于 2021-01-17 07:13:36
问题 I have a json object that looks like this (prodused by i3-msg -t get_workspaces . [ { "name": "1", "urgent": false }, { "name": "2", "urgent": false }, { "name": "something", "urgent": false } ] I am trying to use jq to figure out which index number in the list is based on a select query. jq have something called index() , but it seams to support only strings? Using something like i3-msg -t get_workspaces | jq '.[] | select(.name=="something")' gives me the object I want. But I want it's

Getting the object array index in jq

柔情痞子 提交于 2021-01-17 06:58:05
问题 I have a json object that looks like this (prodused by i3-msg -t get_workspaces . [ { "name": "1", "urgent": false }, { "name": "2", "urgent": false }, { "name": "something", "urgent": false } ] I am trying to use jq to figure out which index number in the list is based on a select query. jq have something called index() , but it seams to support only strings? Using something like i3-msg -t get_workspaces | jq '.[] | select(.name=="something")' gives me the object I want. But I want it's

js|jq获取兄弟节点,父节点,子节点

梦想与她 提交于 2021-01-14 06:55:34
08.19自我总结 js|jq获取兄弟节点,父节点,子节点 一.js var parent = test.parentNode; // 父节点 var chils = test.childNodes; // 全部子节点 var first = test.firstChild; // 第一个子节点 var last = test.lastChile; // 最后一个子节点  var previous = test.previousSibling; // 上一个兄弟节点 var next = test.nextSibling; // 下一个兄弟节点 var parent = test.parentElement; // 父节点元素 var first = test.firstElementChild; // 第一个子节点元素 var last = test.lastElementChile; // 最后一个子节点 元素 var previous = test.previousElementSibling; // 上一个兄弟节点元素 var next = test.nextElementSibling; // 下一个兄弟节点元素 注意操作父来控制子必须给子元素赋予一个变量 二.jq $("#test1").parent(); // 父节点 $("#test1").parents(); /

刷了无数大厂Android研发岗面试题,其实考的无非是这 3 点能力

跟風遠走 提交于 2021-01-12 20:01:02
前言 发现一个有趣的现象,似乎程序员们对面试题总是抱有热情,多看几道面试题,自己的面试能力就可以提高一点。 作为一个研发工程师,看过很多公司的面试题,也参与过很多公司的面试,发现大厂的面试题更加具有代表性,虽然现在很多大厂的面试官也懒得自己出题了,不过经验老到的他们还是更清楚如何高效率地考察面试者。 而小公司的面试题往往五花八门,有的更加贴近公司自身业务,希望面试者结合业务给出解决方案,有的干脆直接从书本上找题目,考察一些死记硬背的概念,当然,有的初创公司逼格很高,则会搞一些高难度的面试题,角度刁钻,常常让面试者猝不及防。 既然大公司的面试题具有共性,那么我们也不妨来尝试探讨一下,大厂面试题到底考察面试者哪些方面的能力。 一、基础知识 基础知识无疑是大厂面试官最喜欢考察的东西了。如果面试者的基础都不扎实,那么建立于基础知识之上的实战能力、业务能力都是空中楼阁。 说到基础知识,首当其冲的就是岗位要求的能力了,对于Android工程师来说,你需要熟悉的知识点有:Java基础、Android相关的知识点。 其中Android相关知识点又包含:Activity、BroadcastReceiver、ContentProvider、Service、Handler、AsyncTask、Fragment、ListView等等.......在这里就不一一阐述了。 作为一个程序员

Java 浅析 Thread.join()

£可爱£侵袭症+ 提交于 2021-01-12 17:59:18
1. join() 的示例和作用 1.1 示例 1 // 父线程 2 public class Parent { 3 public static void main(String[] args) { 4 // 创建child对象,此时child表示的线程处于NEW状态 5 Child child = new Child(); 6 // child表示的线程转换为RUNNABLE状态 7 child.start(); 8 // 等待child线程运行完再继续运行 9 child.join(); 10 } 11 } 1 // 子线程 2 public class Child extends Thread { 3 public void run() { 4 // ... 5 } 6 } 上面代码展示了两个类:Parent(父线程类),Child(子线程类)。 Parent.main()方法是程序的入口,通过 Child child = new Child(); 新建child子线程(此时 child子线程处于NEW状态); 然后调用child.start()(child子线程状态转换为RUNNABLE); 再调用child.join(),此时,Parent父线程会等待child子线程运行完再继续运行。 下图是我总结的 Java 线程状态转换图: 1.2 join() 的作用

谈谈Java中的volatile

不打扰是莪最后的温柔 提交于 2021-01-12 16:51:28
内存可见性   volatile是Java提供的一种轻量级的同步机制,在并发编程中,它也扮演着比较重要的角色。同synchronized相比(synchronized通常称为重量级锁),volatile更轻量级,相比使用synchronized所带来的庞大开销,倘若能恰当的合理的使用volatile,自然是美事一桩。   为了能比较清晰彻底的理解volatile,我们一步一步来分析。首先来看看如下代码 public class TestVolatile { boolean status = false; /** * 状态切换为true */ public void changeStatus(){ status = true; } /** * 若状态为true,则running。 */ public void run(){ if(status){ System.out.println("running...."); } } }   上面这个例子,在多线程环境里,假设线程A执行changeStatus()方法后,线程B运行run()方法,可以保证输出"running....."吗?    答案是NO!   这个结论会让人有些疑惑,可以理解。因为倘若在单线程模型里,先运行changeStatus方法,再执行run方法,自然是可以正确输出"running...."的;但是在多线程模型中

JQ, convert CSV (parent child format) to JSON, another questions

泪湿孤枕 提交于 2021-01-07 02:56:56
问题 This is a continue of another post: JQ, convert CSV (parent child format) to JSON Hi, sorry to ask again. I tried to get the following format, without success. Really appreciate for some advice. I attach a picture to show how it looks like in a hierarchy view a picture to show in a hierarchy way, maybe it is easier. Hope it is possible ? *** CSV file ***** id,parent_id,size Subject,Null,1 analytics,Subject,1 cluster,analytics,1 AgglomerativeCluster,cluster,1 MergeEdge,cluster,2 animate

JQ, convert CSV (parent child format) to JSON, another questions

99封情书 提交于 2021-01-07 02:55:41
问题 This is a continue of another post: JQ, convert CSV (parent child format) to JSON Hi, sorry to ask again. I tried to get the following format, without success. Really appreciate for some advice. I attach a picture to show how it looks like in a hierarchy view a picture to show in a hierarchy way, maybe it is easier. Hope it is possible ? *** CSV file ***** id,parent_id,size Subject,Null,1 analytics,Subject,1 cluster,analytics,1 AgglomerativeCluster,cluster,1 MergeEdge,cluster,2 animate

Android工程师所必经的三个阶段,你到哪个阶段了?

孤者浪人 提交于 2021-01-06 16:47:55
前言 最近一直在思考,作为一名软件开发工程师,到底应该如何实现自我成长,是否有捷径而言?其实断断续续有过很多思考,也有和各种年龄段的同学们做过不少交流,结合自身的经历,有一些感悟和思考。本文可能可以适用到其他端,不过由于自己是一名 Android 开发工程师,所以就姑且从一名普通的 Android 开发工程师的角度来进行表述吧。 整篇文章可能读下来会比较啰嗦和白话,但句句真言,字字真心,欢迎大家一起交流。整文也只代表个人观点,同学们都可以发表自己的观点即可。 我认为每一名软件开发工程师都需要必经三个阶段: 不知道自己不知道啥 知道自己不知道啥 不知道自己知道啥 看起来很绕,但实际真实如此。 不知道自己不知道啥 对于大多数刚刚接触到 Android 开发的学生来说,软件开发是一片浩瀚的海洋,这是一片全新的领域,有着自己的生态圈。所以初入开发行业的学生们,完全不知道自己还有哪些是需要学习的,所以这些同学通常会陷入一个非常迷茫的阶段,尤其是在校学生。 自己当初也是如此,天真的以为计算机专业就是开发游戏,倒腾电脑的专业,所以自己就成了计算机学院的一员。上大学后,才发现和自己想象的完全不一样,依然要学习好多的数学专业课和语言专业课,只是这个语言不再局限于英语了,而是一些从未听过的 C/C++、C#、Java、Python。 在学校的时候完全不知道自己应该学习什么

深入理解Java引用类型

坚强是说给别人听的谎言 提交于 2021-01-04 14:45:51
在Java中类型可分为两大类:值类型与引用类型 值类型就是基本数据类型(如int ,double 等),而引用类型,是指除了基本的变量类型之外的所有类型(如通过 class 定义的类型)。所有的类型在内存中都会分配一定的存储空间(形参在使用的时候也会分配存储空间,方法调用完成之后,这块存储空间自动消失), 基本的变量类型只有一块存储空间(分配在stack中), 而引用类型有两块存储空间(一块在stack中,一块在heap中),在函数调用时Java是传值还是传引用,这个估计很多人至今都很糊涂,下面用图形与代码来解释:   在上图中引用类型在传参时不是在heap中再分配一块内存来存变量c 所指向的A(),而是让a 指向同一个A 的实例,这就与C++ 中的指针一样,先声明指针变量a,b,c,d 在传参的时候让a 指向c所指向的内存,让 d 指向 b 所指向的内存。很明显Java中的引用与C++中的指针在原理上是相类似的,但记住Java没有指针,只有引用。下面再通过一些具体的代码来讨论引用: 1. 简单类型是按值传递的 Java 方法的参数是简单类型的时候,是按值传递的 (pass by value)。这一点我们可以通过一个简单的例子来说明: package test; public class Test { //交换两个变量的值 public static void Swap(int a