- 什么是DSL和GPL
牧竹子
通识DSLGPL
DSL的全称是domain-specificlanguage,它在wiki上的定义如下:Adomain-specificlanguage(DSL)isacomputerlanguagespecializedtoaparticularapplicationdomain.与之相对的是GPL(general-purposelanguage)。DSL指的是针对特定应用领域而设计使用的计算机语言,而GPL指
- 什么是DSL
yimi1995
程序员的日常
转载:http://blog.csdn.net/dslztx/article/details/46682889DSL的全称是domain-specificlanguage,它在wiki上的定义如下:Adomain-specificlanguage(DSL)isacomputerlanguagespecializedtoaparticularapplicationdomain.与之相对的是GPL(g
- DSL
Davisxy
kotlinDSLKotlinokhttp
转载:摘抄自《Kotlin极简教程》-陈光剑DSL是什么DSL(Domain-SpecificLanguage,领域特定语言)指的是专注于特定问题领域的计算机语言(领域专用语言)。不同于通用的计算机语言(GPL),领域特定语言只用在某些特定的领域。比如用来显示网页的HTML语言,以及Emacs所使用的EmacLISP语言等。更加典型的例子是Gradle,它基于Ant和Maven,使用基于Groov
- 什么是DSL?
pumpkin84514
其它开发语言
DSL:领域特定语言的深入理解与应用指南1.什么是DSL?DSL(Domain-SpecificLanguage,领域特定语言)是一种专门针对特定问题领域设计的编程语言。不同于通用编程语言(如Java、Python等),DSL更加简洁易懂,通常用来表达特定领域的意图和规则,使编写、阅读和维护代码的过程更加高效和直观。DSL的主要价值在于简化问题的描述和解决方式,使得代码能够直接反映开发者的意图,而
- 【数据结构】快速排序与归并排序的非递归实现
盐酥鸡--
数据结构数据结构算法
个人主页:Yanni.—数据结构:DataStructure.C语言笔记:CLanguageNotesOJ题分享:TopicSharing目录前言:非递归基础思想快速排序非递归思路快速排序非递归实现归并排序的非递归思路归并排序的非递归实现前言:在之前学习了快速排序和归并排序,但算法就是用递归实现的,在企业的面试中,很多企业不会问你快速排序和归并排序递归算法的思想,而是非递归实现这两个排序,今天为大
- vscode结合docker配置c++开发环境
骊山道童
vscodedockerc++
工具链构建工具:cmake编译器:gcc/clang调试器:lldbLSP后端:clangd可选:代码格式化:clang-format静态检查:clang-tidy包管理:vcpkg/apt环境管理:docker/vcpkg(manifest)vscode有用插件:https://juejin.cn/post/7051434324565950501基础环境使用clang配置环境;https://d
- isa 底层结构分析
远方竹叶
OC对象的本质在我们日常的开发中,会创建很多个自定义的对象,大部分是继承自NSObject,但是具体到源码实现,就看不到了,怎么办呢?编译器clang就要登场了ClangClang是一个有Apple主导编写,基于LLVM的C/C++/Objective-C的编译器主要用于底层编译,将一些文件输出为C++文件,可以更好的查看底层的结构以及实现逻辑探索在main函数中创建一个LCPerson类,添加n
- CMakeLists 模板
wq_151
问题解决办法计算机通识c++linux
CMakeLists中根据编译器gcc或者clang自适应设置sanitizer,根据cmake参数启用ASAN或者TSAN。项目目录结构project_root├──CMakeLists.txt├──include│├──problem.hpp│├──ceres_costfunctor.hpp│└──common.hpp├──src│└──problem.cpp└──test└──test_de
- Xcode 15(iOS17)编译适配报错
孟宪磊mxl
xcodemacoside
报错:Notemplatenamed'unary_function'innamespace'std';didyoumean'__unary_function'?解决:Xcode点击Pods点击BuildSettings点击Basic找到AppleClang-Preprocessing下的PreprocessorMacros添加:_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_
- 【C/C++】虚拟机实现:用C语言来写Java虚拟机
MAX在码字
CJavaC语言Java虚拟机虚拟机大神
前言:本篇文章除了能够让你了解到虚拟机的工作原理外,还可以让你了解到较低级别的编程过程。由于我喜欢在较低级别(Low-level)的应用中(编译器,解释器,解析器,虚拟机等等)工作,所以我觉得写一篇关于用C编程语言构建虚拟机的文章,是非常有必要的。我认为这篇文章除了能够让你了解到虚拟机的工作原理外,还可以让你了解到较低级别的编程过程。准备内容·使用的编译器类型:我正在使用的是clang,它是轻量级
- C Primer Plus 编程练习11.9
青禾子的夏
c语言
编写一个函数,把字符串中的内容用其反序字符串代替。在一个完整的程序中测试该函数,使用一个循环给函数提供输入值。黄色警告:Clang-Tidy:Narrowingconversionfrom'unsignedlonglong'tosignedtype'int'isimplementation-defined
- 63 - ES 诊断集群的潜在问题
舍是境界
集群运维所面临的挑战用户集群数量多,业务场景差异大使用与配置不当,优化不够如何让用户更加高效和正确的使用ES如何让用户更全面的了解自己的集群的使用状况发现问题之后,需要防患于未然需要“有迹可循”,做到“有则改之,无则加勉”Elastic有提供SupportDiagnosticsTool:https://github.com/elastic/support-diagnostics集群绿色,是否意味着
- MSYS2 MSYS、MINGW32、MINGW64、UCRT64、CLANGARM64、CLANG64不同子系统环境之间的区别
星河繁
windowsssl
MSYS2(MinimalSYStem2)是一个为Windows操作系统设计的软件开发环境,它提供了一个模拟类Unix系统的命令行界面以及一系列工具和库。MSYS2建立在Cygwin基础上,但使用了MinGW-w64作为编译器集合,旨在实现原生的Windows程序构建与运行。主要特点包括:POSIX兼容性:通过提供一个类似Linux或Unix的shell环境(如bash),使得开发者可以在Wind
- .net framework日志和.net core的区别详解
白话Learning
C#/.net.net.netcorec#
在软件开发过程中,日志记录是一个非常重要的功能,它可以帮助开发人员了解应用程序的运行状况,跟踪错误和性能问题,以及进行应用程序的调试。.NETFramework和.NETCore都是微软推出的应用程序开发框架,它们都提供了日志记录的功能,但是两者之间存在一些区别。1.实现方式1.1日志记录在.NETFramework中的实现.NETFramework使用System.Diagnostics命名空间
- C#全屏打开Edge浏览器
太空漫步11
c#edge开发语言
我为什么写这个呢?因为网上关于全屏打开浏览器的都是Chrome的,而按照他们的方法应用在Edge上就失效了。众所周知,C#可以利用Progress打开Windows的某个应用。而我要用Progress打开的不是Edge浏览器,而是命令行窗口。之后输入从微软官网的Edge官方文档中找到的cmd命令全屏打开浏览器并打开百度网址。usingSystem;usingSystem.Diagnostics;u
- C# 在exe中启动另外一个exe时的关闭方法
wangnaisheng
C#c#
在C#中,如果你想要从一个exe程序中启动另一个exe程序,并希望在需要时能够关闭它。一、启动外部exe程序:使用System.Diagnostics.Process启动程序,代码如下:privatevoidbtnStart_Click(objectsender,RoutedEventArgse){FileInfoexePath=newFileInfo(Common.GetRunPath());/
- cmake添加QT multimedia包(mac,ubantu)
熊明之
camkeQtmacosqt开发语言cmake
现有的百度关于cmake添加QTmultimedia包(mac,ubantu)都是错误,正确的添加方式如下,cmake添加2行set(Qt5MultimediaWidgets_DIR**/Qt5.9.8/5.9.8/clang_64/lib/cmake/Qt5MultimediaWidgets)#包的位置target_link_libraries(${PROJECT_NAME}Qt5::Widge
- Visual Studio Code &C++ on macOS
Hanbaxia
C++C++MACVSCODE环境搭建C++标准输入
一、预备知识1、理解mac环境的开发环境名称在开发环境中作用举例文本编辑器编写代码sublime,atom,visualstdiocode,nodepad++,vi/vim,emacs编译器文本编辑器写的代码翻译成机器代码链接器代码经编译二进制机器代码后,与系统提供的二进制库进行组合,生成一个可执行文件通常编译器和连接器一起的。vc/vc++,gcc/g++,clang+llvm项目管理工具管理程
- 【信息学奥赛一本通】2047:【例5.16】过滤空格
耀个丸子~
算法c++
2047:【例5.16】过滤空格时间限制:1000ms内存限制:65536KB提交数:40804通过数:26436【题目描述】过滤多余的空格。一个句子中也许有多个连续空格,过滤掉多余的空格,只留下一个空格。【输入】一行,一个字符串(长度不超过200200),句子的头和尾都没有空格。【输出】过滤之后的句子。【输入样例】Helloworld.Thisisclanguage.【输出样例】Hellowor
- 用windbg调试uefi在hyper-v
王cb
windowswindows
添加环境变量CLANG_BIN=C:\ProgramFiles\NASM\NASM_PREFIX=C:\ProgramFiles\NASM\添加pathC:\ProgramFiles(x86)\WindowsKits\10\Tools\x64\ACPIVerify修改edk2-master\Conf\target.txtTARGET_ARCH=X64编译这两个包#ACTIVE_PLATFORM=E
- c# #if 与 Conditional属性宏的区别
popcorn丶
语言c#开发语言
测试代码usingSystem;usingSystem.Diagnostics;namespaceConsoleApp1{publicclassTestClass{[Conditional("Debug1")]publicstaticvoidFunc1(){Console.WriteLine("Conditional宏");}publicstaticvoidFunc2(){#ifDebug2Con
- llvm之clang前端的一些例子:
me1o
初学LLVMllvm编辑器clang入门
这是我第一次写博客,最近刚刚接触llvm,写这篇blog主要是边学习边总结,当然有很多理解不到位,甚至是错误的地方。我非常愿意和大家一起探讨,请教llvm的相关知识。这篇blog不求能帮助大家,只求能不误导大家就好。以后也要养成写blog的习惯,在这里非常感谢@snsn1984在他blog里我学到很多东西,也正是这个原因激发了自己写blog的动力,希望能够坚持下去。有问题也希望能够和大家一起探讨!
- clang前端
Back~~
LLVM学习
Clang可以处理C、C++和Objective-C源代码Clang简介Clang可能指三种不同的实体:前端(在Clang库中实现)编译驱动程序(在clang命令和Clang驱动程序库中实现)实际的编译器(在clang-ccl命令中实现)clang-ccl中的编译器不仅是由Clang库实现的,而且还广泛使用其他LLVM库来实现编译器的中间部分、后端以及集成的汇编器先分析clang编译器驱动程序的命
- VS Code设置linux风格代码格式化
andylauren
编程语言技巧
vscode跨平台表现很好,有时候在linux下也会使用vscode查看代码,代码格式化是我必须使用的一个功能,写多了linux的代码也就看习惯了linux的格式,也一直在想用vscode格式化成linux类型。步骤如下:文件->首选项->设置搜索clang在C_Cpp:Clang_format_fallbackStyle栏中输入如下:{BasedOnStyle:Google,UseTab:Nev
- openJudge | 过滤多余的空格 C语言
Mryan2005
#openJudgec语言openJudge算法
总时间限制:1000ms内存限制:65536kB描述一个句子中也许有多个连续空格,过滤掉多余的空格,只留下一个空格。输入一行,一个字符串(长度不超过200),句子的头和尾都没有空格。输出过滤之后的句子。样例输入Helloworld.Thisisclanguage.样例输出Helloworld.Thisisclanguage.答案方法一#includeintmain(){intswitch_=0;s
- LLVM 编译器 原理解析, 插件编写
咖啡豆8888
前言官网地址:LLVMLLVM项目是模块化,可重用的编译器以及工具链技术的集合创始人,亦是Swift之父ChrisLattner编译器GCCLLVMClang编译器原理:将代码首先进过编译器前端,目的是将代码规范化(词法分析,语法分析),检查错误等操作,然后生成编译中间代码(LLVMIR),然后经过编译器后端不同架构生成对应的机器码(x86,PC,ARM不同处理器生成不同的机器码)LLVM架构展示
- C语言对字符串的处理
优游涵养
C语言c语言c++开发语言
字符串的表现形式在C语言中,可以用两种方法访问一个字符串。用字符数组存放一个字符串,然后输出该字符串charstring[]="helloworld!";用字符串指针指向一个字符串char*string="Helloworld!";注意:chara,*p=&a;表示p是一个指向字符变量a的指针变量char*s=“Clanguage”;则表示s是一个指向字符串的指针变量,把字符串的首地址赋予s。ch
- C#winform中操作Excel数据,导入导出功能
AllowHua
winfromc#开发语言
命名空间usingNPOI.HSSF.UserModel;usingNPOI.SS.UserModel;usingNPOI.XSSF.UserModel;usingSystem;usingSystem.Data;usingSystem.Diagnostics;usingSystem.IO;usingSystem.Windows.Forms;1.导出Excel文件//////导出Excel/////
- OLLVM(以DES.c为示例进行测试)
Back~~
LLVM学习
https://blog.csdn.net/m0_72827793/article/details/135850403之前学了DES算法,刚好用作示例进行测试一下OLLVM本代码来自https://blog.csdn.net/zytjulie/article/details/123095529clang-emit-llvm-SDES.c-oDES.llclang-emit-llvm-SDES.c-
- Linux系统c/c++开发环境配置
UCASers
开发环境问题linuxc语言c++
安装LLVM全家桶及CMAKE输入以下命令,安装clang,clangd,lldb及cmake。sudoaptinstallclangclangdlldbcmakeyukeyang@DESKTOP-QFK2F47:~/myfiles/test$sudoaptinstallclangclangdlldbcmake[sudo]passwordforyukeyang:Readingpackagelist
- java线程Thread和Runnable区别和联系
zx_code
javajvmthread多线程Runnable
我们都晓得java实现线程2种方式,一个是继承Thread,另一个是实现Runnable。
模拟窗口买票,第一例子继承thread,代码如下
package thread;
public class ThreadTest {
public static void main(String[] args) {
Thread1 t1 = new Thread1(
- 【转】JSON与XML的区别比较
丁_新
jsonxml
1.定义介绍
(1).XML定义
扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML使用DTD(document type definition)文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界公认的标准。
XML是标
- c++ 实现五种基础的排序算法
CrazyMizzz
C++c算法
#include<iostream>
using namespace std;
//辅助函数,交换两数之值
template<class T>
void mySwap(T &x, T &y){
T temp = x;
x = y;
y = temp;
}
const int size = 10;
//一、用直接插入排
- 我的软件
麦田的设计者
我的软件音乐类娱乐放松
这是我写的一款app软件,耗时三个月,是一个根据央视节目开门大吉改变的,提供音调,猜歌曲名。1、手机拥有者在android手机市场下载本APP,同意权限,安装到手机上。2、游客初次进入时会有引导页面提醒用户注册。(同时软件自动播放背景音乐)。3、用户登录到主页后,会有五个模块。a、点击不胫而走,用户得到开门大吉首页部分新闻,点击进入有新闻详情。b、
- linux awk命令详解
被触发
linux awk
awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息
awk处理过程: 依次对每一行进行处理,然后输出
awk命令形式:
awk [-F|-f|-v] ‘BEGIN{} //{command1; command2} END{}’ file
[-F|-f|-v]大参数,-F指定分隔符,-f调用脚本,-v定义变量 var=val
- 各种语言比较
_wy_
编程语言
Java Ruby PHP 擅长领域
- oracle 中数据类型为clob的编辑
知了ing
oracle clob
public void updateKpiStatus(String kpiStatus,String taskId){
Connection dbc=null;
Statement stmt=null;
PreparedStatement ps=null;
try {
dbc = new DBConn().getNewConnection();
//stmt = db
- 分布式服务框架 Zookeeper -- 管理分布式环境中的数据
矮蛋蛋
zookeeper
原文地址:
http://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/
安装和配置详解
本文介绍的 Zookeeper 是以 3.2.2 这个稳定版本为基础,最新的版本可以通过官网 http://hadoop.apache.org/zookeeper/来获取,Zookeeper 的安装非常简单,下面将从单机模式和集群模式两
- tomcat数据源
alafqq
tomcat
数据库
JNDI(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API。
没有使用JNDI时我用要这样连接数据库:
03. Class.forName("com.mysql.jdbc.Driver");
04. conn
- 遍历的方法
百合不是茶
遍历
遍历
在java的泛
- linux查看硬件信息的命令
bijian1013
linux
linux查看硬件信息的命令
一.查看CPU:
cat /proc/cpuinfo
二.查看内存:
free
三.查看硬盘:
df
linux下查看硬件信息
1、lspci 列出所有PCI 设备;
lspci - list all PCI devices:列出机器中的PCI设备(声卡、显卡、Modem、网卡、USB、主板集成设备也能
- java常见的ClassNotFoundException
bijian1013
java
1.java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory 添加包common-logging.jar2.java.lang.ClassNotFoundException: javax.transaction.Synchronization
- 【Gson五】日期对象的序列化和反序列化
bit1129
反序列化
对日期类型的数据进行序列化和反序列化时,需要考虑如下问题:
1. 序列化时,Date对象序列化的字符串日期格式如何
2. 反序列化时,把日期字符串序列化为Date对象,也需要考虑日期格式问题
3. Date A -> str -> Date B,A和B对象是否equals
默认序列化和反序列化
import com
- 【Spark八十六】Spark Streaming之DStream vs. InputDStream
bit1129
Stream
1. DStream的类说明文档:
/**
* A Discretized Stream (DStream), the basic abstraction in Spark Streaming, is a continuous
* sequence of RDDs (of the same type) representing a continuous st
- 通过nginx获取header信息
ronin47
nginx header
1. 提取整个的Cookies内容到一个变量,然后可以在需要时引用,比如记录到日志里面,
if ( $http_cookie ~* "(.*)$") {
set $all_cookie $1;
}
变量$all_cookie就获得了cookie的值,可以用于运算了
- java-65.输入数字n,按顺序输出从1最大的n位10进制数。比如输入3,则输出1、2、3一直到最大的3位数即999
bylijinnan
java
参考了网上的http://blog.csdn.net/peasking_dd/article/details/6342984
写了个java版的:
public class Print_1_To_NDigit {
/**
* Q65.输入数字n,按顺序输出从1最大的n位10进制数。比如输入3,则输出1、2、3一直到最大的3位数即999
* 1.使用字符串
- Netty源码学习-ReplayingDecoder
bylijinnan
javanetty
ReplayingDecoder是FrameDecoder的子类,不熟悉FrameDecoder的,可以先看看
http://bylijinnan.iteye.com/blog/1982618
API说,ReplayingDecoder简化了操作,比如:
FrameDecoder在decode时,需要判断数据是否接收完全:
public class IntegerH
- js特殊字符过滤
cngolon
js特殊字符js特殊字符过滤
1.js中用正则表达式 过滤特殊字符, 校验所有输入域是否含有特殊符号function stripscript(s) { var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]"
- hibernate使用sql查询
ctrain
Hibernate
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.hibernate.Hibernate;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.Transa
- linux shell脚本中切换用户执行命令方法
daizj
linuxshell命令切换用户
经常在写shell脚本时,会碰到要以另外一个用户来执行相关命令,其方法简单记下:
1、执行单个命令:su - user -c "command"
如:下面命令是以test用户在/data目录下创建test123目录
[root@slave19 /data]# su - test -c "mkdir /data/test123" 
- 好的代码里只要一个 return 语句
dcj3sjt126com
return
别再这样写了:public boolean foo() { if (true) { return true; } else { return false;
- Android动画效果学习
dcj3sjt126com
android
1、透明动画效果
方法一:代码实现
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View rootView = inflater.inflate(R.layout.fragment_main, container, fals
- linux复习笔记之bash shell (4)管道命令
eksliang
linux管道命令汇总linux管道命令linux常用管道命令
转载请出自出处:
http://eksliang.iteye.com/blog/2105461
bash命令执行的完毕以后,通常这个命令都会有返回结果,怎么对这个返回的结果做一些操作呢?那就得用管道命令‘|’。
上面那段话,简单说了下管道命令的作用,那什么事管道命令呢?
答:非常的经典的一句话,记住了,何为管
- Android系统中自定义按键的短按、双击、长按事件
gqdy365
android
在项目中碰到这样的问题:
由于系统中的按键在底层做了重新定义或者新增了按键,此时需要在APP层对按键事件(keyevent)做分解处理,模拟Android系统做法,把keyevent分解成:
1、单击事件:就是普通key的单击;
2、双击事件:500ms内同一按键单击两次;
3、长按事件:同一按键长按超过1000ms(系统中长按事件为500ms);
4、组合按键:两个以上按键同时按住;
- asp.net获取站点根目录下子目录的名称
hvt
.netC#asp.nethovertreeWeb Forms
使用Visual Studio建立一个.aspx文件(Web Forms),例如hovertree.aspx,在页面上加入一个ListBox代码如下:
<asp:ListBox runat="server" ID="lbKeleyiFolder" />
那么在页面上显示根目录子文件夹的代码如下:
string[] m_sub
- Eclipse程序员要掌握的常用快捷键
justjavac
javaeclipse快捷键ide
判断一个人的编程水平,就看他用键盘多,还是鼠标多。用键盘一是为了输入代码(当然了,也包括注释),再有就是熟练使用快捷键。 曾有人在豆瓣评
《卓有成效的程序员》:“人有多大懒,才有多大闲”。之前我整理了一个
程序员图书列表,目的也就是通过读书,让程序员变懒。 写道 程序员作为特殊的群体,有的人可以这么懒,懒到事情都交给机器去做,而有的人又可
- c++编程随记
lx.asymmetric
C++笔记
为了字体更好看,改变了格式……
&&运算符:
#include<iostream>
using namespace std;
int main(){
int a=-1,b=4,k;
k=(++a<0)&&!(b--
- linux标准IO缓冲机制研究
音频数据
linux
一、什么是缓存I/O(Buffered I/O)缓存I/O又被称作标准I/O,大多数文件系统默认I/O操作都是缓存I/O。在Linux的缓存I/O机制中,操作系统会将I/O的数据缓存在文件系统的页缓存(page cache)中,也就是说,数据会先被拷贝到操作系统内核的缓冲区中,然后才会从操作系统内核的缓冲区拷贝到应用程序的地址空间。1.缓存I/O有以下优点:A.缓存I/O使用了操作系统内核缓冲区,
- 随想 生活
暗黑小菠萝
生活
其实账户之前就申请了,但是决定要自己更新一些东西看也是最近。从毕业到现在已经一年了。没有进步是假的,但是有多大的进步可能只有我自己知道。
毕业的时候班里12个女生,真正最后做到软件开发的只要两个包括我,PS:我不是说测试不好。当时因为考研完全放弃找工作,考研失败,我想这只是我的借口。那个时候才想到为什么大学的时候不能好好的学习技术,增强自己的实战能力,以至于后来找工作比较费劲。我
- 我认为POJO是一个错误的概念
windshome
javaPOJO编程J2EE设计
这篇内容其实没有经过太多的深思熟虑,只是个人一时的感觉。从个人风格上来讲,我倾向简单质朴的设计开发理念;从方法论上,我更加倾向自顶向下的设计;从做事情的目标上来看,我追求质量优先,更愿意使用较为保守和稳妥的理念和方法。
&