- 100 个 Python练习题[附代码]
宇宙大豹发
python算法java
需要更多python项目源码打包版本,领取方式在文末实例001:数字组合题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?程序分析:遍历全部可能,把有重复的剃掉。简便方法:用itertools中的permutations即可。importitertoolssum2=0a=[1,2,3,4]foriinitertools.permutations(a,3):pri
- Java 获取中文拼音和首字母
颇有几分姿色
java基础java
需求:获取中文首字母当做用户登录名。获取用户姓名拼音做其他逻辑。不需要定制化使用hutool封装的PinyinUtil即可,我这里需要自己定制,所以写了个工具类。实现基于搜狐的Pinyin4j库。依赖:cn.hutoolhutool-all5.4.2com.belerwebpinyin4j2.5.1PinyinUtils代码示例PinyinUtils提供了以下主要方法:toHanYuPinyinS
- python selenium post,是否可以在Selenium中捕获POST数据?
weixin_39600328
pythonseleniumpost
I'mworkingwiththeSeleniumWebDriverToolandamwonderingifthistoolprovidesameansforcapturingthePOSTdatageneratedwhensubmittingaform.I'musingthedjangotestframeworktotestthatmydataisprocessedcorrectlyontheb
- 使用java代码实现操作数据库的创建等系列操作
两点王爷
数据库javaoracle
创作背景:使用代码实现对PostgreSQL数据库的创建用户、授权用户、删除用户系列操作!1、导入相关的依赖org.projectlomboklombokcn.hutoolhutool-all5.8.262、具体实现创建实体类@Data@ApiModel(value="EntityDataBase",description="实体数据库相关内容")publicclassEntityDataBase
- 基于geotools,java 存储geojson、shapefile、postgis的导入导出和转换功能
Kevin_wang3
yieryi@githubgeotoolspostgisgeojsonshpjava
2021年1月23日自己简单总结了以下,在github上。链接地址:https://github.com/yieryi/gts4vect如果改功能对您有用,欢迎star,代码只写了第一版,有人反馈问题的话我会改进的。该博客为原创,转载请注明链接;https://blog.csdn.net/imlang/article/details/81434652;下面的代码介绍参考性不大,大约是18年写的。没
- 用正则表达式过滤logcat中的多个tag的日志
fc82bb084ee7
在AndroidStudio中,在过滤器的byLogTag选项中配置.我配置了2个tagfilter方便开发,1.multi-tag-filter2.ignore-multi-tag-filter.过滤出指定tag的日志信息^(?:Watchdog|InputReader|ahking)Watchdog忽略指定tag的日志信息^(?!WifiMonitor|WifiHW)有些tag的无用log非常
- 标题: 阳光的ScalersTalk第四轮《新概念》朗读持续力训练 Day40 20181116
阳光18
Lesson40FoodandtalkLastweekatadinner-party,thehostessaskedmetositnexttoMrs.Rumbold.Mrs.Rumboldwasalarge,unsmilingladyinatightblackdress.ShedidnotevenlookupwhenItookmyseatbesideher.Hereyeswerefixedonhe
- FunASR 语音识别系统概述
瑞雪兆我心
语音识别人工智能
FunASR(AFundamentalEnd-to-EndSpeechRecognitionToolkit)是一个基础的语音识别工具包,提供多种功能,包括语音识别(ASR)、语音端点检测(VAD)、标点恢复(PR)、语言模型(LM)、说话人分离等。项目源地址1语音识别(ASR)参考语音交互:聊聊语音识别-ASR(万字长文)语音识别技术(AutomaticSpeechRecognition,ASR)
- Percona-toolkit工具详解
小一_d28d
1.pt工具安装[root@master~]#yuminstall-ypercona-toolkit-3.1.0-2.el7.x86_64.rpm2.常用工具使用介绍2.1pt-archiver归档表#重要参数--limit100每次取100行数据用pt-archive处理--txn-size100设置100行为一个事务提交一次,--where'id>/root/db/checksum.logpt
- java class .method_java Class Method类的使用
weixin_39620629
javaclass.method
packagesample;/**Tochangethistemplate,chooseTools|Templates*andopenthetemplateintheeditor.*/importjava.lang.reflect.Constructor;importjava.lang.reflect.InvocationTargetException;importjava.lang.reflec
- Python+requests+pytest+openpyxl+allure+loguru框架详解
乐瓜乐虫
pythonpytest
一、框架目录结构1)tools目录用来放公共方法存储,如发送接口以及读取测试数据的方法,响应断言数据库断言前置sql等方法;2)datas目录用例存储接口用例的测试数据,我是用excel来存储的数据,文件数据图片数据等;3)testcases目录用来存放测试用例,一个python文件对应一个接口模块的测试用例,不同接口分别别多个不同的python文件;4)outputs里有reports和logs
- hutool获取大数据量的excel内容及sheet名称问题
liu_qixiang
excel
读取大数据量的excel时代码如下privatestaticRowHandlercreateRowHandler(){returnnewRowHandler(){@Overridepublicvoidhandle(inti,longl,Listlist){System.out.println(i+""+l+""+list);}};}publicstaticvoidmain(String[]args
- Flutter的升级和降级步骤
AiFlutter
flutter
升级1.版本升级//升级到指定版本flutterupgrade版本号//升级到最新版本flutterupgrade2.更新开发配置启动AndroidStudio。打开Settings对话框,查看SDKManager。如果你已经打开了一个项目,请打开Tools>SDKManager。如果显示WelcometoAndroidStudio的对话框,请单击Open按钮后面的MoreOptions图标,然后
- linux autofs配置
crazysele
linux服务器运维
安装yuminstall-yautofs准备挂接目录mkdir/nfsdatamkdir/nfsdata/{tools,files}添加配置echo“/nfsdata/etc/auto.user”>>/etc/auto.masterecho“tools-fstype=nfs,rw,sync,no_root_squash172.23.0.187:/mnt/sdb1/tools”>>/etc/auto
- 探索 Puppeteer-Screen-Recorder:高效网页录屏工具
白威东
探索Puppeteer-Screen-Recorder:高效网页录屏工具puppeteer-screen-recorder项目地址:https://gitcode.com/gh_mirrors/pu/puppeteer-screen-recorder项目介绍Puppeteer-Screen-Recorder是一款基于Puppeteer的插件,利用原生的ChromeDevToolsProtocol实
- 使用matlab的热门问题
七十二五
值得关注matlab开发语言青少年编程算法经验分享
MATLAB广泛应用于科学计算、数据分析、信号处理、图像处理、机器学习等多个领域,因此热门问题也涵盖了这些方面。以下是一些可能被认为当前最热门的MATLAB问题:深度学习与神经网络:如何使用MATLAB的深度学习工具箱(DeepLearningToolbox)来构建和训练神经网络?如何利用MATLAB进行图像识别、语音识别或自然语言处理等深度学习应用?数据分析与可视化:如何使用MATLAB进行大数
- ModuIe 1 Using my five senses
欣静园
Seeingandhearing1Listen,Ben!Whatcanyouhear?Icanhearaship.WhateIsecanyouhear?Hmm...IcanhearanaeropIane.Yes.ThereisanaeropIane.2Whatcanyousee,Kitty?Icanseeabus,andsomecarstoo.
- Fiddler 笔记
Queenie的学习笔记
1.Fiddler的原理终端设备(如WEB、APP)发出请求,Fiddler作为中间代理,传给服务器;服务器返回数据,Fiddler拦截后,再传给终端设备核心:代理服务运行机制:本机上监听8888端口的HTTP代理(代理地址是127.0.0.1,端口号8888)2.第一次使用Fiddler,如何配置(1)抓取https请求时,先导入证书:①Fiddler设置:Tools>Options>HTTPS
- 交叉编译内核驱动
zhaizhaizhu
第一部分龙芯交叉编译环境搭建1)上传压缩包至Linux2)创建安装目录/data/toolchain(必须使用此目录,否则交叉编译器脚本无法使用)$mkdir-p/data/toolchain3)将压缩包解压到/data/toolchain目录$tarzxftoolchain.loongson-4.9.3.tgz-C/data/toolchain测试1)创建一个脚本,比如bb.sh并添加如下内容:
- Codeforces Round #956 (Div. 2) C. Have Your Cake and Eat It Too
abTao_lx
c语言算法开发语言
CodeforcesRound#956(Div.2)C.HaveYourCakeandEatItToo题目大意:有长度为nnn的数组a,b,ca,b,ca,b,c,三个数组的和相同,把nnn分为三段非空连续段[la,ra],[lb,rb],[lc,rc][l_a,r_a],[l_b,r_b],[l_c,r_c][la,ra],[lb,rb],[lc,rc],互不重合。保证∑i=laraai,∑i=
- eclipse Unknown error: Unable to build: the file dx.jar was not loaded from the SDK folder
吉凶以情迁
eclipse出现了这个问题Unknownerror:Unabletobuild:thefiledx.jarwasnotloadedfromtheSDKfolder解决方法删除最新的build-tools文件夹,或者把老版本的dx.jar替换到最新的里面去。我是androidstudio和eclipse分了2个不同的sdk文件夹了。image.png
- python产生随机整数数组_生成随机整数数组
长迦
python产生随机整数数组
这是一个精确的(每个合法的和都有相同的概率)解。它使用所有合法和的枚举,并不是说我们要遍历每个和,而是给定一个数字n,我们可以直接计算枚举中的第n个和。由于我们也知道合法和的总数,我们可以简单地画出统一的整数并对其进行转换:importnumpyasnpimportfunctoolsasft#
[email protected]_cache(None)defcapped_pc(N,k,m):
- 【机器人工具箱Robotics Toolbox开发笔记(二)】Matlab中机器人工具箱的下载与安装
DRobot
机器人工具箱RoboticsToolbox开发笔记机器人笔记matlab
Matlab机器人工具箱(RoboticsToolbox)可从PeterCorke教授提供的网站上免费下载。网址为:http://www.petercorke.com/Robotics_Toolbox.html。图1网站所提供的机器人工具箱版本在DownloadingtheToolbox栏目中单击here按钮进入下载页面,然后在该页面中填写国家、组织和身份等信息,进入机器人工具箱的下载页面。如图1
- 【机器人工具箱Robotics Toolbox开发笔记(六)】 机器人运动学简要介绍
DRobot
机器人工具箱RoboticsToolbox开发笔记机器人笔记
机器人本体,是机器人赖以完成作业任务的执行机构,一般是一台机器人,也称为机器人或操作手,可以在确定的环境中执行控制系统指定的操作。典型工业机器人本体一般由手部(末端执行器)、腕部、臂部、腰部和基座组成。机器人多采用关节式机械结构,一般具有6自由度,其中3个用来确定末端执行器的位置,另外3个则用来确定末端执行装置的方向(姿态)。机器人末端执行装置可以根据操作需要换成焊枪、吸盘、扳手等作业工具。运动学
- 【Tools】Prompt Engineering简介
音乐学家方大刚
工具prompt
摇来摇去摇碎点点的金黄伸手牵来一片梦的霞光南方的小巷推开多情的门窗年轻和我们歌唱摇来摇去摇着温柔的阳光轻轻托起一件梦的衣裳古老的都市每天都改变模样方芳《摇太阳》大模型中的PromptEngineering是指为了提高大模型在特定任务上的表现,通过设计和调整输入的"prompt"(提示信息)的方式进行改进。Prompt在这里指的是输入给模型的初始文本或问题,它可以帮助模型理解任务的要求和上下文。Pr
- 论文翻译:arxiv-2024 Data Contamination Quiz: A Tool to Detect and Estimate Contamination in Large
CSPhD-winston-杨帆
LLMs-数据污染论文翻译语言模型人工智能深度学习
DataContaminationQuiz:ATooltoDetectandEstimateContaminationinLargeLanguageModelshttps://arxiv.org/abs/2311.06233数据污染测验:一种检测和估计大型语言模型中污染的工具文章目录数据污染测验:一种检测和估计大型语言模型中污染的工具摘要1引言摘要我们提出了数据污染测验(DataContamina
- Android的logcat日志详解
明天就是Friday
android
Androidlog系统logcat介绍logcat是android中的一个命令行工具,可以用于得到程序的log信息。下面介绍adblogcat中的详细参数命令以及如何才能高效的打印日志,或把日志保存到我们指定的位置。可以输入adblogcat--help,查看一下一些简单的数据格式:adblogcat--help输出结果:Usage:logcat[options][filterspecs]Gen
- 05-树8 File Transfer(C)
L_glonar
c语言数据结构
日常,满分Wehaveanetworkofcomputersandalistofbi-directionalconnections.Eachoftheseconnectionsallowsafiletransferfromonecomputertoanother.Isitpossibletosendafilefromanycomputeronthenetworktoanyother?InputSp
- python版本 微信ocr调用
冰吸生椰拿铁.
python微信ocr
pipinstallwechat-ocrimportbase64importosimportjsonimporttimefromwechat_ocr.ocr_managerimportOcrManager,OCR_MAX_TASK_IDfromyscredit_tools.utilsimportmd5stringwechat_ocr_dir=r"C:\Users\YS\AppData\Roamin
- mongodb 在 Windows 环境下迁移数据库的问题
Eagsen CEO
数据库mongodb
mongodb是一款非常优秀的文档数据库,它的社区版本是免费的。但是mongodb的迁移和其他传统的关系数据库不太一样,通过官方提供的图形化的客户端工具无法备份和迁移,需要下载命令行工具进行。首先下载命令行工具:DownloadMongoDBCommandLineDatabaseTools|MongoDBWindows安装后,使用管理员身份打开cmd命令窗口,导航到安装目录的bin目录下,如果是默
- [黑洞与暗粒子]没有光的世界
comsci
无论是相对论还是其它现代物理学,都显然有个缺陷,那就是必须有光才能够计算
但是,我相信,在我们的世界和宇宙平面中,肯定存在没有光的世界....
那么,在没有光的世界,光子和其它粒子的规律无法被应用和考察,那么以光速为核心的
&nbs
- jQuery Lazy Load 图片延迟加载
aijuans
jquery
基于 jQuery 的图片延迟加载插件,在用户滚动页面到图片之后才进行加载。
对于有较多的图片的网页,使用图片延迟加载,能有效的提高页面加载速度。
版本:
jQuery v1.4.4+
jQuery Lazy Load v1.7.2
注意事项:
需要真正实现图片延迟加载,必须将真实图片地址写在 data-original 属性中。若 src
- 使用Jodd的优点
Kai_Ge
jodd
1. 简化和统一 controller ,抛弃 extends SimpleFormController ,统一使用 implements Controller 的方式。
2. 简化 JSP 页面的 bind, 不需要一个字段一个字段的绑定。
3. 对 bean 没有任何要求,可以使用任意的 bean 做为 formBean。
使用方法简介
- jpa Query转hibernate Query
120153216
Hibernate
public List<Map> getMapList(String hql,
Map map) {
org.hibernate.Query jpaQuery = entityManager.createQuery(hql);
if (null != map) {
for (String parameter : map.keySet()) {
jp
- Django_Python3添加MySQL/MariaDB支持
2002wmj
mariaDB
现状
首先,
[email protected] 中默认的引擎为 django.db.backends.mysql 。但是在Python3中如果这样写的话,会发现 django.db.backends.mysql 依赖 MySQLdb[5] ,而 MySQLdb 又不兼容 Python3 于是要找一种新的方式来继续使用MySQL。 MySQL官方的方案
首先据MySQL文档[3]说,自从MySQL
- 在SQLSERVER中查找消耗IO最多的SQL
357029540
SQL Server
返回做IO数目最多的50条语句以及它们的执行计划。
select top 50
(total_logical_reads/execution_count) as avg_logical_reads,
(total_logical_writes/execution_count) as avg_logical_writes,
(tot
- spring UnChecked 异常 官方定义!
7454103
spring
如果你接触过spring的 事物管理!那么你必须明白 spring的 非捕获异常! 即 unchecked 异常! 因为 spring 默认这类异常事物自动回滚!!
public static boolean isCheckedException(Throwable ex)
{
return !(ex instanceof RuntimeExcep
- mongoDB 入门指南、示例
adminjun
javamongodb操作
一、准备工作
1、 下载mongoDB
下载地址:http://www.mongodb.org/downloads
选择合适你的版本
相关文档:http://www.mongodb.org/display/DOCS/Tutorial
2、 安装mongoDB
A、 不解压模式:
将下载下来的mongoDB-xxx.zip打开,找到bin目录,运行mongod.exe就可以启动服务,默
- CUDA 5 Release Candidate Now Available
aijuans
CUDA
The CUDA 5 Release Candidate is now available at http://developer.nvidia.com/<wbr></wbr>cuda/cuda-pre-production. Now applicable to a broader set of algorithms, CUDA 5 has advanced fe
- Essential Studio for WinRT网格控件测评
Axiba
JavaScripthtml5
Essential Studio for WinRT界面控件包含了商业平板应用程序开发中所需的所有控件,如市场上运行速度最快的grid 和chart、地图、RDL报表查看器、丰富的文本查看器及图表等等。同时,该控件还包含了一组独特的库,用于从WinRT应用程序中生成Excel、Word以及PDF格式的文件。此文将对其另外一个强大的控件——网格控件进行专门的测评详述。
网格控件功能
1、
- java 获取windows系统安装的证书或证书链
bewithme
windows
有时需要获取windows系统安装的证书或证书链,比如说你要通过证书来创建java的密钥库 。
有关证书链的解释可以查看此处 。
public static void main(String[] args) {
SunMSCAPI providerMSCAPI = new SunMSCAPI();
S
- NoSQL数据库之Redis数据库管理(set类型和zset类型)
bijian1013
redis数据库NoSQL
4.sets类型
Set是集合,它是string类型的无序集合。set是通过hash table实现的,添加、删除和查找的复杂度都是O(1)。对集合我们可以取并集、交集、差集。通过这些操作我们可以实现sns中的好友推荐和blog的tag功能。
sadd:向名称为key的set中添加元
- 异常捕获何时用Exception,何时用Throwable
bingyingao
用Exception的情况
try {
//可能发生空指针、数组溢出等异常
} catch (Exception e) {
 
- 【Kafka四】Kakfa伪分布式安装
bit1129
kafka
在http://bit1129.iteye.com/blog/2174791一文中,实现了单Kafka服务器的安装,在Kafka中,每个Kafka服务器称为一个broker。本文简单介绍下,在单机环境下Kafka的伪分布式安装和测试验证 1. 安装步骤
Kafka伪分布式安装的思路跟Zookeeper的伪分布式安装思路完全一样,不过比Zookeeper稍微简单些(不
- Project Euler
bookjovi
haskell
Project Euler是个数学问题求解网站,网站设计的很有意思,有很多problem,在未提交正确答案前不能查看problem的overview,也不能查看关于problem的discussion thread,只能看到现在problem已经被多少人解决了,人数越多往往代表问题越容易。
看看problem 1吧:
Add all the natural num
- Java-Collections Framework学习与总结-ArrayDeque
BrokenDreams
Collections
表、栈和队列是三种基本的数据结构,前面总结的ArrayList和LinkedList可以作为任意一种数据结构来使用,当然由于实现方式的不同,操作的效率也会不同。
这篇要看一下java.util.ArrayDeque。从命名上看
- 读《研磨设计模式》-代码笔记-装饰模式-Decorator
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.io.BufferedOutputStream;
import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.Fi
- Maven学习(一)
chenyu19891124
Maven私服
学习一门技术和工具总得花费一段时间,5月底6月初自己学习了一些工具,maven+Hudson+nexus的搭建,对于maven以前只是听说,顺便再自己的电脑上搭建了一个maven环境,但是完全不了解maven这一强大的构建工具,还有ant也是一个构建工具,但ant就没有maven那么的简单方便,其实简单点说maven是一个运用命令行就能完成构建,测试,打包,发布一系列功
- [原创]JWFD工作流引擎设计----节点匹配搜索算法(用于初步解决条件异步汇聚问题) 补充
comsci
算法工作PHP搜索引擎嵌入式
本文主要介绍在JWFD工作流引擎设计中遇到的一个实际问题的解决方案,请参考我的博文"带条件选择的并行汇聚路由问题"中图例A2描述的情况(http://comsci.iteye.com/blog/339756),我现在把我对图例A2的一个解决方案公布出来,请大家多指点
节点匹配搜索算法(用于解决标准对称流程图条件汇聚点运行控制参数的算法)
需要解决的问题:已知分支
- Linux中用shell获取昨天、明天或多天前的日期
daizj
linuxshell上几年昨天获取上几个月
在Linux中可以通过date命令获取昨天、明天、上个月、下个月、上一年和下一年
# 获取昨天
date -d 'yesterday' # 或 date -d 'last day'
# 获取明天
date -d 'tomorrow' # 或 date -d 'next day'
# 获取上个月
date -d 'last month'
#
- 我所理解的云计算
dongwei_6688
云计算
在刚开始接触到一个概念时,人们往往都会去探寻这个概念的含义,以达到对其有一个感性的认知,在Wikipedia上关于“云计算”是这么定义的,它说:
Cloud computing is a phrase used to describe a variety of computing co
- YII CMenu配置
dcj3sjt126com
yii
Adding id and class names to CMenu
We use the id and htmlOptions to accomplish this. Watch.
//in your view
$this->widget('zii.widgets.CMenu', array(
'id'=>'myMenu',
'items'=>$this-&g
- 设计模式之静态代理与动态代理
come_for_dream
设计模式
静态代理与动态代理
代理模式是java开发中用到的相对比较多的设计模式,其中的思想就是主业务和相关业务分离。所谓的代理设计就是指由一个代理主题来操作真实主题,真实主题执行具体的业务操作,而代理主题负责其他相关业务的处理。比如我们在进行删除操作的时候需要检验一下用户是否登陆,我们可以删除看成主业务,而把检验用户是否登陆看成其相关业务
- 【转】理解Javascript 系列
gcc2ge
JavaScript
理解Javascript_13_执行模型详解
摘要: 在《理解Javascript_12_执行模型浅析》一文中,我们初步的了解了执行上下文与作用域的概念,那么这一篇将深入分析执行上下文的构建过程,了解执行上下文、函数对象、作用域三者之间的关系。函数执行环境简单的代码:当调用say方法时,第一步是创建其执行环境,在创建执行环境的过程中,会按照定义的先后顺序完成一系列操作:1.首先会创建一个
- Subsets II
hcx2013
set
Given a collection of integers that might contain duplicates, nums, return all possible subsets.
Note:
Elements in a subset must be in non-descending order.
The solution set must not conta
- Spring4.1新特性——Spring缓存框架增强
jinnianshilongnian
spring4
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
- shell嵌套expect执行命令
liyonghui160com
一直都想把expect的操作写到bash脚本里,这样就不用我再写两个脚本来执行了,搞了一下午终于有点小成就,给大家看看吧.
系统:centos 5.x
1.先安装expect
yum -y install expect
2.脚本内容:
cat auto_svn.sh
#!/bin/bash
- Linux实用命令整理
pda158
linux
0. 基本命令 linux 基本命令整理
1. 压缩 解压 tar -zcvf a.tar.gz a #把a压缩成a.tar.gz tar -zxvf a.tar.gz #把a.tar.gz解压成a
2. vim小结 2.1 vim替换 :m,ns/word_1/word_2/gc  
- 独立开发人员通向成功的29个小贴士
shoothao
独立开发
概述:本文收集了关于独立开发人员通向成功需要注意的一些东西,对于具体的每个贴士的注解有兴趣的朋友可以查看下面标注的原文地址。
明白你从事独立开发的原因和目的。
保持坚持制定计划的好习惯。
万事开头难,第一份订单是关键。
培养多元化业务技能。
提供卓越的服务和品质。
谨小慎微。
营销是必备技能。
学会组织,有条理的工作才是最有效率的。
“独立
- JAVA中堆栈和内存分配原理
uule
java
1、栈、堆
1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)3. 堆:存放所有new出来的对象。4. 静态域:存放静态成员(static定义的)5. 常量池:存放字符串常量和基本类型常量(public static f