首页 文章 精选 留言 我的

精选列表

搜索[磐石100],共10009篇文章
优秀的个人博客,低调大师

开源挑战 | 认出 100 个以上欢迎来 OSC 报到!

嗨,小伙伴们,我们的小程序活动已经上线啦~ 扫码立即参与游戏,看看你能认出多少个开源软件! (扫码即可参与游戏) 温馨提示: 1、活动中获得的抽奖券还可以参与抽奖哦,我们的奖品有机械键盘、鼠标、300元京东卡以及其他各类定制奖品; 2、活动排行榜前十的小伙伴,还可以获得以下排行奖励⬇️ 快来试试叭~~~

优秀的个人博客,低调大师

12 周年庆,这 100 本热门技术图书送了!

前几天是开源中国上线 12 周年的日子,除了收到来自四面八方的祝福之外,也有收到了来自合作伙伴们的礼物。 在此前AI资料包活动中备受欢迎的技术书籍在此次周年庆活动中再度出现,但图书数量有限,小编在这里就给大家介绍一下怎么能得到这些热门技术书籍~ 【攻略一】8.31-9.7期间,参与社区福袋活动,通过关注专区、发表博客、问答、入驻源创计划等方式可以随机获得兑换券,集齐兑换券即可兑换实物书籍啦~ 详细攻略点这里:12周年活动攻略 【攻略二】参与开源中国微博抽奖活动,有机会获得热门技术书籍。 微博活动传送门:点这里参与微博抽奖 接下来小编就给大家介绍一下这次周年庆活动具体都有哪些书籍👇 ——————————博文视点—————————— 《集成学习:基础与算法》 周志华 著 李楠 译 l 周志华教授专著 l 豆瓣10分满星,国内独本剖析集成学习的著作 l 森林书破解AI实践难题 《设计模式就该这样学:基于经典框架源码和真实业务场景》 谭勇德(Tom)著 l 多年“踩坑填坑”和“教学答疑”经验总结 l 独创基于经典框架源码和真实业务场景讲设计模式 l 含JDK、Spring、MyBatis、Tomcat、Netty等源码 l 让设计模式从经典应用中来再到真实实践中去真正落地 《拿下Offer:数据分析师求职面试指南》 徐麟 著 l 面试数据分析岗位需要做哪些技能储备 l 数据分析岗位的面试官又会问哪些问题 l 如何高效快速拿下数据分析岗位Offer l 答案就在这本书里 《突围算法:机器学习算法应用》 刘凡平 编著 l 统计学中的三要素是模型+策略+算法 l 对于算法,用原理+示例进行讲解 l 对于模型,用表格对比各模型优缺点+适用场景+具体案例 l 对于策略,用公式+描述+适用问题对各损失函数进行对比介绍,并辅以案例 《重来3:跳出疯狂的忙碌》 【美】Jason Fried(贾森·弗里德) 【丹】 David Heinemeier Hansson(戴维·海涅迈尔·汉森) 著 苏西 译 l 吴晓波|苏杰|范冰强力推荐 l 慢公司时代来临改变姿势跑赢新经济 l 老板|员工都要颠覆 l 刷新固有认知 《JavaScript语言精髓与编程实践(第3版)》 周爱民 著 l Hax|玉伯|winter三大前端领军人物联合作序力荐 l 超烧脑超难啃超深邃超本质的JS绿皮书传奇登场 l 混合App|Node服务端|FaaS云原生|前端智能化时代 l 回归本质重修这门基础课才能走得更远更快 《Kubernetes源码剖析》 郑东旭 著 l 掌控了Kubernetes等于掌控了云计算的未来 l 本书从源码层面剖析Kubernetes l 从架构到源码,细致入微,全面详尽 《Visual Studio Code 权威指南》 韩骏 著 l VS Code首著问世,微软官方出品,社区倾情巨献 l 面向云端开发,重构现代IDE,系统且深度地掌握易学难精的VS Code l 挖掘80%不为程序员所知的核心功能,数倍提升开发效率 《云原生模式》 【美】Cornelia Davis(科妮莉亚·戴维斯) 著 张若飞 宋净超 译 l 硅谷云黄埔军校Pivotal技术总裁力作 l 低成本运维构建自修复|分布式|弹性Web应用 l 更好地理解和掌握云原生开发 《微服务治理:体系、架构及实践》 李鑫 著 l 微服务治理首著 l 集作者多年大规模复杂系统架构经验之大成 l 以服务治理为核心讲述从线下到线上的治理体系 l 带你进入微服务深水区,让微服务架构顺畅落地 ——————————华章出版社—————————— 《Flutter实战》 “Flutter中文网”社区创始人杜文倾力撰写网红书。从0基础入门到进阶实战,详细阐述Flutter跨平台开发技术,包含大量示例、图片,并含配套示例源码,可帮助读者循序渐进地掌握Flutter开发技术带你全面了解完整的Flutter APP开发流程。 《Nginx应用与运维实战》 资深运维专家十余年经验总结,基于Nginx新版本和云原生应用场景,从应用、运维及与Kubernetes和微服务集成3个维度讲解Nginx基础知识、工作原理、核心应用、运维管理、集成扩展。以实战为导向,包含大量的配置案例和示例代码,能帮助读者快速掌握并在实际工作中熟练应用Nginx。 《阿里巴巴B2B电商算法实战》 本书是阿里巴巴CBU技术部(1688.com)深耕B2B电商15年的经验总结。阿里巴巴B2B在战略形态上经历了信息平台、交易平台和营销平台的升级迭代,本书聚焦营销平台商业形态背后的算法和技术能力,试图从技术和商业互为驱动的视角阐述技术如何赋能业务,并结合阿里巴巴集团在基础设域和算法创新上的沉淀,打造出智能B2B商业操作系统。 《互联网安全建设从0到1》 本书全面介绍企业进行互联网业务时所必备的安全技术,包含安全体系建设的方方面面,给出了作者多年亲历的案例,可供各种类型的企业建立网络安全体系时参考。 《计算机组成与设计:硬件/软件接口(原书第5版·RISC-V版)》 图灵奖得主Patterson和Hennessy共同撰写 计算机体系结构领域的经典书籍 计算机体系结构新黄金时代必读之作,理解专用软硬件协同设计,共建开源生态 《深入理解Kotlin协程》 腾讯高级工程师、Kotlin布道师、Kotlin中文社区负责人霍丙乾撰写,从工作机制、实现原理、应用场景、使用方法、实践技巧、标准库、框架、应用案例等8个维度全面讲解Kotlin协程的概念和实现。 《CTF特训营:技术详解、解题方法与竞赛技巧》 本书由国内老牌CTF战队FlappyPig撰写,战队成员曾多次荣获XCTF国际联赛冠军、TCTF/0CTF冠军、WCTF世界黑客大师挑战赛季军,多次入围Defcon全球总决赛,具有丰富的实战经验。 本书围绕CTF竞赛需要的安全技术、解题方法和竞赛技巧3个维度展开,旨在通过作者扎实的技术功底和丰富的竞赛经验,引领对CTF竞赛感兴趣的读者快速入门。书中依据CTF竞赛的特点,分别从Web、Reverse、PWN、Crypto、APK、IoT这6个方面系统地对CTF竞赛的知识点、模式、技巧进行了深入讲解,每一篇都搭配历年真题,帮助读者加深理解。 《真实世界的算法:初学者指南》 学习算法的第一本技术书。算法尽量简单,避免读者有挫败感,仅需基本数学基础和计算机常识知识。 通过真实世界需要解决的实际问题来介绍算法思想。为各领域高效运用算法提供重要指南。 《Apache SkyWalking实战》 本书由SkyWalking创始人和核心开发团队撰写,来自华为、百度、蚂蚁金服、京东数科、Tetrate.io的资深专家联袂推荐,功能使用、项目设计、核心模块、工作原理、扩展实践5个维度全面讲解SkyWalking。 《ClickHouse原理解析与应用实践》 ClickHouse官方团队研发负责人及核心者作序推荐, ClickHouse核心贡献者亲自执笔。这是一本可帮助读者深度理解并全面掌握ClickHouse运行原理并进行实践开发的工具书,涵盖了ClickHouse的时代背景、发展历程、核心概念、基础功能、运行原理、实践指导等多个维度的内容,尤其是在ClickHouse最核心的部分——MergeTree表引擎与分布式方面,书中对其实现原理和应用技巧进行了详细解读。

优秀的个人博客,低调大师

倒计时 100 天!优麒麟 20.10 发布计划!

随着优麒麟 20.04 LTS 的发布,用户和开发者们将注意力转移到了即将发布的优麒麟 20.10 上。优麒麟 20.10 是一个短期支持版本,也将是优麒麟官方发布的第 16 个版本,代号为 “Groovy Gorilla”(意为:极好的大猩猩),目前处于开发阶段,官方将提供 9 个月的支持周期,包括持续的核心bug修复、安全补丁和新的应用程序发布。 优麒麟 20.10 里程碑 优麒麟 20.10 的发布日期是 2020 年 10 月 22 日,开发周期中的其他重要里程碑包括: 发布时间表 2020/08/27 功能冻结 2020/09/03 测试周 2020/09/17 UI 冻结 2020/10/01 优麒麟 20.10 Beta 版本发布 2020/10/08 内核冻结 2020/10/05 版本冻结,候选发布 2020/10/22 优麒麟 20.10 版本发布 优麒麟 20.10 变化 Linux Kernel 5.6 优麒麟 20.10 版本将默认集成 Kernel 5.6 或以上版本。Linux Kernel 5.6 发布版中值得期待的关键更改和功能: 支持 WireGuard 支持 USB 4.0 使用 LZO/LZ4 算法压缩 F2FS 数据 解决 32 位系统的 2038 年问题 改进硬件支持 支持 MX Master 3 鼠标以及罗技其他无线产品 改进 AMD Zen 的温度/功率报告 修复华硕飞行堡垒系列笔记本中 AMD CPU 过热 支持 NVIDIA RTX 2000 图灵系列显卡 内建 FSCRYPT 加密 UKUI 3.0 正式版 优麒麟 20.04 LTS默认集成 UKUI 3.0 预览版,受到了国内外爱好者的广泛好评,我们戒骄戒躁,继续前行,将在优麒麟 20.10 版本中呈现 UKUI 3.0 正式版本。 UKUI 3.0 正式版相较于预览版本,在 UI 方面,将会有多达上百处的细节优化,以及动画效果的优化;功能方面,将会继续秉承“友好易用,简单轻松”的设计理念,提供更多贴心的操作,以及繁琐操作的简化。 麒麟自研应用 优麒麟官方针对用户使用需求,开发了几款常用应用,目前仍在积极测试和完善阶段,最终也将集成进优麒麟 20.10 正式版本中。 优麒麟 20.10 正式版本将于 2020 年 10 月 22 日与 Ubuntu 官方及其它衍生版本全球同步发布,敬请期待!

优秀的个人博客,低调大师

python爬取猫眼电影 top 100 保存到CSV

代码没含量,希望帮到入门的小白。 import requests import re,json from lxml import etree import csv class Spider(): def open_csv(self): ''' 在CSV文件的开头写一行标题 :return: ''' with open('data.csv', 'a', newline='') as f: spamwriter = csv.writer(f) spamwriter.writerow(['title', 'star', 'date', 'score']) def __get_page(self,url,headers): ''' 获取文本内容 :param url: :param headers: :return: ''' try: response = requests.get(url,headers=headers) if response.status_code == 200: return response.text else: return None except Exception: return None def __parse_page(self,html): ''' 解析HTML,并得到提取的数据 :param html: :return: ''' data = etree.HTML(html) results = data.xpath('//*[@class="board-wrapper"]/dd/div/div') for result in results: # 电影名称 电影主演 电影上映日期 评分 ws = [ result.xpath('./div[1]/p[1]/a/text()')[0], result.xpath('./div[1]/p[2]/text()')[0].strip(), result.xpath('./div[1]/p[3]/text()')[0], result.xpath('./div[2]/p/i[1]/text()')[0] + result.xpath('./div[2]/p/i[2]/text()')[0], ] #保存到CSV with open('data.csv','a',newline='') as f: writer = csv.writer(f) writer.writerow(ws) def run(self): ''' 程序运行入口 :return: ''' self.open_csv() for i in range(11): url ='http://maoyan.com/board/4?offset={}'.format(10*i) headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64)' ' AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36' } html = self.__get_page(url,headers) self.__parse_page(html) #实例化类 spider = Spider() spider.run()

优秀的个人博客,低调大师

android100 自定义内容提供者

#ContentProvider,就是来操作数据的,增删改查, * 四大组件之一 * 应用的数据库是不允许其他应用访问的 * 内容提供者的作用就是让别的应用访问到你的数据库 * 内容提供者的作用:把私有数据暴露给其他应用,通常,是把私有数据库的数据暴露给其他应用 * 短信联系人都是在数据库里面。mmssms是短信数据库, * 短信数据库有短信数据库的内容提供者,联系人数据库有联系人数据库的内容提供者。拿到对应数据库的内容提供者就能够访问对应的数据库数据。 ###短信数据库 * sms表 * body:短信内容 * date:短信时间 * address:对方号码 * type:发送还是接收 ###联系人数据库 * raw_contacts表 * contact_id:联系人id * data表:存放联系人的详细的信息,每行数据是单独的一条联系人信息 * data1:联系人的具体的信息 * raw_contact_id:该行信息属于哪个联系人 * mimetype_id:该行信息属于什么类型 * mimetypes表:mimetype_id对应的类型的字符串 ###UriMatcher * 用于判断一条uri跟指定的多条uri中的哪条匹配 * 添加匹配规则 // 指定多条uri um.addURI( " com.itheima.person ", " person " , PERSON_CODE); um.addURI( " com.itheima.person ", " company " , COMPANY_CODE); // #号可以代表任意数字 um.addURI( " com.itheima.person ", " person/# " , QUERY_ONE_PERSON_CODE); * 通过Uri匹配器可以实现操作不同的表 @Override public Uri insert(Uri uri, ContentValues values) { if(um.match(uri) == PERSON_CODE){ db.insert( " person ", null , values); } else if(um.match(uri) == COMPANY_CODE){ db.insert( " company ", null , values); } else { throw new IllegalArgumentException(); } return uri; } * 如果路径中带有数字,把数字提取出来的api int id = ( int) ContentUris.parseId(uri); 01项目的MyOpenHelper: package com.itheima.customcontentprovider; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper; public class MyOpenHelper extends SQLiteOpenHelper { public MyOpenHelper(Context context) { super(context, "people.db", null, 2); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL("create table person(_id integer primary key autoincrement, name char(10), money integer(20))"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("create table teacher(_id integer primary key autoincrement, name char(10))"); } } 01项目Test.java package com.itheima.customcontentprovider; import android.test.AndroidTestCase; public class Test extends AndroidTestCase { public void test(){ MyOpenHelper oh = new MyOpenHelper(getContext());//getContext()是获取虚礼上下文 oh.getWritableDatabase(); } } 02项目的MainActivity.java package com.itheima.visitprovider; import android.net.Uri; import android.os.Bundle; import android.app.Activity; import android.content.ContentResolver; import android.content.ContentValues; import android.database.Cursor; import android.view.Menu; import android.view.View; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void insert(View v){ //通过内容提供者把数据插入people数据库 //拿到contentResolver来访问内容提供者 ContentResolver cr = getContentResolver(); ContentValues values = new ContentValues(); values.put("name", "赵帅哥"); // values.put("money", "13000"); //url:内容提供者的主机名地址 //values:要插入的数据 cr.insert(Uri.parse("content://com.itheima.people/teacher"), values);//com.itheima.people是01项目的内容提供者的地址,teacher表示插入teacher表 } public void delete(View v){ ContentResolver cr = getContentResolver(); int i = cr.delete(Uri.parse("content://com.itheima.people"), "name = ?", new String[]{"小志"}); System.out.println(i); } public void update(View v){ ContentResolver cr = getContentResolver(); ContentValues values = new ContentValues(); values.put("name", "sb志"); int i = cr.update(Uri.parse("content://com.itheima.people"), values, "name = ?", new String[]{"大志"}); System.out.println(i); } public void select(View v){ ContentResolver cr = getContentResolver(); Cursor cursor = cr.query(Uri.parse("content://com.itheima.people/person/4"), null, null, null, null);//person表示是person表,4是用来作id的, while(cursor.moveToNext()){ String name = cursor.getString(1); String money = cursor.getString(2); System.out.println(name + ";" + money); } } } 01项目PersonProvider.java package com.itheima.customcontentprovider.provider; import com.itheima.customcontentprovider.MyOpenHelper; import android.content.ContentProvider; import android.content.ContentUris; import android.content.ContentValues; import android.content.UriMatcher; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.net.Uri; public class PersonProvider extends ContentProvider { private MyOpenHelper oh; SQLiteDatabase db; //创建uri匹配器对象 static UriMatcher um = new UriMatcher(UriMatcher.NO_MATCH); //检测其他用户传入的uri与匹配器定义好的uri中,哪条匹配 static { um.addURI("com.itheima.people", "person", 1);//content://com.itheima.people/person um.addURI("com.itheima.people", "teacher", 2);//content://com.itheima.people/teacher um.addURI("com.itheima.people", "person/#", 3);//content://com.itheima.people/person/4,#表示任何数字,*表示任何文本, } //内容提供者创建时调用 @Override public boolean onCreate() { oh = new MyOpenHelper(getContext()); db = oh.getWritableDatabase(); return false; } @Override public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { Cursor cursor = null; if(um.match(uri) == 1){ cursor = db.query("person", projection, selection, selectionArgs, null, null, sortOrder, null); } else if(um.match(uri) == 2){ cursor = db.query("teacher", projection, selection, selectionArgs, null, null, sortOrder, null); } else if(um.match(uri) == 3){ //把uri末尾携带的数字取出来 long id = ContentUris.parseId(uri); cursor = db.query("person", projection, "_id = ?", new String[]{id + ""}, null, null, sortOrder, null); } else{ throw new IllegalArgumentException("uri又有问题哟亲么么哒"); } return cursor; } @Override public String getType(Uri uri) { if(um.match(uri) == 1){ return "vnd.android.cursor.dir/person";//表示请求的是person的多条数据 } else if(um.match(uri) == 3){ return "vnd.android.cursor.item/person";//表示请求的是person的单条数据 } return null; } //此方法供其他应用调用,用于往people数据库里插数据 //values:由其他应用传入,用于封装要插入的数据 //uri:内容提供者的主机名,也就是地址 @Override public Uri insert(Uri uri, ContentValues values) { //使用uri匹配器匹配传入的uri if(um.match(uri) == 1){ db.insert("person", null, values); //发送数据改变的通知 //uri:通知发送到哪一个uri上,所有注册在这个uri上的内容观察者都可以收到这个通知 getContext().getContentResolver().notifyChange(uri, null); } else if(um.match(uri) == 2){ db.insert("teacher", null, values); getContext().getContentResolver().notifyChange(uri, null); } else{ throw new IllegalArgumentException("uri有问题哟亲么么哒"); } return uri; } @Override public int delete(Uri uri, String selection, String[] selectionArgs) { int i = db.delete("person", selection, selectionArgs); return i; } @Override public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) { int i = db.update("person", values, selection, selectionArgs); return i; } } /* 清单文件: <provider android:name="com.itheima.customcontentprovider.provider.PersonProvider" android:authorities="com.itheima.people" android:exported="true"> </provider> authorities="com.itheima.people"是一个地址,是内容提供者的地址,通过这个地址就可以访问到这个内容提供者 <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.itheima.customcontentprovider"> </instrumentation> */ 02项目就访问到了01项目的数据库。 本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/4970145.html,如需转载请自行联系原作者

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

用户登录
用户注册