做国外房产的网站用word可以做网站吗

diannao/2025/10/26 14:28:08/文章来源:
做国外房产的网站,用word可以做网站吗,辽宁企业网站建设公司,舆情分析网站1. 说明 接口注册#xff0c;使用RequestMappingHandlerMapping来实现mybatis中动态执行sql使用github上的SqlMapper工具类实现 2. 核心代码片段 以下代码为spring动态注册接口代码示例 Autowired private RequestMappingHandlerMapping requestMappingHandlerMapping;publ…1. 说明 接口注册使用RequestMappingHandlerMapping来实现mybatis中动态执行sql使用github上的SqlMapper工具类实现 2. 核心代码片段 以下代码为spring动态注册接口代码示例 Autowired private RequestMappingHandlerMapping requestMappingHandlerMapping;public boolean register2Spring(String path) {RequestMappingInfo requestMappingInfo RequestMappingInfo.paths(path).methods(RequestMethod.POST).produces(MediaType.APPLICATION_JSON_VALUE).options(requestMappingHandlerMapping.getBuilderConfiguration()).build();Method method ReflectionUtils.findMethod(getClass(), handler,HttpServletRequest.class, HttpServletResponse.class,Map.class, Map.class, Map.class);boolean status true;try {requestMappingHandlerMapping.registerMapping(requestMappingInfo, this, method);LOGGER.info(【接口注册成功】{}, path);} catch (Exception e) {status false;LOGGER.error(【注册接口异常】动态映射失败, e.getMessage());}return status;} 3. 源码 3.1 核心代码 3.1.1 ApiServiceHandler handler中register职责如下 注册到数据库中注册接口到spring容器中 import com.alibaba.fastjson2.JSONObject; import com.google.common.net.HttpHeaders; import com.hz.pro.artifact.bean.CommonException; import com.hz.pro.artifact.bean.Response; import com.hz.pro.artifact.dynamic.bean.ServiceDto; import com.hz.pro.artifact.dynamic.mapper.main.ApiServiceMapper; import com.hz.pro.artifact.utils.SqlMapper; import org.apache.ibatis.session.SqlSessionFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.http.MediaType; import org.springframework.stereotype.Service; import org.springframework.util.ReflectionUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.mvc.method.RequestMappingInfo; import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.lang.reflect.Method; import java.util.List; import java.util.Map;/*** author pp_lan* date 2024/1/4*/ Service public class ApiServiceHandler {private static final Logger LOGGER LoggerFactory.getLogger(ApiServiceHandler.class);Autowiredprivate RequestMappingHandlerMapping requestMappingHandlerMapping;AutowiredQualifier(sqlSessionFactory)private SqlSessionFactory sqlSessionFactory;Autowiredprivate ApiServiceMapper apiServiceMapper;public void initialRegister() {ListServiceDto apis findApis();for (ServiceDto api : apis) {try {register2Spring(api.getPath());} catch (Exception e) {LOGGER.error([接口注册失败]{}, api.getPath(), e.getMessage());}}}/*** 注册到spring并添加到数据库中** param path* param sql* return*/public boolean register(String path, String sql) {boolean status this.registerApiOfSql(path, sql);if (status) {status register2Spring(path);}return status;}/*** 注册到容器** param path* return*/public boolean register2Spring(String path) {RequestMappingInfo requestMappingInfo RequestMappingInfo.paths(path).methods(RequestMethod.POST).produces(MediaType.APPLICATION_JSON_VALUE).options(requestMappingHandlerMapping.getBuilderConfiguration()).build();Method method ReflectionUtils.findMethod(getClass(), handler,HttpServletRequest.class, HttpServletResponse.class,Map.class, Map.class, Map.class);boolean status true;try {requestMappingHandlerMapping.registerMapping(requestMappingInfo, this, method);LOGGER.info(【接口注册成功】{}, path);} catch (Exception e) {status false;LOGGER.error(【注册接口异常】动态映射失败, e.getMessage());}return status;}ResponseBodypublic Response handler(HttpServletRequest request, HttpServletResponse response,PathVariable(required false) MapString, Object pathVariable,RequestParam(required false) MapString, Object requestParam,RequestBody(required false) MapString, Object requestBody) {String header request.getHeader(HttpHeaders.CONTENT_TYPE);// 参数处理JSONObject params;if (header ! null header.contains(MediaType.APPLICATION_JSON_VALUE)) {params new JSONObject(requestBody);} else {params new JSONObject(requestParam);}// 执行查询try (SqlMapper sqlMapper new SqlMapper(sqlSessionFactory)) {String path request.getRequestURI();String sql apiServiceMapper.findSqlByPath(path);ListMapString, Object result sqlMapper.selectList(sql, params);return Response.ok(result);} catch (Exception e) {throw new CommonException(【公共查询异常】, e);}}/*** 查询所有在用接口** return*/public ListServiceDto findApis() {return apiServiceMapper.findApis();}/*** 注册接口** param path* param sql* return*/public boolean registerApiOfSql(String path, String sql) {try {return apiServiceMapper.insertApiSql(path, sql) 0;} catch (Exception e) {throw new CommonException(【注册接口异常】插入sql配置失败, e);}}}3.1.2 DynamicController 手动注册接口执行/dynamic/register方法便可以完成接口注册。 import com.hz.pro.artifact.bean.Response; import com.hz.pro.artifact.dynamic.bean.ApiReq; import com.hz.pro.artifact.dynamic.service.ApiServiceHandler; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;/*** author pp_lan* date 2024/1/2*/ RestController RequestMapping(/dynamic) public class DynamicController {Autowiredprivate ApiServiceHandler apiServiceHandler;/*** 注册接口** param apiReq* return*/PostMapping(register)public Response register(RequestBody Validated ApiReq apiReq) {boolean registerStatus apiServiceHandler.register(apiReq.getPath(), apiReq.getSql());return registerStatus ? Response.ok(接口注册成功) : Response.error(接口注册失败);} }3.2 依赖类 3.2.1 SqlMapper 此为github上有开源工具类最新代码请移步github。以下为其源码 import org.apache.ibatis.builder.StaticSqlSource; import org.apache.ibatis.exceptions.TooManyResultsException; import org.apache.ibatis.mapping.*; import org.apache.ibatis.scripting.LanguageDriver; import org.apache.ibatis.session.Configuration; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory;import java.util.ArrayList; import java.util.List; import java.util.Map;/*** MyBatis执行sql工具在写SQL的时候建议使用参数形式的可以是${}或#{}** 不建议将参数直接拼到字符串中当大量这么使用的时候由于缓存MappedStatement而占用更多的内存** author liuzh* since 2015-03-10*/ public class SqlMapper implements AutoCloseable {private final MSUtils msUtils;private final SqlSession sqlSession;/*** 构造方法默认缓存MappedStatement** param sqlSession*/public SqlMapper(SqlSession sqlSession) {this.sqlSession sqlSession;this.msUtils new MSUtils(sqlSession.getConfiguration());}public SqlMapper(SqlSessionFactory sqlSessionFactory) {this.sqlSession sqlSessionFactory.openSession();this.msUtils new MSUtils(sqlSession.getConfiguration());}/*** 获取List中最多只有一个的数据** param list List结果* param T 泛型类型* return*/private T T getOne(ListT list) {if (list.size() 1) {return list.get(0);} else if (list.size() 1) {throw new TooManyResultsException(Expected one result (or null) to be returned by selectOne(), but found: list.size());} else {return null;}}/*** 查询返回一个结果多个结果时抛出异常** param sql 执行的sql* return*/public MapString, Object selectOne(String sql) {ListMapString, Object list selectList(sql);return getOne(list);}/*** 查询返回一个结果多个结果时抛出异常** param sql 执行的sql* param value 参数* return*/public MapString, Object selectOne(String sql, Object value) {ListMapString, Object list selectList(sql, value);return getOne(list);}/*** 查询返回一个结果多个结果时抛出异常** param sql 执行的sql* param resultType 返回的结果类型* param T 泛型类型* return*/public T T selectOne(String sql, ClassT resultType) {ListT list selectList(sql, resultType);return getOne(list);}/*** 查询返回一个结果多个结果时抛出异常** param sql 执行的sql* param value 参数* param resultType 返回的结果类型* param T 泛型类型* return*/public T T selectOne(String sql, Object value, ClassT resultType) {ListT list selectList(sql, value, resultType);return getOne(list);}/*** 查询返回ListMapString, Object** param sql 执行的sql* return*/public ListMapString, Object selectList(String sql) {String msId msUtils.select(sql);return sqlSession.selectList(msId);}/*** 查询返回ListMapString, Object** param sql 执行的sql* param value 参数* return*/public ListMapString, Object selectList(String sql, Object value) {Class? parameterType value ! null ? value.getClass() : null;String msId msUtils.selectDynamic(sql, parameterType);return sqlSession.selectList(msId, value);}/*** 查询返回指定的结果类型** param sql 执行的sql* param resultType 返回的结果类型* param T 泛型类型* return*/public T ListT selectList(String sql, ClassT resultType) {String msId;if (resultType null) {msId msUtils.select(sql);} else {msId msUtils.select(sql, resultType);}return sqlSession.selectList(msId);}/*** 查询返回指定的结果类型** param sql 执行的sql* param value 参数* param resultType 返回的结果类型* param T 泛型类型* return*/public T ListT selectList(String sql, Object value, ClassT resultType) {String msId;Class? parameterType value ! null ? value.getClass() : null;if (resultType null) {msId msUtils.selectDynamic(sql, parameterType);} else {msId msUtils.selectDynamic(sql, parameterType, resultType);}return sqlSession.selectList(msId, value);}/*** 插入数据** param sql 执行的sql* return*/public int insert(String sql) {String msId msUtils.insert(sql);return sqlSession.insert(msId);}/*** 插入数据** param sql 执行的sql* param value 参数* return*/public int insert(String sql, Object value) {Class? parameterType value ! null ? value.getClass() : null;String msId msUtils.insertDynamic(sql, parameterType);return sqlSession.insert(msId, value);}/*** 更新数据** param sql 执行的sql* return*/public int update(String sql) {String msId msUtils.update(sql);return sqlSession.update(msId);}/*** 更新数据** param sql 执行的sql* param value 参数* return*/public int update(String sql, Object value) {Class? parameterType value ! null ? value.getClass() : null;String msId msUtils.updateDynamic(sql, parameterType);return sqlSession.update(msId, value);}/*** 删除数据** param sql 执行的sql* return*/public int delete(String sql) {String msId msUtils.delete(sql);return sqlSession.delete(msId);}/*** 删除数据** param sql 执行的sql* param value 参数* return*/public int delete(String sql, Object value) {Class? parameterType value ! null ? value.getClass() : null;String msId msUtils.deleteDynamic(sql, parameterType);return sqlSession.delete(msId, value);}Overridepublic void close() throws Exception {this.sqlSession.close();}private class MSUtils {private Configuration configuration;private LanguageDriver languageDriver;private MSUtils(Configuration configuration) {this.configuration configuration;languageDriver configuration.getDefaultScriptingLanuageInstance();}/*** 创建MSID** param sql 执行的sql* param sql 执行的sqlCommandType* return*/private String newMsId(String sql, SqlCommandType sqlCommandType) {StringBuilder msIdBuilder new StringBuilder(sqlCommandType.toString());msIdBuilder.append(.).append(sql.hashCode());return msIdBuilder.toString();}/*** 是否已经存在该ID** param msId* return*/private boolean hasMappedStatement(String msId) {return configuration.hasStatement(msId, false);}/*** 创建一个查询的MS** param msId* param sqlSource 执行的sqlSource* param resultType 返回的结果类型*/private void newSelectMappedStatement(String msId, SqlSource sqlSource, final Class? resultType) {MappedStatement ms new MappedStatement.Builder(configuration, msId, sqlSource, SqlCommandType.SELECT).resultMaps(new ArrayListResultMap() {{add(new ResultMap.Builder(configuration, defaultResultMap, resultType, new ArrayListResultMapping(0)).build());}}).build();//缓存configuration.addMappedStatement(ms);}/*** 创建一个简单的MS** param msId* param sqlSource 执行的sqlSource* param sqlCommandType 执行的sqlCommandType*/private void newUpdateMappedStatement(String msId, SqlSource sqlSource, SqlCommandType sqlCommandType) {MappedStatement ms new MappedStatement.Builder(configuration, msId, sqlSource, sqlCommandType).resultMaps(new ArrayListResultMap() {{add(new ResultMap.Builder(configuration, defaultResultMap, int.class, new ArrayListResultMapping(0)).build());}}).build();//缓存configuration.addMappedStatement(ms);}private String select(String sql) {String msId newMsId(sql, SqlCommandType.SELECT);if (hasMappedStatement(msId)) {return msId;}StaticSqlSource sqlSource new StaticSqlSource(configuration, sql);newSelectMappedStatement(msId, sqlSource, Map.class);return msId;}private String selectDynamic(String sql, Class? parameterType) {String msId newMsId(sql parameterType, SqlCommandType.SELECT);if (hasMappedStatement(msId)) {return msId;}SqlSource sqlSource languageDriver.createSqlSource(configuration, sql, parameterType);newSelectMappedStatement(msId, sqlSource, Map.class);return msId;}private String select(String sql, Class? resultType) {String msId newMsId(resultType sql, SqlCommandType.SELECT);if (hasMappedStatement(msId)) {return msId;}StaticSqlSource sqlSource new StaticSqlSource(configuration, sql);newSelectMappedStatement(msId, sqlSource, resultType);return msId;}private String selectDynamic(String sql, Class? parameterType, Class? resultType) {String msId newMsId(resultType sql parameterType, SqlCommandType.SELECT);if (hasMappedStatement(msId)) {return msId;}SqlSource sqlSource languageDriver.createSqlSource(configuration, sql, parameterType);newSelectMappedStatement(msId, sqlSource, resultType);return msId;}private String insert(String sql) {String msId newMsId(sql, SqlCommandType.INSERT);if (hasMappedStatement(msId)) {return msId;}StaticSqlSource sqlSource new StaticSqlSource(configuration, sql);newUpdateMappedStatement(msId, sqlSource, SqlCommandType.INSERT);return msId;}private String insertDynamic(String sql, Class? parameterType) {String msId newMsId(sql parameterType, SqlCommandType.INSERT);if (hasMappedStatement(msId)) {return msId;}SqlSource sqlSource languageDriver.createSqlSource(configuration, sql, parameterType);newUpdateMappedStatement(msId, sqlSource, SqlCommandType.INSERT);return msId;}private String update(String sql) {String msId newMsId(sql, SqlCommandType.UPDATE);if (hasMappedStatement(msId)) {return msId;}StaticSqlSource sqlSource new StaticSqlSource(configuration, sql);newUpdateMappedStatement(msId, sqlSource, SqlCommandType.UPDATE);return msId;}private String updateDynamic(String sql, Class? parameterType) {String msId newMsId(sql parameterType, SqlCommandType.UPDATE);if (hasMappedStatement(msId)) {return msId;}SqlSource sqlSource languageDriver.createSqlSource(configuration, sql, parameterType);newUpdateMappedStatement(msId, sqlSource, SqlCommandType.UPDATE);return msId;}private String delete(String sql) {String msId newMsId(sql, SqlCommandType.DELETE);if (hasMappedStatement(msId)) {return msId;}StaticSqlSource sqlSource new StaticSqlSource(configuration, sql);newUpdateMappedStatement(msId, sqlSource, SqlCommandType.DELETE);return msId;}private String deleteDynamic(String sql, Class? parameterType) {String msId newMsId(sql parameterType, SqlCommandType.DELETE);if (hasMappedStatement(msId)) {return msId;}SqlSource sqlSource languageDriver.createSqlSource(configuration, sql, parameterType);newUpdateMappedStatement(msId, sqlSource, SqlCommandType.DELETE);return msId;}} } 3.2.2 ApiServiceMapper import com.hz.pro.artifact.dynamic.bean.ServiceDto; import org.apache.ibatis.annotations.Param;import java.util.List;/*** author pp_lan* date 2024/1/5*/ public interface ApiServiceMapper {ListServiceDto findApis();String findSqlByPath(Param(path) String path);int insertApiSql(Param(path) String path, Param(sqlContent) String sqlContent); } 3.2.3 ApiServiceMapper.xml ?xml version1.0 encodingUTF-8? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.hz.pro.artifact.dynamic.mapper.main.ApiServiceMapperselect idfindApis resultTypecom.hz.pro.artifact.dynamic.bean.ServiceDtoselect path, sql_content from t_api_sql where in_use 1/selectselect idfindSqlByPath resultTypejava.lang.Stringselect sql_content from t_api_sql where path #{path} and in_use 1/selectinsert idinsertApiSqlINSERT INTO t_api_sql VALUES(#{path}, #{sqlContent}, 1)/insert/mapper 4 效果 4.1 注册 4.2 查询 5. 其他 上述实现步骤已完成接口的注册、查询功能。但是存在一个问题重启后接口便不存在了需要重新初始化。后续可以使用监听读取数据库中接口配置进行接口的初始化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/91833.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

番禺哪里有做网站的公司排版设计素材

win7系统是一款被大多数用户们认可的好用系统,在不断的对win7系统的使用中很多用户们都在寻找win7提高电脑运行速度的方法,今天小编就为大家带来了win7系统电脑运行速度的提升方法,让我们一起来看一下吧。 win7系统电脑运行速度的提升方法 …

石家庄电子商务网站建设济南冰河世纪网站建设

435. 无重叠区间 https://programmercarl.com/0435.%E6%97%A0%E9%87%8D%E5%8F%A0%E5%8C%BA%E9%97%B4.html 考点 贪心算法重叠区间 我的思路 先按照区间左坐标进行排序,方便后续处理进行for循环,循环范围是0到倒数第二个元素如果当前区间和下一区间重叠…

小公司做网站赚钱90设计网站怎么样

【普中开发板】基于51单片机音乐盒LCD1602显示( proteus仿真程序设计报告讲解视频) 仿真图proteus7.8及以上 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:P08 1. 主要功能: 基于51单片机AT89C51/52&#…

wordpress3.6南京做网站优化的企业排名

在 C# 中&#xff0c;Lazy<T> 是一个泛型类&#xff0c;用于延迟初始化对象。它提供了一种方便的方式来推迟对象的创建&#xff0c;直到首次访问该对象时。 Lazy<T> 类有一个重要的特性&#xff0c;即它使用了线程安全的方式进行延迟初始化。这意味着即使在多线程…

大型网站建设企业网站设计制作售价多少钱

文章目录 一、网络层概述1. 网络层的作用2. 网络层与其他层的关系 二、核心协议和技术1. IP协议2. 路由和转发3. 子网划分和超网 三、网络层设备1. 路由器2. 三层交换机 一、网络层概述 1. 网络层的作用 网络层主要负责在不同网络间传输数据包&#xff0c;确保数据能够跨越多…

网站建设语言都有什么软件建设网站是否等于网络营销

正题 题目链接:https://www.ybtoj.com.cn/problem/526 题目大意 一个nmn\times mnm的网格上有字母&#xff0c;你每次可以沿平行坐标轴对折网格&#xff0c;要求对折的对应位置字母相同。 询问有多少个可能对折出来的子矩阵。 1≤nm≤1061\leq n\times m\leq 10^61≤nm≤106…

什么网站最好wordpress 多说评论

今天&#xff0c;为了一些原因&#xff0c;要重启数据库&#xff0c;但因为当时安装的时候&#xff0c;同学随便装了&#xff0c;导致很多文件都找不到&#xff0c;想使用绝对路径重启数据的计划卡死在了路上。以下&#xff0c;我写下我的数据库开启、关闭的方法&#xff0c;方…

网站推广软件免费版大全运城市网站建设

不知道大家在使用 Gin 构建 API 服务时有没有这样的问题:参数绑定的环节可不可以自动处理&#xff1f;错误可不可以直接返回&#xff0c;不想写空 return, 漏写就是 bug本文通过简单地封装&#xff0c;利用 go 的接口特性&#xff0c;提供一个解决上述两个问题的思路一、解决过…

自助建站 知乎seo引擎

一、数组 在 solidity 中&#xff0c;数组分为定长数组和动态数据&#xff0c;这两者的定义上跟 golang 很相似&#xff1b;其定长数组在创建好后不能设置超过数组长度的值&#xff0c;也就是不能push&#xff1b;而动态数组允许 push&#xff0c;还有一点很有意思的是&#x…

响应式网站导航栏内容会员卡管理系统怎么制作

Python是一种高级、通用、解释型的编程语言&#xff0c;具有简洁、易于阅读和理解的语法。以下是Python中常用的语法&#xff1a; 变量定义和赋值&#xff1a; variable value输出内容&#xff1a; print("Hello, World!")条件判断&#xff1a; if condition:# 条件…

成都网站建站公司凉山建设网站

今天推荐一个可以快速开发 ChatGPT UI 界面的组件库&#xff0c;质量很高&#xff0c;拿来就能用。 Lobe UI 是由 lobehub 团队开发的一套 web UI 组件库&#xff0c;和我之前推荐的很多通用型的 UI 组件库不同&#xff0c;Lobe UI 是专门为目前火热的 AIGC 应用开发而打造&am…

产品宣传网站开发seo工具在线访问

原文Understanding ‘*’, ‘*args’,’**‘and’**kwargs’ 刚开始学习python的时候&#xff0c;对有关args,kwargs,*和**的使用感到很困惑。相信对此感到疑惑的人也有很多。我打算通过这个帖子来排解这个疑惑(希望能减少疑惑)。 让我们通过以下5步来理解&#xff1a; 通过…

网站建设 div怎么用门户网站的推广

Federation 具备的数据转发功能类似&#xff0c; Shovel 够可靠、持续地从一个 Broker 中的队列 ( 作为源端&#xff0c;即source)拉取数据并转发至另一个 Broker 中的交换器 ( 作为目的端&#xff0c;即 destination) 。作为源端的队列和作为目的端的交换器可以同时位于…

制作网站网络科技公司介绍产品的营销推文

在采用分库分表设计时&#xff0c;通过一个PartitionKey根据散列策略将数据分散到不同的库表中&#xff0c;从而有效降低海量数据下C端访问数据库的压力。这种方式可以缓解单一数据库的压力&#xff0c;提升了吞吐量&#xff0c;但同时也带来了新的问题。对于B端商户而言&#…

平面设计师长逛的网站有哪些兼职做ppt是哪个网站

看这篇前请先把我上一篇了解一下&#xff1a;深入理解数据结构第一弹——二叉树&#xff08;1&#xff09;——堆-CSDN博客 前言&#xff1a; 相信很多学习数据结构的人&#xff0c;都会遇到一种情况&#xff0c;就是明明最一开始学习就学习了时间复杂度&#xff0c;但是在后期…

曲靖网站建设网站建设辶金手指排名十三

我今天要讨论的功能是Java EE 6中的事件机制。一般的想法是触发一个事件&#xff0c;并让事件监听器来接收它。 我创建了这个完全没有用的示例&#xff0c;但是它的简单性帮助我专注于重要的内容。 我将从后备操作中触发LogEvent&#xff0c;该事件将记录到java.util.Logger中。…

现在做什么网站好wordpress内存高

在Android应用开发中经常要用各种控件&#xff0c;并为控件设置其背景颜色&#xff0c;使用各种不同的颜色为控件着色是很有必要的。 在Android系统中&#xff0c;各种颜色与其对应的码制如下所示&#xff1a; <resources> <color name"white">#ffffff…

俄语免费网站制作安徽六安房价

本文共514个字&#xff0c;预计用时2分钟小伙伴们&#xff0c;今天给大家分享一个小软件&#xff0c;名字叫做 EyeCareApp&#xff0c;中文名&#xff1a;护眼软件EyeCareApp是一款能够调节屏幕亮度的软件&#xff0c;它可以调整屏幕亮度&#xff0c;滤除蓝光&#xff0c;有效减…

在外国做玄幻小说网站手帐风格wordpress主题

原生应用&#xff1a;OpenAI™ChatGPT、Baidu.Inc™文心一言 也可以体验CSDN的INSCODE AI&#xff0c;集成多个国内GPT内容。 文章目录 前言----编程语言的未来&#xff1f;一、编程语言的教育1.1 学校所见所闻1.2 开启我们的Ai行程~io&#xff01;1.3 Ai结果评论 二、Ai编程教…

做网站模板用什么软件许昌市网站建设

编程思维&#xff0c;对于一个开发人员来说是必备的&#xff0c;但凡能让应用跑起来&#xff0c;不管应用的大小&#xff0c;优劣&#xff0c;说明这个开发人员都具有编程思维&#xff0c;毕竟程序认可了这个开发人员逻辑&#xff0c;能启动起来。小到几行代码&#xff0c;一个…