- 代码审计学习路线
白帽子技术分享
python网络安全代码审计
学习代码审计分以下四部分一.编程语言1.前端语言html/javascript/dom元素使用,主要是为了挖掘xss漏洞,jquery主要写一些涉及到CSRF脚本使用的或者DOM型XSS,JSON劫持等2.后端语言基础语法要知道,例如变量类型,常量,数组(python是列表,元组,字典),对象,类的调用,引用等,MVC设计模式要清楚,因为大部分目标程序都是基于MVC写的,包括不限于php,pyth
- Springboot 整合springmvc 实战
king-agic
JAVA经验分享javaspring
SpringBoot旨在简化Spring应用的初始搭建以及开发过程,它通过约定优于配置的原则来减少XML配置,使得开发者可以专注于业务逻辑的实现。SpringBoot默认就集成了SpringMVC,这意味着你无需过多的配置就能开始编写控制器。以下是SpringBoot整合SpringMVC的基本步骤,以及一些实战中的注意事项:1.添加依赖在pom.xml或build.gradle中添加Spring
- 前端——vue代码结构
Alisazxy
前端
默认代码结构README.md---项目说明文件package.json---定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据)。package-lock.json---会自动为npm修改node_modules树或任何操作而生成package.jsonLICENSE---开源协议index.html---项目默认首页模板.postcssrc.js---是对pos
- vue项目代码结构
很小白的小白
Vue
最外层文件:README.md————>说明文件package.json————>依赖文件存储地package-lock.json————>依赖的版本LICENSE————>开源协议说明index.heml————>项目首页的默认文件(深入)postcssrc.js————>postcss的配置项。gitignore————>git配置项(把不想上传的文件配置在里面,不会被提交)我添加了我不想提交
- 【Java进阶营】java 读取 excel 表格内容_java读取表格数据,表格列包含不同对象的属性
2401_84619245
2024年程序员学习python
一、添加依赖org.apache.poipoi3.8org.apache.poipoi-ooxml3.8二、工具类根据文件后缀判断2003||2007||2010格式。importorg.apache.poi.hssf.usermodel.HSSFWorkbook;importorg.apache.poi.ss.usermodel.*;importorg.apache.poi.xssf.userm
- 夜晚场景下的人车检测数据集VOC+YOLO格式4199张6类别
FL1623863129
数据集深度学习机器学习人工智能
数据集格式:PascalVOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)图片数量(jpg文件个数):4199标注数量(xml文件个数):4199标注数量(txt文件个数):4199标注类别数:6标注类别名称(注意yolo格式类别顺序不和这个对应,而以labels文件夹classes.txt为准):["bus","car
- 网球比赛检测数据集VOC+YOLO格式6648张5类别
FL1623863129
数据集深度学习机器学习人工智能
数据集格式:PascalVOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)图片数量(jpg文件个数):6648标注数量(xml文件个数):6648标注数量(txt文件个数):6648标注类别数:5标注类别名称(注意yolo格式类别顺序不和这个对应,而以labels文件夹classes.txt为准):["ball","ba
- java xml dom 解析_解析 XML DOM
十二月极光
javaxmldom解析
解析XMLDOM大多数浏览器都内建了供读取和操作XML的XML解析器。解析器把XML转换为JavaScript可存取的对象。实例W3School提供的实例独立于浏览器和平台。这些实例可在所有现代浏览器中运行。解析XML所有现代浏览器都内建了用于读取和操作XML的XML解析器。解析器把XML读入内存,并把它转换为可被JavaScript访问的XMLDOM对象。微软的XML解析器与其他浏览器中的解析器
- XML DOM 改变节点值
shangaoo
xmljava前端
nodeValue属性用于改变节点值。setAttribute()方法用于改变属性值。尝试一下-实例下面的实例使用XML文件books.xml。函数loadXMLDoc(),位于外部JavaScript中,用于加载XML文件。改变元素的文本节点本例使用nodeValue属性来改变"books.xml"中第一个元素的文本节点。通过使用setAttribute来改变属性值本例使用setAttribut
- XML DOM 获取节点值
shangaoo
xmljava前端
nodeValue属性用于获取节点的文本值。getAttribute()方法返回属性的值。获取元素的值在DOM中,每种成分都是节点。元素节点没有文本值。元素节点的文本存储在子节点中。该节点称为文本节点。获取元素文本的方法,就是获取这个子节点(文本节点)的值。获取元素值getElementsByTagName()方法返回包含拥有指定标签名的所有元素的节点列表,其中的元素的顺序是它们在源文档中出现的顺
- XMLDOM之浏览器差异
dengguxinghe4335
javascriptxhtmlViewUI
DOM解析中的浏览器差异所有现代浏览器都支持w3cDOM规范,不过浏览器之间是有差异的,重要的区别有两点:加载XML的方式;处理空白和换行的方式;1、加载XML的方式:所有现代浏览器都内建了用于读取和操作XML的XML解析器。解析器把XML读入内存,并把它转换为可被JavaScript访问的XMLDOM对象;微软的XML解析器与其他浏览器中的解析器是有差异的。微软的解析器支持对XML文件和XML字
- TCP 真的存在“粘包”问题吗?
计算机网络后端tcp
引言许多开发者都曾面对过这样一个的问题:明明分别调用两次send()发送了"Hello"和"World",接收方却可能在一个recv()调用中读到完整的"HelloWorld";或是发送了一个完整的JSON对象,接收端却需要多次读取才能拼凑出完整数据。这种现象被中文技术社区广泛称为“TCP粘包”然而,若我们深入TCP协议的设计本质,会发现一个令人困惑的矛盾——RFC文档中从未定义过“粘包”概念,国
- Java Map 深拷贝方法
qq_41482600
java基础java开发语言
1、JSON.parseObject(JSON.toJSONString(map))importcom.alibaba.fastjson.JSON;importorg.apache.commons.lang3.SerializationUtils;importjava.util.HashMap;importjava.util.Map;publicclassJSONDemo{publicstatic
- uniapp 自定义标题情况下,让标题和右侧胶囊对齐
小胖砸~
uniappvue.js
实现效果:无论手机类型怎么切换,自定义标题始终跟胶囊平齐实现:在pages.json文件中配置标题自定义
- Exception in thread “main“ org.apache.ibatis.exceptions.PersistenceException: ### Error building Sq
yandajiangjun
Javamavenmybatisjava
Exceptioninthread“main”org.apache.ibatis.exceptions.PersistenceException:ErrorbuildingSqlSession.TheerrormayexistinMybatis/dao/UserDao.xmlCause:org.apache.ibatis.builder.BuilderException:ErrorparsingS
- MyBatis:深入了解其特性与优势
HelloZheQ
mybatis
MyBatis是一款优秀的持久层框架,它通过XML或注解的方式将Java对象映射到数据库表,简化了数据库操作。相比于其他ORM框架,MyBatis更加灵活、轻量级,并且提供了更细粒度的SQL控制。本文将深入探讨MyBatis的特点和优势,帮助你更好地理解和使用它。MyBatis的核心特性SQL映射:定义:MyBatis的核心功能是将Java对象和SQL语句进行映射。这意味着你可以直接编写SQL语句
- Spring中常见的注解
小裕哥略帅
python开发语言
1spring注解介绍SpringFramework是一个开源的Java平台,广泛用于创建高性能的企业应用程序。随着Spring的发展,注解(Annotation)已经成为了配置Spring应用程序的主要方式,逐渐取代了传统的XML配置。使用注解可以使代码更加简洁明了,提高开发效率和可读性。Spring的注解驱动的编程模型大大简化了Java企业应用的开发。通过减少配置的复杂性,提高代码的清晰度和模
- Jenkins 忘记密码怎么办?
神即道 道法自然 如来
jenkins
第一种,最简单,重装第二种,设置重新注册1、找到Jenkins注册目录(C:\Users\h\.jenkins,一般在C盘),找到“config.xml”文件,进行编辑2、将useSecurity的“true”改为"false"3、地址栏,将⽬录内容选中,输⼊cmd打开命令⾏终端。写命令java-jarjenkins.war启动jenkins4、浏览器,输地址http://localhost:80
- 基于SpringBoot+JWT实现单点登录解决方案
买女孩的火柴盒
springboot后端java
基于SpringBoot和JWT(JSONWebTokens)实现单点登录(SSO,SingleSign-On)是一个流行的选择,因为它能够简化身份验证流程,并在多个应用之间共享用户的登录状态。1.添加依赖在你的pom.xml中添加JWT和SpringSecurity的依赖:org.springframework.bootspring-boot-starter-weborg.springframe
- 水稻和杂草检测数据集VOC+YOLO格式1356张2类别
FL1623863129
数据集YOLO深度学习机器学习
数据集格式:PascalVOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)图片数量(jpg文件个数):1356标注数量(xml文件个数):1356标注数量(txt文件个数):1356标注类别数:2标注类别名称(注意yolo格式类别顺序不和这个对应,而以labels文件夹classes.txt为准):["crop","we
- xpath语法
董林夕
前端
XPath是一种在XML文档中查找信息的语言。XPath可用来在XML文档中对元素和属性进行遍历。以下是XPath的一些基本语法:常见用法nodename:选取此节点的所有子节点。/:从根节点选取。//:从当前节点选取子孙节点,不考虑它们的位置。.:选取当前节点。..:选取当前节点的父节点。@:选取属性。路径表达式/bookstore/book[1]:选取属于bookstore子元素的第一个boo
- pytest之通过yaml实现数据驱动
董林夕
自动化测试pytestpython
一、安装pyyamlpipinstallpyyaml二、yaml基本语法略过三、将测试用例数据写入yaml#用例1-interfaceName:首屏-考试数据接口url:http://stupad-stre****headers:{'Content-Type':'application/json','requestid':'021618985865','token':'eyJ0eXAiOiJKV1
- 深入理解Mybatis分库分表执行原理
牛马程序员_江
mybatisunix
深入理解Mybatis分库分表执行原理探究分库分表场景下Mybatis是如何将mapper.xml中sql的逻辑表,转换成实际执行时的物理表。前言工作多年,分库分表的场景也见到不少了,但是我仍然对其原理一知半解。趁着放假前时间比较富裕,我想要解答三个问题:为什么mybatis的mapper.xml文件里的sql不需要拼接表名中的分表?mybatis是如何识别分表位的?最近工作中遇到的问题:为什么我
- C#常用744单词
Lu01
CommonWordsc#
1.visual可见的2.studio工作室3.dot点4.net网5.harp尖端的,锋利的。6.amework骨架,构架,框架7.beta测试版,试用版8.XML(全称:eXtensibleMarkupLanguage)可扩展标记语言9.extensible可扩展的10.ASP(全称:ActiveServerPage)活动服务器网页11.active活动的,积极的12.PocketPC掌上电脑
- python requests json_python json requests request 模块
weixin_39782355
pythonrequestsjson
1、json通过Python的json模块,可以将字符串形式的json数据转化为字典,也可以将Python中的字典数据转化为字符串形式的json数据。之前使用这个模块时,都是随用随查,浅尝辄止,对模块的功能了解不深。随着使用次数的增加,我对这个功能完善的模块有了更多的了解,记录如下。json.loads将字符串装换成python基本数据类型json.dumps将python数据类型转换成字符串方式
- pythonrequests发送数据_对python requests发送json格式数据的实例详解
weixin_39652869
requests是常用的请求库,不管是写爬虫脚本,还是测试接口返回数据等。都是很简单常用的工具。这里就记录一下如何用requests发送json格式的数据,因为一般我们post参数,都是直接post,没管post的数据的类型,它默认有一个类型的,貌似是application/x-www-form-urlencoded。但是,我们写程序的时候,最常用的接口post数据的格式是json格式。当我们需要
- python json requests request 模块
weixin_33868027
jsonpython
1、json通过Python的json模块,可以将字符串形式的json数据转化为字典,也可以将Python中的字典数据转化为字符串形式的json数据。之前使用这个模块时,都是随用随查,浅尝辄止,对模块的功能了解不深。随着使用次数的增加,我对这个功能完善的模块有了更多的了解,记录如下。json.loads将字符串装换成python基本数据类型json.dumps将python数据类型转换成字符串方式
- Python的Json方法
weixin_34293059
jsonpythonjavascriptViewUI
Json简介:Json,全名JavaScriptObjectNotation,是一种轻量级的数据交换格式。Json最广泛的应用是作为AJAX中web服务器和客户端的通讯的数据格式。现在也常用于http请求中,所以对json的各种学习,是自然而然的事情。dumps方法将字典数据类型转换为json字符串类型例子:importjsonm={'a':123,'b':'hahaha'}json_str=js
- 如何使用jwt 完成注销(退出登录)功能
前端 贾公子
node.js
目录JSONWebTokens(JWT)注销Token过期很酷,但我还是想注销!结论JSONWebTokens(JWT)JSONWebTokens(JWT)是一种无状态处理用户身份验证的方法。什么意思?JWT帮助建立认证机制而不将身份验证状态存储在任何存储中,无论是会话内存还是数据库,因此,当检查用户的身份验证状态时,不需要访问会话内存或执行数据库查询。相反,根据你选择的用户payload生成to
- Python使用JSON
桂亭亭
pythonpythonjson开发语言
案例1dumps将python中的字典数据编码为JSON字符串字符串importjsontest_dict={'one':1,'two':{2.1:['a','b']}print(test_dict)print(type(test_dict))#dumps将数据转换成字符串json_str=json.dumps(test_dict)print(json_str)print(type(json_st
- mondb入手
木zi_鸣
mongodb
windows 启动mongodb 编写bat文件,
mongod --dbpath D:\software\MongoDBDATA
mongod --help 查询各种配置
配置在mongob
打开批处理,即可启动,27017原生端口,shell操作监控端口 扩展28017,web端操作端口
启动配置文件配置,
数据更灵活 
- 大型高并发高负载网站的系统架构
bijian1013
高并发负载均衡
扩展Web应用程序
一.概念
简单的来说,如果一个系统可扩展,那么你可以通过扩展来提供系统的性能。这代表着系统能够容纳更高的负载、更大的数据集,并且系统是可维护的。扩展和语言、某项具体的技术都是无关的。扩展可以分为两种:
1.
- DISPLAY变量和xhost(原创)
czmmiao
display
DISPLAY
在Linux/Unix类操作系统上, DISPLAY用来设置将图形显示到何处. 直接登陆图形界面或者登陆命令行界面后使用startx启动图形, DISPLAY环境变量将自动设置为:0:0, 此时可以打开终端, 输出图形程序的名称(比如xclock)来启动程序, 图形将显示在本地窗口上, 在终端上输入printenv查看当前环境变量, 输出结果中有如下内容:DISPLAY=:0.0
- 获取B/S客户端IP
周凡杨
java编程jspWeb浏览器
最近想写个B/S架构的聊天系统,因为以前做过C/S架构的QQ聊天系统,所以对于Socket通信编程只是一个巩固。对于C/S架构的聊天系统,由于存在客户端Java应用,所以直接在代码中获取客户端的IP,应用的方法为:
String ip = InetAddress.getLocalHost().getHostAddress();
然而对于WEB
- 浅谈类和对象
朱辉辉33
编程
类是对一类事物的总称,对象是描述一个物体的特征,类是对象的抽象。简单来说,类是抽象的,不占用内存,对象是具体的,
占用存储空间。
类是由属性和方法构成的,基本格式是public class 类名{
//定义属性
private/public 数据类型 属性名;
//定义方法
publ
- android activity与viewpager+fragment的生命周期问题
肆无忌惮_
viewpager
有一个Activity里面是ViewPager,ViewPager里面放了两个Fragment。
第一次进入这个Activity。开启了服务,并在onResume方法中绑定服务后,对Service进行了一定的初始化,其中调用了Fragment中的一个属性。
super.onResume();
bindService(intent, conn, BIND_AUTO_CREATE);
- base64Encode对图片进行编码
843977358
base64图片encoder
/**
* 对图片进行base64encoder编码
*
* @author mrZhang
* @param path
* @return
*/
public static String encodeImage(String path) {
BASE64Encoder encoder = null;
byte[] b = null;
I
- Request Header简介
aigo
servlet
当一个客户端(通常是浏览器)向Web服务器发送一个请求是,它要发送一个请求的命令行,一般是GET或POST命令,当发送POST命令时,它还必须向服务器发送一个叫“Content-Length”的请求头(Request Header) 用以指明请求数据的长度,除了Content-Length之外,它还可以向服务器发送其它一些Headers,如:
- HttpClient4.3 创建SSL协议的HttpClient对象
alleni123
httpclient爬虫ssl
public class HttpClientUtils
{
public static CloseableHttpClient createSSLClientDefault(CookieStore cookies){
SSLContext sslContext=null;
try
{
sslContext=new SSLContextBuilder().l
- java取反 -右移-左移-无符号右移的探讨
百合不是茶
位运算符 位移
取反:
在二进制中第一位,1表示符数,0表示正数
byte a = -1;
原码:10000001
反码:11111110
补码:11111111
//异或: 00000000
byte b = -2;
原码:10000010
反码:11111101
补码:11111110
//异或: 00000001
- java多线程join的作用与用法
bijian1013
java多线程
对于JAVA的join,JDK 是这样说的:join public final void join (long millis )throws InterruptedException Waits at most millis milliseconds for this thread to die. A timeout of 0 means t
- Java发送http请求(get 与post方法请求)
bijian1013
javaspring
PostRequest.java
package com.bijian.study;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURL
- 【Struts2二】struts.xml中package下的action配置项默认值
bit1129
struts.xml
在第一部份,定义了struts.xml文件,如下所示:
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts
- 【Kafka十三】Kafka Simple Consumer
bit1129
simple
代码中关于Host和Port是割裂开的,这会导致单机环境下的伪分布式Kafka集群环境下,这个例子没法运行。
实际情况是需要将host和port绑定到一起,
package kafka.examples.lowlevel;
import kafka.api.FetchRequest;
import kafka.api.FetchRequestBuilder;
impo
- nodejs学习api
ronin47
nodejs api
NodeJS基础 什么是NodeJS
JS是脚本语言,脚本语言都需要一个解析器才能运行。对于写在HTML页面里的JS,浏览器充当了解析器的角色。而对于需要独立运行的JS,NodeJS就是一个解析器。
每一种解析器都是一个运行环境,不但允许JS定义各种数据结构,进行各种计算,还允许JS使用运行环境提供的内置对象和方法做一些事情。例如运行在浏览器中的JS的用途是操作DOM,浏览器就提供了docum
- java-64.寻找第N个丑数
bylijinnan
java
public class UglyNumber {
/**
* 64.查找第N个丑数
具体思路可参考 [url] http://zhedahht.blog.163.com/blog/static/2541117420094245366965/[/url]
*
题目:我们把只包含因子
2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14
- 二维数组(矩阵)对角线输出
bylijinnan
二维数组
/**
二维数组 对角线输出 两个方向
例如对于数组:
{ 1, 2, 3, 4 },
{ 5, 6, 7, 8 },
{ 9, 10, 11, 12 },
{ 13, 14, 15, 16 },
slash方向输出:
1
5 2
9 6 3
13 10 7 4
14 11 8
15 12
16
backslash输出:
4
3
- [JWFD开源工作流设计]工作流跳跃模式开发关键点(今日更新)
comsci
工作流
既然是做开源软件的,我们的宗旨就是给大家分享设计和代码,那么现在我就用很简单扼要的语言来透露这个跳跃模式的设计原理
大家如果用过JWFD的ARC-自动运行控制器,或者看过代码,应该知道在ARC算法模块中有一个函数叫做SAN(),这个函数就是ARC的核心控制器,要实现跳跃模式,在SAN函数中一定要对LN链表数据结构进行操作,首先写一段代码,把
- redis常见使用
cuityang
redis常见使用
redis 通常被认为是一个数据结构服务器,主要是因为其有着丰富的数据结构 strings、map、 list、sets、 sorted sets
引入jar包 jedis-2.1.0.jar (本文下方提供下载)
package redistest;
import redis.clients.jedis.Jedis;
public class Listtest
- 配置多个redis
dalan_123
redis
配置多个redis客户端
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=&quo
- attrib命令
dcj3sjt126com
attr
attrib指令用于修改文件的属性.文件的常见属性有:只读.存档.隐藏和系统.
只读属性是指文件只可以做读的操作.不能对文件进行写的操作.就是文件的写保护.
存档属性是用来标记文件改动的.即在上一次备份后文件有所改动.一些备份软件在备份的时候会只去备份带有存档属性的文件.
- Yii使用公共函数
dcj3sjt126com
yii
在网站项目中,没必要把公用的函数写成一个工具类,有时候面向过程其实更方便。 在入口文件index.php里添加 require_once('protected/function.php'); 即可对其引用,成为公用的函数集合。 function.php如下:
<?php /** * This is the shortcut to D
- linux 系统资源的查看(free、uname、uptime、netstat)
eksliang
netstatlinux unamelinux uptimelinux free
linux 系统资源的查看
转载请出自出处:http://eksliang.iteye.com/blog/2167081
http://eksliang.iteye.com 一、free查看内存的使用情况
语法如下:
free [-b][-k][-m][-g] [-t]
参数含义
-b:直接输入free时,显示的单位是kb我们可以使用b(bytes),m
- JAVA的位操作符
greemranqq
位运算JAVA位移<<>>>
最近几种进制,加上各种位操作符,发现都比较模糊,不能完全掌握,这里就再熟悉熟悉。
1.按位操作符 :
按位操作符是用来操作基本数据类型中的单个bit,即二进制位,会对两个参数执行布尔代数运算,获得结果。
与(&)运算:
1&1 = 1, 1&0 = 0, 0&0 &
- Web前段学习网站
ihuning
Web
Web前段学习网站
菜鸟学习:http://www.w3cschool.cc/
JQuery中文网:http://www.jquerycn.cn/
内存溢出:http://outofmemory.cn/#csdn.blog
http://www.icoolxue.com/
http://www.jikexue
- 强强联合:FluxBB 作者加盟 Flarum
justjavac
r
原文:FluxBB Joins Forces With Flarum作者:Toby Zerner译文:强强联合:FluxBB 作者加盟 Flarum译者:justjavac
FluxBB 是一个快速、轻量级论坛软件,它的开发者是一名德国的 PHP 天才 Franz Liedke。FluxBB 的下一个版本(2.0)将被完全重写,并已经开发了一段时间。FluxBB 看起来非常有前途的,
- java统计在线人数(session存储信息的)
macroli
javaWeb
这篇日志是我写的第三次了 前两次都发布失败!郁闷极了!
由于在web开发中常常用到这一部分所以在此记录一下,呵呵,就到备忘录了!
我对于登录信息时使用session存储的,所以我这里是通过实现HttpSessionAttributeListener这个接口完成的。
1、实现接口类,在web.xml文件中配置监听类,从而可以使该类完成其工作。
public class Ses
- bootstrp carousel初体验 快速构建图片播放
qiaolevip
每天进步一点点学习永无止境bootstrap纵观千象
img{
border: 1px solid white;
box-shadow: 2px 2px 12px #333;
_width: expression(this.width > 600 ? "600px" : this.width + "px");
_height: expression(this.width &
- SparkSQL读取HBase数据,通过自定义外部数据源
superlxw1234
sparksparksqlsparksql读取hbasesparksql外部数据源
关键字:SparkSQL读取HBase、SparkSQL自定义外部数据源
前面文章介绍了SparSQL通过Hive操作HBase表。
SparkSQL从1.2开始支持自定义外部数据源(External DataSource),这样就可以通过API接口来实现自己的外部数据源。这里基于Spark1.4.0,简单介绍SparkSQL自定义外部数据源,访
- Spring Boot 1.3.0.M1发布
wiselyman
spring boot
Spring Boot 1.3.0.M1于6.12日发布,现在可以从Spring milestone repository下载。这个版本是基于Spring Framework 4.2.0.RC1,并在Spring Boot 1.2之上提供了大量的新特性improvements and new features。主要包含以下:
1.提供一个新的sprin