- 浏览: 65753 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (121)
- luence (7)
- MoveLuceneRebuild (0)
- ehcache (0)
- memcached (12)
- WeiXin (1)
- hy (0)
- alipay (0)
- Wxap (0)
- 学习笔记 (14)
- java generic (1)
- threadpool (0)
- Awmazon (0)
- com.yulong.businessCache (0)
- com.yulong.util (1)
- com.wxap (0)
- com.yulong.wxshop (0)
- com.alipay (0)
- com.yulong.session (0)
- com.yulong.handler (0)
- kafka (0)
- http://www.cnblogs.com/oubo/archive/2012/02/04/2394646.html (0)
- redis (0)
- MongoDB (2)
- Nginx (1)
- java (10)
- 云搜索 (4)
- Hadoop (1)
- Spring (15)
- Thread (1)
- 博客链接 (0)
- AJAX与CSS (7)
- 项目管理 (1)
- restful架构 (1)
- 多线程 (3)
- Java面试 (6)
- 牛人博客 (2)
- Linux (1)
- java集合 (1)
- Socket与Nio (1)
- SQL开发 (2)
- Spring Boot (3)
- Spring4.1 (4)
- tomcat配置 (1)
- JVM (5)
- Hibernate (1)
- Dubbo (7)
- MQ (2)
- java常见错误 (0)
最新评论
SearchLuceneForCmsLog
package com.yulong.lucene.biz;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.apache.log4j.Logger;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.queryParser.MultiFieldQueryParser;
import org.apache.lucene.search.BooleanClause;
import org.apache.lucene.search.Hits;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.MultiSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.Sort;
import org.apache.lucene.search.SortField;
import org.apache.lucene.search.highlight.Highlighter;
import org.apache.lucene.search.highlight.QueryScorer;
import org.apache.lucene.search.highlight.SimpleFragmenter;
import org.apache.lucene.search.highlight.SimpleHTMLFormatter;
import org.apache.lucene.util.Version;
import com.yulong.lucene.core.LuceneContacts;
import com.yulong.lucene.util.LabelUtil;
import com.yulong.lucene.util.RequestUtil;
import com.yulong.model.Goods;
import com.yulong.util.StringUtil;
/**
* 后台多并发搜索文章处理日志
*
* @author fyh
*
*/
public class SearchLuceneForCmsLog
{
/**
* LOG.
*/
private static final Logger LOG = Logger.getLogger(SearchLuceneForCmsLog.class);
private static String LS = "<font color='red'><b>";
private static String LE = "</b></font>";
/**
* 后台内容管理处,信息检索
*
* @param keyword 搜索关键字
* @param start 记录开始
* @param max 记录结束
* @param orderByField 排序字段
* @param orderByType 排序类型(asc:升序,其他:降序)
*
* @throws IOException
*/
@SuppressWarnings({ "unchecked", "deprecation" })
public static String SearchForContent2(String keyword, int start, int max, String orderByField, String orderByType)
throws Exception
{
// 可检索索引
String path = "X:/index/" + "/index";
IndexSearcher indexSearcher = new IndexSearcher(path);
IndexSearcher indexSearchers[] = { indexSearcher };
MultiSearcher searcher = new MultiSearcher(indexSearchers);
String str = "";
if (searcher != null)
{
// 开始搜索
// 查询字段
String[] fields = { "saleName", "name", "advertiseWords" };
BooleanClause.Occur[] clauses = { BooleanClause.Occur.SHOULD, BooleanClause.Occur.SHOULD,
BooleanClause.Occur.SHOULD };
Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_CURRENT);
Query query = MultiFieldQueryParser.parse(keyword, fields, clauses, analyzer);
// 排序
boolean orderby = true;
if ("asc".equalsIgnoreCase(orderByType))
{
orderby = false;
}
SortField sortField = new SortField(orderByField, orderby);
Sort sort = new Sort(sortField);
Hits top = searcher.search(query, sort);
if (max > top.length())
max = top.length();
// 处理结果集
for (int i = start; i < max; i++)
{
Document doc = top.doc(i);
if (str != "")
str += ",";
List<Field> list = doc.getFields();
String temp = "";
for (Field d : list)
{
if ("goodsId".equals(d.name()))
{
// 获取图片ID,根据goodsId获取图片.
String goodsId = RequestUtil.VailStr(d.stringValue(), "");
System.out.println("开始获取ID=" + goodsId + "的图片...");
// .......................未实现.
}
if (temp != "")
temp += ",";
temp += "\"" + d.name() + "\":\"" + LabelUtil.filter(RequestUtil.VailStr(d.stringValue(), ""))
+ "\"";
}
str += "{" + temp + "}";
}
searcher.close();
}
// str = "{\"data\":[" + str + "],\"total\":\"" + num + "\"}";
return str;
}
/**
* 后台内容管理处,信息检索
*
* @param keyword 搜索关键字
* @param start 记录开始
* @param max 记录结束
* @param orderByField 排序字段
* @param orderByType 排序类型(asc:升序,其他:降序)
*
* @throws IOException
*/
@SuppressWarnings({ "unchecked", "deprecation" })
public static List<Goods> SearchForContent(String indexPath, String keyword, int start, int max,
String orderByField, String orderByType) throws Exception
{
List<Goods> goodsList = new ArrayList<Goods>();
String path = indexPath + "index";
IndexSearcher indexSearcher = new IndexSearcher(path);
IndexSearcher indexSearchers[] = { indexSearcher };
MultiSearcher searcher = new MultiSearcher(indexSearchers);
if (searcher != null)
{
String[] fields = { "saleName", "advertiseWords" };
BooleanClause.Occur[] clauses = { BooleanClause.Occur.SHOULD, BooleanClause.Occur.SHOULD };
Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_CURRENT);
keyword = LabelUtil.filter(keyword);
Query query = MultiFieldQueryParser.parse(keyword, fields, clauses, analyzer);
boolean orderby = true;
if ("asc".equalsIgnoreCase(orderByType))
{
orderby = false;
}
SortField sortField = new SortField(orderByField, orderby);
Sort sort = new Sort(sortField);
Hits top = null;
if ("sales".equals(orderByField))
{
top = searcher.search(query);
}
else
{
top = searcher.search(query, sort);
}
SimpleHTMLFormatter simpleHTMLFormatter = new SimpleHTMLFormatter(LS, LE);
Highlighter highlighter = new Highlighter(simpleHTMLFormatter, new QueryScorer(query));
highlighter.setTextFragmenter(new SimpleFragmenter(100));
if (max > top.length())
max = top.length();
for (int i = start; i < max; i++)
{
Document doc = top.doc(i);
List<Field> list = doc.getFields();
Goods good = new Goods();
for (Field d : list)
{
String filedName = d.name();
String value = d.stringValue();
if ("goodsId".equals(filedName))
{
String goodsId = RequestUtil.VailStr(value, "");
good.setGoods_id(Long.parseLong(goodsId));
}
if ("saleName".equals(filedName))
{
String filterStr = LabelUtil.filter(RequestUtil.VailStr(d.stringValue(), ""));
String highliStr = highlighter.getBestFragment(LuceneContacts.analyzer, d.name(), filterStr);
if (StringUtil.isEmpty(highliStr))
{
good.setSale_name(RequestUtil.VailStr(value, ""));
}
else
{
good.setSale_name(highliStr);
}
}
if ("name".equals(filedName))
{
good.setName(RequestUtil.VailStr(value, ""));
}
if ("advertiseWords".equals(filedName))
{
String filterStr = LabelUtil.filter(RequestUtil.VailStr(d.stringValue(), ""));
String highliStr = highlighter.getBestFragment(LuceneContacts.analyzer, d.name(), filterStr);
if (StringUtil.isEmpty(highliStr))
{
good.setAdvertise_words(RequestUtil.VailStr(value, ""));
}
else
{
good.setAdvertise_words(highliStr);
}
}
if ("price".equals(filedName))
{
if (value != null && !"".equals(value) && !"null".equals(value))
{
good.setPrice(new BigDecimal(value));
}
else
{
good.setPrice(new BigDecimal(0));
}
}
if ("onShelfTime".equals(filedName))
{
Date date = null;
if (value != null && !"".equals(value))
{
date = new Date(RequestUtil.FormatDaeHH(value));
}
good.setOn_shelf_time(date);
}
if ("primaryPicName".equals(filedName))
{
good.setPrimaryPicName(RequestUtil.VailStr(value, ""));
}
if ("imgPath".equals(filedName))
{
good.setImgPath(RequestUtil.VailStr(value, ""));
}
if ("picType".equals(filedName))
{
good.setPicType(RequestUtil.VailStr(value, ""));
}
}
goodsList.add(good);
}
searcher.close();
}
return goodsList;
}
/**
* 后台内容管理处,信息检索
*
* @param keyword 搜索关键字
* @param start 记录开始
* @param max 记录结束
* @param orderByField 排序字段
* @param orderByType 排序类型(asc:升序,其他:降序)
*
* @throws IOException
*/
@SuppressWarnings("deprecation")
public static int getTotalIndex(String indexPath, String keyword, String orderByField, String orderByType)
throws Exception
{
String path = indexPath + "index";
IndexSearcher indexSearcher = new IndexSearcher(path);
IndexSearcher indexSearchers[] = { indexSearcher };
MultiSearcher searcher = new MultiSearcher(indexSearchers);
int num = 0;
if (searcher != null)
{
String[] fields = { "saleName", "advertiseWords" };
BooleanClause.Occur[] clauses = { BooleanClause.Occur.SHOULD, BooleanClause.Occur.SHOULD };
Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_CURRENT);
keyword = LabelUtil.filter(keyword);
Query query = MultiFieldQueryParser.parse(keyword, fields, clauses, analyzer);
Hits top = searcher.search(query);
num = top.length();
searcher.close();
}
return num;
}
}
import java.io.IOException;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.apache.log4j.Logger;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.queryParser.MultiFieldQueryParser;
import org.apache.lucene.search.BooleanClause;
import org.apache.lucene.search.Hits;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.MultiSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.Sort;
import org.apache.lucene.search.SortField;
import org.apache.lucene.search.highlight.Highlighter;
import org.apache.lucene.search.highlight.QueryScorer;
import org.apache.lucene.search.highlight.SimpleFragmenter;
import org.apache.lucene.search.highlight.SimpleHTMLFormatter;
import org.apache.lucene.util.Version;
import com.yulong.lucene.core.LuceneContacts;
import com.yulong.lucene.util.LabelUtil;
import com.yulong.lucene.util.RequestUtil;
import com.yulong.model.Goods;
import com.yulong.util.StringUtil;
/**
* 后台多并发搜索文章处理日志
*
* @author fyh
*
*/
public class SearchLuceneForCmsLog
{
/**
* LOG.
*/
private static final Logger LOG = Logger.getLogger(SearchLuceneForCmsLog.class);
private static String LS = "<font color='red'><b>";
private static String LE = "</b></font>";
/**
* 后台内容管理处,信息检索
*
* @param keyword 搜索关键字
* @param start 记录开始
* @param max 记录结束
* @param orderByField 排序字段
* @param orderByType 排序类型(asc:升序,其他:降序)
*
* @throws IOException
*/
@SuppressWarnings({ "unchecked", "deprecation" })
public static String SearchForContent2(String keyword, int start, int max, String orderByField, String orderByType)
throws Exception
{
// 可检索索引
String path = "X:/index/" + "/index";
IndexSearcher indexSearcher = new IndexSearcher(path);
IndexSearcher indexSearchers[] = { indexSearcher };
MultiSearcher searcher = new MultiSearcher(indexSearchers);
String str = "";
if (searcher != null)
{
// 开始搜索
// 查询字段
String[] fields = { "saleName", "name", "advertiseWords" };
BooleanClause.Occur[] clauses = { BooleanClause.Occur.SHOULD, BooleanClause.Occur.SHOULD,
BooleanClause.Occur.SHOULD };
Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_CURRENT);
Query query = MultiFieldQueryParser.parse(keyword, fields, clauses, analyzer);
// 排序
boolean orderby = true;
if ("asc".equalsIgnoreCase(orderByType))
{
orderby = false;
}
SortField sortField = new SortField(orderByField, orderby);
Sort sort = new Sort(sortField);
Hits top = searcher.search(query, sort);
if (max > top.length())
max = top.length();
// 处理结果集
for (int i = start; i < max; i++)
{
Document doc = top.doc(i);
if (str != "")
str += ",";
List<Field> list = doc.getFields();
String temp = "";
for (Field d : list)
{
if ("goodsId".equals(d.name()))
{
// 获取图片ID,根据goodsId获取图片.
String goodsId = RequestUtil.VailStr(d.stringValue(), "");
System.out.println("开始获取ID=" + goodsId + "的图片...");
// .......................未实现.
}
if (temp != "")
temp += ",";
temp += "\"" + d.name() + "\":\"" + LabelUtil.filter(RequestUtil.VailStr(d.stringValue(), ""))
+ "\"";
}
str += "{" + temp + "}";
}
searcher.close();
}
// str = "{\"data\":[" + str + "],\"total\":\"" + num + "\"}";
return str;
}
/**
* 后台内容管理处,信息检索
*
* @param keyword 搜索关键字
* @param start 记录开始
* @param max 记录结束
* @param orderByField 排序字段
* @param orderByType 排序类型(asc:升序,其他:降序)
*
* @throws IOException
*/
@SuppressWarnings({ "unchecked", "deprecation" })
public static List<Goods> SearchForContent(String indexPath, String keyword, int start, int max,
String orderByField, String orderByType) throws Exception
{
List<Goods> goodsList = new ArrayList<Goods>();
String path = indexPath + "index";
IndexSearcher indexSearcher = new IndexSearcher(path);
IndexSearcher indexSearchers[] = { indexSearcher };
MultiSearcher searcher = new MultiSearcher(indexSearchers);
if (searcher != null)
{
String[] fields = { "saleName", "advertiseWords" };
BooleanClause.Occur[] clauses = { BooleanClause.Occur.SHOULD, BooleanClause.Occur.SHOULD };
Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_CURRENT);
keyword = LabelUtil.filter(keyword);
Query query = MultiFieldQueryParser.parse(keyword, fields, clauses, analyzer);
boolean orderby = true;
if ("asc".equalsIgnoreCase(orderByType))
{
orderby = false;
}
SortField sortField = new SortField(orderByField, orderby);
Sort sort = new Sort(sortField);
Hits top = null;
if ("sales".equals(orderByField))
{
top = searcher.search(query);
}
else
{
top = searcher.search(query, sort);
}
SimpleHTMLFormatter simpleHTMLFormatter = new SimpleHTMLFormatter(LS, LE);
Highlighter highlighter = new Highlighter(simpleHTMLFormatter, new QueryScorer(query));
highlighter.setTextFragmenter(new SimpleFragmenter(100));
if (max > top.length())
max = top.length();
for (int i = start; i < max; i++)
{
Document doc = top.doc(i);
List<Field> list = doc.getFields();
Goods good = new Goods();
for (Field d : list)
{
String filedName = d.name();
String value = d.stringValue();
if ("goodsId".equals(filedName))
{
String goodsId = RequestUtil.VailStr(value, "");
good.setGoods_id(Long.parseLong(goodsId));
}
if ("saleName".equals(filedName))
{
String filterStr = LabelUtil.filter(RequestUtil.VailStr(d.stringValue(), ""));
String highliStr = highlighter.getBestFragment(LuceneContacts.analyzer, d.name(), filterStr);
if (StringUtil.isEmpty(highliStr))
{
good.setSale_name(RequestUtil.VailStr(value, ""));
}
else
{
good.setSale_name(highliStr);
}
}
if ("name".equals(filedName))
{
good.setName(RequestUtil.VailStr(value, ""));
}
if ("advertiseWords".equals(filedName))
{
String filterStr = LabelUtil.filter(RequestUtil.VailStr(d.stringValue(), ""));
String highliStr = highlighter.getBestFragment(LuceneContacts.analyzer, d.name(), filterStr);
if (StringUtil.isEmpty(highliStr))
{
good.setAdvertise_words(RequestUtil.VailStr(value, ""));
}
else
{
good.setAdvertise_words(highliStr);
}
}
if ("price".equals(filedName))
{
if (value != null && !"".equals(value) && !"null".equals(value))
{
good.setPrice(new BigDecimal(value));
}
else
{
good.setPrice(new BigDecimal(0));
}
}
if ("onShelfTime".equals(filedName))
{
Date date = null;
if (value != null && !"".equals(value))
{
date = new Date(RequestUtil.FormatDaeHH(value));
}
good.setOn_shelf_time(date);
}
if ("primaryPicName".equals(filedName))
{
good.setPrimaryPicName(RequestUtil.VailStr(value, ""));
}
if ("imgPath".equals(filedName))
{
good.setImgPath(RequestUtil.VailStr(value, ""));
}
if ("picType".equals(filedName))
{
good.setPicType(RequestUtil.VailStr(value, ""));
}
}
goodsList.add(good);
}
searcher.close();
}
return goodsList;
}
/**
* 后台内容管理处,信息检索
*
* @param keyword 搜索关键字
* @param start 记录开始
* @param max 记录结束
* @param orderByField 排序字段
* @param orderByType 排序类型(asc:升序,其他:降序)
*
* @throws IOException
*/
@SuppressWarnings("deprecation")
public static int getTotalIndex(String indexPath, String keyword, String orderByField, String orderByType)
throws Exception
{
String path = indexPath + "index";
IndexSearcher indexSearcher = new IndexSearcher(path);
IndexSearcher indexSearchers[] = { indexSearcher };
MultiSearcher searcher = new MultiSearcher(indexSearchers);
int num = 0;
if (searcher != null)
{
String[] fields = { "saleName", "advertiseWords" };
BooleanClause.Occur[] clauses = { BooleanClause.Occur.SHOULD, BooleanClause.Occur.SHOULD };
Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_CURRENT);
keyword = LabelUtil.filter(keyword);
Query query = MultiFieldQueryParser.parse(keyword, fields, clauses, analyzer);
Hits top = searcher.search(query);
num = top.length();
searcher.close();
}
return num;
}
}
相关推荐
JavaScript
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
Batik是为想使用svg格式图片来实现各种功能的应用程序和Applet提供的一个基于java的工具包
逆波兰式
ChatGPT 技术开发教程指南分享.zip
抓紧看看啊
在虚幻引擎中,当我们向透过外壳看到内部的材质,或者透过布料/盔甲等看到人体,即可通过将该材质函数连接到相应的材质节点图中,达到这样的效果。
最小生成树的实现原理及java代码实现
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
STM32H562实现UCOS-III操作系统功能。 项目代码可直接编译运行~
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
MT5505机芯升级方法: 1、下载数据,压缩包解压,升级软件文件夹名字为Hisense_5505,文件夹下包含“机型名.pkg”以及version.txt 2、将文件夹Hisense_5505,整个文件夹拷贝至U盘根目录下 3、电视关机,插入U盘(USB3或者靠近高频头的USB口),重新启动电视机,电视机自动检测到升级软件之后并进行升级 4、在升级过程中屏幕有相关提示,升级完成后能自动开机。(建议是升级完成之后拔下U盘设备以免下次开机进行重复性升级) 注意: 1、(U盘要求使用FAT32格式,建议4G-8G的品牌U盘,刷机成功率会高) 2、升级到结束,大约需要8-30分钟,中途绝对不能断电 3、升级重启第一次进入系统,请等完全正常进入开机桌面之后,才能拨下U盘 4、如无法升级,将Hisense 5505文件夹内“机型名.pkg”的文件重命名为“upgrade.pkg”,此时插上U盘开机,电视就会默认为强制升级模式
c语言打字母游戏代码.zip
JavaScript
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
智能控制-AD0832数字电压表1602液晶程序(汇编语言).zip 智能控制-AD0832数字电压表LED灯实验程序(汇编语言).zip 智能控制-AD0832数字电压表数码管实验程序(汇编语言).zip