- 【OpenGL】实现三维空间漫游和立方体、球体贴图
a9c93f2300
圖形學3d
图像处理引用文件stb_image.h访问镜像下载:https://gitee.com/mirrors/stb-image主函数main.cpp#include#include#defineSTB_IMAGE_IMPLEMENTATION#include#include#include#include#include#include#includeconstGLfloatPI=3.14159265
- iOS下的WiFi开发
Landen2011
iosobjective-c开发语言macos
iOS下Wi-Fi开发需要添加依赖库SystemConfiguration.framework,在需要使用Wi-Fi信息的控制器下引入头文件#import1,Wi-Fi热点获取+(NSString*)currentWifiSSID{#ifTARGET_OS_SIMULATORreturn@"(simulator)";#elseNSArray*ifs=(__bridgeid)CNCopySuppor
- Objective-C语言的调试工具
苏墨瀚
包罗万象golang开发语言后端
Objective-C调试工具详解Objective-C是一种面向对象的编程语言,广泛应用于macOS和iOS开发。由于其动态性和灵活性,Objective-C在开发过程中可能会遇到各种复杂的调试问题。为了帮助开发者更高效地定位和解决问题,Objective-C提供了多种调试工具和技术。本文将详细介绍这些工具,并探讨如何在实际开发中使用它们。1.Xcode调试器Xcode是苹果官方提供的集成开发环
- Qt 多线程设计:死循环与信号槽的权衡
吃面不喝汤66
qt开发语言
在开发音视频播放器时,多线程设计是不可避免的挑战。音频和视频的解码、播放需要高效运行,同时还要与主线程或其他线程同步,例如通过信号通知播放进度。本文基于一个实际案例,分析了两种线程设计在死循环和信号槽使用中的表现,探讨其原因,并给出选择建议。问题表现我在实现音频播放线程时,遇到了一个问题:主线程通过QMetaObject::invokeMethod调用terminateDecode无法终止音频线程
- 解决 开发FFMPEG视频播放器右侧白色线问题
吃面不喝汤66
OBS二次开发ffmpeg音视频
在开发基于Qt和FFmpeg的视频播放器时,我遇到一个常见但令人困惑的问题:在使用VideoWidget(继承自QOpenGLWidget)播放某些视频时,窗口右侧会出现一条白色线。这不仅影响视觉效果,还可能暴露潜在的渲染或缓冲区问题。本文将详细分析这一现象的成因,并提供经过验证的解决方案。问题现象在使用自定义的VideoDecoder和VideoWidget类播放视频时,大多数视频都能正常显示,
- bitset and valarray
heraldww
c++数学ARMandroid漂亮的UI界面完整的界面设计职场和发展程序人生
记录一个比较少用的容器C++std::bitsethttps://www.cnblogs.com/wangshaowei/p/10297877.htmlvalarrayvalarray面向数值计算的数组,在C++11中才支持支持很多数值数组操作,如求数组总和、最大数、最小数等。需要头文件valarray支持
- pytesseract
Claroja
图像识别tesseract
方法get_tesseract_version,返回tesseract的版本.image_to_string,返回识别的字符串image_to_boxes,返回字符和位置image_to_data,返回边框,置信度和其他的信息,可以参考TesseractTSVimage_to_osd,返回orientationandscriptdetection参数imageObject,PILImage/Num
- JAVA泛型
TraceChen
JAVAjava
JAVA泛型Java泛型(generic)是在JDK1.5版本引用的一种新的特性,泛型提供编译时安全检查机制,该机制允许程序员在编译时检查非安全的类型。一、泛型本质泛型本质是数据化类型,即先给类型指定一个参数,然后使用时再指定参数具体的值,那么这个类型可以在使用时候决定,这种参数类型可以用在类、接口、方法中,分别被称为泛型类、泛型接口、泛型方法。 Listlist=newArrayListl
- 流式编程 JDK8 Stream的简单使用方法介绍
桔仔
javajdkstream
JDK8Stream文章目录JDK8Stream概念特点代码简洁多核友好示例foreach方式Stream方式流程操作特性常用操作符具体用法一、流的创建1.1使用Collection下的stream()和parallelStream()方法。1.2使用Arrays中的stream()方法,将数组转成流。1.3使用Stream中的静态方法:of()、iterate()、generate()。1.4使
- cocos2dx : 解决中文乱码问题
^随风~~
Cocos2d-xC++乱码
在使用cocos2dx的时候,代码里面使用了中文或者是在cocosstudio编辑器里面使用了中文,显示的时候会出现乱码问题,下面提供几个解决方案:方案一:最前面加上命令:#pragmaexecution_character_set("utf-8")方案二:使用XML文件:问题与解决方法在windows环境下使用visualstudio开发cocos2d-x,由于visualstudio默认编码为
- 使用bat批量获取WORD中包含对应字符的段落,段落使用回车换行
宇宙无敌花心大萝卜
批处理文档处理word开发语言bat批处理VBS
get_word_paragraphs.vbs'获取命令行参数IfWScript.Arguments.Count=0ThenWScript.Quit1EndIf'获取Word文档路径docPath=WScript.Arguments(0)'创建Word应用程序对象SetobjWord=CreateObject("Word.Application")objWord.Visible=False'打开W
- python assert()函数
欢天喜地小姐姐
python编程学习python
1.断言函数作用断言函数是对表达式布尔值的判断,要求表达式计算值必须为真。可用于自动调试。如果表达式为假,触发异常;如果表达式为真,不会报错。2.使用assert判断数组是否相等np.array.any()和numpy.array.all()np.array.any()是或操作,任意一个元素为True,输出为True。np.array.all()是与操作,所有元素为True,输出为True。当我们
- CocoaPods 私有库创建
sanjieshenwu1987
iOS私有仓库
总结流程和pod指令,以及自己操作遇到的问题。参考文章iOS组件化-基础iOS组件化-项目组件化Swift/Objective-C-使用Cocoapods创建/管理私有库(初中级用法)Swift/Objective-C-使用Cocoapods创建/管理私有库(高级用法)文章目录参考文章创建自己的私有库1、创建私有SpecRepo2、创建组件库3、提交组件库3.1验证本地库3.2提交到git3.3将
- 在Qt代码中使用Windows事件机制WaitForMultipleObjects、SetEvent
令狐掌门
深入浅出C++Qt开发技术qtwindows开发语言SetEvent
在Qt开发客户端时,经常使用信号槽来处理控件或窗口之间的事件,如果是Windows系统,也可以用windows事件来代替Qt的信号槽,本篇博客来介绍这种用法。首先需要介绍本篇本篇博客需要用到的几个WindowsAPI:一、需要用到的WindowsAPIWaitForMultipleObjectsWaitForMultipleObjects是WindowsAPI中一个用于同步操作的函数。它主要用于等
- 使用Java实现Oracle表结构转换为PostgreSQL的示例方案(AI)
秉承初心
AI创造javaoraclepostgresql
核心代码importjava.sql.*;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;publicclassOracleToPGConverter{//类型映射表privatestaticfinalMapTYPE_MAPPING=newHashMapcolumn
- java 离线语音_Java通过JNA&麦克风调离线语音唤醒
不吃芹菜的鸭梨君
java离线语音
packagecom.day.iFlyInterface.commonUtil.dll.ivw;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.IOException;importjava.util.Arrays;importjavax.sound.
- 数据结构-ArrayList
小豪GO!
java的养成方法java
文章目录1.线性表2.顺序表3.ArrayList4.ArrayList的问题以及思考4.2增容的性能消耗问题4.3空间浪费问题1.线性表线性表(LinearList)是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见线性表:顺序表、链表、栈、队列…线性表在逻辑上是线性结构,也就是连续的一条直线。但是在物理上不一定是连续的,线性表在物理上存储时,通常以数组和链式结
- glm-4v-9b 踩坑(4-bit量化,bitsandbytes 异常)
phynikesi
pytorchglm-4v-9b踩坑bitsandbytes异常
前言本文只分享了自己在体验glm-4v-9b过程中遇到的问题,没有涉及对模型本身以及更多问题的分析,大家可先看问题描述,再决定是否看下去。实验平台:linux系统,RTXA4000。嫌麻烦的可以直接到文未看结论。问题描述16g显卡难以加载模型bitsandbytes异常,模型无法运行加载问题本人设备有限,引用一下别人完整加载模型的数据,大约18.9g。用16g显卡直接报OOM,用8-bit加载还是
- uniapp中使用webview并与原页面通信
数学分析分析什么?
uni-app
uniapp中使用webview并与原页面通信1.接收数据主要使用@message与@onPostMessage接收原页面数据,且两个方法只能在APP中使用,其他平台均不支持。/***接收页面返回参数*@param{Object}item*/htmlMessage(item){console.log('收到的消息',item)letdata=item.detail...},2.发送数据(调用原页面
- uniapp报错 Right-hand side of ‘instanceof‘ is not an object
学无止境鸭
uni-app前端javascript
vue3使用vue2的插件组件时,会报这个错,原因是vue2组件内部的props接收属性时的type类型要写成[Srting,Number]数组的形式,而不是'String|Number'如图所示;
- Java调本地接口重定向
唯他命
javajson开发语言
/***通用接口*/@PostMapping("/deviceToService/up")@ApiOperationSupport(order=1)@ApiOperation(value="通用接口",notes="传入requestDTO")publicObjectdetail(@RequestBodyRequestDTOrequestDTO){Instructionsdetail=instru
- Java之ArrayList
M(菜鸡)
javalist
ArrayList1.1ArrayList简介ArrayList的底层是数组队列,相当于动态数组。与Java中的数组相比,它的容量能动态增长。在添加大量元素前,应用程序可以使用ensureCapacity操作来增加ArrayList实例的容量。这可以减少递增式再分配的数量。ArrayList继承了AbstractList,实现了List,RandomAccess,Cloneable,java.io
- opencv + opengl显示摄像头视频流
jbjhzstsl
opencv计算机视觉
完整代码github建议学习LearnOpenGL教程,学到入门的纹理一节1.OpenGL依赖安装1.1.安装GLFWsudoaptinstalllibglfw3libglfw3-devlibglfw3:GLFW运行时库libglfw3-dev:GLFW开发库(用于编译)1.2.安装OpenGL相关依赖sudoaptinstalllibgl1-mesa-devxorg-devlibgl1-mesa
- Java数组(基础)
NaclarbCSDN
算法排序算法java
数组声明和创建 packagecom.arbedu.array; publicclassArrayDemo01{ //变量类型变量名字=变量的值 //数组类型数组是相同数据类型的有序集合 publicstaticvoidmain(String[]args){ int[]arr; //1.声明一个数组 arr=newint[10]; //2.创建一个数组这里面可以存放
- LuaJIT 学习(5)—— string.buffer 库
alenliu0621
LuaLuaJIT
文章目录UsingtheStringBufferLibraryBufferObjectsBufferMethodOverviewBufferCreationandManagement`localbuf=buffer.new([size[,options]])localbuf=buffer.new([options])``buf=buf:reset()``buf=buf:free()`BufferW
- Python 的 ORM(Object-Relational Mapping)工具浅讲
Code_Geo
python开发语言
SQLAlchemy相关讲解1.SQLAlchemy是什么?定义:一个Python的ORM(Object-RelationalMapping)工具,允许开发者通过Python类与对象操作数据库,而非直接编写SQL。核心组件:Core:底层SQL表达式语言,提供数据库无关的SQL操作接口。ORM:基于Core的高层抽象,将数据库表映射为Python类(模型),记录映射为对象。适用场景:需要灵活操作数
- 82.RadioButton的选中处理逻辑 C#例子 WPF例子
军训猫猫头
c#开发语言wpf
privatevoidRadioButton_Click(objectsender,RoutedEventArgse){//确保sender是RadioButton类型if(senderisRadioButtonradioButton&&radioButton.IsChecked==true){//获取RadioButton的内容if(radioButton.Contentisstringcont
- 类的创建 以及 类的继承及其应用对象
烈焰猩猩
python
类的创建以及类的继承及其应用场景一,类的创建格式:格式1:class类名:pass格式2:class类名():pass格式3:#class类名(父类名):class类名(object):pass案例:案例需求定义老师类.实现思路定义老师类(三种方式).函数内容.创建该类对象.打印该类对象.#1.定义老师类(三种方式).#classTeacher:#classTeacher():classTeach
- Java数据类型 Arrays VS ArraysList VS LikedList 解析
fantasy_4
Javajava
在学习Java过程中,在刷题时总是搞不清楚这三种数据结构的区别,打算写篇文章记录一下ArraysVSArrayListArrayListVSLinkedList总结ArraysVSArrayListArraysArrayList类型Java的基本数据类型Java集合框架中的一个类,实现了List接口存储内容基本数据类型+对象引用对象引用可变性数组长度创建后不可变长度可变适用场景查询元素会比较快,直
- Python常用的库讲解(易懂版)
不辉放弃
python开发语言
NumPy:用于科学计算的基础库,提供多维数组对象、各种派生对象和对数组执行操作的工具。importnumpyasnp#创建一个numpy数组arr=np.array([1,2,3,4,5])print(arr)Pandas:数据处理库,提供数据结构和数据分析工具,特别适合处理结构化数据。importpandasaspd#创建一个Pandas数据帧df=pd.DataFrame({'A':[1,2
- 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