2008 年 InfoQ 交流活动的胶片: http://cid-5b1e02933669f469.skydrive.live.com/redir.aspx?page=browse&resid=5B1
配置 GRAILS_HOME,注意一定要配置到 build.xml 所在的文件夹:
几年前,一个开餐厅的亲戚找我做一个网上订餐的网站(当时外卖平台还没有兴起)。一开始我是拒绝的,因为我的本职工作就是做软件开发的,业余时间真没兴趣再做。而且从头开始做一个网页应用,工程浩大,我也没有这个时间。 一个偶然的机会,我接触到了Grails,通过它几个小时就能构建一个专业的涵盖前、后端的Web应用,于是我尝试着开发那个订餐网站,结果,我利用几个周末仅用了半个人/月的功夫就做好了一个能上线接单并具备后台管理(含基本财务)的网站。刷新了我对软件开发的认知,原来开发一个复杂的含前、后端的Web应用也可以如此地快。 Grails是一个基于JVM的全栈快速Web应用开发框架,类似的框架有著名的Rails,但是它需要用Ruby语言,对于广大的Java开发者,要学习一门新语言显然不现实。于是有人基于Groovy做了Grails,可以理解为Grails = Rails on Groovy。Groovy是JVM三大衍生语言之一,相对于Closure和Scala,它可以视为是Java的简化版和脚本化,学习周期最短,上手只消半天,而且相对于有点老气的Java,动态语言Groovy编程要快速和灵活得多。所以Grails可以说是面向Java开发者的快速开发框架。
作为一个Java开发者,Spring框架应该基本上都用过的,由于Spring框架太过于强大,导致我们可能只知道Spring框架,但其实还有很多优秀的框架可以供我们使用,本文将介绍6个和spring框架类似的框架。
RunDeck 是用 Java开发的自动化部署持续集成的工具应用,项目已开源。runDeck的产品属性和jenkis类似。提供web界面和restapi来给用户使用,Web界面主要提供给非开发人员使用,如项目组的测试和运维人员,而它提供的丰富的api使得开发可以很容易的融合到DevOps平台体系中。同时runDeck提供了完整的权限管理,开发,运维,测试可以在RunDeck中完成软件交付的整个流程。
作为技术人员,对于“技术选型”一词应该不太陌生。简单的说,技术选型就是技术决策,只要你在团队中稍微有点地位,独立承担某项任务,就会面临选择,需要做出相应的决策。当然,这种细粒度地决策级别不是我要讨论的重点。在本文中,我想分享一下我对于公司层面技术选型地观点和看法,更确切得说是面向创业公司的技术选型。为何要重点突出“创业公司”呢?很简单,因为到目前为止,我一直走在创业的路上。
本章介绍Spring Boot集成Groovy,Grails开发。我们将开发一个极简版的pms(项目管理系统)。
最近,对Groovy脚本语言的兴趣越来越多了,刚巧对于java语言比较熟悉,了解和入手Groovy可以说丝毫不困难。
近年来,我们看到了技术的惊人进步,这些进步旨在简化开发人员的生活。即使针对创建,配置和共享开发人员环境有出色的解决方案,但仍然可能会非常混乱。Vagrant + VirtualBox解决方案使开发人员环境的虚拟化变得简单,而且几乎没有麻烦,与此同时,Docker的出现极大地影响了IT世界。
近年来,我们见证了旨在简化开发者生活的技术的惊人进步。即使有出色的解决方案,创建、配置和共享开发者环境可能是一件非常令人头疼的事。Vagrant + VirtualBox解决方案使开发者环境的虚拟化变得简单,而Docker的出现则极大地影响了IT世界。
毫无疑问,Java是目前最需要的编程语言之一。在这里,我们已经挖掘了一些关于框架趋势的有用信息,以减轻全球软件开发人员的日常工作。
作者 | Michael Redlich 译者 | 张卫滨 策划 | 丁晓昀 OpenJDK 甲骨文的技术顾问成员、Loom 项目的负责人 Ron Pressler 提交了 JEP Draft 8302326,即隐式类和主方法增强(Implicit Classes and Enhanced Main Methods)(预览)。该特性 JEP 提议“改进 Java 语言,从而能够让学生无需了解为大型程序所设计的语言特性,就能编写出第一个程序”。这个 JEP 进一步推进了甲骨文的 Java 语言架构师 Br
Java 编程语言的最新版本 Java 13 于 2019 年 9 月发布。根据 TOIBE 排行榜(根据排名最高的 25 个搜索引擎计算),Java 排在第一位。
大家好,又见面了,我是你们的朋友全栈君。 原标题:Java编程什么软件最好用? “工欲善其事必先利其器”,想要学好Java编程开发,除了要有好的学习资源之外,还要有一套适合自己的Java编程软件,好的
EMQ X 消息服务器的连接认证和访问控制由一系列的认证插件(Plugins)提供,他们的命名都符合 emqxauth 的规则,在 EMQ X 中,这两个功能分别是指: 连接认证: EMQ X 校验每个连接上的客户端是否具有接入系统的权限,若没有则会断开该连接; 访问控制: EMQ X 校验客户端每个 发布(Publish)/订阅(Subscribe) 的权限,以 允许/拒绝 相应操作;
你应该也知道所谓的“全栈”Java开发人员。这是个人的技能集合。一个完整的全栈开发者应该同样胜任前端开发和后端开发的工作。这可能是难度系数最高的一条路了,因为所涉及得技术非常多样。也许有一天,你前一秒还在jQuery调试,接下来就去性能调优Oracle数据库查询了。但是,成为一个全栈Java开发人员是需要时间和经验的。
最近几年,Java 的技术栈发展的非常快,Java作为一门十分流行的面向对象编程语言,其开发工具也是非常多的,当然因为接触时间长短以及个人喜好,每个人都有自己的选择。对此,我对目前市面上常见的Java开发工具做了一些简单的整理,希望能帮助到一些小伙伴。
1 ACL鉴权 1.1 启用插件 在服务上启用插件 $ curl -X POST http://kong:8001/services/{service}/plugins \ --data "name=acl" \ --data "config.whitelist=group1, group2" \ --data "config.hide_groups_header=true" 在路由上启用插件 $ curl -X POST http://kong:8001/routes/{rout
甲骨文(Oracle)的软件架构师 Maurizio Cimadamore 已经提交了 JEP Draft 8310626,外部函数和内存 API。该 JEP 提议在经过两轮孵化和三次预览后最终确定该特性:JEP 412,外部函数和内存 API(孵化阶段),在 JDK 17 中交付;JEP 419,外函数与内存 API(第二轮孵化),在 JDK 18 中交付;JEP 424,外部函数和内存 API(预览版),在 JDK 19 中发布;JEP 434,外部函数和内存 API(第二次预览),在 JDK 20 中发布;以及 JEP 442,外部函数和内存 API(第三次预览),将在即将发布的 JDK 21 中发布。自上一个版本发布以来的改进包括:一个新EnableNativeAccess 清单属性,允许可执行 JAR 中的代码在不使用--enableNativeAccess标志的情况下调用受限方法;允许客户端以编程方式构建 C 函数描述符,避免使用特定于平台的常量;改进了对本地内存中可变长度数组的支持;以及支持本地字符串中的多个字符集。
研发同学反馈某系统性能测试环境MySQL数据库相关的业务系统运行正常,但存在大量警告日志,需配合分析原因。
本文转载从爱可生转载,原文地址:https://cloud.tencent.com/developer/article/2261902
最近 TheServerSide.com 上一篇文章引起了常常的讨论。地址见这里:Chose a web client framework。
那么抱着这套想法,进行了研究开发之旅,研究什么?动态的模块化插件化的MVC框架,大家说这有没有市场?
HDFS是一个面向多用户的分布式文件系统。既然是多用户,那么不同用户存储的文件通常需要进行权限隔离,防止被其他用户修改或误删。本文就来聊聊HDFS中的权限管理。
通常情况下,Kafka部署后都是自己的业务进行生产消费,但也有一些情况,比如通过kafka和第三方对接,甚至是多个三方对接;或者是多用户使用同一套kafka集群,各自使用不同的topic。在这种场景下,一般不希望不同的用户能访问彼此的数据,因此需要进行权限控制,这就会用到Kafka中的ACL。
前面文章有介绍过通过make-plugin.sh命令行自动生成plugins的架构,vpp 软件架构介绍;本文就来讲解一下plugins插件的加载和使用流程。
MQTT(MQ Telemetry Transport, MQ 遥测传输)。它是一种发布/订阅、极其简单和轻量级的消息传递协议,旨在用于受限设备和低带宽,高延迟或不可靠的网络。设计原则是使网络带宽和设备资源要求最小化,同时还要尝试确保可靠性和一定程度的交付保证。这些原则也使该协议成为新兴的“M2M”或“物联网”连接设备世界的理想选择,并且适用于带宽和电池电量极为宝贵的移动应用。
优点:不需要重启tomcat服务器,如果一个tomcat多个项目,不必因为tomcat停止而停止其他的项目。
《IntelliJ-IDEA-Tutorial》:https://github.com/judasn/IntelliJ-IDEA-Tutorial
最近新来了一次代码,构建的时候心血来潮,又重新过了一遍(回想17年刚毕业的时候构建的是一塌糊涂。。。啥也不知道,懵懵的)
虽然EMQ已经搭建起来了,但是投入到业务使用中还面临着一些问题,当然MQTT设计之初也考虑了这一点,比如不是任何一个客户端都能链接到服务器和限制客户端能够对topic操作的权限 附上: 喵了个咪的博客:w-blog.cn EMQ官方地址:http://emqtt.com/ EMQ中文文档:http://emqtt.com/docs/v2/guide.html 1.ACL鉴权 先说实际场景,我们需要监听每一台设备的链接和断开事件等EMQ的系统行为,这样的事件当然不是任何一个连接到服务器的终端,这样的限制就是A
导语 | 日前,腾讯云中间件团队联合StreamNative社区正式发布了RoP 0.2.0版本,该版本在架构上全新升级,用户在使用中可以完全避免消息丢失、消息重复消费、只能消费一部分Partition的数据等问题。 作者简介 冉小龙 腾讯云中间件团队研发工程师 Apache Pulsar committer RoP作者及Maintainer Apache BookKeeper contributor Apache Pulsar Go client作者 Apache Pulsar Go Functio
与使用大型、单体架构应用程序相关的一个大问题是,您被自己的技术所束缚。这可以分两个层面来说,第一,更老的或更有说服力的框架更有可能被选择。这意味着你不太可能使用太前沿的技术,而这正是许多开发者所看重的。第二是一旦选择了某种技术路线,通常需要付出很大的努力(通常是太大了)才能做出重大的改变。
EMQ X (Erlang/Enterprise/Elastic MQTT Broker) 是基于 Erlang/OTP 平台开发的开源物联网 MQTT 消息服务器。
在进行版本升级时,Sql不兼容,数据库升级经常报错,需要重复对比哪里执行过了。这种问题如何解决?
导语 日前,腾讯云中间件团队联合StreamNative社区正式发布了RoP 0.2.0版本,该版本在架构上全新升级,用户在使用中可以完全避免消息丢失、消息重复消费、只能消费一部分 Partition 的数据等问题。 作者简介 冉小龙 腾讯云中间件团队研发工程师 Apache Pulsar committer RoP 作者及 Maintainer Apache BookKeeper contributor Apache Pulsar Go client 作者 Apache Pulsar Go
Eclipse Eclipse是一个开放源码的项目,是著名的跨平台的自由集成开发环境(IDE),最初主要用来Java语言开发,后来通过安装不同的插件Eclipse可以支持不同的计算机语言,比如C++和Python等开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。 IDEA IDEA 全称 IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、各类版本工具(git、svn、github等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。它的旗舰版本还支持HTML,CSS,PHP,MySQL,Python等。免费版只支持Java等少数语言。 NetBeans NetBeans是Sun公司(2009年被甲骨文收购)在2000年创立的开放源代码供开发人员和客户社区的家园,旨在构建世界级的Java IDE。NetBeans当前可以在Solaris、Windows、Linux和Macintosh OS X平台上进行开发,并在SPL(Sun公用许可)范围内使用。 NetBeans包括开源的开发环境和应用平台,NetBeans IDE可以使开发人员利用Java平台能够快速创建Web、企业、桌面以及移动的应用程序,NetBeans IDE已经支持PHP、Ruby、JavaScript、Groovy、Grails和C/C++等开发语言。
在一个 Grails 项目里面,我想写一个过滤不良信息的 Service,而将过滤的规则放置在 xml 文件之中。
过去几年中,现代软件开发的整体环境发生了巨大的变化。回想在 2000 年代初期,产业的发展并没有那么快,技术和框架只是在稳步前进。而现在,技术发展的复杂度和多样性已经可以用超音速来形容了,出现了新的编程语言、开发工具、开发方法论等。
Maven是一个项目管理和综合工具。Maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期。
在结束了评审后,JEP 459(字符串模板(第二次预览))已从 Proposed to Target 进入到 Targeted(JDK 22)状态。这个 JEP 在经过第一次预览之后进行第二次预览:在 JDK 21 中交付的 JEP 430(字符串模板(预览))。该特性通过字符串模板来增强 Java 编程语言,字符串字面量中包含嵌入表达式,这些表达式将在运行时被解释和计算。有关 JEP 430 的更多细节可以在 InfoQ 的 新闻报道 中找到。
在前几期专题中,我们已经知道,容器的安全可以通过networkpolicy来描述一个基本的约束。
自 1995 年推出以来,Java 已被 134861 个网站(如ESPN,SnapDeal,阿里巴巴等)使用。在 24 年的发展历程中,Java 已证明自己是为软件开发而生的顶级通用编程语言。
截至2020年,Java仍然是构建Web应用程序的最流行的编程语言之一,尽管它必须面对来自Go,Python和TypeScript等新型语言的激烈竞争。
介绍 Envoy Nginx HAproxy HTTP/2 对HTTP/2有最完整的支持,同时支持upstream和downstream的HTTP/2 1.9.5以后有限支持HTTP/2,只在upstream server支持,downstream依然是1.1 不支持 Rate Limit 通过插件进行限流 支持基于配置的限流,只支持基于源IP的限流 ACL 给予插件实现四层的ACL 给予源/目的地址实现ACL Connection draining 支持hot reload,并且通过share mem
Apache Sentry是Hadoop中的一个基于角色的细粒度授权组件。Sentry可以在Hadoop集群上对通过身份认证的用户和应用程序控制数据访问权限。Sentry开箱即用的支持Hive,Hive Metastore/HCatalog,Solr,Impala,HDFS(仅限Hive表数据),Kafka和Kudu(通过Impala)。
Ranger资源映射服务器(Resource Mapping Server:RMS)可以将访问策略从Hive自动转换为HDFS。
领取专属 10元无门槛券
手把手带您无忧上云