最近刚开始学习d的开发,D是一门系统开发语言,每一个程序员都应该学会一门系统开发语言。我之所以选择D,是因为我主要做服务器开发,应用开发,D有很高的开发效率。同时,服务器会要求有较高的执行效率,而D的另外一个优势就是编译后的二进制文件直接兼容C C++,所以调用C C++的开销基本可以忽略不计。最后一个很有吸引力的优势是:利用D,你可以选择使用GC,也可以绕过GC自己进行内存分配,也可以让一部分大对象不使用GC,而另外一部分生命周期较短的常用对象使用GC(如字符串),这样可以兼顾开发效率以及降低GC开销。
这里介绍的vibe.d是一个web开发框架,同时也是一个异步socket开发框架,同时你也不用像nodejs一样写无尽的回调,而是像写顺序程序一样来写异步处理。hibernated是D语言的一个ORM实现,和java里的hibernate有很大的相似之处,很容易上手。
所以,D博采众家所长,成为我理想中的开发语言,虽然D不流行,库也不是十分成熟(dub有个库管理,里面有百十个库,常用的基本都在),但是这些都瑕不掩瑜,我最想要的东西已经在这里了,剩下的就是完善一套开发环境。如果你和我一样是java程序员,也在寻找一门可以替代java的新语言,尝试一下D吧,应该不会让你失望。 
创建工程testprj,
dub init testprj vibe.d
修改dub.json如下,这个配置是踩了许多坑之后能正常运行的一个配置:
{
    "name": "testprj",
    "description": "A simple vibe.d server application.",
    "copyright": "Copyright © 2015, zhmt",
    "authors": ["zhmt"],
    "dependencies": {
        "vibe-d": "~master",
        "mysql-native": "0.1.0",
        "hibernated": "0.2.19",
        "ddbc": ">=0.2.16"  
    },
    "subConfigurations": {
        "hibernated": "MySQL",
        "ddbc": "MySQL"
    },
    "versions": ["VibeDefaultMain","USE_MYSQL"]
}

修改app.d如下:
import vibe.d;
import std.stdio;
//import serviceheader_types;
import hibernated.core;
import ddbc.core;
import ddbc.common;

class Customer
{
    @Id string user;
    string pwd;
    string phone;
    string mail;

this()
    {
        // Constructor code
    }
}

shared static this()
{
    import ddbc.drivers.mysqlddbc;
    MySQLDriver driver = new MySQLDriver();
    string url = MySQLDriver.generateUrl("10.211.55.10", 3306, "test");
    string[string] params = MySQLDriver.setUserAndPassword("root", "你的密码");
    DataSource ds = new ConnectionPoolDataSourceImpl(driver, url, params);

EntityMetaData schema = new SchemaInfoImpl!(Customer); 
    Dialect dialect = new MySQLDialect();
    SessionFactory factory = new SessionFactoryImpl(schema, dialect, ds);
    scope(exit) factory.close();
}

用dub编译运行testprj即可。

[dlang](一)利用dub搭建vibe.d,hibernated,mysql开发环境相关推荐

  1. 青锋开源架构-springboot2.6.x+vue3-antdesign-vite之搭建IDEA+Maven+JDK+Mysql开发环境

    安装IDEA IDEA下载安装 1)进入 IDEA 官方下载页面,(官网地址为 IntelliJ IDEA: The Capable & Ergonomic Java IDE by JetBr ...

  2. 利用HFS软件一分钟搭建好ESP8266基于Arduino开发环境

    利用HFS一分钟搭建好ESP8266基于Arduino开发环境

  3. docker mysql 操作_[Docker] Docker 快速搭建本地MySQL开发环境

    [Docker] Docker 快速搭建本地MySQL开发环境 关于 Docker 的安装使用本文不再赘述,有兴趣的可以通过官网或是浏览我的专栏文章了解.今天着重给大家介绍下如何利用Docker快速搭 ...

  4. 前端自动化构建工具:用Gulp4.0搭建一个基本的前端开发环境

    一个项目的完成一般需要经过三个步骤:初始化.开发和部署.在前端开发过程中,我们经常需要依靠一些自动化构建工具来优化前端工作流程,来帮助我们完成一系列繁琐的工作,例如浏览器热更新.ES6编译.代码压缩. ...

  5. 搭建最新版本的Android开发环境

    只为成功找方法,不为失败找借口! Android开发学习总结(一)--搭建最新版本的Android开发环境 最近由于工作中要负责开发一款Android的App,之前都是做JavaWeb的开发,Andr ...

  6. 使用create-react-app搭建TypeScript+React+Ant Design开发环境

    一.使用create-react-app创建一个支持TypeScript+React的开发环境: 要创建一个支持TypeScript的Create React App项目,可以运行: npx crea ...

  7. 从零开始搭建webpack的vue生产/开发环境

    一.初始化项目 在命令行中敲入如下命令: mkdir Webpack-Vue && cd Webpack-Vue && npm init -y 然后你就可以在你的当前路 ...

  8. docker mysql开发环境_跟我一步一步用Docker搭建Beimi游戏服务端开发环境

    跟我一步一步用Docker搭建Beimi游戏服务端开发环境 Stone 摘要 本文为java 0基础的小伙伴介绍如何用Docker搭建开发环境.如果不关心过程直接可 跳到本文最后取代码. 关键步骤为: ...

  9. 使用Grunt搭建自动化的web前端开发环境-完整教程

    jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用! AD: jQuery在使用grunt,bootstrap在使用grunt, ...

  10. ubuntu下搭建eclipse+tomcat的web开发环境

    之前是打算给eclipse装上插件变成eclipse for javaEE 的,后来一看过程太麻烦了,直接下载eclipse for java EE 算了.搭建eclipse+tomcat的web开发 ...

最新文章

  1. 谈谈最近独立做项目的一些事情,一些小经验,分享之!
  2. ReentrantLock和synchronized两种锁定机制
  3. 专访Niclas Hedhman:Apache欢迎什么样的开源项目?
  4. 解决windows文件在linux系统中显示乱码的问题
  5. 边缘计算 — 业务的需求特征
  6. C#实现winform仿div+css半透明遮罩效果
  7. CPU100%不限性能和100%独享资源的区别
  8. 数据库-数据库的常用术语
  9. 七边形简单画法步骤图_眼线笔的画法步骤图
  10. Android集成百度语音识别API
  11. hiho一下 第五十周 (求欧拉路径)
  12. 修改PostgreSQL数据库的默认用户postgres的密码
  13. CUDA Occupancy Calculator中计算占用率
  14. lua invalid pattern capture
  15. 美国最常见英文名字排行榜(500名)
  16. php更换banner图片,如何替换banner上的图片?
  17. [乡土民间故事_徐苟三传奇]第廿九回_蠢财主落水知上当
  18. HTML网页制作入门
  19. 超标量处理器设计 姚永斌 第9章 指令执行 摘录
  20. 【WT588F】网页上位机操作演示

热门文章

  1. 台式机计算机无线开关在哪,电脑无线wifi开关在哪里打开
  2. 计算机毕业设计(69)php小程序毕设作品之疫苗预约小程序系统
  3. python制作贺卡代码_用python作元旦贺卡_用AI帮你画新年贺卡:只需输入几个单词,就能模仿大师名做......
  4. 淘宝上卖云控系统靠谱吗?
  5. 在网页设计中如何排版
  6. MTK平台创建Vendor方法(最大化复用代码)
  7. 12/27复习有感--整环的整除性
  8. Puppet nginx+passenger模式配置
  9. Frequency domain enhancement
  10. Pro Tools正确卸载姿势大全