mongodb 分片集群,大批量数据插入效率问题

mongodb 分片集群,大批量数据插入效率问题:
1个config、1个mongos、2个mongod shard,现有2台同配置的机器
(1)当2个shard在同一台机器时候,无论哪一台,插入效率在1w每秒左右;
当数据量达到1.5亿左右的时候,会出现flushing nmaps took xxxx秒 to xxx files 的日志信息,过几十秒就来一次,很卡。
(2)当shard分布在2台机器时候,插入效率只有1500-2000条每秒,每条数据约800字节

请问:1 数据量越大,是不是插入效率会下降,那个flushing查文档说是说内存数据写入到硬盘,为啥一开始不会出现这样的问题?
2 多台机器的网络架构需要注意什么?或者说 可能是什么其他问题造成效率差距这么大?
新手没有币请见谅

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
MongoDB分片集群插入速度极低,请教原因。

如题,请教各位大大, mongodb分片集群部署,插入速度及其缓慢,请教原因? 集群配置如下: 同一台电脑上的三台VM虚拟机,全部设置内存1G,硬盘20G,操作系统是centos7 集群部署结构是: ![图片说明](https://img-ask.csdn.net/upload/201907/21/1563700431_739856.png) 使用docker-compose编排,然后按照正常配置配置好集群 集群状态是OK的: ![图片说明](https://img-ask.csdn.net/upload/201907/21/1563700539_240579.png) 然后测试插入: ![图片说明](https://img-ask.csdn.net/upload/201907/21/1563702156_870872.png) 结果发现无论是hash分片,还是范围分片,插入一万条数据大约需要8秒钟,而同样的数据量在不集群的单台服务器只需要2秒钟,请问这是怎么回事?

mongodb3.4.4分片集群,一个分片挂掉,抛异常

mongodb 3.4.4 分片集群 BulkOperations 方式插入,修改为 无序 下面是BulkOperations 无序时的官方解释 Perform bulk operations in parallel. Processing will continue on errors. 下面是代码 ----------------------------------------------------------------------------- BulkOperations bulkOperations = mongoTemplate.bulkOps(BulkOperations.BulkMode.UNORDERED, "collections"); bulkOperations.insert(lists); BulkWriteResult result = bulkOperations.execute(); ----------------------------------------------------------------------------- 在插入过程中,一个分片的primary挂了,开始不影响其他分片操作,在插入数据末尾报异常。试了好多次,都是报下面同样的异常 at com.mongodb.BulkWriteHelper.translateBulkWriteException(BulkWriteHelper.java:57)

mongodb 分片集群 使用 新的服务器代替原有的 mongos 和config 服务

目前有已搭好的mongodb 分片集群 状况为:三台 服务器 每台上运行 一个路由进程(mongos) 一个config_sever 和三个分片,其中三台服务器上的每一个相同shard搭建了副本集 栗子: config = { _id:"shard1", members:[ {_id:0,host:"192.168.30.136:22001"}, {_id:1,host:"192.168.30.137:22001"}, {_id:2,host:"192.168.30.138:22001",arbiterOnly:true} ] } --集群架构如下 根据 http://www.lanceyan.com/tech/arch/mongodb_shard1.html 搭建 sever1 server2 sever3 mongos mongos mongos config_sever config_sever config_sever shard1 shard1 shard1 shard2 shard2 shard2 shard3 shard3 shard3 现在 我想要把mongos(路由) 和config 分离出来 成为三台单独的服务器 即 每台上面 一个mongos 一个config 原本的三台作为分片 重新接入 新的服务器 问题一: 新的在串联新路由和已有的分片时 出现错误 我只能串联 三台服务器中的一个副本集,例如我串联了shard1 那么串联shard2时就会出现 "errmsg" : "can't add shard 'shard2/172.31.6.3:22002,172.31.14.250:22002,172.31.14.252:22002' because a local database 'lycamplus' exists in another shard1" 问题二: 在上述情况下 我有选择了拷贝 原有的config_server 文件 到新的config 服务器 这样我就不用去串联副本集了 但是却出现了字符串冲突的问题 即 在配置文件中 mongos 的新旧IP冲突 好吧今天一天都躺 这两坑上了 ---mongodb 半路出家 如果出现常识性问题 高手请见谅

mongodb 分片加载原来的副本数据后,开户文档分片,当自动均衡完成原来的分片空间占用变大

mongodb 分片加载原来的副本数据(分片A)后,开户文档分片,当自动均衡完成(均衡到分片B上)原来的(分片A)分片空间占用变大 原数据空间占用: ![原数据](https://img-ask.csdn.net/upload/202003/03/1583229304_312135.png) 分片均衡后空间占用 ![分片均衡后空间占用](https://img-ask.csdn.net/upload/202003/03/1583229289_850602.png) 数据变少空间占用不应该小吗,怎么会变大呢?

MongoDB 集群如何读取数据???

MongoDB数据库采用集群方式,那么在代码调用的时候是如何调用的呢? 请了解的说一下。 实在连接字符串中写入全部地址就行吗? 为什么我按照要求的写了,写入数据就可以,但是读取数据就报错了。。。 有什么注意的地方吗???

关于mongodb的分片问题想请教

前正在学习mongodb,书中写到每块带有唯一性的分片键, 问题一:那分片键与块是不是一对多的关系啊, 还有看到分片键可以是集合索引也可以是复合索引, 问题二:那假设一个集合有n个分片,n个分片的分片键是相同的么,

Mongodb 分片无法写操作

我用本机和虚拟机测试MongoDB分片(无备份集)。 我先添加了一个分片,导入数据,这里一切正常。然后又添加上虚拟机做的分片,这时 runCommand的返回是ok,但是数据转移貌似就出了问题,新的分片上只有4条数据。 之后,我接着插入一条数据,结果返回: > caused by :: Location28563 cannot send batch write operation to server 192.168.153.132:3000 (192.168.153.132)'. (Response was { "err" : "write results unavailable from 192.168.153.132:3000 :: caused by :: Location28563 cannot send batch write operation to server 我的配置如下: 路由:mongos --port 3333 --configdb=192.168.153.1:2222 --bind_ip 0.0.0.0 配置服务器:mongod --dbpath=config --port 2222 --bind_ip 0.0.0.0 分片(都差不多,所以只贴一个):mongod --dbpath=Shard1 --port 4444 --bind_ip 0.0.0.0 Shard1是目录名

mongodb连接集群的疑问

情况描述如下: 1、用集群连接方式创建mongodb连接 List<ServerAddress> seeds = new ArrayList<>(); for(String h : host_list){ ServerAddress sa = new ServerAddress(h,port); seeds.add(sa); } MongoOptions opt = new MongoOptions(); opt.connectionsPerHost = poolSize; opt.threadsAllowedToBlockForConnectionMultiplier = blockSize; mg = new Mongo(seeds, opt); 2、其中一个ip是虚假的,为了测试集群连接方式能够正常工作。 3、验证登录 db_con.authenticate(user, password.toCharArray()); 问题所在: 如果用debug模式,手动跟踪代码,在有ip无效的情况下,验证能正常通过,能进行下面的mongodb操作。 但是如果正常执行,验证不通过,会提示mongodb所操作的集合需要认证。如下 com.mongodb.MongoException: Rare case where master=null, probably all servers are down at com.mongodb.DBTCPConnector$MyPort.get(DBTCPConnector.java:438) at com.mongodb.DBTCPConnector.innerCall(DBTCPConnector.java:280) at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:257) at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:310) at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:295) at com.mongodb.DBCursor._check(DBCursor.java:368) at com.mongodb.DBCursor._hasNext(DBCursor.java:459) at com.mongodb.DBCursor.hasNext(DBCursor.java:484) at com.hw.jgpt.mongo.SimpleTest.main(SimpleTest.java:98) 如果在 mg = new Mongo(seeds, opt); 这句话之后加上休眠语句,会报错: com.mongodb.MongoException: not authorized for query on ************************ at com.mongodb.MongoException.parse(MongoException.java:82) at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:314) at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:295) at com.mongodb.DBCursor._check(DBCursor.java:368) at com.mongodb.DBCursor._hasNext(DBCursor.java:459) at com.mongodb.DBCursor.hasNext(DBCursor.java:484) at com.hw.jgpt.mongo.SimpleTest.main(SimpleTest.java:98)

mongodb sharding写入性能问题

mongodb做分片后如果增加服务器,写入性能可以提高吗?比如3台服务器时每秒可写入20000条数据,那么增加到6台服务器,每秒能写入40000条数据吗?

使用Go插入和查询MongoDB数据

<div class="post-text" itemprop="text"> <pre><code>package main import ( "fmt" "log" "gopkg.in/mgo.v2" "gopkg.in/mgo.v2/bson" ) type Customer struct { Id bson.ObjectId `bson:"_id,omitempty"` id int `bson:"id,"` firstName string `bson:"firstName"` surname string `bson:"surname"` gender string `bson:"gender"` address1 string `bson:"address1"` address2 string `bson:"address2"` city string `bson:"city"` state_region string `bson:"state_region"` county_province string `bson:"county_province"` postalCode string `bson:"postalCode"` country string `bson:"country"` acct_bal float64 `bson:"acct_bal"` status string `bson:"status"` } func main() { uri := "localhost:27017" // connect to mongodb session, err := mgo.Dial(uri) if err != nil { log.Fatal("Couldn't connect to db.", err) } defer session.Close() // collection c := session.DB("mydb").C("customers") // query one result := Customer{} err = c.Find(bson.M{"status": "B"}).One(&amp;result) if err != nil { log.Fatal("Couldn't find him.", err) } fmt.Println("One Result: ", result) } </code></pre> <p>So that's the code, If I run the MongoShell I get the correct results ::</p> <pre><code>{ "_id" : ObjectId("528cb19def5c88795f00000a"), "id" : "00000011", "firstName" : "Gerardo", "surname" : "Guilfoos", "gender" : "M", "address1" : "854 Cheerful Breeze Way", "address2" : "", "city" : "Tavaux", "state_region" : "Franche-Comté", "county_province" : "Jura", "postalCode" : "39501 CEDEX", "country" : "FR", "acct_balance" : 172.87, "status" : "B" </code></pre> <p>}</p> <p>But the Go file when run gives me this:: </p> <pre><code>One Result: {ObjectIdHex("528cb19def5c88795f00000a") 0 0 } </code></pre> <p>I'm following along a course from Udemy and they provide the data structures. Unfortunately for me, the examples they provide are all in PHP so I kind of have to figure out a way to convert all of the code to Go which has been weird. </p> <p>Also on a second note:: How does one insert a data that matches that struct into a mongoDB collection? I tried this but it has been a failure. </p> <pre><code>err = c.Insert(&amp;Customer{"id": 1, "firstName": "Joe", "surname": "Hat", "gender": "M", "address1": "46 Pine Road", "address2": "Apartment 1613", "city": "Scarborough", "state_region": "G.T.A", "county_provine": "Ontario", "postalCode": "M1L 1N1", "country": "Canada", "acct_bal": 8.90, "status": "AAA",}) </code></pre> </div>

mongoDB 在Windows 系统里怎么配置分片

mongoDB 在Windows 系统里怎么配置分片!!!!

使用MongoDB的C驱动,将数据以分片(Gridfs)的方式存储到MongoDB数据库中?

使用MongoDB的C驱动,怎样将一个字符串以分片(Gridfs)的方式存储到MongoDB数据库中? 我可以实现将一个文档以分片的方式存储到数据中,但是对于一个字符串就不会。 mongoc_init(); mongoc_database_t *database; mongoc_collection_t *collection; const char *uristr = "mongodb://111.111.111.111:27017/"; mongoc_client_t *client =mongoc_client_new(uristr); database = mongoc_client_get_database (client, "dbTest");//获取数据库 collection = mongoc_client_get_collection (client, "dbTest",sTaskId.c_str());//获取指定数据库和集合 bson_error_t error; bson_t *doc= bson_new(); BSON_APPEND_UTF8(doc, "filename", sFileName.c_str()); BSON_APPEND_UTF8(doc, "fileinfo", m_sFileInfo.c_str()); //m_sFileInfo是一个全局变量,内含一些其他的数据 bool r = mongoc_collection_insert(collection, MONGOC_INSERT_NONE, doc, NULL, &error); if (!r) { bson_destroy(doc); return false; } bson_destroy(doc); 这是我现在使用的方式,但是因为我将m_sFileinfo存储到了一个collection中,一个collection最大为16M,而我的m_sFileinfo超过了16M,所以我想使用分片的方式存储数据。 请问怎么实现啊?

如何在插入mongodb之前在模型中设置数据类型? (Laravel-mongodb的)

<div class="post-text" itemprop="text"> <p>I get reference from here : <a href="https://github.com/jenssegers/laravel-mongodb" rel="nofollow noreferrer">https://github.com/jenssegers/laravel-mongodb</a></p> <p>I make database and collection in mongodb. I don't make document and column in mongodb. Because it will automatically make the column and data type when insert the data</p> <p>My controller, you can see this below :</p> <pre><code>public function create(array $attributes) { ... $result = User::create($attributes); ... } </code></pre> <p>My model, you can see this below :</p> <pre><code>&lt;?php ... use Jenssegers\Mongodb\Eloquent\Model as Eloquent; use Jenssegers\Mongodb\Eloquent\HybridRelations; class User extends Eloquent { use HybridRelations; use SoftDeletes; protected $connection = 'mongodb'; public $table = 'users'; protected $dates = ['deleted_at']; public $fillable = [ ... 'name', ... ]; protected $casts = [ ... 'name' =&gt; 'string', ... ]; } </code></pre> <p>When I insert data into mongodb, data type on mongodb will be automatically created based on input</p> <p>How to set the data type in the model?</p> <p>When I have an data type of data input : <code>string</code></p> <p>I can set it up to data type : <code>integer</code> in my model</p> <p>So, data type that is formed in mongodb is <code>integer</code></p> </div>

MongoDB使用docker部署和直接部署的对比?优缺点?

请教吧内大神们,MongoDB使用docker部署和直接部署的优缺点? 我们项目 现在是在考虑使用MongoDB分片集群,三台服务器,每台服务器按照官网推荐部署5个MongoDB节点:1个mongos 1个config server 1个主分片 1个副本集 1个仲裁者,想问一下这种部署方案是直接部署好还是使用docer好?最好有个两者之间详细的优劣对比?

如何选择mongodb的分片片键?

假设有一个文件上传,文件的属性有id,name,md5(文件唯一生成值),create_time,user_id,size等字段。问哪个字符设为分片的键值比较好?

插入MongoDB并存储ObjectID?

<div class="post-text" itemprop="text"> <p>So I have a problem, and a few leads on how to fix it. I need help figuring out which one will actually work, and how to execute it.</p> <p>I'm programming in GoLang and using the <code>mgo</code> package to interact with MongoDB. At a basic level, I need to insert an entry into a collection in Mongo and also have access to that entry's ObjectID.</p> <p>My first solution would be to search for the entry that matches all the data that I just inserted, but there may be duplicates. I need the EXACT entry.</p> <p>Second, I would make a field in each entry that's unique, but I don't want useless data in there and I'm also running this concurrently, which can cause problems if I'm trying to make things unique yadda yadda.</p> <p>Third, there's a <code>NewObjectID()</code> function in <code>mgo</code>, but I don't know how to ensure that it's a Unique ID.</p> <p>Is there potential in any of these leads or how else can I tackle this?</p> </div>

MongoDB千亿级别数据存储可行性讨论

应用背景:存储传感器设备采集的数据,能够支持50万台传感器。一台传感器每天产生400条数据,数据要保存五年。 一共有50W*400*365*5=3650亿条记录。 不同的传感器之间数据互不干扰,相互独立的。 也就是,一台传感器五年的数据共有400*365*5=73万条,实际进行合理拆分,这个数据量不大。 “表:equData”传感器历史数据表 * {---------------一共50W(设备数量)条。 * id :"传感器ID", * HISTORY :[ * {采集时间:“”,传感器数据1:“如温度值”,传感器数据2:“如湿度值”,...}, {采集时间:“”,传感器数据1:“如温度值”,传感器数据2:“如湿度值”,...}, …… *****一供73万条(历史数据) * ] * } 请问大概实现以上的表结构,普通的服务器(能够支持关系型数据库单表共100万记录秒查)上能否做到秒查。 查询条件为设备ID,采集时间段,分页。 -------------- 也考虑过用文件存储这些数据,有什么好的方案,请指教!

使用mgo升级到分片的MongoDB错误“完整的分片键必须在要收集的更新对象中:…”

<div class="post-text" itemprop="text"> <p>Using the <a href="http://godoc.org/labix.org/v2/mgo" rel="nofollow">Labix mgo API</a> for MongoDB, I am trying to perform an increment operation on a sharded collection. I am able to do this just fine on an unsharded collection using the usual mgo.Change struct, but when I try to do this on a sharded collection, I get the error: <code>full shard key must be in update object for collection: db_name.collection_name</code></p> <p>The original code that works on an un-sharded collection looks like this:</p> <pre><code> change := mgo.Change{ ReturnNew: true, Upsert: true, Update: bson.M{ "$setOnInsert": bson.M{ "ci": r.Ci, "dt": r.Dt, "zi": r.Zi, }, "$inc": &amp;data, }, } _, err := collection.Upsert(bson.M{"_id": id, "ci": r.Ci, "dt": r.Dt, "zi": r.Zi}, change); if err != nil { log.Println("FAILURE", err) } </code></pre> <p>However, when I switch to a sharded collection, sharded on the key <code>{ci: 1, dt: 1, zi: 1}</code> I get the error mentioned above. </p> <p>In an attempt to debug, I've tried to figure out what is going on behind the scenes with mgo, and tried to do an insert directly into the mongo terminal. </p> <pre><code>db.collection.update({ "_id" : "98364_2013-12-11", "ci" : "16326", "dt" : "2013-12-11", "zi" : "98364"}, {$setOnInsert: { "ci" : "16326", "dt" : "2013-12-11", "zi" : "98364"} , $inc: {test :1}}, { upsert: true }); </code></pre> <p>However, this got me a separate error: <code>Can't modify shard key's value. field: ci: "16326" collection: db.collection</code> This is something I think I'll have to figure out once I figure out my inital error, but it seems strange to me that its throwing this error with the $setOnInsert command since its not supposed to modify the value, just set it on the initial insert. All errors go away when I cut out the $setOnInsert portion of the command, but I need a way to make sure these values get set because they will be important in the queries I write to get the data back out.</p> <p>Back to my main problem: I did find that when I rearranged the order of the update and upsert documents when interacting with the MongoDB terminal, I got the error I'm getting when I go through mgo, so I tried to very strictly control the order of the documents being passed in the mgo.Change struct by switching to bson.D:</p> <pre><code> change := bson.D{ { "Update", bson.D{ {"$setOnInsert", bson.D{ {"_id", id}, {"ci", r.Ci}, {"dt", r.Dt}, {"zi", r.Zi}, }, }, {"$inc", &amp;data}, }, }, { "Upsert", true, }, } log.Println(change) err := collection.Update(bson.D{{"_id", id},{ "ci", r.Ci},{ "dt", r.Dt}, {"zi", r.Zi}},change); if err != nil { log.Println("FAILURE", err) } </code></pre> <p>At this point, printing the change object yields: <code>[{Update [{$setOnInsert [{_id 11635_2013-12-11} {ci 3599} {dt 2013-12-11} {zi 11635}]} {$inc 0xc21dd9d8d0}]} {Upsert true}]</code> which I believe to be exactly what I should be passing in as the change object in exactly the right order according to <a href="http://docs.mongodb.org/manual/reference/method/db.collection.update/" rel="nofollow">Mongo's documentation</a>, but I still get the same <code>full shard key must be in update object for collection: db.collection</code> error.</p> <p>I realize that using <code>collection.Find({_id: ... }).Apply(change, ...)</code> is a possible alternative and it works properly when I've used it, but in my testing on unsharded collections, I've seen way higher performance (as in ~20x faster) using the Upsert (or Update) functions and speed is absolutely a priority since I'm dealing with tens of thousands of events per second. </p> <p>I'm getting to the point where I feel like I've tried every think I can think of and would appreciate a fresh set of eyes trying to help me figure out what is happening, so any help would be appreciated.</p> </div>

mongodb 对于每分钟数据量1千万行左右的数据,怎么合理设计表、集合

## 对于数据量很大的模型如何设计优化更合理,查询速度更短: 1. 每分钟数据量在1千万行,7GB左右 2. 只有一台服务器 **当前结构:按天建数据库,按分钟建集合,查询1天的数据耗时在2s,但是查询2天耗时要6s ** ![图片说明](https://img-ask.csdn.net/upload/201905/12/1557622072_405166.png)

linux下利用/proc进行进程树的打印

在linux下利用c语言实现的进程树的打印,主要通过/proc下的目录中的进程文件,获取status中的进程信息内容,然后利用递归实现进程树的打印

设计模式(JAVA语言实现)--20种设计模式附带源码

课程亮点: 课程培训详细的笔记以及实例代码,让学员开始掌握设计模式知识点 课程内容: 工厂模式、桥接模式、组合模式、装饰器模式、外观模式、享元模式、原型模型、代理模式、单例模式、适配器模式 策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式 课程特色: 笔记设计模式,用笔记串连所有知识点,让学员从一点一滴积累,学习过程无压力 笔记标题采用关键字标识法,帮助学员更加容易记住知识点 笔记以超链接形式让知识点关联起来,形式知识体系 采用先概念后实例再应用方式,知识点深入浅出 提供授课内容笔记作为课后复习以及工作备查工具 部分图表(电脑PC端查看):

Python数据分析与挖掘

92讲视频课+16大项目实战+源码+¥800元课程礼包+讲师社群1V1答疑+社群闭门分享会=99元 &nbsp; 为什么学习数据分析? &nbsp; &nbsp; &nbsp; 人工智能、大数据时代有什么技能是可以运用在各种行业的?数据分析就是。 &nbsp; &nbsp; &nbsp; 从海量数据中获得别人看不见的信息,创业者可以通过数据分析来优化产品,营销人员可以通过数据分析改进营销策略,产品经理可以通过数据分析洞察用户习惯,金融从业者可以通过数据分析规避投资风险,程序员可以通过数据分析进一步挖掘出数据价值,它和编程一样,本质上也是一个工具,通过数据来对现实事物进行分析和识别的能力。不管你从事什么行业,掌握了数据分析能力,往往在其岗位上更有竞争力。 &nbsp;&nbsp; 本课程共包含五大模块: 一、先导篇: 通过分析数据分析师的一天,让学员了解全面了解成为一个数据分析师的所有必修功法,对数据分析师不在迷惑。 &nbsp; 二、基础篇: 围绕Python基础语法介绍、数据预处理、数据可视化以及数据分析与挖掘......这些核心技能模块展开,帮助你快速而全面的掌握和了解成为一个数据分析师的所有必修功法。 &nbsp; 三、数据采集篇: 通过网络爬虫实战解决数据分析的必经之路:数据从何来的问题,讲解常见的爬虫套路并利用三大实战帮助学员扎实数据采集能力,避免没有数据可分析的尴尬。 &nbsp; 四、分析工具篇: 讲解数据分析避不开的科学计算库Numpy、数据分析工具Pandas及常见可视化工具Matplotlib。 &nbsp; 五、算法篇: 算法是数据分析的精华,课程精选10大算法,包括分类、聚类、预测3大类型,每个算法都从原理和案例两个角度学习,让你不仅能用起来,了解原理,还能知道为什么这么做。

广工操作系统课程设计(文档+代码+可执行文件)

实现作业调度(先来先服务)、进程调度功能(时间片轮转) 实现内存管理功能(连续分配)。 实现文件系统功能(选作) 这些功能要有机地连接起来

Only老K说-爬取妹子图片(简单入门)

安装第三方请求库 requests 被网站禁止了访问 原因是我们是Python过来的 重新给一段 可能还是存在用不了,使用网页的 编写代码 上面注意看匹配内容 User-Agent:请求对象 AppleWebKit:请求内核 Chrome浏览器 //请求网页 import requests import re //正则表达式 就是去不规则的网页里面提取有规律的信息 headers = { 'User-Agent':'存放浏览器里面的' } response = requests.get

linux“开发工具三剑客”速成攻略

工欲善其事,必先利其器。Vim+Git+Makefile是Linux环境下嵌入式开发常用的工具。本专题主要面向初次接触Linux的新手,熟练掌握工作中常用的工具,在以后的学习和工作中提高效率。

Python代码实现飞机大战

文章目录经典飞机大战一.游戏设定二.我方飞机三.敌方飞机四.发射子弹五.发放补给包六.主模块 经典飞机大战 源代码以及素材资料(图片,音频)可从下面的github中下载: 飞机大战源代码以及素材资料github项目地址链接 ————————————————————————————————————————————————————————— 不知道大家有没有打过飞机,喜不喜欢打飞机。当我第一次接触这个东西的时候,我的内心是被震撼到的。第一次接触打飞机的时候作者本人是身心愉悦的,因为周边的朋友都在打飞机, 每

Python数据清洗实战入门

本次课程主要以真实的电商数据为基础,通过Python详细的介绍了数据分析中的数据清洗阶段各种技巧和方法。

2019 Python开发者日-培训

本次活动将秉承“只讲技术,拒绝空谈”的理念,邀请十余位身处一线的Python技术专家,重点围绕Web开发、自动化运维、数据分析、人工智能等技术模块,分享真实生产环境中使用Python应对IT挑战的真知灼见。此外,针对不同层次的开发者,大会还安排了深度培训实操环节,为开发者们带来更多深度实战的机会。

apache-jmeter-5.1.1(Requires Java 8+).zip

。Apache JMeter 5.1.1 (Requires Java 8+),需要jdk8以上的版本。

数通HCNP中文理论全套教材.rar

内涵HCNP-IENP中文理论书-内文,

Python可以这样学(第四季:数据分析与科学计算可视化)

董付国老师系列教材《Python程序设计(第2版)》(ISBN:9787302436515)、《Python可以这样学》(ISBN:9787302456469)配套视频,在教材基础上又增加了大量内容,通过实例讲解numpy、scipy、pandas、statistics、matplotlib等标准库和扩展库用法。

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

我以为我对Mysql事务很熟,直到我遇到了阿里面试官

太惨了,面试又被吊打

2019 AI开发者大会

2019 AI开发者大会(AI ProCon 2019)是由中国IT社区CSDN主办的AI技术与产业年度盛会。多年经验淬炼,如今蓄势待发:2019年9月6-7日,大会将有近百位中美顶尖AI专家、知名企业代表以及千余名AI开发者齐聚北京,进行技术解读和产业论证。我们不空谈口号,只谈技术,诚挚邀请AI业内人士一起共铸人工智能新篇章!

图书管理系统(Java + Mysql)我的第一个完全自己做的实训项目

图书管理系统 Java + MySQL 完整实训代码,MVC三层架构组织,包含所有用到的图片资源以及数据库文件,大三上学期实训,注释很详细,按照阿里巴巴Java编程规范编写

Python数据挖掘简易入门

&nbsp; &nbsp; &nbsp; &nbsp; 本课程为Python数据挖掘方向的入门课程,课程主要以真实数据为基础,详细介绍数据挖掘入门的流程和使用Python实现pandas与numpy在数据挖掘方向的运用,并深入学习如何运用scikit-learn调用常用的数据挖掘算法解决数据挖掘问题,为进一步深入学习数据挖掘打下扎实的基础。

C/C++学习指南全套教程

C/C++学习的全套教程,从基本语法,基本原理,到界面开发、网络开发、Linux开发、安全算法,应用尽用。由毕业于清华大学的业内人士执课,为C/C++编程爱好者的教程。

微信公众平台开发入门

本套课程的设计完全是为初学者量身打造,课程内容由浅入深,课程讲解通俗易懂,代码实现简洁清晰。通过本课程的学习,学员能够入门微信公众平台开发,能够胜任企业级的订阅号、服务号、企业号的应用开发工作。 通过本课程的学习,学员能够对微信公众平台有一个清晰的、系统性的认识。例如,公众号是什么,它有什么特点,它能做什么,怎么开发公众号。 其次,通过本课程的学习,学员能够掌握微信公众平台开发的方法、技术和应用实现。例如,开发者文档怎么看,开发环境怎么搭建,基本的消息交互如何实现,常用的方法技巧有哪些,真实应用怎么开发。

三个项目玩转深度学习(附1G源码)

从事大数据与人工智能开发与实践约十年,钱老师亲自见证了大数据行业的发展与人工智能的从冷到热。事实证明,计算机技术的发展,算力突破,海量数据,机器人技术等,开启了第四次工业革命的序章。深度学习图像分类一直是人工智能的经典任务,是智慧零售、安防、无人驾驶等机器视觉应用领域的核心技术之一,掌握图像分类技术是机器视觉学习的重中之重。针对现有线上学习的特点与实际需求,我们开发了人工智能案例实战系列课程。打造:以项目案例实践为驱动的课程学习方式,覆盖了智能零售,智慧交通等常见领域,通过基础学习、项目案例实践、社群答疑,三维立体的方式,打造最好的学习效果。

2021考研数学张宇基础30讲.pdf

张宇:博士,全国著名考研数学辅导专家,教育部“国家精品课程建设骨干教师”,全国畅销书《张宇高等数学18讲》《张宇线性代数9讲》《张宇概率论与数理统计9讲》《张宇考研数学题源探析经典1000题》《张宇考

专为程序员设计的数学课

<p> 限时福利限时福利,<span>15000+程序员的选择!</span> </p> <p> 购课后添加学习助手(微信号:csdn590),按提示消息领取编程大礼包!并获取讲师答疑服务! </p> <p> <br> </p> <p> 套餐中一共包含5门程序员必学的数学课程(共47讲) </p> <p> 课程1:《零基础入门微积分》 </p> <p> 课程2:《数理统计与概率论》 </p> <p> 课程3:《代码学习线性代数》 </p> <p> 课程4:《数据处理的最优化》 </p> <p> 课程5:《马尔可夫随机过程》 </p> <p> <br> </p> <p> 哪些人适合学习这门课程? </p> <p> 1)大学生,平时只学习了数学理论,并未接触如何应用数学解决编程问题; </p> <p> 2)对算法、数据结构掌握程度薄弱的人,数学可以让你更好的理解算法、数据结构原理及应用; </p> <p> 3)看不懂大牛代码设计思想的人,因为所有的程序设计底层逻辑都是数学; </p> <p> 4)想学习新技术,如:人工智能、机器学习、深度学习等,这门课程是你的必修课程; </p> <p> 5)想修炼更好的编程内功,在遇到问题时可以灵活的应用数学思维解决问题。 </p> <p> <br> </p> <p> 在这门「专为程序员设计的数学课」系列课中,我们保证你能收获到这些:<br> <br> <span> </span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">①价值300元编程课程大礼包</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">②应用数学优化代码的实操方法</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">③数学理论在编程实战中的应用</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">④程序员必学的5大数学知识</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">⑤人工智能领域必修数学课</span> </p> <p> <br> 备注:此课程只讲程序员所需要的数学,即使你数学基础薄弱,也能听懂,只需要初中的数学知识就足矣。<br> <br> 如何听课? </p> <p> 1、登录CSDN学院 APP 在我的课程中进行学习; </p> <p> 2、登录CSDN学院官网。 </p> <p> <br> </p> <p> 购课后如何领取免费赠送的编程大礼包和加入答疑群? </p> <p> 购课后,添加助教微信:<span> csdn590</span>,按提示领取编程大礼包,或观看付费视频的第一节内容扫码进群答疑交流! </p> <p> <img src="https://img-bss.csdn.net/201912251155398753.jpg" alt=""> </p>

DDR5_Draft_Spec_Rev05c.pdf

DDR5 spec

Java面试史上最全的JAVA专业术语面试100问 (前1-50)

前言: 说在前面, 面试题是根据一些朋友去面试提供的,再就是从网上整理了一些。 先更新50道,下一波吧后面的也更出来。 求赞求关注!! 废话也不多说,现在就来看看有哪些面试题 1、面向对象的特点有哪些? 抽象、继承、封装、多态。 2、接口和抽象类有什么联系和区别? 3、重载和重写有什么区别? 4、java有哪些基本数据类型? 5、数组有没有length()方法?String有没有length()方法? 数组没有length()方法,它有length属性。 String有length()方法。 集合求长度用

网络工程师小白入门--【思科CCNA、华为HCNA等网络工程师认证】

本课程适合CCNA或HCNA网络小白同志,高手请绕道,可以直接学习进价课程。通过本预科课程的学习,为学习网络工程师、思科CCNA、华为HCNA这些认证打下坚实的基础! 重要!思科认证2020年2月24日起,已启用新版认证和考试,包括题库都会更新,由于疫情原因,请关注官网和本地考点信息。题库网络上很容易下载到。

C/C++跨平台研发从基础到高阶实战系列套餐

一 专题从基础的C语言核心到c++ 和stl完成基础强化; 二 再到数据结构,设计模式完成专业计算机技能强化; 三 通过跨平台网络编程,linux编程,qt界面编程,mfc编程,windows编程,c++与lua联合编程来完成应用强化 四 最后通过基于ffmpeg的音视频播放器,直播推流,屏幕录像,

Python界面版学生管理系统

前不久上传了一个控制台版本的学生管理系统,这个是Python界面版学生管理系统,这个是使用pycharm开发的一个有界面的学生管理系统,基本的增删改查,里面又演示视频和完整代码,有需要的伙伴可以自行下

2019数学建模A题高压油管的压力控制 省一论文即代码

2019数学建模A题高压油管的压力控制省一完整论文即详细C++和Matlab代码,希望对同学们有所帮助

4小时玩转微信小程序——基础入门与微信支付实战

这是一个门针对零基础学员学习微信小程序开发的视频教学课程。课程采用腾讯官方文档作为教程的唯一技术资料来源。杜绝网络上质量良莠不齐的资料给学员学习带来的障碍。 视频课程按照开发工具的下载、安装、使用、程序结构、视图层、逻辑层、微信小程序等几个部分组织课程,详细讲解整个小程序的开发过程

相关热词 c#框体中的退出函数 c# 按钮透明背景 c# idl 混编出错 c#在位置0处没有任何行 c# 循环给数组插入数据 c# 多线程死锁的例子 c# 钉钉读取员工排班 c# label 不显示 c#裁剪影像 c#工作进程更新ui
立即提问