【日常问题】Github 无法显示图片问题终极解决方案

Github 无法显示图片问题终极解决方案
分类: 企业开发 发布时间: 05-06 02:18 阅读次数: 0

【Java学习笔记-并发编程】Treiber stack 详解

最近在看 Java 并发编程的相关源码。发现了一个词 —— Treiber stack。这篇文章介绍一下什么是 Treiber stack 以及其核心算法 CAS。
分类: 企业开发 发布时间: 05-06 02:18 阅读次数: 0

【Java学习笔记-并发编程】线程与任务

最近在看一些Java15的并发、线程调度以及一些实现方案的东西,虽然很多东西还是 1.5 的,但还是很有收获。
分类: 企业开发 发布时间: 05-06 02:18 阅读次数: 0

【Java学习笔记-并发编程】线程池

在上篇整理了 Java 线程与任务的概念,这篇说一说 Java 的线程池,在我们更加了解线程池的同时,也增加一些设计思路。
分类: 企业开发 发布时间: 05-06 02:18 阅读次数: 0

【Java学习笔记-并发编程】关键字 volatile 详解

最近项目中,写到了很多多线程的东西。其中有个多任务轻型阻断器的实现,牵出了 volatile 关键词的应用,顺便学习一下原理和相关的基础知识。
分类: 企业开发 发布时间: 05-06 02:18 阅读次数: 0

【日常问题】离线手动全局安装npm包

前言在做一个新目的时候要npm安装包@graphprotocol/graph-cli,但是发现科学上网也连不到库,于是就向同事要了依赖,自己研究了一下,全局手动安装了。安装前提需要安装好npm要安装的包。安装步骤查看本机npm -g的包路径npm root -g将包复制到该路径下执行命令安装包,以本例为例:npm i -g @graphprotocol/[email protected]安装成功注意一定要执行步骤三,不然执行npm list -g --dept
分类: 企业开发 发布时间: 05-06 02:18 阅读次数: 0

【合约开发工具】基于 hardhat 新建一个 Solidity 项目

安装新建 npm 项目npm init新建 hardhat 项目npm install --save-dev hardhatnpx hardhat添加 typescript支持npm install --save-dev ts-node typescriptnpm install --save-dev chai @types/node @types/mocha @types/chai添加必要项目mv hardhat.config.js hardhat.config.
分类: 企业开发 发布时间: 05-06 02:18 阅读次数: 0

【合约开发工具】使用 hardhat 在 rinkeby 部署第一个合约

前言本片介绍 hardhat 配置文件的基本编写信息与技巧。先来熟悉一下模版:简要介绍
分类: 企业开发 发布时间: 05-06 02:18 阅读次数: 0

【合约开发工具】如何使用 hardhat 在本地测试合约

前言本文介绍如何使用 hardhat 在 solidity 项目中本地测试智能合约,并介绍一些简要的写法。基本配置在本地测试与部署前,需要认识与安装一些 hardhat 的插件。
分类: 企业开发 发布时间: 05-06 02:18 阅读次数: 0

【Solidity 开发】访问可见性 - internal & private & external & public

本文按照访问可见范围由大到小,简要介绍以上4( internal、private、external、public)个关键字。
分类: 企业开发 发布时间: 05-06 02:18 阅读次数: 0

【Solidity 开发】类型转换 - address & bytes

address 类型与 bytes 互转的工具函数
分类: 企业开发 发布时间: 05-06 02:18 阅读次数: 0

【Solidity 开发】合约函数返回 struct 或 struct 数组

在solidity 0.4 时代,是不支持返回struct的。但现在solidity已经进入了0.8的版本,这个版本是支持直接返回struct与struct array的,以下为具体做法。
分类: 企业开发 发布时间: 05-06 02:18 阅读次数: 0

【合约开发工具】solidity + hardhat 在 docker 容器中运行

本文介绍使用了 hardhat 集成的 solidity 的合约如何在 docker 中运行。
分类: 企业开发 发布时间: 05-06 02:18 阅读次数: 0

【合约检测工具】使用 Slither 检测合约中的 “坏味道”

在合约开发中,重中之重是合约的安全。在开发中,我时常会疑惑,除了自己写的单元测试,还有没有别的方法可以像 sonar 一样检测 solidity 中的 “坏味道” 呢?咱们不用收费的 MythX ,可以试一试开源的 Silther。...
分类: 企业开发 发布时间: 05-06 02:17 阅读次数: 0

【合约开发工具】合约的开源与验证

前言在我们部署完合约后,可以将合约的源码上传到各链的浏览器上开源并验证,一来是方便前后端调试代码,二来是方便其他人查看合约代码。ETH 的合约建议在 Remix 进行验证;BSC 的合约建议在 Hardhat 里进行验证;OKC 的合约建议在 Explorer 里进行验证;Explorer验证在 Scan 里先注册,申请 API key 。点击浏览器上的 Verify and Publish,按配置操作。一定要注意 Compile Type 以及 编译器版本 的选择。如果 constr
分类: 企业开发 发布时间: 05-06 02:17 阅读次数: 0

侧滑菜单的简单使用

官方给我们提供的一个侧滑菜单控件,和上一节的ViewPager一样,3.0以后引入,低版本使用它,需要v4兼容包,说到侧滑,相信很多人都用过github上的SlidingMenu,不过好像有两个版本,一个是单独的,另一个需要依赖另一个开源项目:ActionBarSherlock;既然Google为我们提供了这个控件,为何不用咧,而且在Material Design设计规范中,随处可见的很多侧滑菜单的动画效果,大都可以通过Toolbar +DrawerLayout来实现。
分类: 企业开发 发布时间: 05-06 02:03 阅读次数: 0

BroadcastReceiver牛刀小试

Broadcast直译广播,我们举个形象的例子来帮我理解下BroadcastReceiver,记得以前读书的时候,每个班级都会有一个挂在墙上的大喇叭,用来广播一些通知,比如,开学要去搬书,广播:"每个班级找几个同学教务处拿书",发出这个广播后,所有同学都会在同一时刻收到这条广播通知,收到,但不是每个同学都会去搬书,一般去搬书的都是班里的"大力士",这群"大力士"接到这条广播后就会动身去把书搬回可是!嗯,上面我们都是接收系统的广播,系统发我们收,我们不能老这么被动,总得主动点是吧!下面我们就来看下怎么实现!
分类: 企业开发 发布时间: 05-06 02:03 阅读次数: 0

Socket学习网络基础

Client收到确认后,检查ack是否为J+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=K+1,并将该数据包发送给Server,Server检查ack是否为K+1,ACK是否为1,如果正确则连接建立成功,Client和Server进入ESTABLISHED状态,完成三次握手,随后Client与Server之间可以开始传输数据了。:可以理解为数据通道,主要功能是如何在不可靠的物理线路上进行数据的可靠传递,改层作用包括:物理地址寻址,数据的成帧,流量控制,数据检错以及重发等!
分类: 企业开发 发布时间: 05-06 02:03 阅读次数: 0

深入理解AQS之ReentrantReadWriteLock详解

1.ReentrantReadWriteLock介绍应用场景:读读操作不存在并发问题,读写,写写,写读场景下需要互斥,需要一把锁锁住需要的资源。针对上述场景java实现了reentrantReadWriteLock,并且在java中实现了锁降级(写锁到读锁),公平与非公平选择,可重入。设计一把锁如何实现:继承AQS,实现抽象方法tryRelease和tryAcquire方法,其他方法可以使用AQS已经封装好的。管程:synchronizedAQS:cas+同步队列(获取锁失败阻塞)
分类: 企业开发 发布时间: 05-06 02:03 阅读次数: 0

算法肝道夫之路

1.如何高效的刷算法题?五步刷题法:第一遍:尝试解决问题,解决不了背诵默写其他人的题解第二遍:快速将脑海中的题解写到leetcode上,尽量超过leetcode80%以上的人第三遍: 24小时以后重新刷第四遍: 一周以后重新刷题第五遍:面试一周或一个月前,重刷并手写代码(模拟真实环境)2. 1-002-算法时间复杂度分析常见时间复杂度O(1) 常数阶O(logn) 对数阶O(n) 线性阶O(nlogn) 线性对数阶O(n^2) 平方阶O(n^3)
分类: 企业开发 发布时间: 05-06 02:03 阅读次数: 0