- 《区块链公链数据分析简易速速上手小册》第2章:数据获取基础(2024 最新版)
江帅帅
区块链数据分析数据挖掘人工智能大数据python机器学习
文章目录2.1访问区块链数据2.1.1基础知识2.1.2重点案例:使用Python查询比特币交易记录2.1.3拓展案例1:使用Web3.py读取以太坊智能合约状态示例智能合约(Solidity)Python脚本读取智能合约状态结论2.1.4拓展案例2:直接通过比特币节点获取数据安装依赖Python脚本:查询区块信息结论2.2使用API获取数据2.2.1基础知识2.2.2重点案例:查询以太坊地址余额
- 一次智能合约部署引发的思考
唠嗑008
前言最近在做钱包和交易的一些事情,前些天在部署以太坊智能合约的时候,遇到一个问题,最终折腾了许久,问题解决了,并且引发了我的一些思考,特此和大家分享交流一下。我遇到的问题通常在dapp开发过程中,我们会把合约部署到ETH测试网络中,通常的选择有2种,Ropsten和Rinkeby。第一次部署的时候,我是把合约部署到了Ropsten,按理说只要部署合约时需要的Gas费用合适了(一般设置为8Gwei即
- Solidity陷阱:以太坊的随机数生成
编程狂魔
Solidity是一种相当新的语言,因为没有代码是完美的,它包含与代码相关的问题以及你希望用它完成的任务。本文将指导你使用随机数作为以太坊智能合约的输入时的最佳实践和陷阱。Solidity随机数生成Solidity无法创建随机数。实际上,每个创建随机数的算法都是伪随机的——没有语言能够创建完全随机的数字。Solidity的问题在于复杂的算法成本太高,因此使用了更基本的解决方案。除此之外,Solid
- 以太车新手指南
撸币玩家
最近有个比比玩客猴、撸猫撸狗还火的游戏,但是因为是全部基于以太坊网络,据说是国内第一个全部基于以太坊智能合约的。很多新手要教程,这里简单写写。1、登录官网http://www.etherracing.com选择“选购新车”2、查看车的属性当前价格是指现在买车所需要的钱,单份收益是指每当有新玩家购买同样的车,你可以收到的分红金额,建议的购买价格,不要改,多出的钱会退回到你的余额,但是如果有很多人过来
- 不扯代码——白话以太坊智能合约编程能干啥
一个大于号
0想要了解以太坊智能合约开发,cryptozombies(加密僵尸)是个很不错的学习网站。即使没有编程功底的人也可以很方便的学习智能合约,因为这里的教学方法很科学很神奇。1这个网站的每一个知识点的教学思路都是:1.循序渐进地向用户讲解一个知识点。2.根据这个知识点设计一个题目,让用户去完成。3.用户提交代码,如果不成功再根据正确答案修改自己的代码,直至提交成功。这是一种非常科学的“学习—>实践—>
- 理解以太坊事件与日志
Ashton
想看明白我在写什么,你最好对以太坊智能合约有基本的了解。0x01什么是事件事件是以太坊提供的一种链内链外沟通的一种机制。通过触发事件,智能合约可以通知链外组件某个交易完成了什么事儿。下面是一个ERC20合约里常见的Transfer事件定义,通过event关键字表明这是一个事件定义声明。eventTransfer(addressindexedfrom,addressindexedto,uint256
- 智能合约安全之Solidity重入攻击漏洞的深入理解
码说AI
区块链技术VIP智能合约安全区块链重入攻击
漏洞原理以太坊智能合约的特点之一是能够调用和使用其他外部合约的代码。这些合约通常会操作以太币,经常将以太发送到各种外部用户地址。这种调用外部合约或向外部地址发送以太币的操作,需要合约提交外部调用。这些外部调用可能被攻击者劫持,比如,通过一个回退函数,强迫合约执行进一步的代码,包括对自身的调用。这样代码可以重复进入合约,这就是“重入”(Re-Entrancy)的来源。著名的DAO黑客攻击事件中就是利
- 区块链100讲:以太坊智能合约solidity如何节省GAS费?
weixin_34124939
区块链运维
1摘要在以太坊上,代码即法律,交易即金钱。每一笔智能合约的运行,都要根据复杂度消耗一笔GAS费(ETH)。那么,智能合约solidity语言的编写,不仅要考虑安全,也要考虑语言的优化,以便高效便宜了。本文将从以下一些方面分析如何节约GAS的编程总结:1)如何在REMIX编译器上分析GAS/GASLIMIT等信息2)如何优化节省GAS费用的方法创建合约优化存储优化变量排序优化交易输入数据优化转账优化
- 智能合约开发(1)
嵌入式填坑指南
智能合约区块链
准备:注册智能合约在线开发平台,用于solidity语言的智能合约开发。在浏览器上安装metamask钱包插件,并注册账号以太坊智能合约平台地址:https://remix.ethereum.org4小时速成solidity开发教程https://www.youtube.com/watch?v=AYpftDFiIgk基础知识:智能合约和python一样,也可以导入库,以下是一些常用的智能合约库,E
- 以太坊智能合约升级策略
编程狂魔
本文是对以太坊中可升级智能合约领域的各种实现策略的总结,目的是汇总迄今为止的相关资源,以帮助我们在设计智能合约时,考虑如何对其进行升级和更新。100%可升级机制目前有两种主要策略用来实现可升级的智能合约:使用代理合约将逻辑和数据分离成不同的合约。这两种方法要解决的根本问题是如何更新合同的逻辑,同时仍然保留对合同状态的访问。代理合约代理合约使用delegatecall操作码将函数调用转发到可更新的目
- 以太坊字节码,操作码,ABI学习
Emmanuel_scb
以太坊学习学习区块链jvm
EthereumContractABI&EVMBytecode本文主要介绍以太坊智能合约ABI和EVM字节码以太坊采用EVM(EthereumVirtualMachine)作为系统的核心,将solidity编写的智能合约代码编译成EVM字节码和合约ABI,运行对应的智能合约。本文主要内容:理解什么是智能合约ABI和EVM字节码,以及它们之间的关系如何使用‘solc’命令行生成合约ABI和EVM字节
- Hardhat简明教程【以太坊开发框架】
Hacker_2020
前端node.js
Hardhat是一个便于在以太坊上进行构建的开发环境。它帮助开发人员管理和自动化构建智能合约和dApp的过程中固有的重复任务,以及轻松地围绕此工作流程引入更多功能,并且内置了开发专用以太坊网络,这意味着从根本上进行编译和测试。本教程涵盖从Hardhat开发环境配置到以太坊智能合约部署的完整流程,适合正在准备从头开始快速构建以太坊项目的开发者。用自己熟悉的语言学习以太坊DApp开发:Java|Php
- 使用hardhat 开发以太坊智能合约-发布合约
外柏叁布道者
#区块链/Web3.0智能合约区块链web3
Web3工具网站【点我访问】现已上线,欢迎使用,如有好的意见和建议也欢迎反馈。本系列课程:第一节:使用hardhat开发以太坊智能合约-搭建环境第二节:使用hardhat开发以太坊智能合约-测试合约第三节:使用hardhat开发以太坊智能合约-发布合约第四节:使用hardhat开发以太坊智能合约-验证合约通过我们前面两节课程的学习,我们掌握了hardhat开发环境的基本搭建流程以及合约的测试方法,
- 使用hardhat 开发以太坊智能合约-搭建环境
外柏叁布道者
#区块链/Web3.0智能合约区块链web3solidity
Web3工具网站【点我访问】现已上线,欢迎使用,如有好的意见和建议也欢迎反馈。本系列课程:第一节:使用hardhat开发以太坊智能合约-搭建环境第二节:使用hardhat开发以太坊智能合约-测试合约第三节:使用hardhat开发以太坊智能合约-发布合约第四节:使用hardhat开发以太坊智能合约-验证合约在我们实际开发智能合约的时候,以往的开发一般都是使用remix在线编译器,它的好处是即开即用,
- Hardhat以太坊智能合约开发框架基础教程
IT_浩哥
以太坊Hardhat智能合约1024程序员节
一、Hardhat框架介绍Hardhat是一个基于javascript和solidity的开发框架。可实现编译、部署、测试、开源和调试以太坊应用的开发环境。Hardhat是一个围绕任务和插件的概念设计的;Hardhat的大部分功能来自插件。Chain区块链开发群593674370二、Hardhat框架优点1、Hardhat拥有大量插件,并允许自定义、灵活性和可扩展性。2、Hardhat运行同时使用
- 1-完全理解以太坊智能合约
Andy.88666
区块链智能合约智能合约区块链
了解区块链区块链技术的核心概念是分布式账本,它是许多参与者共享的特定类型的数据库。这个特殊的数据库只是一个交易列表,记录着网络中发生的每笔交易。每个人都可以拥有自己的交易列表备份,再加上强有力的货币激励措施消除各方之间信任成本。使用区块链,可以把信任放在一个网络中,不在需要第三方,它通过强有力的激励去规避作弊行为(简而言之:遵循规则更有利可图)。智能合约以太坊与比特币很大的不同是以太坊拥有智能合约
- 某60区块链安全之Create2实战一学习记录
GuiltyFet
区块链安全学习
区块链安全文章目录区块链安全Create2实战一实验目的实验环境实验工具实验原理实验内容Create2实战一实验步骤分析合约源代码漏洞Create2实战一实验目的学会使用python3的web3模块学会分析以太坊智能合约Create2引发的漏洞及其利用找到合约漏洞进行分析并形成利用实验环境Ubuntu18.04操作机实验工具python3实验原理君士坦丁堡硬升级中引入了一个新操作码CREATE2,
- 某60区块链安全之Create2实战二学习记录
GuiltyFet
区块链安全学习
区块链安全文章目录区块链安全Create2实战二实验目的实验环境实验工具实验原理实验内容Create2实战二实验步骤Create2实战二实验目的学会使用python3的web3模块学会分析以太坊智能合约中的伪随机数问题学会利用Create2可在同一地址部署不同合约特性解决伪随机数问题找到合约漏洞进行分析并形成利用实验环境Ubuntu18.04操作机实验工具python3实验原理君士坦丁堡硬升级中引
- 某60区块链安全之Storage任意地址写实战学习记录
GuiltyFet
区块链安全学习
区块链安全文章目录区块链安全Storage任意地址写实战实验目的实验环境实验工具实验原理实验内容Storage任意地址写实战实验步骤分析合约源代码漏洞EXP利用Storage任意地址写实战实验目的学会使用python3的web3模块学会分析以太坊智能合约中的Storage变量存储问题找到合约漏洞进行分析并形成利用实验环境Ubuntu18.04操作机实验工具python3实验原理EVM中,有三个地方
- 某60区块链安全之JOP实战一学习记录
GuiltyFet
区块链安全学习
区块链安全文章目录区块链安全JumpOrientedProgramming实战一实验目的实验环境实验工具实验原理实验内容JumpOrientedProgramming实战一实验步骤分析合约源代码漏洞JumpOrientedProgramming实战一实验目的学会使用python3的web3模块学会分析以太坊智能合约中中JumpOrientedProgramming(JOP)问题深刻理解EVM字节码
- 某60区块链安全之未初始化的存储指针实战二学习记录
GuiltyFet
区块链安全学习
系列文章目录文章目录系列文章目录未初始化的存储指针实战二实验目的实验环境实验工具实验原理实验内容实验过程EXP利用未初始化的存储指针实战二实验目的学会使用python3的web3模块学会分析以太坊智能合约未初始化的存储指针漏洞找到合约漏洞进行分析并形成利用实验环境Ubuntu18.04操作机实验工具python3实验原理在solidity语言中,像动态的数组、struct、mapping这样的复杂
- 某60区块链安全之薅羊毛攻击实战一学习记录
GuiltyFet
区块链安全学习
区块链安全文章目录区块链安全薅羊毛攻击实战一实验目的实验环境实验工具实验原理实验内容薅羊毛攻击实战一实验步骤EXP利用薅羊毛攻击实战一实验目的学会使用python3的web3模块学会分析以太坊智能合约薅羊毛攻击漏洞找到合约漏洞进行分析并形成利用实验环境Ubuntu18.04操作机实验工具python3实验原理薅羊毛攻击指使用多个不同的新账户来调用空投函数获得空投币并转账至攻击者账户以达到财富累计的
- python jsonrpc_Python通过JSON-RPC请求对以太坊智能合约进行部署和交易
weixin_39700548
pythonjsonrpc
本文探讨了如何将JSON-RPC请求发送到Geth节点以创建原生的交易。目标是在使用高级库(如web3py或web3js)时了解并查看后台发生的情况。另外,对处理错误和异常不是本文的重点。如果出现任何问题,它将只是显示失败。这篇文章主要是学习。对于生产环境,还是考虑使用web3.py。我们将仅使用HTTP请求在私有链上使用智能合约部署和交互(调用函数和读取公共变量)。交易是离线签名的,然后才发送到
- Mac上以太坊Geth环境安装
IT锟
图片来源网络前言Geth是在以太坊智能合约开发中必备开发工具。待安装系统环境系统:macOS10.13.2依赖:1、go语言开发环境2、brew如何安装go语言环境这里不做赘述Mac默认已经装好了brew环境安装以太坊Geth环境客户端brewtapethereum/ethereumbrewinstallethereum显示如上图所示就代表安装完成了。此时我们可以通过geth-h来验证是否安装成功
- 使用Go与以太坊智能合约交互
编程狂魔
尽管最近遇到了些麻烦,但以太坊仍然是区块链领域内智能合约的最大参与者,这似乎不会很快改变。在我看来,技术本身具有很大的潜力,是从学术的角度看很有意思,但正如上面提到的问题和之前的许多问题是区块链技术方面的,智能合约,特别是具有Solidity的以太坊生态系统还是不太成熟的,并没有为prime-time和生产用例做好准备。然而,这是一个学习和了解这项技术的好时机,并且当它达到严格应用程序的可接受成熟
- 以太坊智能合约安全漏洞之整数溢出漏洞的原理与解决方法
StevenX5
区块链以太坊智能合约区块链
漏洞原理以太坊虚拟机(EVM)为整数指定固定大小的数据类型。这意味着一个整数变量,只能表示一定范围的数字。例如uint8只能存储[0,255]范围内的数字。尝试将256存储到uint8将导致0。如果不小心,用户输入未被检查,并且执行的计算结果超出了存储它们的数据类型的范围,那么Solidity中的变量可能会被利用。整数溢出漏洞有上溢和下溢两种情形。上溢整数上溢是指数字的增量超过其能存储的最大值。如
- windows Ganache 是啥
宇文仲竹
区块链
gpt:Ganache是一个用于以太坊(Ethereum)区块链开发的本地区块链环境。它是一个轻量级的区块链模拟器,旨在简化以太坊智能合约和去中心化应用(DApp)的开发和测试过程。以下是Ganache的一些主要特点和用途:1.**本地区块链环境:**Ganache提供了一个在本地运行的以太坊区块链,用于开发和测试目的。这个本地区块链是轻量级的,可以在你的开发机器上启动。2.**快速启动:**Ga
- Polygon zkEVM zkProver基本设计原则 以及 Storage状态机
mutourend
zkVMzkVM
1.zkProver基本设计原则PolygonzkEVM采用状态机模型来模拟EVM(EthereumVirtualMachine),从而提供与以太坊相同的用户体验,并支持部署运行相同的以太坊智能合约。PolygonzkEVMzkRollup扩容策略在于:开发zkProver,输入abatchofmanytransactions,证明该batch内所有交易的有效性,然后仅发布最小化size的vali
- 【区块链技术开发】十个比较流行的以太坊智能合约开发框架
源代码杀手
区块链技术开发区块链智能合约人工智能
专栏:【区块链技术开发】前期文章:【区块链技术开发】剖析区块链Ganache模拟器工具及其智能合约部署区块链的查询方式【区块链技术开发】基于Web3.js以太坊网络上的智能合约的交互及其应用【区块链技术开发】OpenZeppelin智能合约库:提高智能合约的安全性和可靠性,加速去中心化应用DApp的开发与部署【区块链技术开发】使用Infura连接以太坊节点和OpenZeppelin库来构建安全、可
- Geth在以太坊智能合约开发中最常用的工具(必备开发工具)
fing_com
区块链
命令用法geth[选项]命令[命令选项][参数…]版本:1.7.3-stable命令:account管理账户attach启动交互式JavaScript环境(连接到节点)bug上报bugIssuesconsole启动交互式JavaScript环境copydb从文件夹创建本地链dumpDump(分析)一个特定的块存储dumpconfig显示配置值export导出区块链到文件import导入一个区块链文
- VMware Workstation 11 或者 VMware Player 7安装MAC OS X 10.10 Yosemite
iwindyforest
vmwaremac os10.10workstationplayer
最近尝试了下VMware下安装MacOS 系统,
安装过程中发现网上可供参考的文章都是VMware Workstation 10以下, MacOS X 10.9以下的文章,
只能提供大概的思路, 但是实际安装起来由于版本问题, 走了不少弯路, 所以我尝试写以下总结, 希望能给有兴趣安装OSX的人提供一点帮助。
写在前面的话:
其实安装好后发现, 由于我的th
- 关于《基于模型驱动的B/S在线开发平台》源代码开源的疑虑?
deathwknight
JavaScriptjava框架
本人从学习Java开发到现在已有10年整,从一个要自学 java买成javascript的小菜鸟,成长为只会java和javascript语言的老菜鸟(个人邮箱:
[email protected])
一路走来,跌跌撞撞。用自己的三年多业余时间,瞎搞一个小东西(基于模型驱动的B/S在线开发平台,非MVC框架、非代码生成)。希望与大家一起分享,同时有许些疑虑,希望有人可以交流下
平台
- 如何把maven项目转成web项目
Kai_Ge
mavenMyEclipse
创建Web工程,使用eclipse ee创建maven web工程 1.右键项目,选择Project Facets,点击Convert to faceted from 2.更改Dynamic Web Module的Version为2.5.(3.0为Java7的,Tomcat6不支持). 如果提示错误,可能需要在Java Compiler设置Compiler compl
- 主管???
Array_06
工作
转载:http://www.blogjava.net/fastzch/archive/2010/11/25/339054.html
很久以前跟同事参加的培训,同事整理得很详细,必须得转!
前段时间,公司有组织中高阶主管及其培养干部进行了为期三天的管理训练培训。三天的课程下来,虽然内容较多,因对老师三天来的课程内容深有感触,故借着整理学习心得的机会,将三天来的培训课程做了一个
- python内置函数大全
2002wmj
python
最近一直在看python的document,打算在基础方面重点看一下python的keyword、Build-in Function、Build-in Constants、Build-in Types、Build-in Exception这四个方面,其实在看的时候发现整个《The Python Standard Library》章节都是很不错的,其中描述了很多不错的主题。先把Build-in Fu
- JSP页面通过JQUERY合并行
357029540
JavaScriptjquery
在写程序的过程中我们难免会遇到在页面上合并单元行的情况,如图所示
如果对于会的同学可能很简单,但是对没有思路的同学来说还是比较麻烦的,提供一下用JQUERY实现的参考代码
function mergeCell(){
var trs = $("#table tr");
&nb
- Java基础
冰天百华
java基础
学习函数式编程
package base;
import java.text.DecimalFormat;
public class Main {
public static void main(String[] args) {
// Integer a = 4;
// Double aa = (double)a / 100000;
// Decimal
- unix时间戳相互转换
adminjun
转换unix时间戳
如何在不同编程语言中获取现在的Unix时间戳(Unix timestamp)? Java time JavaScript Math.round(new Date().getTime()/1000)
getTime()返回数值的单位是毫秒 Microsoft .NET / C# epoch = (DateTime.Now.ToUniversalTime().Ticks - 62135
- 作为一个合格程序员该做的事
aijuans
程序员
作为一个合格程序员每天该做的事 1、总结自己一天任务的完成情况 最好的方式是写工作日志,把自己今天完成了什么事情,遇见了什么问题都记录下来,日后翻看好处多多
2、考虑自己明天应该做的主要工作 把明天要做的事情列出来,并按照优先级排列,第二天应该把自己效率最高的时间分配给最重要的工作
3、考虑自己一天工作中失误的地方,并想出避免下一次再犯的方法 出错不要紧,最重
- 由html5视频播放引发的总结
ayaoxinchao
html5视频video
前言
项目中存在视频播放的功能,前期设计是以flash播放器播放视频的。但是现在由于需要兼容苹果的设备,必须采用html5的方式来播放视频。我就出于兴趣对html5播放视频做了简单的了解,不了解不知道,水真是很深。本文所记录的知识一些浅尝辄止的知识,说起来很惭愧。
视频结构
本该直接介绍html5的<video>的,但鉴于本人对视频
- 解决httpclient访问自签名https报javax.net.ssl.SSLHandshakeException: sun.security.validat
bewithme
httpclient
如果你构建了一个https协议的站点,而此站点的安全证书并不是合法的第三方证书颁发机构所签发,那么你用httpclient去访问此站点会报如下错误
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path bu
- Jedis连接池的入门级使用
bijian1013
redisredis数据库jedis
Jedis连接池操作步骤如下:
a.获取Jedis实例需要从JedisPool中获取;
b.用完Jedis实例需要返还给JedisPool;
c.如果Jedis在使用过程中出错,则也需要还给JedisPool;
packag
- 变与不变
bingyingao
不变变亲情永恒
变与不变
周末骑车转到了五年前租住的小区,曾经最爱吃的西北面馆、江西水饺、手工拉面早已不在,
各种店铺都换了好几茬,这些是变的。
三年前还很流行的一款手机在今天看起来已经落后的不像样子。
三年前还运行的好好的一家公司,今天也已经不复存在。
一座座高楼拔地而起,
- 【Scala十】Scala核心四:集合框架之List
bit1129
scala
Spark的RDD作为一个分布式不可变的数据集合,它提供的转换操作,很多是借鉴于Scala的集合框架提供的一些函数,因此,有必要对Scala的集合进行详细的了解
1. 泛型集合都是协变的,对于List而言,如果B是A的子类,那么List[B]也是List[A]的子类,即可以把List[B]的实例赋值给List[A]变量
2. 给变量赋值(注意val关键字,a,b
- Nested Functions in C
bookjovi
cclosure
Nested Functions 又称closure,属于functional language中的概念,一直以为C中是不支持closure的,现在看来我错了,不过C标准中是不支持的,而GCC支持。
既然GCC支持了closure,那么 lexical scoping自然也支持了,同时在C中label也是可以在nested functions中自由跳转的
- Java-Collections Framework学习与总结-WeakHashMap
BrokenDreams
Collections
总结这个类之前,首先看一下Java引用的相关知识。Java的引用分为四种:强引用、软引用、弱引用和虚引用。
强引用:就是常见的代码中的引用,如Object o = new Object();存在强引用的对象不会被垃圾收集
- 读《研磨设计模式》-代码笔记-解释器模式-Interpret
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
package design.pattern;
/*
* 解释器(Interpreter)模式的意图是可以按照自己定义的组合规则集合来组合可执行对象
*
* 代码示例实现XML里面1.读取单个元素的值 2.读取单个属性的值
* 多
- After Effects操作&快捷键
cherishLC
After Effects
1、快捷键官方文档
中文版:https://helpx.adobe.com/cn/after-effects/using/keyboard-shortcuts-reference.html
英文版:https://helpx.adobe.com/after-effects/using/keyboard-shortcuts-reference.html
2、常用快捷键
- Maven 常用命令
crabdave
maven
Maven 常用命令
mvn archetype:generate
mvn install
mvn clean
mvn clean complie
mvn clean test
mvn clean install
mvn clean package
mvn test
mvn package
mvn site
mvn dependency:res
- shell bad substitution
daizj
shell脚本
#!/bin/sh
/data/script/common/run_cmd.exp 192.168.13.168 "impala-shell -islave4 -q 'insert OVERWRITE table imeis.${tableName} select ${selectFields}, ds, fnv_hash(concat(cast(ds as string), im
- Java SE 第二讲(原生数据类型 Primitive Data Type)
dcj3sjt126com
java
Java SE 第二讲:
1. Windows: notepad, editplus, ultraedit, gvim
Linux: vi, vim, gedit
2. Java 中的数据类型分为两大类:
1)原生数据类型 (Primitive Data Type)
2)引用类型(对象类型) (R
- CGridView中实现批量删除
dcj3sjt126com
PHPyii
1,CGridView中的columns添加
array(
'selectableRows' => 2,
'footer' => '<button type="button" onclick="GetCheckbox();" style=&
- Java中泛型的各种使用
dyy_gusi
java泛型
Java中的泛型的使用:1.普通的泛型使用
在使用类的时候后面的<>中的类型就是我们确定的类型。
public class MyClass1<T> {//此处定义的泛型是T
private T var;
public T getVar() {
return var;
}
public void setVa
- Web开发技术十年发展历程
gcq511120594
Web浏览器数据挖掘
回顾web开发技术这十年发展历程:
Ajax
03年的时候我上六年级,那时候网吧刚在小县城的角落萌生。传奇,大话西游第一代网游一时风靡。我抱着试一试的心态给了网吧老板两块钱想申请个号玩玩,然后接下来的一个小时我一直在,注,册,账,号。
彼时网吧用的512k的带宽,注册的时候,填了一堆信息,提交,页面跳转,嘣,”您填写的信息有误,请重填”。然后跳转回注册页面,以此循环。我现在时常想,如果当时a
- openSession()与getCurrentSession()区别:
hetongfei
javaDAOHibernate
来自 http://blog.csdn.net/dy511/article/details/6166134
1.getCurrentSession创建的session会和绑定到当前线程,而openSession不会。
2. getCurrentSession创建的线程会在事务回滚或事物提交后自动关闭,而openSession必须手动关闭。
这里getCurrentSession本地事务(本地
- 第一章 安装Nginx+Lua开发环境
jinnianshilongnian
nginxluaopenresty
首先我们选择使用OpenResty,其是由Nginx核心加很多第三方模块组成,其最大的亮点是默认集成了Lua开发环境,使得Nginx可以作为一个Web Server使用。借助于Nginx的事件驱动模型和非阻塞IO,可以实现高性能的Web应用程序。而且OpenResty提供了大量组件如Mysql、Redis、Memcached等等,使在Nginx上开发Web应用更方便更简单。目前在京东如实时价格、秒
- HSQLDB In-Process方式访问内存数据库
liyonghui160com
HSQLDB一大特色就是能够在内存中建立数据库,当然它也能将这些内存数据库保存到文件中以便实现真正的持久化。
先睹为快!
下面是一个In-Process方式访问内存数据库的代码示例:
下面代码需要引入hsqldb.jar包 (hsqldb-2.2.8)
import java.s
- Java线程的5个使用技巧
pda158
java数据结构
Java线程有哪些不太为人所知的技巧与用法? 萝卜白菜各有所爱。像我就喜欢Java。学无止境,这也是我喜欢它的一个原因。日常
工作中你所用到的工具,通常都有些你从来没有了解过的东西,比方说某个方法或者是一些有趣的用法。比如说线程。没错,就是线程。或者确切说是Thread这个类。当我们在构建高可扩展性系统的时候,通常会面临各种各样的并发编程的问题,不过我们现在所要讲的可能会略有不同。
- 开发资源大整合:编程语言篇——JavaScript(1)
shoothao
JavaScript
概述:本系列的资源整合来自于github中各个领域的大牛,来收藏你感兴趣的东西吧。
程序包管理器
管理javascript库并提供对这些库的快速使用与打包的服务。
Bower - 用于web的程序包管理。
component - 用于客户端的程序包管理,构建更好的web应用程序。
spm - 全新的静态的文件包管
- 避免使用终结函数
vahoa.ma
javajvmC++
终结函数(finalizer)通常是不可预测的,常常也是很危险的,一般情况下不是必要的。使用终结函数会导致不稳定的行为、更差的性能,以及带来移植性问题。不要把终结函数当做C++中的析构函数(destructors)的对应物。
我自己总结了一下这一条的综合性结论是这样的:
1)在涉及使用资源,使用完毕后要释放资源的情形下,首先要用一个显示的方