net-snmp安装成功后执行mib2c错误

安装后net-snmp后,执行mib2c命令,结果如下:
[root@0 mibs]# pwd
/media/disk2/loongson/netsnmp/net-snmpinstall/share/snmp/mibs
[root@0 mibs]# mib2c
-bash: /usr/local/bin/mib2c: 没有那个文件或目录
可能是perl工具有问题,又到源码目录下执行下面命令,也有错误。提示没有按照net-snmp-config,但确实是安装成功了。请问知道是什么原因吗?谢谢啦!
[root@0 net-snmp-5.7.3]# cd perl
[root@0 perl]# perl Makefile.PL
ERROR from evaluation of /media/disk2/loongson/netsnmp/net-snmpsrc/net-snmp-5.7.3/perl/default_store/Makefile.PL: You need to install net-snmp first (I can't find net-snmp-config) at ./Makefile.PL line 84.

3个回答

你的net-snmp 到底是怎么安装好的,安装在哪个位置,是否为系统路径。
从错误看,没有装到系统目录,所以找不到mib2c这个可执行程序

现在执行mib2c成功,但是会有下面的结果:
root@0 mibs]# MIBS="+RFC1213-MIB" mib2c ifNumber
writing to -
mib2c has multiple configuration files depending on the type of
code you need to write. You must pick one depending on your need.

You requested mib2c to be run on the following part of the MIB tree:
OID: ifNumber
numeric translation: .1.3.6.1.2.1.2.1
number of scalars within: 1
number of tables within: 0
number of notifications within: 0

First, do you want to generate code that is compatible with the
ucd-snmp 4.X line of code, or code for the newer Net-SNMP 5.X code
base (which provides a much greater choice of APIs to pick from):

1) ucd-snmp style code
2) Net-SNMP style code

Select your choice : 1


GENERATING CODE FOR THE 4.X LINE OF CODE (THE OLDER API)


using the mib2c.old-api.conf configuration file to generate your code.
writing to ifNumber.h
writing to ifNumber.c
Warning: something's wrong at /usr/local/bin/mib2c line 821, line 68.
/media/disk2/loongson/netsnmp/net-snmpinstall/share/snmp//mib2c.old-api.conf:68 [ @eval $suffix = substr("$i.commaoid", $namelen + 1)@
]


  • NOTE WELL: The code generated by mib2c is only a template. YOU *
  • must fill in the code before it'll work most of the time. In many *
  • cases, spots that MUST be edited within the files are marked with *
  • /* XXX / or / TODO / comments. * ********************************************************************* running indent on ifNumber.c running indent on ifNumber.h

请问这是什么原因呢?
在default_modules.h文件中已经加了如下内容:
config_require(mibII/ifNumber)
config_add_mib(RFC1213-MIB)
但是在执行mib2c时,在模块初始化注册函数agent_module_inits.h中没有生成对应的内容。该文件目前内容如下:
/* This file is automatically generated by configure. Do not modify by hand. */
if (should_init("vacm_conf")) init_vacm_conf();
if (should_init("usmConf")) init_usmConf();
按理说当执行mib2c命令时应该在该文件中自动生成类似下面内容:
if (should_init("ifNumber")) init_ifNumber();

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
按照net-snmp后执行mib2c命令有错
安装后net-snmp后,执行mib2c命令,结果如下: [root@0 mibs]# pwd /media/disk2/loongson/netsnmp/net-snmpinstall/share/snmp/mibs [root@0 mibs]# mib2c -bash: /usr/local/bin/mib2c: 没有那个文件或目录 可能是perl工具有问题,又到源码目录下执行下面命令,也有错误。提示没有按照net-snmp-config,但确实是安装成功了。请问知道是什么原因吗?谢谢啦! [root@0 net-snmp-5.7.3]# cd perl [root@0 perl]# perl Makefile.PL ERROR from evaluation of /media/disk2/loongson/netsnmp/net-snmpsrc/net-snmp-5.7.3/perl/default_store/Makefile.PL: You need to install net-snmp first (I can't find net-snmp-config) at ./Makefile.PL line 84.
net-SNMP开发,添加自定义MIB库报错
开发net-SNMP (Ubuntu 12.04),添加了一个简单的MIB库,只有一个节点,参考如下步骤: http://blog.csdn.net/hepeng597/article/details/8782868 现在进行测试: snmpget -v2c -c public localhost 1.3.6.1.4.1.16535.1.1.0 得到错误结果: Test-MIB::GetString.0= No such object available on this agent at this OID 看起来程序已经能解析MIB库了,(显示了Test-MIB::GetString),但是不知道为什么得不到结果
net-snmp开发如何添加自己的C代码?
项目需求,需要开发net-snmp (net-snmp5.7.3,Ubuntu12.04),希望能添加自己的C代码(不是添加私有MIB库),最简单的比如添加一个C文件和H文件,功能只是打印一下hello world也行,代码写好之后,不知道如何修改makefile文件使自己的C文件可以被编译进去,直接调用头文件中申明的函数,在编译的时候会报错说函数未定义,求教各位大神呀
net-snmp中通过subagent方法,如何把多个Table编译成一个可执行文件?
net-snmp中生成了多个XXX_Table.c和 XXX_Table.h的文件,这些代码都已经写好了。现在通过subagent的方法,想把这些表编译到一个文件来执行(运行该可执行几个Table表都能处理),我按照网上的方法: ``` #include <net-snmp/net-snmp-config.h> #include <net-snmp/net-snmp-includes.h> #include <net-snmp/agent/net-snmp-agent-includes.h> #include <signal.h> #include <nstAgentSubagentObject.h> static int keep_running; RETSIGTYPE stop_server(int a) { keep_running = 0; } int main (int argc, char **argv) { int agentx_subagent=1; /* change this if you want to be a SNMP master agent */ int background = 0; /* change this if you want to run in the background */ int syslog = 0; /* change this if you want to use syslog */ /* print log errors to syslog or stderr */ if (syslog) snmp_enable_calllog(); else snmp_enable_stderrlog(); /* we're an agentx subagent? */ if (agentx_subagent) { /* make us a agentx client. */ netsnmp_ds_set_boolean(NETSNMP_DS_APPLICATION_ID, NETSNMP_DS_AGENT_ROLE, 1); } /* run in background, if requested */ if (background && netsnmp_daemonize(1, !syslog)) exit(1); /* initialize tcpip, if necessary */ SOCK_STARTUP; /* initialize the agent library */ init_agent("example-demon"); /* initialize mib code here */ /* mib code: init_nstAgentSubagentObject from nstAgentSubagentObject.C */ init_nstAgentSubagentObject(); /* initialize vacm/usm access control */ if (!agentx_subagent) { init_vacm_vars(); init_usmUser(); } /* example-demon will be used to read example-demon.conf files. */ init_snmp("example-demon"); /* If we're going to be a snmp master agent, initial the ports */ if (!agentx_subagent) init_master_agent(); /* open the port to listen on (defaults to udp:161) */ /* In case we recevie a request to stop (kill -TERM or kill -INT) */ keep_running = 1; signal(SIGTERM, stop_server); signal(SIGINT, stop_server); snmp_log(LOG_INFO,"example-demon is up and running.\n"); /* your main loop here... */ while(keep_running) { /* if you use select(), see snmp_select_info() in snmp_api(3) */ /* --- OR --- */ agent_check_and_process(1); /* 0 == don't block */ } /* at shutdown time */ snmp_shutdown("example-demon"); SOCK_CLEANUP; return 0; } 我通过init_agent("XXX1_table"); init_agent("XXX2_table"); ......init_agent("XXX7_table"); 这种方式编译不行。 打印: ignoring extra call to init_agent (2) ignoring extra call to init_agent (3) ignoring extra call to init_agent (4) ignoring extra call to init_agent (5) ignoring extra call to init_agent (6) ignoring extra call to init_agent (7) ``` 我通过snmpset试了下,只能运行XXX1_table,后面的一个都不行。 不知道用什么方法来实现?我还需要存储其他一些额外的数据信息,所以没有使用静态或者动态的方法。 请高手指导下,谢谢!
net-snmp V3 版本如何限制访问IP?
用net-snmp进行snmp协议开发,需要使用 V3 版本。 在snmpd.conf中通过createUser 方式添加了用户并且成功访问了 现在的问题是,通过 com2sec 命令或者 rwcommunity命令只能限制v1 和 v2c的访问IP 那么如何限制V3用户的访问IP?
net-snmp移植到andriod,andriod.mk该怎么写,求大神帮帮忙
net-snmp移植到andriod,andriod.mk该怎么写,求大神帮帮忙
net-snmp通过API编程实现agent
const char *app_name = "snmpd"; /* master agent */ netsnmp_ds_set_boolean(NETSNMP_DS_APPLICATION_ID, NETSNMP_DS_AGENT_ROLE, 0);//MASTER_AGENT); /* initialize the agent library */ if (0 != init_agent(app_name)) { printf("\nsnmp: init_agent fail.\n\n"); } /* initialize your mib code here */ add_mibdir("/usr/local/share/snmp/mibs"); netsnmp_init_mib(); /* Test will be used to read Test.conf files. */ init_snmp("snmpd"); if (0 != init_master_agent()) { printf("\nsnmp: init_master_agent fail.\n\n"); } int keep_running = 1; while (keep_running) { agent_check_and_process(1);/* block every 1 second */ } /* at shutdown time */ snmp_shutdown(app_name); shutdown_master_agent(); /* shutdown the agent library */ shutdown_agent(); snmpget -v2c -c adminhaha 192.168.130.101 system.sysUpTime.0 DISMAN-EVENT-MIB::sysUpTimeInstance = No Such Object available on this agent at this OID **编译net-snmp库,生成三个lib,加入链接,然后通过C Api实现Agent。 问题:使用查询命令获取不到值,提示Snmp No Such Object。加入-d可以看到数据是通的** snmpget -v2c -c adminhaha 192.168.130.101 system.sysUpTime.0 -d **Sending** 46 bytes to UDP: [192.168.130.101]:161->[0.0.0.0]:0 0000: 30 2C 02 01 01 04 09 61 64 6D 69 6E 68 61 68 61 0,.....adminhaha 0016: A0 1C 02 04 2B 13 8A 83 02 01 00 02 01 00 30 0E ....+.........0. 0032: 30 0C 06 08 2B 06 01 02 01 01 03 00 05 00 0...+......... **Received** 46 byte packet from UDP: [192.168.130.101]:161->[0.0.0.0]:48076 0000: 30 2C 02 01 01 04 09 61 64 6D 69 6E 68 61 68 61 0,.....adminhaha 0016: A2 1C 02 04 2B 13 8A 83 02 01 00 02 01 00 30 0E ....+.........0. 0032: 30 0C 06 08 2B 06 01 02 01 01 03 00 80 00 0...+......... DISMAN-EVENT-MIB::sysUpTimeInstance = No Such Object available on this agent at this OID
NET-SNMP在配置GROUP中的notifyView参数时,不生效
移植了NET-SNMP的协议栈功能,在配置了group中的notifyView参数时,发现没有生效,有没有这个参数,都能发送告警。 同时在配置 V3 版本的告警时,trapsess,发现这个命令里面的userName无论配置什么都可以发送告警,也没有检查这个用户是否存在。 有没有做过net-snmp开源代码移植的大神,能不能支招啊。这个notifyView要怎么配置才能生效。还是说源码里面就没有这个功能啊。 多谢
交换机SNMP-公有MIB(私有MIB移植)问题
项目要求将私有MIB改到公有MIB中,但是没找到端口参数配置的地方,例如LAN口的IP地址、子网掩码的修改,传输速度的修改。请问是在哪个MIB中有对应的。我现在用的RFC1213-MIB。如何将私有MIB移植到公有MIB里面呢?
我的win10系统,装了net-snmp,oid不识别。
我命令里输入snmpwalk -v 2c -c public 本机ip oid码,发现有些mib的oid不识别,Cannot adopt OID in HOST-RESOURCECS-MIB,百度了几天,真是没有招了,知道的大神帮助一下,谢谢了。
net-snmp表中数据的获取、添加、修改、删除是怎么实现的?
+--cpeProfileTable(1) | | | +--cpeProfileEntry(1) | | Index: mmeIndex | | | +-- -RW- Unsigned mmeIndex(1) | +-- -RW- Unsigned mmeGroupId(2) | +-- -RW- INTEGER mmeCode(3) | +-- -RW- Unsigned cpeStatusOp(4) cpeProfileTable_handler函数中 case MODE_GET情况下 switch (table_info->colnum) { case COLUMN_CPEINDEX: if ( !table_entry ) { netsnmp_set_request_error(reqinfo, request, SNMP_NOSUCHINSTANCE); continue; } snmp_set_var_typed_integer( request->requestvb, ASN_UNSIGNED, table_entry->cpeIndex); case COLUMN_XXX其他几个省略 因为是根据index来get获取一行数据,在这里如何得到index对应的行?怎么response一整行而不是行中的一个列项呢? case MODE_SET_ACTION情况下,添加和修改时 需要自己建立链表存储吗?还是在代码哪里添加cpeProfileTable_createEntry函数snmp自己完成链表操作? 修改的情况下index我也不清楚怎么得到对应的行再去修改数据。 switch (table_info->colnum) { case COLUMN_CPEINDEX: table_entry->old_cpeIndex = table_entry->cpeIndex; table_entry->cpeIndex = *request->requestvb->val.integer; break;
window下安装的snmp snmpwalk对ip无法响应
我从网上下载的net-snmp-5.5.0-2.x64,安装后,在命令里输入snmpwalk -v 2c -c public localhost或者本机ip,都无法响应,上网查了以后说可能是snmpd.conf没有配置好,但是安装网上的方法也不行,求各位大神帮帮忙。
net-snmp在agent端如何实现MODE_GETNEXT的代码?
client端通过snmpgetnext命令来一行一行的获取Table中的行数据,在Agent端如何实现MODE_GETNEXT的代码?
net-snmp嵌入式移植问题。放到开发板回出现如下现象
![图片说明](https://img-ask.csdn.net/upload/201805/23/1527054356_593414.png)
如何通过代码解析SNMP的MIB库文件
类似如下的Mib库文件,如何解析为树形 “节点名称:节点OID” 的形式,snmp4j有相关的解析方法吗?请各位大神不吝赐教。 MessageSolutionMIB DEFINITIONS ::= BEGIN IMPORTS RowStatus FROM SNMPv2-TC enterprises, MODULE-IDENTITY, OBJECT-TYPE, Integer32 FROM SNMPv2-SMI; moduleIdentity MODULE-IDENTITY LAST-UPDATED "201011021528Z" ORGANIZATION "Organization " CONTACT-INFO "Contact-info" DESCRIPTION "Description" REVISION "201011021528Z" DESCRIPTION "" ::= { enterprises 1 } org OBJECT IDENTIFIER ::= { iso 3 } dod OBJECT IDENTIFIER ::= { org 6 } internet OBJECT IDENTIFIER ::= { dod 1 } private OBJECT IDENTIFIER ::= { internet 4 } enterprises OBJECT IDENTIFIER ::= { private 1 }
在本地测试自定义mib没有回复
最近才接触snmp 我在本地使用 snmpwalk -v2c -c public localhost 1.3.6.1.4.1.318.1.1.1.8.1.0 后,没有回复信息,1.3.6.1.4.1.318.1.1.1.8.1.0是自定义mib中的一个OID,使用mib2c.scalar.conf,生成了.c和.h文件,并且重新编译且通过(我是使用源码进行安装的5.8版本) ![图片说明](https://img-ask.csdn.net/upload/201911/15/1573785670_83516.png)。 snmd.conf文件如下 ![图片说明](https://img-ask.csdn.net/upload/201911/15/1573785943_38882.png) ![图片说明](https://img-ask.csdn.net/upload/201911/15/1573785954_445305.png) 但是如果使用apt-get进行安装snmp,可以得到回复,但根据测试,这两种方法安装的snmp,使用的snmpd.conf是不一样的。 ![图片说明](https://img-ask.csdn.net/upload/201911/15/1573786288_193571.png)![图片说明](https://img-ask.csdn.net/upload/201911/15/1573786301_163619.png)![图片说明](https://img-ask.csdn.net/upload/201911/15/1573786307_943274.png) 这样的snmpd.conf我使用后,本地的系统信息都会得不到,会显示超时。 哪里有错还希望各位指出来,谢谢!!
smpd.conf的配置问题,到底怎么配置呢?
在linux上安装的net-snmp中 snmpd.conf里面主要和必须配置那些东西呢?
Ubuntu配置snmp服务无法启动
snmpd.conf文件: ``` ############################################################################### # # EXAMPLE.conf: # An example configuration file for configuring the Net-SNMP agent ('snmpd') # See the 'snmpd.conf(5)' man page for details # # Some entries are deliberately commented out, and will need to be explicitly activated # ############################################################################### # # AGENT BEHAVIOUR # # Listen for connections from the local system only #agentAddress udp:127.0.0.1:161 # Listen for connections on all interfaces (both IPv4 *and* IPv6) agentAddress udp:161,udp6:[::1]:161 ############################################################################### # # SNMPv3 AUTHENTICATION # # Note that these particular settings don't actually belong here. # They should be copied to the file /var/net-snmp/snmpd.conf # and the passwords changed, before being uncommented in that file *only*. # Then restart the agent # createUser authOnlyUser MD5 "remember to change this password" # createUser authPrivUser SHA "remember to change this one too" DES # createUser internalUser MD5 "this is only ever used internally, but still change the password" # If you also change the usernames (which might be sensible), # then remember to update the other occurances in this example config file to match. ############################################################################### # # ACCESS CONTROL # # system + hrSystem groups only view systemonly included .1.3.6.1.2.1.1 view systemonly included .1.3.6.1.2.1.25.1 view systemonly included .1 80 # Full access from the local host rocommunity public localhost # Default access to basic system info #rocommunity public default -V systemonly # Full access from an example network # Adjust this network address to match your local # settings, change the community string, # and check the 'agentAddress' setting above #rocommunity secret 10.0.0.0/16 # Full read-only access for SNMPv3 rouser authOnlyUser # Full write access for encrypted requests # Remember to activate the 'createUser' lines above #rwuser authPrivUser priv # It's no longer typically necessary to use the full 'com2sec/group/access' configuration # r[ou]user and r[ow]community, together with suitable views, should cover most requirements ############################################################################### # # SYSTEM INFORMATION # # Note that setting these values here, results in the corresponding MIB objects being 'read-only' # See snmpd.conf(5) for more details sysLocation Sitting on the Dock of the Bay sysContact Me <me@example.org> # Application + End-to-End layers sysServices 72 # # Process Monitoring # # At least one 'mountd' process proc mountd # No more than 4 'ntalkd' processes - 0 is OK proc ntalkd 4 # At least one 'sendmail' process, but no more than 10 proc sendmail 10 1 # Walk the UCD-SNMP-MIB::prTable to see the resulting output # Note that this table will be empty if there are no "proc" entries in the snmpd.conf file # # Disk Monitoring # # 10MBs required on root disk, 5% free on /var, 10% free on all other disks disk / 10000 disk /var 5% includeAllDisks 10% # Walk the UCD-SNMP-MIB::dskTable to see the resulting output # Note that this table will be empty if there are no "disk" entries in the snmpd.conf file # # System Load # # Unacceptable 1-, 5-, and 15-minute load averages load 12 10 5 # Walk the UCD-SNMP-MIB::laTable to see the resulting output # Note that this table *will* be populated, even without a "load" entry in the snmpd.conf file ############################################################################### # # ACTIVE MONITORING # # send SNMPv1 traps # trapsink localhost public # send SNMPv2c traps trap2sink localhost public # send SNMPv2c INFORMs #informsink localhost public # Note that you typically only want *one* of these three lines # Uncommenting two (or all three) will result in multiple copies of each notification. # # Event MIB - automatically generate alerts # # Remember to activate the 'createUser' lines above iquerySecName internalUser rouser internalUser # generate traps on UCD error conditions defaultMonitors yes # generate traps on linkUp/Down linkUpDownNotifications yes ############################################################################### # # EXTENDING THE AGENT # # # Arbitrary extension commands # extend test1 /bin/echo Hello, world! extend-sh test2 echo Hello, world! ; echo Hi there ; exit 35 #extend-sh test3 /bin/sh /tmp/shtest # Note that this last entry requires the script '/tmp/shtest' to be created first, # containing the same three shell commands, before the line is uncommented # Walk the NET-SNMP-EXTEND-MIB tables (nsExtendConfigTable, nsExtendOutput1Table # and nsExtendOutput2Table) to see the resulting output # Note that the "extend" directive supercedes the previous "exec" and "sh" directives # However, walking the UCD-SNMP-MIB::extTable should still returns the same output, # as well as the fuller results in the above tables. # # "Pass-through" MIB extension command # #pass .1.3.6.1.4.1.8072.2.255 /bin/sh PREFIX/local/passtest #pass .1.3.6.1.4.1.8072.2.255 /usr/bin/perl PREFIX/local/passtest.pl # Note that this requires one of the two 'passtest' scripts to be installed first, # before the appropriate line is uncommented. # These scripts can be found in the 'local' directory of the source distribution, # and are not installed automatically. # Walk the NET-SNMP-PASS-MIB::netSnmpPassExamples subtree to see the resulting output # # AgentX Sub-agents # # Run as an AgentX master agent master agentx # Listen for network connections (from localhost) # rather than the default named socket /var/agentx/master #agentXSocket tcp:localhost:705 ``` 错误日志: ``` ubuntu@VM-ubuntu:~$ cat /var/log/snmpd.log Turning on AgentX master support. ../share/snmp/snmpd.conf: line 88: Error: Already have an entry for this process. ../share/snmp/snmpd.conf: line 90: Error: Already have an entry for this process. ../share/snmp/snmpd.conf: line 92: Error: Already have an entry for this process. ../share/snmp/snmpd.conf: line 104: Error: includeAllDisks already specified. ../share/snmp/snmpd.conf: line 104: Error: ignoring: includeAllDisks 10% error on subcontainer 'mteObjectsTable' insert (-1) error on subcontainer 'mteObjectsTable' insert (-1) ../share/snmp/snmpd.conf: line 144: Error: duplicate trigger name error on subcontainer 'mteObjectsTable' insert (-1) error on subcontainer 'mteObjectsTable' insert (-1) ../share/snmp/snmpd.conf: line 144: Error: duplicate trigger name error on subcontainer 'mteObjectsTable' insert (-1) error on subcontainer 'mteObjectsTable' insert (-1) ../share/snmp/snmpd.conf: line 144: Error: duplicate trigger name error on subcontainer 'mteObjectsTable' insert (-1) error on subcontainer 'mteObjectsTable' insert (-1) ../share/snmp/snmpd.conf: line 144: Error: duplicate trigger name error on subcontainer 'mteObjectsTable' insert (-1) error on subcontainer 'mteObjectsTable' insert (-1) ../share/snmp/snmpd.conf: line 144: Error: duplicate trigger name error on subcontainer 'mteObjectsTable' insert (-1) error on subcontainer 'mteObjectsTable' insert (-1) ../share/snmp/snmpd.conf: line 144: Error: duplicate trigger name error on subcontainer 'mteObjectsTable' insert (-1) ../share/snmp/snmpd.conf: line 144: Error: duplicate trigger name ../share/snmp/snmpd.conf: line 146: Error: duplicate trigger name ../share/snmp/snmpd.conf: line 146: Error: duplicate trigger name duplicate table data attempted to be entered. row exists Failed to register extend entry 'test1' - possibly duplicate name. duplicate table data attempted to be entered. row exists Failed to register extend entry 'test2' - possibly duplicate name. Turning on AgentX master support. Error opening specified endpoint "udp6:[::1]:161" Server Exiting with code 1 ```
java开发snmp
最近在用java做一个类似于网络监控的程序被snmp4j弄的晕头转向的 我在网上看了一个程序他不仅导入了snmp4j.jar还导入了java-snmp-1.4.2.jar 这两个jar包的区别,他们分别用来做什么的。 我用的那个程序当需要遍历访问的时候就需要用到java-snmp-1.4.2.jar包 希望各位能给我理一下这个的开发思路,以及需要的技术。 这个开发基于windows的
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私有的数
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
Linux(服务器编程):15---两种高效的事件处理模式(reactor模式、proactor模式)
前言 同步I/O模型通常用于实现Reactor模式 异步I/O模型则用于实现Proactor模式 最后我们会使用同步I/O方式模拟出Proactor模式 一、Reactor模式 Reactor模式特点 它要求主线程(I/O处理单元)只负责监听文件描述符上是否有事件发生,有的话就立即将时间通知工作线程(逻辑单元)。除此之外,主线程不做任何其他实质性的工作 读写数据,接受新的连接,以及处...
阿里面试官问我:如何设计秒杀系统?我的回答让他比起大拇指
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图和个人联系方式,欢迎Star和指教 前言 Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸,打败了...
五年程序员记流水账式的自白。
不知觉已中码龄已突破五年,一路走来从起初铁憨憨到现在的十九线程序员,一路成长,虽然不能成为高工,但是也能挡下一面,从15年很火的android开始入坑,走过java、.Net、QT,目前仍处于android和.net交替开发中。 毕业到现在一共就职过两家公司,目前是第二家,公司算是半个创业公司,所以基本上都会身兼多职。比如不光要写代码,还要写软著、软著评测、线上线下客户对接需求收集...
C语言魔塔游戏
很早就很想写这个,今天终于写完了。 游戏截图: 编译环境: VS2017 游戏需要一些图片,如果有想要的或者对游戏有什么看法的可以加我的QQ 2985486630 讨论,如果暂时没有回应,可以在博客下方留言,到时候我会看到。 下面我来介绍一下游戏的主要功能和实现方式 首先是玩家的定义,使用结构体,这个名字是可以自己改变的 struct gamerole { char n
一文详尽系列之模型评估指标
点击上方“Datawhale”,选择“星标”公众号第一时间获取价值内容在机器学习领域通常会根据实际的业务场景拟定相应的不同的业务指标,针对不同机器学习问题如回归、分类、排...
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外...
压测学习总结(1)——高并发性能指标:QPS、TPS、RT、吞吐量详解
一、QPS,每秒查询 QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。互联网中,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。 二、TPS,每秒事务 TPS:是TransactionsPerSecond的缩写,也就是事务数/秒。它是软件测试结果的测量单位。一个事务是指一...
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple/ 
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆  每天早上8:30推送 作者| Mr.K   编辑| Emma 来源| 技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯
程序员该看的几部电影
##1、骇客帝国(1999) 概念:在线/离线,递归,循环,矩阵等 剧情简介: 不久的将来,网络黑客尼奥对这个看似正常的现实世界产生了怀疑。 他结识了黑客崔妮蒂,并见到了黑客组织的首领墨菲斯。 墨菲斯告诉他,现实世界其实是由一个名叫“母体”的计算机人工智能系统控制,人们就像他们饲养的动物,没有自由和思想,而尼奥就是能够拯救人类的救世主。 可是,救赎之路从来都不会一帆风顺,到底哪里才是真实的世界?
Python绘图,圣诞树,花,爱心 | Turtle篇
每周每日,分享Python实战代码,入门资料,进阶资料,基础语法,爬虫,数据分析,web网站,机器学习,深度学习等等。 公众号回复【进群】沟通交流吧,QQ扫码进群学习吧 微信群 QQ群 1.画圣诞树 import turtle screen = turtle.Screen() screen.setup(800,600) circle = turtle.Turtle()...
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东
还记得那个提速8倍的IDEA插件吗?VS Code版本也发布啦!!
去年,阿里云发布了本地 IDE 插件 Cloud Toolkit,仅 IntelliJ IDEA 一个平台,就有 15 万以上的开发者进行了下载,体验了一键部署带来的开发便利。时隔一年的今天,阿里云正式发布了 Visual Studio Code 版本,全面覆盖前端开发者,帮助前端实现一键打包部署,让开发提速 8 倍。 VSCode 版本的插件,目前能做到什么? 安装插件之后,开发者可以立即体验...
破14亿,Python分析我国存在哪些人口危机!
2020年1月17日,国家统计局发布了2019年国民经济报告,报告中指出我国人口突破14亿。 猪哥的朋友圈被14亿人口刷屏,但是很多人并没有看到我国复杂的人口问题:老龄化、男女比例失衡、生育率下降、人口红利下降等。 今天我们就来分析一下我们国家的人口数据吧! 一、背景 1.人口突破14亿 2020年1月17日,国家统计局发布了 2019年国民经济报告 ,报告中指出:年末中国大陆总人口(包括31个
2019年除夕夜的有感而发
天气:小雨(加小雪) 温度:3摄氏度 空气:严重污染(399) 风向:北风 风力:微风 现在是除夕夜晚上十点钟,再有两个小时就要新的一年了; 首先要说的是我没患病,至少现在是没有患病;但是心情确像患了病一样沉重; 现在这个时刻应该大部分家庭都在看春晚吧,或许一家人团团圆圆的坐在一起,或许因为某些特殊原因而不能团圆;但不管是身在何处,身处什么境地,我都想对每一个人说一句:新年快乐! 不知道csdn这...
听说想当黑客的都玩过这个Monyer游戏(1~14攻略)
第零关 进入传送门开始第0关(游戏链接) 请点击链接进入第1关: 连接在左边→ ←连接在右边 看不到啊。。。。(只能看到一堆大佬做完的留名,也能看到菜鸡的我,在后面~~) 直接fn+f12吧 &lt;span&gt;连接在左边→&lt;/span&gt; &lt;a href="first.php"&gt;&lt;/a&gt; &lt;span&gt;←连接在右边&lt;/span&gt; o...
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ......
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!
2020年的1月,我辞掉了我的第一份工作
其实,这篇文章,我应该早点写的,毕竟现在已经2月份了。不过一些其它原因,或者是我的惰性、还有一些迷茫的念头,让自己迟迟没有试着写一点东西,记录下,或者说是总结下自己前3年的工作上的经历、学习的过程。 我自己知道的,在写自己的博客方面,我的文笔很一般,非技术类的文章不想去写;另外我又是一个还比较热衷于技术的人,而平常复杂一点的东西,如果想写文章写的清楚点,是需要足够...
别低估自己的直觉,也别高估自己的智商
所有群全部吵翻天,朋友圈全部沦陷,公众号疯狂转发。这两周没怎么发原创,只发新闻,可能有人注意到了。我不是懒,是文章写了却没发,因为大家的关注力始终在这次的疫情上面,发了也没人看。当然,我...
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。 再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。 下文是原回答,希望能对你能有所启发。 如果我说,这个世界上人真的分三六九等,...
节后首个工作日,企业们集体开晨会让钉钉挂了
By 超神经场景描述:昨天 2 月 3 日,是大部分城市号召远程工作的第一天,全国有接近 2 亿人在家开始远程办公,钉钉上也有超过 1000 万家企业活跃起来。关键词:十一出行 人脸...
Java基础知识点梳理
Java基础知识点梳理 摘要: 虽然已经在实际工作中经常与java打交道,但是一直没系统地对java这门语言进行梳理和总结,掌握的知识也比较零散。恰好利用这段时间重新认识下java,并对一些常见的语法和知识点做个总结与回顾,一方面为了加深印象,方便后面查阅,一方面为了学好java打下基础。 Java简介 java语言于1995年正式推出,最开始被命名为Oak语言,由James Gosling(詹姆
2020年全新Java学习路线图,含配套视频,学完即为中级Java程序员!!
新的一年来临,突如其来的疫情打破了平静的生活! 在家的你是否很无聊,如果无聊就来学习吧! 世上只有一种投资只赚不赔,那就是学习!!! 传智播客于2020年升级了Java学习线路图,硬核升级,免费放送! 学完你就是中级程序员,能更快一步找到工作! 一、Java基础 JavaSE基础是Java中级程序员的起点,是帮助你从小白到懂得编程的必经之路。 在Java基础板块中有6个子模块的学
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合
相关热词 c#导入fbx c#中屏蔽键盘某个键 c#正态概率密度 c#和数据库登陆界面设计 c# 高斯消去法 c# codedom c#读取cad文件文本 c# 控制全局鼠标移动 c# temp 目录 bytes初始化 c#
立即提问