首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏我的博文

    go泛型体验 map有序化(可比较key,返回有序key值)

    []T for k := range m { kList = append(kList, k) } for i := 0; i < len(kList); i++ { for j := 0; j < len(kList); j++ { if kList[i] < kList[j] { kList[i], kList[j] = kList[j], kList[i] } } } var list []struct { key T value any } for _, v := range kList { list = append(list []T) { for k := range m { kList = append(kList, k) } for i := 0; i < len(kList); i++ { for j := 0; j < len(kList); j++ { if kList[i] < kList[j] { kList[i], kList[j] = kList[j], kList[i]

    1K31编辑于 2024-05-20
  • 来自专栏全栈程序员必看

    linux 起步走 platform_driver_register

    } INIT_LIST_HEAD(&priv->interfaces); __mutex_init(&priv->mutex, "subsys mutex", key); klist_init (&priv->klist_devices, klist_devices_get, klist_devices_put); klist_init(&priv->klist_drivers, NULL priv) { error = -ENOMEM; goto out_put_bus; } klist_init(&priv->klist_devices, driver_ktype, NULL, "%s", drv->name); if (error) goto out_unregister; klist_add_tail (&priv->knode_bus, &bus->p->klist_drivers); if (drv->bus->p->drivers_autoprobe) { error =

    83630编辑于 2022-09-18
  • 来自专栏Linux内核深入分析

    Linux设备驱动模型-Driver

    priv) { error = -ENOMEM; goto out_put_bus; } klist_init(&priv->klist_devices, NULL, NULL); (&priv->knode_bus, &bus->p->klist_drivers); //添加驱动到klist_driver链表中 if (drv->bus->p->drivers_autoprobe (&drv->p->knode_bus); //移除驱动节点,从klist_driver链表中 pr_debug("bus: '%s': remove driver %s ); //加锁,防止别的驱动也在做相似的操作 if (list_empty(&drv->p->klist_devices.k_list)) { //如果设备链表为空 ,直接返回 spin_unlock(&drv->p->klist_devices.k_lock); break; } dev_prv = list_entry(drv->p->klist_devices.k_list.prev

    5.5K30发布于 2020-03-24
  • 来自专栏韦东山嵌入式

    Linux内核平台总线设备驱动模型浅析

    device_driver *drv);//驱动与设备是否匹配的检测函数    struct subsys_private *p; }; 其中,struct subsys_private包含一个设备链表(struct klist klist_devices)和一个驱动链表(  struct klist klist_drivers) structdevice {    struct kobject kobj;    const dev) {    device_initialize(dev);  //做各类初始化    //将设备挂接在对应的总线上,主要工作把设备(device)添加到总线       (bus_type)的klist_devices driver_register(structdevice_driver *drv) {     // 将驱动绑定在对应的总线上,主要工作把驱动(device_driver)添加到总线(bus_type)的klist_drivers

    2.7K30发布于 2020-09-30
  • 来自专栏freesan44

    PTA 7-2 找奇葩 (20 分)

    输入样例: 12 23 16 87 233 87 16 87 233 23 87 233 16 结尾无空行 输出样例: 233 结尾无空行 解题思路 N = int(input()) KList = input ().split() # N = int("12") # KList = "23 16 87 233 87 16 87 233 23 87 233 16".split() from collections import Counter countK = Counter(KList) for key,val in countK.items(): # print(key,val) if int

    30220发布于 2021-09-10
  • 来自专栏freesan44

    PTA 1038 统计同成绩学生 (20 分)

    解题思路 N = input() # N = "10" NList = input().split() # NList = "60 75 90 55 75 99 82 90 75 50".split() KList = input().split()[1:] # KList = "3 75 90 88".split()[1:] resDic = dict()#用字典方式存储 for i in NList: if i not in resDic: resDic[i] = 1 else: resDic[i] += 1 resArr = [] for j in KList

    48800发布于 2021-08-29
  • 来自专栏全栈程序员必看

    platform_driver_register,什么时候调用PROBE函数 注册后如何找到驱动匹配的设备

    priv) { error = -ENOMEM; goto out_put_bus; } klist_init(&priv->klist_devices, NULL, NULL); priv->driver (&priv->knode_bus, &bus->p->klist_drivers); module_add_driver(drv->owner, drv); error = driver_create_file bus_type *bus, struct device *start, void *data, int (*fn)(struct device *, void *)) { struct klist_iter bus) return -EINVAL; klist_iter_init_node(&bus->p->klist_devices, &i, (start ? error) error = fn(dev, data); klist_iter_exit(&i); return error; } EXPORT_SYMBOL_GPL(bus_for_each_dev

    1.3K50编辑于 2022-09-18
  • 来自专栏Linux内核深入分析

    Linux设备驱动模型-Bus

    devices_kset; struct list_head interfaces; struct mutex mutex; struct kset *drivers_kset; struct klist klist_devices; struct klist klist_drivers; struct blocking_notifier_head bus_notifier; unsigned int .klist_devices: 代表该bus下所有设备的链表。 .klist_drivers: 代表该bus下所有驱动的链表。 .bus_notifier: 该bus创建的通知链。 , klist_drivers __mutex_init(&priv->mutex, "subsys mutex", key); klist_init(&priv->klist_devices, klist_devices_get , klist_devices_put); klist_init(&priv->klist_drivers, NULL, NULL); retval = add_probe_files(bus);

    5K20发布于 2020-03-24
  • 来自专栏freesan44

    PTA 7-2 找奇葩 (20 分)

    输入样例: 12 23 16 87 233 87 16 87 233 23 87 233 16 结尾无空行 输出样例: 233 结尾无空行 解题思路 N = int(input()) KList = input ().split() # N = int("12") # KList = "23 16 87 233 87 16 87 233 23 87 233 16".split() from collections import Counter countK = Counter(KList) for key,val in countK.items(): # print(key,val) if int

    25610编辑于 2021-12-06
  • 来自专栏Hadoop实操

    集群启用Kerberos后对Zookeeper的Znode操作异常分析

    Kinit操作,使用zookeeper-client登录后仍然可以进行创建znode和删除znode,并且可以删除其它有服务的Znode,具体操作如下: [root@ip-172-31-30-69 ~]# klist klist: No credentials cache found (filename: /tmp/krb5cc_0) [root@ip-172-31-30-69 ~]# echo $CLIENT_JVMFLAGS 在不使用Kerberos账号Kinit的前提下,直接使用Zookeeper-client访问Zookeeper [root@ip-172-31-30-69 ~]# klist klist: No credentials 2.不使用Kerberos账号Kinit的前提下,使用zookeeper-client登录Zookeeper服务 [root@ip-172-31-30-69 ~]# klist klist: No credentials

    2.8K50发布于 2018-04-18
  • 来自专栏Hadoop实操

    0614-5.16.1-同一OS用户并行Shell脚本中kinit不同的Principal串掉问题分析

    a_fayson.sh脚本内容如下: [root@cdh4 shell-test]# more a_fayson.sh kinit -kt /root/shell-test/fayson.keytab fayson klist 脚本内容如下: [root@cdh4 shell-test]# more a_cdhadmin.sh kinit -kt /root/shell-test/cdhadmin.fayson cdhadmin klist more a_fayson.sh export KRB5CCNAME=/tmp/fayson_ccname kinit -kt /root/shell-test/fayson.keytab fayson klist a_cdhadmin.sh export KRB5CCNAME=/tmp/cdhadmin_ccname kinit -kt /root/shell-test/cdhadmin.keytab cdhadmin klist KRB5CCNAME /tmp/fayson_ccname env |grep KRB5CCNAME kinit -kt /root/shell-test/fayson.keytab fayson klist

    2.2K30发布于 2019-05-13
  • 来自专栏freesan44

    PTA 1038 统计同成绩学生 (20 分)

    解题思路 N = input() # N = "10" NList = input().split() # NList = "60 75 90 55 75 99 82 90 75 50".split() KList = input().split()[1:] # KList = "3 75 90 88".split()[1:] resDic = dict()#用字典方式存储 for i in NList: if i not in resDic: resDic[i] = 1 else: resDic[i] += 1 resArr = [] for j in KList

    28420编辑于 2021-12-06
  • 来自专栏freesan44

    PTA 7-1 祖传好运 (15 分)

    输入样例: 5 123 7 43 2333 56160 结尾无空行 输出样例: Yes Yes No No Yes 结尾无空行 解题思路 N = int(input()) KList = input().split() # N = int("5") # KList = "123 7 43 2333 56160".split() for i in KList:

    32520发布于 2021-09-10
  • 来自专栏freesan44

    PTA 7-1 祖传好运 (15 分)

    输入样例: 5 123 7 43 2333 56160 结尾无空行 输出样例: Yes Yes No No Yes 结尾无空行 解题思路 N = int(input()) KList = input() .split() # N = int("5") # KList = "123 7 43 2333 56160".split() for i in KList: zhengchu = True

    32820编辑于 2021-12-06
  • 来自专栏python前行者

    [1126]kerberos认证相关问题

    while getting initial credentials 正确示例 [root@xxx]# kinit -kt yarn.keytab yarn@HADOOP.COM [root@xxx]# klist # klist 查看keytab文件结构,存在camellia*-cts-cmac加密方式 [dengsc@nfjd-hadoop02-node179 ~]$ klist -ket dengsc.keytab # klist查看principal查看票据信息 [dengsc@nfjd-hadoop02-node179 ~]$ klist -ket dengsc.keytab Keytab name: FILE [dengsc@nfjd-hadoop02-node179 ~]$ kinit -kt dengsc.keytab dengsc [dengsc@nfjd-hadoop02-node179 ~]$ klist

    1.9K20编辑于 2022-04-28
  • 来自专栏Linux内核深入分析

    Linux设备驱动模型-Device

    (&dev->p->knode_parent, //如果parent存在,将dev添加到parent链表中 &parent->p->klist_children (&dev->knode_class, &dev->class->p->klist_devices); /* notify any interfaces that the device (&dev->p->klist_children, klist_children_get, klist_children_put); (&dev->p->knode_bus, &bus->p->klist_devices); } return 0; } 如果此设备不属于任何总线,直接就返回,否则添加设备属性,创建链接文件,将此bus 下的设备添加到klist_devices链表中。

    9K21发布于 2020-03-24
  • 来自专栏码客

    Windows下Dbeaver连接设置Kerberos后的Hive和Phoenix

    推荐添加到环境变量Path中 CMD中运行 kinit -kt C:\ProgramData\MIT\Kerberos5\hdfs.keytab hdfs/hadoop01@HADOOP.COM 查看是否登录成功: klist 可以看到 登录MIT Kerberos Ticket Manager客户端查看 这样就登录成功了 问题 kinit和klist可能系统中有。 我们可以通过如下命令获取生效的顺序 where klist where kinit 如图 我们发现klist生效的不是我们设置的,这就要改变环境变量Path中的顺序 把D:\Tools\KerberosClient

    1.4K30编辑于 2023-08-11
  • 来自专栏算法channel

    机器学习储备(12):二项分布的例子解析

    getp(m,n,pa): if m < n: return 0.0 return comb(m,n)*(pa**n)*((1-pa)**(m-n)) #获得画图数据 klist = np.arange(21) plist = [ getp(m=20,n=k,pa=0.75) for k in klist] plt.plot(klist,plist) plt.xlabel('

    1.4K110发布于 2018-04-02
  • 来自专栏Python编程 pyqt matplotlib

    局部加权线性回归(LWLR)

    matplotlib.pyplot as plt X = np.linspace(0,1,100) plt.title("不同的k值下的权重分布\n假设正预测的点是 x=0.5",fontsize =16) kList = [0.5, 0.1, 0.01] for i, k in enumerate(kList): plt.subplot(len(kList),1, i+1) w = np.exp((

    1.4K30发布于 2019-08-14
  • 来自专栏Hadoop实操

    如何禁用CDH集群Kerberos

    6.服务功能验证 ---- 1.HDFS服务验证 查看HDFS文件系统 [root@ip-172-31-11-224 ~]# klist [root@ip-172-31-11-224 ~]# hadoop 3.Impala服务验证 使用impala-shell的方式登录 [root@ip-172-31-11-224 ~]# klist [root@ip-172-31-11-224 ~]# impala-shell 4.HBase服务验证 [root@ip-172-31-11-224 ~]# klist [root@ip-172-31-11-224 ~]# hbase shell hbase(main):001:0 6.向集群提交一个MapReduce作业 [root@ip-172-31-11-224 ~]# klist [root@ip-172-31-11-224 ~]# hadoop jar /opt/cloudera 7.向集群提交一个Spark1作业 [root@ip-172-31-11-224 ~]# klist [root@ip-172-31-11-224 ~]# spark-submit --class org.apache.spark.examples.SparkPi

    6.2K60发布于 2018-07-12
领券