- 自学微信小程序的第七天
breaking_lxt
微信小程序小程序
DAY71、canvas组件用于自定义绘制图形,该组件支撑2D和WebGl的绘图。表38:canvas组件的常用属性属性类型说明typestring指定canvas组件的类型,支持2D和WebDLcanvas-idstringCanvas组件的唯一标识符,若指定了type属性则无需再指定该属性disable-scrollboolean当在canvas组件中移动时且有绑定手势事件时,禁止屏幕滚动及下
- 【SpringBoot】+【Vue】集成AOP系统日志
爱因斯坦乐
springvue.jsjavaaop交互
新建logs表添加aop依赖org.springframework.bootspring-boot-starter-aop新建获取ip地址工具类importjavax.servlet.http.HttpServletRequest;/***功能:IpUtils*获取ip地址工具类*作者:爱因斯坦乐*/publicclassIpUtils{publicstaticStringgetIpAddr(Ht
- 卡码54 替换数字
dokii1
c++算法开发语言
1.O(n^2)#include#includeusingnamespacestd;voidtrans2number(string&s){stringsinsert="number";intn=s.size();intnum=0;for(inti=0;i>s;trans2number(s);cout#includeusingnamespacestd;voidtrans2number(string&
- scala的模式匹配
L耀早睡
scala开发语言大数据
模式匹配分为两种:1.精准匹配2.模糊匹配实例操作如下:objecttest{defmain(args:Array[String]):Unit={valid="339005200101020054"//取出id前两位valprovince=id.substring(0,2)if(province=="42"){println("湖北")}elseif(province=="33"){println
- redis 快速入门
栀夏613
数据库redis数据库缓存
目录数据库的分类NoSQL非结构化认识redis特征安装redis单机安装Docker安装redis的基本配置启动redis关闭redisredis开机自启redis客户端redis数据结构介绍基本类型String的基础操作List基本操作Set基本操作SortedSet基本操作Hash基本操作redis通用命令key的层级格式数据库的分类关系型数据库结构化数据表中存储的数据格式是一样的数据与数据
- redis 实现登陆次数限制
weixin_30388677
数据库javaruntime
title:redis-login-limitation利用redis实现登陆次数限制,注解+aop,核心代码很简单.基本思路比如希望达到的要求是这样:在1min内登陆异常次数达到5次,锁定该用户1h那么登陆请求的参数中,会有一个参数唯一标识一个user,比如邮箱/手机号/userName用这个参数作为key存入redis,对应的value为登陆错误的次数,string类型,并设置过期时间为1mi
- 文件服务器登录次数限制,redis 实现登陆次数限制的思路详解
Sinaean Dean
文件服务器登录次数限制
title:redis-login-limitation利用redis实现登陆次数限制,注解+aop,核心代码很简单.基本思路比如希望达到的要求是这样:在1min内登陆异常次数达到5次,锁定该用户1h那么登陆请求的参数中,会有一个参数唯一标识一个user,比如邮箱/手机号/userName用这个参数作为key存入redis,对应的value为登陆错误的次数,string类型,并设置过期时间为1mi
- 密码长度校验及登陆次数限制
业界搬砖第n人
JAVA密码复杂度正则表达式登录限制Redis用户安全
密码长度校验及登陆次数限制目录前言一、密码复杂度1.核心代码2.思维用例二、登录限制1.核心代码2.思维逻辑前言此文用来记录密码复杂度的校验以及登录次数限制一、密码复杂度密码复杂度的校验第一个想到的就是正则表达式用来校验密码1.核心代码//密码长度不少于8位且至少包含大写字母、小写字母、数字和特殊符号中的四种publicstaticfinalStringpsw="^(?![A-Za-z0-9]+$
- (LeetCode 每日一题) 132. 分割回文串 II (动态规划dp)
岁忧
java版刷题LeetCodeleetcode动态规划算法javac++
题目:132.分割回文串II思路:最大分割次数为n-1,也就是分割为单个字符的次数。通过动态规划dp,可以得出字符串之间的哪段是回文串。再通过动态规划dp,算出使区间[0,i]为回文分割串所需要的最小分割次数f[i]。最后答案为f[n-1],时间复杂度为0(n^2)。classSolution{public:intn;vector>v;//动态规划一:判断回文串voiddp1(strings){v
- 打卡信奥刷题(877)用C++信奥P11231[普及组/提高] [CSP-S 2024] 决斗
Loge编程生活
C++c++算法开发语言青少年编程数据结构
P11231[CSP-S2024]决斗题目描述今天是小Q的生日,他得到了nnn张卡牌作为礼物。这些卡牌属于火爆的“决斗怪兽”,其中,第iii张卡代表一只攻击力为rir_iri,防御力也为rir_iri的怪兽。一场游戏分为若干回合。每回合,小Q会选择某只怪兽iii以及另一只怪兽j(i≠j)j(i\neqj)j(i=j),并让怪兽iii向怪兽jjj发起攻击。此时,若怪兽iii的攻击力小于等于怪兽jj
- C++深入学习笔记(19)—— 迭代器
慎铭
C++深入学习笔记c++容器开发语言
iterator头文件中,除了为每个容器所定义的迭代器外,标准库中还额外定义了其它的迭代器类型,如下。插入迭代器(insetiterator):该类迭代器被绑定到一个容器上,可用来向容器中插入元素。流迭代器(streamiterator):该类迭代器被绑定到输入或者输出流上,可以用来遍历有关联的IO流。反向迭代器(reverseiterator):这些迭代器向后移动而不是向前移动。除了forw
- MYSQL实现动态替换字符串某个下标位置的值的函数
bilibilidicks
mysqljava数据库
DELIMITER$$CREATEFUNCTIONreplace_in_array(input_stringVARCHAR(255),split_delimiterVARCHAR(1),numberINT,targetStrVARCHAR(255))RETURNSVARCHAR(255)BEGINDECLAREtemp_arrayVARCHAR(255)DEFAULTinput_string;DE
- DockerでOracle Database 23ai FreeをセットアップしMAX_STRING_SIZEを拡張する手順
engchina
LINUX数据库dockeroracle23.7
DockerでOracleDatabase23cFreeをセットアップしMAX_STRING_SIZEを拡張する手順はじめに環境準備ディレクトリ作成Dockerコンテナ起動データベース設定変更コンテナ内でSQL*Plus起動PDB操作と文字列サイズ拡張設定検証管理者ユーザー作成注意事項まとめはじめにOracleDatabase23aiFreeをDocker環境でセットアップし、拡張文字列サイズ(M
- ruby之旅之数组
长大的一哲
ruby
数组:①Ruby数组可存储诸如String、Integer、Fixnum、Hash、Symbol等对象,甚至可以是其他Array对象。②Ruby数组不需要指定大小,当向数组添加元素时,Ruby数组会自动增长1.数组的创建(1.1)通过Array.new创建①创建一个不指定大小的空数组arr=Array.new②创建一个指定大小的空数组arr=Array.new(20)③创建数组的同时给每个数组元素
- Java核心API教学:掌握编程基础
培风图南以星河揽胜
java开发语言java
在当今的软件开发领域,Java以其强大的跨平台能力和丰富的API库而著称。无论你是初学者还是有一定经验的开发者,深入理解Java的核心API都是提升编程技能的关键。本文将带你走进Java的世界,通过实例详细讲解几个常用的核心API分类。1.java.lang包:编程的基础java.lang包是Java语言的核心,其中的类在编译时会自动导入,无需显式声明。String类:字符串是编程中最常用的数据类
- 【JavaSE Pro】 Java 进阶 笔记汇总(更新中)
m0_74823863
面试学习路线阿里巴巴java笔记开发语言
【JavaSEPro】Java进阶笔记汇总Java进阶内容的笔记整理汇总,主要讲解的是Java基础语法之外的一些特有的语言特性,包括接口,内部类,Lambda表达式,泛型,异常等。有问题欢迎和我交流!Day1面向对象进阶(static、单例、代码块、继承)Day2面向对象进阶(包、权限修饰符、抽象类、接口)Day3多态,内部类,常用API(Object,Objects,StringBuilder,
- 使用Java操作Excel
m0_67244960
Java基础javaexcelpython
1.引入依赖com.alibabaeasyexcel3.1.32.编写实体类,用注解映射Excel表格属性@DatapublicclassExcel{@ExcelProperty("用户名")@ColumnWidth(20)privateStringname;@ExcelProperty("性别")@ColumnWidth(20)privateStringsex;}3.编写Java代码向Excel
- Kotlin 数据类与密封类
lly202406
开发语言
Kotlin数据类与密封类引言在编程语言中,数据类和密封类是两种非常有用的特性,特别是在Kotlin中。数据类用于创建不可变的数据持有类,而密封类则用于限制类的继承结构。本文将详细介绍Kotlin中的数据类与密封类,包括它们的定义、使用场景以及它们在Kotlin中的优势。数据类定义数据类在Kotlin中用于创建不可变的值对象,它自动提供构造函数、getter、toString、equals、has
- C语言--iota函数
ppaiml
c语言c语言基础函数
一、iota函数:功能:把一个整数转换为字符串。eg:#include#includevoidmain(){intnumber=43;charstring[100];iota(number,string,2);//2代表转换为二进制。printf("原数=%d,二进制数=%s\n",number,string);}二、将一个int类型变量(4字节),以二进制形式进行输出--showbits.c
- Flutter 使用OverlayEntry实现Toast
Gm_Cheng
flutterandroid
记录一次关于实现Flutter的tosat消息提示框设定传入参数首先,toast需要两个基本参数,BuildContext和String,BuildContext为上下文,String为需要现实的文字信息若是需要自定义字体或者消息框样式,可以设置TextStyle或Container等其他组件作为参数传入进来,至于toast的显示时间,可以设置一个默认的Duration值为3000毫秒,再定义两个
- IDEA提示将方法形参更改为(什么什么类型),要检查对应的实体类中的字段类型是否正确
小丁学Java
产品资质管理系统jpa
IDEA提示inviteCodeId应该是字符串,明显不对,后来检查发现是FakeRegistration类中把inviteCodeId定义为String类型了。
- 第九课:浅拷贝与深拷贝
MgVccl
python
一、可变参数和不可变参数Python中string、tuple和number是不可变对象,而dict、list等是可变对象。不可变对象在进行重新赋值的时候,实际上是将原始值丢弃,将变量指向一个新的值;可变对象的可变性实质上是指更改可变对象中的子对象,比如ist中的item元素的更改。直接赋值:其实就是对象的引用(别名),只是形成2个变量,实际上还是指向同一个对象。eg:#直接赋值a=[1,2,3]
- 学习创建sharpGL(no)
苜柠
SharpGLc#
未能成功使用 #region舍弃 GLSL语言:顶点着色器的shader(这里填写5,6是为了演示,可取0,1,2,3...) //顶点着色器 conststringvertexCode="#version330core\n"+ //3.30版本(版本申明) "layout(location=0)invec3position_1;\n"+ //三个浮点数vector向量表示位置。pos
- 序列化--jackson与hutool对比
小达人Fighting
序列化与反序列化java数据库服务器
场景描述:1、经过web层处理的序列化【以jackson为例】2、纯工具的序列化【以hutool为例】代码演示1)POJO@Builder@Data@JsonIgnoreProperties(ignoreUnknown=true)publicclassTrRegistryVO{/***主键ID*/@JsonProperty("id")privateStringid;/***登记单号*/@JsonP
- Android原生接口静默安装
weixin_37659322
android
protectedContextmContext;publicvoidsetContext(Contextcontext){mContext=context;}@OverrideprotectedvoidonCreate(BundlesavedInstanceState){//dosomething....setContext(this);//dosomething....}StringResou
- ts 快速基础回顾
ivanfor666
ts前端
constnum:number=1conststr:string='1'constbool:boolean=trueconstundef:undefined=undefinedconstnul:null=nullconstbig:bigint=9876543210987654321nconstsynbol:Symbol=Symbol()constobj:Object=num?str:bool?bi
- 蓝桥杯学习-字符串string类
c田野
蓝桥杯学习职场和发展
一、cout控制符【I/O操作重点】#include//必须包含的头文件常用控制符:setw(n)【作用】设置输出域宽(仅对下一个输出有效)【示例】cout//必须包含的头文件1.初始化方式strings1;//空字符串strings2="hello";//直接赋值strings3(5,'A');//生成"AAAAA"strings4(s2);//拷贝构造strings5=s2+"world";/
- java.lang.NoSuchMethodError: org.elasticsearch.client.RestClient.performRequest(Ljava/lang/String;Lj
频繁输入,积极输出
eses
es创建索引时,报:java.lang.NoSuchMethodError:org.elasticsearch.client.RestClient.performRequest(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Lorg/apache/http/HttpEntity;[Lorg/apache/http/Header;)Lorg/e
- 蓝桥杯备赛
yundan1fengqing
c++
2019蓝桥杯10届省赛1.组队//比对#include#includeusingnamespacestd;intmain(){printf("%d\n",98+99+98+97+98);return0;}2.年号字串BYQ#include#includeusingnamespacestd;chara[10];intmain(){/*strings;intres=0;cin>>s;for(inti
- 入门SpringBoot-mybatis
``Lotus。
SpringBootMyBatismybatisspringbootjava
通上次学的SpringBoot来整合一、使用注解版的Mybatis整合SpringBoot1、实体类(entity)packagecom.cxy.entity;importlombok.Data;@DatapublicclassUser{privateLongid;privateStringname;privateIntegerage;privateStringemail;}2、mapperpac
- HttpClient 4.3与4.3版本以下版本比较
spjich
javahttpclient
网上利用java发送http请求的代码很多,一搜一大把,有的利用的是java.net.*下的HttpURLConnection,有的用httpclient,而且发送的代码也分门别类。今天我们主要来说的是利用httpclient发送请求。
httpclient又可分为
httpclient3.x
httpclient4.x到httpclient4.3以下
httpclient4.3
- Essential Studio Enterprise Edition 2015 v1新功能体验
Axiba
.net
概述:Essential Studio已全线升级至2015 v1版本了!新版本为JavaScript和ASP.NET MVC添加了新的文件资源管理器控件,还有其他一些控件功能升级,精彩不容错过,让我们一起来看看吧!
syncfusion公司是世界领先的Windows开发组件提供商,该公司正式对外发布Essential Studio Enterprise Edition 2015 v1版本。新版本
- [宇宙与天文]微波背景辐射值与地球温度
comsci
背景
宇宙这个庞大,无边无际的空间是否存在某种确定的,变化的温度呢?
如果宇宙微波背景辐射值是表示宇宙空间温度的参数之一,那么测量这些数值,并观测周围的恒星能量输出值,我们是否获得地球的长期气候变化的情况呢?
&nbs
- lvs-server
男人50
server
#!/bin/bash
#
# LVS script for VS/DR
#
#./etc/rc.d/init.d/functions
#
VIP=10.10.6.252
RIP1=10.10.6.101
RIP2=10.10.6.13
PORT=80
case $1 in
start)
/sbin/ifconfig eth2:0 $VIP broadca
- java的WebCollector爬虫框架
oloz
爬虫
WebCollector主页:
https://github.com/CrawlScript/WebCollector
下载:webcollector-版本号-bin.zip将解压后文件夹中的所有jar包添加到工程既可。
接下来看demo
package org.spider.myspider;
import cn.edu.hfut.dmic.webcollector.cra
- jQuery append 与 after 的区别
小猪猪08
1、after函数
定义和用法:
after() 方法在被选元素后插入指定的内容。
语法:
$(selector).after(content)
实例:
<html>
<head>
<script type="text/javascript" src="/jquery/jquery.js"></scr
- mysql知识充电
香水浓
mysql
索引
索引是在存储引擎中实现的,因此每种存储引擎的索引都不一定完全相同,并且每种存储引擎也不一定支持所有索引类型。
根据存储引擎定义每个表的最大索引数和最大索引长度。所有存储引擎支持每个表至少16个索引,总索引长度至少为256字节。
大多数存储引擎有更高的限制。MYSQL中索引的存储类型有两种:BTREE和HASH,具体和表的存储引擎相关;
MYISAM和InnoDB存储引擎
- 我的架构经验系列文章索引
agevs
架构
下面是一些个人架构上的总结,本来想只在公司内部进行共享的,因此内容写的口语化一点,也没什么图示,所有内容没有查任何资料是脑子里面的东西吐出来的因此可能会不准确不全,希望抛砖引玉,大家互相讨论。
要注意,我这些文章是一个总体的架构经验不针对具体的语言和平台,因此也不一定是适用所有的语言和平台的。
(内容是前几天写的,现附上索引)
前端架构 http://www.
- Android so lib库远程http下载和动态注册
aijuans
andorid
一、背景
在开发Android应用程序的实现,有时候需要引入第三方so lib库,但第三方so库比较大,例如开源第三方播放组件ffmpeg库, 如果直接打包的apk包里面, 整个应用程序会大很多.经过查阅资料和实验,发现通过远程下载so文件,然后再动态注册so文件时可行的。主要需要解决下载so文件存放位置以及文件读写权限问题。
二、主要
- linux中svn配置出错 conf/svnserve.conf:12: Option expected 解决方法
baalwolf
option
在客户端访问subversion版本库时出现这个错误:
svnserve.conf:12: Option expected
为什么会出现这个错误呢,就是因为subversion读取配置文件svnserve.conf时,无法识别有前置空格的配置文件,如### This file controls the configuration of the svnserve daemon, if you##
- MongoDB的连接池和连接管理
BigCat2013
mongodb
在关系型数据库中,我们总是需要关闭使用的数据库连接,不然大量的创建连接会导致资源的浪费甚至于数据库宕机。这篇文章主要想解释一下mongoDB的连接池以及连接管理机制,如果正对此有疑惑的朋友可以看一下。
通常我们习惯于new 一个connection并且通常在finally语句中调用connection的close()方法将其关闭。正巧,mongoDB中当我们new一个Mongo的时候,会发现它也
- AngularJS使用Socket.IO
bijian1013
JavaScriptAngularJSSocket.IO
目前,web应用普遍被要求是实时web应用,即服务端的数据更新之后,应用能立即更新。以前使用的技术(例如polling)存在一些局限性,而且有时我们需要在客户端打开一个socket,然后进行通信。
Socket.IO(http://socket.io/)是一个非常优秀的库,它可以帮你实
- [Maven学习笔记四]Maven依赖特性
bit1129
maven
三个模块
为了说明问题,以用户登陆小web应用为例。通常一个web应用分为三个模块,模型和数据持久化层user-core, 业务逻辑层user-service以及web展现层user-web,
user-service依赖于user-core
user-web依赖于user-core和user-service
依赖作用范围
Maven的dependency定义
- 【Akka一】Akka入门
bit1129
akka
什么是Akka
Message-Driven Runtime is the Foundation to Reactive Applications
In Akka, your business logic is driven through message-based communication patterns that are independent of physical locatio
- zabbix_api之perl语言写法
ronin47
zabbix_api之perl
zabbix_api网上比较多的写法是python或curl。上次我用java--http://bossr.iteye.com/blog/2195679,这次用perl。for example: #!/usr/bin/perl
use 5.010 ;
use strict ;
use warnings ;
use JSON :: RPC :: Client ;
use
- 比优衣库跟牛掰的视频流出了,兄弟连Linux运维工程师课堂实录,更加刺激,更加实在!
brotherlamp
linux运维工程师linux运维工程师教程linux运维工程师视频linux运维工程师资料linux运维工程师自学
比优衣库跟牛掰的视频流出了,兄弟连Linux运维工程师课堂实录,更加刺激,更加实在!
-----------------------------------------------------
兄弟连Linux运维工程师课堂实录-计算机基础-1-课程体系介绍1
链接:http://pan.baidu.com/s/1i3GQtGL 密码:bl65
兄弟连Lin
- bitmap求哈密顿距离-给定N(1<=N<=100000)个五维的点A(x1,x2,x3,x4,x5),求两个点X(x1,x2,x3,x4,x5)和Y(
bylijinnan
java
import java.util.Random;
/**
* 题目:
* 给定N(1<=N<=100000)个五维的点A(x1,x2,x3,x4,x5),求两个点X(x1,x2,x3,x4,x5)和Y(y1,y2,y3,y4,y5),
* 使得他们的哈密顿距离(d=|x1-y1| + |x2-y2| + |x3-y3| + |x4-y4| + |x5-y5|)最大
- map的三种遍历方法
chicony
map
package com.test;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class TestMap {
public static v
- Linux安装mysql的一些坑
chenchao051
linux
1、mysql不建议在root用户下运行
2、出现服务启动不了,111错误,注意要用chown来赋予权限, 我在root用户下装的mysql,我就把usr/share/mysql/mysql.server复制到/etc/init.d/mysqld, (同时把my-huge.cnf复制/etc/my.cnf)
chown -R cc /etc/init.d/mysql
- Sublime Text 3 配置
daizj
配置Sublime Text
Sublime Text 3 配置解释(默认){// 设置主题文件“color_scheme”: “Packages/Color Scheme – Default/Monokai.tmTheme”,// 设置字体和大小“font_face”: “Consolas”,“font_size”: 12,// 字体选项:no_bold不显示粗体字,no_italic不显示斜体字,no_antialias和
- MySQL server has gone away 问题的解决方法
dcj3sjt126com
SQL Server
MySQL server has gone away 问题解决方法,需要的朋友可以参考下。
应用程序(比如PHP)长时间的执行批量的MYSQL语句。执行一个SQL,但SQL语句过大或者语句中含有BLOB或者longblob字段。比如,图片数据的处理。都容易引起MySQL server has gone away。 今天遇到类似的情景,MySQL只是冷冷的说:MySQL server h
- javascript/dom:固定居中效果
dcj3sjt126com
JavaScript
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml&
- 使用 Spring 2.5 注释驱动的 IoC 功能
e200702084
springbean配置管理IOCOffice
使用 Spring 2.5 注释驱动的 IoC 功能
developerWorks
文档选项
将打印机的版面设置成横向打印模式
打印本页
将此页作为电子邮件发送
将此页作为电子邮件发送
级别: 初级
陈 雄华 (
[email protected]), 技术总监, 宝宝淘网络科技有限公司
2008 年 2 月 28 日
&nb
- MongoDB常用操作命令
geeksun
mongodb
1. 基本操作
db.AddUser(username,password) 添加用户
db.auth(usrename,password) 设置数据库连接验证
db.cloneDataBase(fromhost)
- php写守护进程(Daemon)
hongtoushizi
PHP
转载自: http://blog.csdn.net/tengzhaorong/article/details/9764655
守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进程。php也可以实现守护进程的功能。
1、基本概念
&nbs
- spring整合mybatis,关于注入Dao对象出错问题
jonsvien
DAOspringbeanmybatisprototype
今天在公司测试功能时发现一问题:
先进行代码说明:
1,controller配置了Scope="prototype"(表明每一次请求都是原子型)
@resource/@autowired service对象都可以(两种注解都可以)。
2,service 配置了Scope="prototype"(表明每一次请求都是原子型)
- 对象关系行为模式之标识映射
home198979
PHP架构企业应用对象关系标识映射
HELLO!架构
一、概念
identity Map:通过在映射中保存每个已经加载的对象,确保每个对象只加载一次,当要访问对象的时候,通过映射来查找它们。其实在数据源架构模式之数据映射器代码中有提及到标识映射,Mapper类的getFromMap方法就是实现标识映射的实现。
二、为什么要使用标识映射?
在数据源架构模式之数据映射器中
//c
- Linux下hosts文件详解
pda158
linux
1、主机名: 无论在局域网还是INTERNET上,每台主机都有一个IP地址,是为了区分此台主机和彼台主机,也就是说IP地址就是主机的门牌号。 公网:IP地址不方便记忆,所以又有了域名。域名只是在公网(INtERNET)中存在,每个域名都对应一个IP地址,但一个IP地址可有对应多个域名。 局域网:每台机器都有一个主机名,用于主机与主机之间的便于区分,就可以为每台机器设置主机
- nginx配置文件粗解
spjich
javanginx
#运行用户#user nobody;#启动进程,通常设置成和cpu的数量相等worker_processes 2;#全局错误日志及PID文件#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log inf
- 数学函数
w54653520
java
public
class
S {
// 传入两个整数,进行比较,返回两个数中的最大值的方法。
public
int
get(
int
num1,
int
nu