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

    Rust 生态观察 | 9 月热点思考

    本文是我对这十五篇帖子的内容的延伸性思考笔记。 RustRover 发布是喜是忧? QDK 包括量子编程语言 Q#,这是一种高级 开源 编程语言,可用于将工作重点放在算法和应用程序级别以创建量子程序。 “比如:Rust异步编程的原罪是默认将其变为多线程。 9. 语义违规的问题需要更好的工具 SemVer(语义版本控制)是一个版本号命名规范,旨在使得版本号的分配和增加更加清晰和预测。 有一篇半著名的论文《对信任的思考》[66]提出了一种理论攻击,即对编译器进行修补,使其在某些进程(例如ssh服务器)中添加后门,并能够检测自身的源代码,并将这种逻辑复制到新构建的编译器中。

    1.2K30编辑于 2023-10-06
  • 来自专栏java工会

    深度思考编程的艺术

    编程是一种创造性的工作,是一门艺术。精通任何一门艺术,都需要很多的练习和领悟,所以这里提出的“智慧”,并不是号称一天瘦十斤的减肥药,它并不能代替你自己的勤奋。 有些人喜欢炫耀自己写了多少多少万行的代码,仿佛代码的数量是衡量编程水平的标准。然而,如果你总是匆匆写出代码,却从来不回头去推敲,修改和提炼,其实是不可能提高编程水平的。 如果你是这样思考的,你的代码里就会比较少出现只有一个分支的if语句,它看起来就会像这个样子: if (...) { if (...) { ... } else { ... } 有些人听说“函数式编程”是个好东西,也不理解它的真正含义,就在代码里大量使用嵌套的函数。 这样就可以保持完全的一致性,减少不必要的思考。 有人可能会说,全都打上花括号,只有一句话也打上,多碍眼啊?

    65980发布于 2018-06-15
  • 函数式编程思考

    对比可变数据:传统编程中,对象或变量的值可以随时被修改(如列表的append()、字典的update())。 编程语言中的不可变性很好实现,关键式思维的改变转变思维当使用函数式编程时,由于使用了数学抽象和不可变性的概念,我们可以引入时间的概念来帮助理解函数式编程。 这样就可以理解为函数式编程实际上就是做的思维时空的编程哲学思考:计算与物理时间的统一1. 符合相对论直觉每个状态可视为四维时空(三维空间 + 一维时间)中的一个切片。 总结:时间作为函数式编程的一等公民函数式编程通过不可变性将时间转化为可计算、可调试的维度。时间旅行调试和事件溯源的结合,使程序员能够像物理学家研究粒子轨迹一样分析程序状态变化。 随着大数据和实时系统的发展,这种将时间显性化的编程思维将变得愈发重要。

    20510编辑于 2025-07-06
  • 来自专栏颍川

    并发编程学习思考-如何学习并发编程?

    ) 什么是并发编程 并发编程领域可以抽象成三个核心问题:分工、同步和互斥 分工 从性能角度讲,我们为了提高执行一定计算机任务的效率,所以IO等待的时候不能让cpu闲着,所以我们把任务拆分交替执行,有了分时操作系统 ,也不难想到,锁是非常直接的方式(Monitor原理), 思考| 扩展 但是只用锁,势必会造成性能损耗,也违背了我们并发的本质[性能],所以如果一遇到并发问题,就直接上锁,倒也没有什么大问题,可是追求性能是人类的天性 计算机大师就在思考.能不不加锁也能实现并发.还不容易出错,于是就有了:CAS、copy-on-write等技术思想,这就是实现了「无锁」并发; 统一模型 通过思考我们发现 如果要实现一个好的并发编程, 我们需要思考和准备很多东西,如果以上这些个东西,都需要每个程序员自己去弄.然后自己保证正确性,那程序员真累死了,哪还有时间、精力创造这么多美好的应用! 于是,计算机大师又开始思考,能不能抽象出统一「模型」,可能这就有了类似于「Java内存模型」(JSR-133)这样的东西

    64710编辑于 2021-12-06
  • 来自专栏JMCui

    学习思考之《编程之美》.

    难怪之前人家说数学好的人编程起来事半功倍,写算法的过程中真是深有体会啊!感觉就像是在做大学的高数题......本博文仅用来记录自己学习算法的历程,不定时更新。参考自《编程之美》,加上些自己的理解。 * * 上面是《编程之美》的解释?

    65890发布于 2018-03-16
  • 来自专栏python3

    对python并发编程思考

    1 fetch(2) = 2 fetch(3) = 3 fetch(4) = 4 fetch(5) = 5 fetch(6) = 6 fetch(7) = 7 fetch(8) = 8 fetch(9) = 9 fetch(10) = 10 fetch(11) = 11 cost time: 6.952988862991333 再来看看加入多线程之后的效果: import time import requests 1 fetch(2) = 2 fetch(3) = 3 fetch(4) = 4 fetch(5) = 5 fetch(6) = 6 fetch(7) = 7 fetch(8) = 8 fetch(9) = 9 fetch(10) = 10 fetch(11) = 11 cost time: 1.9467740058898926 只用了近2秒的时间,如果再多加几个线程时间会更短,而不加入多线程需要接近 fetch(2) = () fetch(3) = () fetch(4) = () fetch(5) = () fetch(6) = () fetch(7) = () fetch(8) = () fetch(9)

    82410发布于 2020-01-06
  • 来自专栏编程基础

    C编程基础-基础篇 9

    struct #include <stdio.h> int main() { struct Contacts { char name[100]; int age; char mobile[12]; }; struct Contacts person1 = {"John", 30, }; printf("name: %s, age: %d, mobile: %s\n", person1.name, person1.age, p

    32331发布于 2021-02-26
  • 来自专栏JavaEdge

    精通Java事务编程(9)-总结

    事务作为抽象层,允许应用忽略DB 内部一些复杂并发问题和某些硬件、软件故障,简化应用层的处理逻辑:事务中止(transaction abort),而应用仅需重试。对复杂访问模式,事务可大大减少需要考虑的潜在错误情景数量。

    50230编辑于 2022-07-25
  • 来自专栏java一日一条

    未来编程9大猜想

    互联网变成了新一代电视,而稳定的视频流正沿着文本互动模式铺展开来,帮我们来思考。 这并不完全正确。很多人觉得网络正在解放电视机,让更多人可以坐在电脑前吃着零食观看电视节目。 当越多的人加入编程学习大军,他们就越能认识到处理协调数字、API等有多棘手。像奥巴马那样写出一行代码很简单,但上百万代码组成的完整系统却是常人难以驾驭的。 9. 指手画脚的BOSS让人抓狂 这算不上是展望,因为他们已经做到了——这些上司们在速成班里学了点编程,就觉得自己成了行家,程序员于是就这样“被帮助”了。 “你要用一个变量吗?”

    1.1K20发布于 2018-09-18
  • 来自专栏互联网技术分享

    Java并发编程的总结和思考

    Java语言从第一版本开始内置了对多线程的支持,这一点在当年是非常了不起的,但是当我们对并发编程有了更深刻的认识和更多的实践后,实现并发编程就有了更多的方案和更好的选择。 本文是对并发编程的一点总结和思考,同时也分享了Java 5以后的版本中如何编写并发代码的一点点经验。 的第20年:从Java版本演进看编程技术的发展》),但是我们必须要感谢Doug Lea在Java 5中提供了他里程碑式的杰作java.util.concurrent包,它的出现让Java的并发编程有了更多的选择和更好的工作方式 哲学家的生活中有两种交替活动时段:即吃饭和思考。当一个哲学家觉得饿了时,他就试图分两次去取其左边和右边的叉子,每次拿一把,但不分次序。 如果成功地得到了两把叉子,就开始吃饭,吃完后放下叉子继续思考。   把上面问题中的哲学家换成线程,把叉子换成竞争的临界资源,上面的问题就是线程竞争资源的问题。

    43800发布于 2021-04-03
  • 来自专栏方亮

    从0开始搭建编程框架——思考

    当一个东西火起来之后,人们就开始思考它是否“放之四海而皆准”。我们在网上看到很多关于golang好不好的争论,个人觉得“只有适不适合”,而不存在“好不好”的问题。         为了让此系列文章有继续写下去的意义,我假设当前的场景是: 团队成员只有PHP语言基础和经验 团队成员对C/C++了解仅限于大学教程,其他语言不会 团队成员对多线程编程不了解,对操作系统了解很少 项目需要在半个月内完成 很显然,希望突击培训成员的C/C++、多线程编程和操作系统基础是不太可能的。 这个时候可能就需要我们设计一套易于使用的编程框架。它应该 把各种复杂的问题封装起来,让使用者对其无感。 可以将复杂的问题化简为团队成员经常面对的问题。         让我们的成员熟悉多线程编程?不现实,很多写了很多年的老手也经常在线程同步上栽跟头。         编写一个线程池?不太好,虽然避开了线程管理的问题,但是还是保留了线程的概念。

    80110发布于 2019-01-16
  • 来自专栏编程基础

    Go编程基础-基础篇 9

    Go 语言中只有值传递,没有引用传递,想要指针作为参数传入函数中,只能传递地址进入函数进行修改

    34811发布于 2021-03-02
  • 来自专栏极客起源

    Python编程思想(9):条件语句(if)

    在使用Python语言时要注意,Python语言中的所有语句(包括条件、循环等)都使用缩进来标记代码块,而大多数编程语言都是用一对花括号来标记代码块。 File "/Python编程思想/04-控制流程/if没有冒号.py", line 13 if name == "Bill" ^ SyntaxError print("这是我们的CEO") print("CEO正在开会,一个小时后才能见记者") else: pass # 代码块中没有任何语句时,必须用pass 往期回顾: Python编程思想 (1):Python简介与开发环境搭建 Python编程思想(2):Python主要特性、命名规则与代码缩进 Python编程思想(3):数字及其相关运算 Python编程思想(4):字符串类型 Python 编程思想(5):列表与元组的基础知识 Python编程思想(6):格式化字符串 Python编程思想(7):列表的增删改操作 Python编程思想(8):使用字典

    1K20发布于 2020-05-26
  • 来自专栏CSDNToQQCode

    Python编程专属骚技巧9

      print(testSet) print(testDict)   #set([0, 2, 4, 6, 8, 10, 12, 14, 16, 18]) #{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}

    28350编辑于 2022-11-29
  • 来自专栏ccf19881030的博客

    9章 Java高级编程

    9章 Java高级编程   学习导读   本章将介绍Java语言中的一些高级特性:异常处理、多线程机制、流式IO以及网络通信,其中每个部分都能扩展成一个专题。 Exception:其他编程错误等一般性问题。一般所说的异常都指Exception及其子类。   Exception也有自己的方法和属性。 前者是一种设计和实现时的问题,如数组越界等,这种异常可以通过编程避免。   后者是在程序运行过程中由环境原因造成的异常。    9.4 Java网络通信   传统的网络编程是一项非常细节化的工作,程序员必须处理和网络有关的大量细节,如各种协议,甚至要理解网络相关的硬件知识。 而Java则将底层的网络通信细节予以屏蔽,使得使用的编程模型是一个文件模型,也就是说,可以象操作流一样来操作网络数据传输。

    95420发布于 2019-04-29
  • 来自专栏猫头虎博客专区

    JDK9新特性:Java9编程革新之旅

    这篇博客是为所有Java猎人准备的,不论是初探Java森林的小猫还是在编程世界里游走多年的老虎。我将提供详尽的知识点讲解、丰富的代码示例和详细的操作指南,确保每位猎人都能轻松理解Java 9的精髓。 关键词:Java 9, 模块系统, JShell, 流API, 编程新特性, Java开发。 引言 2017年,Java 9如一只矫健的黑豹闯入了Java世界,带来了许多革新性的特性。 我是猫头虎博主,我将引领各位猎人深入这片新兴的编程丛林,发现Java 9如何提升我们的编程技巧和代码效率。准备好你的编程装备,让我们开始这场令人激动的探险吧! JShell,全称Java Shell,是Java 9引入的交互式编程环境,属于REPL(Read-Eval-Print Loop,读取-求值-输出循环)工具的一种。 Java 9带来的这些新特性,无疑为我们的编程旅程注入了新的活力和乐趣。

    38610编辑于 2024-04-07
  • 来自专栏我爱编程

    Day9面向对象编程22

    self.x = 9 ... def power(self): ... True >>> obj.x 9 >>> hasattr(obj, 'y') # 有属性'y'吗?

    83740发布于 2018-04-26
  • 来自专栏微信公众号:Java团长

    关于Java并发编程的总结和思考

    Java语言从第一版本开始内置了对多线程的支持,这一点在当年是非常了不起的,但是当我们对并发编程有了更深刻的认识和更多的实践后,实现并发编程就有了更多的方案和更好的选择。 本文是对并发编程的一点总结和思考,同时也分享了Java 5以后的版本中如何编写并发代码的一点点经验。 为什么需要并发 并发其实是一种解耦合的策略,它帮助我们把做什么(目标)和什么时候做(时机)分开。 的第20年:从Java版本演进看编程技术的发展》),但是我们必须要感谢Doug Lea在Java 5中提供了他里程碑式的杰作java.util.concurrent包,它的出现让Java的并发编程有了更多的选择和更好的工作方式 实现中的并发编程模型很多都依赖队列来实现,因为它可以在线程之间传递工作单元。 哲学家的生活中有两种交替活动时段:即吃饭和思考。当一个哲学家觉得饿了时,他就试图分两次去取其左边和右边的叉子,每次拿一把,但不分次序。如果成功地得到了两把叉子,就开始吃饭,吃完后放下叉子继续思考

    66420发布于 2018-08-07
  • 来自专栏锅总

    思考如何学习一门编程语言?

    一、什么是编程语言 编程语言是一种用于编写计算机程序的人工语言。通过编程语言,程序员可以向计算机发出指令,控制计算机执行各种任务和操作。 编程语言由一组语法规则和语义规则组成,这些规则定义了如何编写代码以及代码的含义。 编程语言的基本组成部分 语法 (Syntax): 语法是编程语言的规则集合,定义了如何正确地编写代码。 9. C# 特点: 面向对象,丰富的类库,主要用于微软生态系统。 应用领域: Windows应用开发: 使用.NET框架和Windows Forms/WPF。 游戏开发: 使用Unity引擎。 参与编程竞赛 参加Codeforces、TopCoder等编程竞赛,提高算法和编程能力。 参与社区和讨论 加入编程社区:参与编程相关的论坛、讨论组和社区,交流经验和获取建议。 参加技术会议:参加技术会议和研讨会,了解最新的技术趋势和最佳实践。 9.

    52910编辑于 2024-07-04
  • 来自专栏二进制文集

    对 Kotlin 与 Java 编程语言的思考

    编程语言整体排名 TIOBE Index for November 2018 ? 从长远来看,排名前10的也基本上是Java、C、C++、Python、C#、VB、PHP、JavaScript。 至于Kotlin的排名,11月份在编程语言仅排41名,Ratings仅有0.216%。 ? 曾看到一个理论是说,看一个事物还能存在多久,首先要看看它已经存在了多久。 如果一门编程语言已经存在了20年,那么它在20年后也不会消失。像C、VB这样的语言,至今仍然能够在编程语言排行榜中占据非常重要的位置。 使用何种编程语言 总的来说,Java号称是C++ --,Kotlin就像是Java++。Kotlin没有像Java一样的历史包袱,设计之初就是为了解决Java的痛点。 如果单单是使用编程语言开发的话,充分利用好一门编程语言和IDE就足够了。

    1.1K40发布于 2018-12-14
领券