- FB-OCC: 3D Occupancy Prediction based on Forward-BackwardView Transformation
justtoomuchforyou
智驾
NVidia,CVPR20233DOccupancyPredictionChallengeworkshoppaper:https://arxiv.org/pdf/2307.1492code:https://github.com/NVlabs/FB-BEV大参数量imagebackboneInternImage-H,1B外部数据集预训练:object365nuscenes:有点云label,强化网络
- Git使用基本指南
LEIX_lll
git
一、Git基础配置首先需要配置用户信息,让Git知道你是谁:gitconfig--globaluser.name"你的名字"gitconfig--globaluser.email"你的邮箱@example.com"如果需要查看配置信息,可以使用:gitconfig--list二、仓库操作1.创建新仓库gitinit该命令会在当前目录下创建一个新的Git仓库。2.克隆已有仓库gitclone[远程仓
- PillarNet: Real-Time and High-PerformancePillar-based 3D Object Detection
justtoomuchforyou
目标检测人工智能计算机视觉智驾
ECCV2022paper:[2205.07403]PillarNet:Real-TimeandHigh-PerformancePillar-based3DObjectDetectioncode:https://github.com/VISION-SJTU/PillarNet-LTS纯点云基于pillar3D检测模型网络比较SECOND基于voxel,one-stage,基于sparse3Dc
- GitHub Actions与AWS OIDC实现安全的ECR/ECS自动化部署
ivwdcwso
运维与云原生githubaws安全ecrecsoldcCI/CD
引言在现代云原生应用开发中,实现安全、高效的CI/CD流程至关重要。本文将详细介绍如何利用GitHubActions和AWSOIDC(OpenIDConnect)构建一个无需长期凭证的安全部署管道,将容器化应用自动部署到AmazonECR和ECS服务。架构概述整个解决方案的架构包含三个主要部分:GitHub端:代码仓库和GitHubActions工作流AWS端:OIDC身份验证、ECR容器仓库和E
- 【开源项目】「安卓原生3D开源渲染引擎」:Sceneform‑EQR
「安卓原生3D开源渲染引擎」:Sceneform‑EQR渲染引擎“那一夜凌晨3点,第一次提交PR的手在抖……”——我深刻体会这种忐忑与激动。仓库地址:(github.com)。一、前言:开源对我意味着什么DIY的自由Vs.工业化的束缚刚入Android原生开发时,我习惯自己在项目里嵌入各种3D渲染/AR/XR模块,结构臃肿、流程混乱。当我知道GoogleSceneformSDK被弃用,起初只是出于
- GitHub Actions 的深度解析与概念介绍
青草地溪水旁
linux环境配置开发管理githublinuxubuntudocker
GitHubActions核心定义GitActions是GitHub原生提供的自动化工作流引擎,允许开发者在代码仓库中直接创建、测试、部署代码。其本质是通过事件驱动(Event-Driven)的自动化管道,将软件开发中的重复任务抽象为可编排的流程。架构核心四要素工作流(Workflow)仓库中的自动化流程蓝图(.yml文件)存储在.github/workflows目录单仓库可包含多个独立工作流事件
- [email protected]: Permission denied (publickey)解决方案(简单粗暴)
自戀自動治姓病
gitgithub
1.输入ssh-keygen-trsa-C“
[email protected]",其中“”中填上在github中的邮箱2.然后一直enter,不用考虑提示3.输入cat~/.ssh/id_rsa.pub,出来的就是SSHKey
- 用户身份 git ssh -T git@github可以成功,但是克隆不了的问题
fyueqiao
gitgithubssh
标题问题描述:git以root身份可以克隆但是以用户身份登陆不了解决方案:先进行如下操作eval$(ssh-agent-s)再进行ssh-add~/.ssh/github_rsa\\(add后面的的是你自己rsa存放的地方)解决
- Python编程:使用Opencv进行图像处理
【参考】https://github.com/opencv/opencv/tree/4.x/samples/pythonPython使用OpenCV进行图像处理OpenCV(OpenSourceComputerVisionLibrary)是一个开源的计算机视觉和机器学习软件库。下面将从基础到高阶介绍如何使用Python中的OpenCV进行图像处理。一、安装首先需要安装OpenCV库:pipinst
- ssh -T [email protected]失败后解决方案
青草地溪水旁
linuxsshgitgithub
这个错误表示你的SSH连接无法到达GitHub服务器。以下是详细解决方案,按照优先级排序:首选解决方案:使用SSHoverHTTPS(端口443)这是最有效的解决方案,因为许多网络会阻止22端口:#编辑SSH配置文件nano~/.ssh/config添加以下内容:Hostgithub.comHostnamessh.github.comPort443Usergit保存后测试连接:ssh-Tgit@g
- 9 个 GraphQL 安全最佳实践
先行者-阿佰
graphql安全后端
GraphQL已被最大的平台采用-Facebook、Twitter、Github、Pinterest、Walmart-这些大公司不能在安全性上妥协。但是,尽管GraphQL可以成为您的API的非常安全的选项,但它并不是开箱即用的。事实恰恰相反:即使是最新手的黑客,所有大门都是敞开的。此外,GraphQL有自己的一套注意事项,因此如果您来自REST,您可能会错过一些重要步骤!2024年,有关Hack
- 炫酷3D圆环动态照片墙:打造个性化展示新体验
姚芝舒
炫酷3D圆环动态照片墙:打造个性化展示新体验【下载地址】3D圆环动态照片墙HTML文件本资源提供了一个精美的3D圆环动态照片墙HTML文件,用户可以通过鼠标自由拖拽照片墙,实现动态展示效果。该文件在某社交平台爆火,内置了30张高质量的JPG图片,用户只需在浏览器中直接打开即可体验,操作简单易上手。效果精致,适合用于个人展示或简单玩乐项目地址:https://gitcode.com/open-sou
- Windows 下使用 nvm 管理 Node.js 多版本 —— 完整指南
爱宇阳
WindowNPMwindowsnode.js
Node.js版本更新频繁,不同项目可能依赖不同的版本,手动切换极为麻烦。nvm-windows是专为Windows用户开发的Node.js多版本管理工具,可以轻松地安装、切换、卸载Node.js版本。本篇将从下载到实际使用,手把手带你玩转nvm-windows。一、下载nvm-windows安装包进入GitHub项目地址:nvm-windowsReleases下载最新版的nvm-setup.zi
- 首次拿到无线USB转换器TOS-WLink使用介绍
TOS-WLink的开发到今持续了大半年、先不知羞耻的夸夸自己的毅力;这里主要介绍一些无线助手的使用,可能也能体现一点点我的设计思想;感谢对我帮助极大这些开源库的大佬们;感谢CSDN一些我记不住名字的作者写的文章、对USB标准的理解、C#的一些实例;无线USB助手参考:Win蓝牙GitHub-miuser00/BLEComm:BLECommbasedonnewAPIofWindows10OS.Th
- Practical TLA+ 项目中的Dekker算法形式化验证
焦习娜Samantha
PracticalTLA+项目中的Dekker算法形式化验证practical-tla-plusSourceCodefor'PracticalTLA+'byHillelWayne项目地址:https://gitcode.com/gh_mirrors/pr/practical-tla-plus概述本文分析PracticalTLA+项目中关于Dekker互斥算法的形式化规范。Dekker算法是解决多线
- 深入理解reeze/tipi项目中的词法分析与语法分析技术
焦习娜Samantha
深入理解reeze/tipi项目中的词法分析与语法分析技术tipiThinkingInPHPInternals,AnopenbookonPHPInternals项目地址:https://gitcode.com/gh_mirrors/ti/tipi引言在编程语言实现领域,词法分析和语法分析是构建编译器或解释器的关键环节。本文将基于reeze/tipi项目中的相关内容,深入浅出地讲解这些核心技术原理。
- 推荐使用:Vue-Cron —— 简易CRON表达式生成器
乌昱有Melanie
推荐使用:Vue-Cron——简易CRON表达式生成器项目地址:https://gitcode.com/gh_mirrors/vu/vue-cronVue-Cron是一款专为Vue.js和Element-UI设计的高效、易用的CRON表达式生成插件。它能帮助开发者轻松创建和管理定时任务策略,提供直观的界面和完善的国际化支持。项目介绍Vue-Cron提供了一个简洁的交互界面,让用户能够通过可视化的操
- vue-cron: Cron表达式UI组件开发指南
刘通双Elsie
vue-cron:Cron表达式UI组件开发指南项目地址:https://gitcode.com/gh_mirrors/vu/vue-cron项目介绍vue-cron是一个基于Vue框架设计的cron表达式UI组件库.该项目特别适用于那些需要在前端界面中提供cron表达式编辑功能的应用场景。通过简洁直观的接口,开发者可以轻松地将此组件集成到他们的Vue应用程序中,以实现对定时任务计划的精确控制。该
- 推荐使用ReactJS Cron:一款强大且灵活的定时任务编辑器
推荐使用ReactJSCron:一款强大且灵活的定时任务编辑器react-js-cronAReactcroneditorbuiltwithantd项目地址:https://gitcode.com/gh_mirrors/re/react-js-cron项目简介ReactJSCron是一个基于React和AntDesign构建的高效能定时任务编辑组件。它提供了友好的用户界面,帮助开发者轻松创建和管理c
- 适用于vue3的移动端Vant4组件库
柒@宝儿姐
前端vue.js
适用于vue3的移动端Vant4组件库地址:(https://vant-ui.github.io/vant/#/zh-CN/home)安装:npmivant
- Linux设备驱动开发详解 - 基于Linux 4.0内核
Linux设备驱动开发详解-基于Linux4.0内核去发现同类优质开源项目:https://gitcode.com/欢迎使用《Linux设备驱动开发详解》资源库本资源库致力于为Linux设备驱动开发者提供一份基于Linux4.0内核的详细指南和实践材料。随着Linux内核不断迭代,理解并掌握其最新特性和驱动开发的方法论变得尤为重要。本项目特别针对那些想要深入了解Linux内核机制、尤其是驱动程序开
- ARMv7内核架构手册及全部ARM内核资料下载
杨焕月Great
ARMv7内核架构手册及全部ARM内核资料下载去发现同类优质开源项目:https://gitcode.com/资源介绍本仓库提供了一个重要的资源文件下载,标题为“Armv7内核架构手册+全部arm内核资料”。该资源文件包含了ARMv7内核架构的详细手册以及其他相关的配套资料,非常适合想要深入了解和学习ARM内核的朋友。资源内容ARMArchitectureReferenceManualARMv7-
- 【免费下载】 数值传热学教材下载
唐方展
数值传热学教材下载【下载地址】数值传热学教材下载分享本仓库提供《数值传热学(第二版)》教材的下载服务,旨在方便有需求的人士获取该教材,以便进行学习和应用项目地址:https://gitcode.com/Open-source-documentation-tutorial/750c8资源简介本仓库提供《数值传热学(第二版)》教材的下载服务,旨在方便有需求的人士获取该教材,以便进行学习和应用。教材信息
- ARMv8架构参考手册下载
唐方展
ARMv8架构参考手册下载【下载地址】ARMv8架构参考手册下载分享ARMv8架构参考手册下载项目地址:https://gitcode.com/Open-source-documentation-tutorial/1df35资源介绍本仓库提供ARM官方的ARM架构参考手册,最新版本为ARMv8-A。该手册是系统学习ARM指令的最佳参考书,涵盖了ARMv8架构的详细信息和汇编指令手册。资源文件文件名
- Akka Persistence MongoDB 驱动:高效持久化解决方案
韩烨琰
AkkaPersistenceMongoDB驱动:高效持久化解决方案akka-persistence-mongoImplementationofakka-persistencestoragepluginsformongodb项目地址:https://gitcode.com/gh_mirrors/ak/akka-persistence-mongo项目介绍AkkaPersistenceMongoDB驱
- Python使用matplotlib绘制图像时,中文图例或标题无法正常显示问题
独不懂
Pythonpythonmatplotlib开发语言
Python使用matplotlib绘制图像时,中文图例或标题无法显示问题解决方法一、问题描述二、解决方法欢迎学习交流!邮箱:z…@1…6.com网站:https://zephyrhours.github.io/一、问题描述Matplotlib库是Python中经常使用的绘图工具,但是有时候我们在使用plt绘制图像,需要将英文标题或者图例显示为中文样式,总会出现无法显示的问题,具体情况如下:imp
- Git 相关汇总
猫老板的豆
Gitgit
Git详细教程GitGUI的使用Git代码提交规范⚡️多人协作Git完整工作流示例⚡️Git全流程结构与思维导图git官网下载太慢解决方法
- 记录一些点滴
会点法律的程序员
架构
puppeteer有这能力教你一个方案,想要玩透某个框架,需要快速通览1-3遍文档至少3遍以上,不需要背会,需要知道有哪些东西然后,github寻找这个框架的dome,最后自己开始写demogithub的demo也是快速通览代码,而不是clone下来,启动,再去体验,那种太耗费时间且你啃不下去那么多知识点你就无脑执行我教给你的三个步骤,不到三次你就会发现,你比之前学习一个框架要快,而且更透彻git
- 好用的在线思维导图软件--GitMind
易普斯龙
工具篇---小软件Officeetc.思维导图
今天想画个脑图,又不想安装相关软件,之前用过一些在线的感觉不满足这次要画的主题,于是找了好多免费在线脑图网站,发现百度也在提供,真是新发现,不过用过以后感觉不是想要的,有兴趣的可以自行去看看–>百度脑图。今天要说的主角是GitMind,用过之后感觉比之前用的在线工具好很多,很喜欢,脑图自由度非常大,功能强大,推荐使用(还有离线安装版哟)。GitMind思乎[1]是一款全平台通用的在线思维导图软件。
- Dpdk环境的搭建
Flying Fish(HHH)
dpdk分布式计算机网络
1、下载源码:gitclonehttps://github.com/DPDK/dpdk2、编译命令CC=gccmeson-Dlibdir=lib--default-library=static-Dexamples=allx86_64-native-linuxapp-gcc-Dbuildtype=debugoptimizedninja-Cx86_64-native-linuxapp-gcc-j110
- 解读Servlet原理篇二---GenericServlet与HttpServlet
周凡杨
javaHttpServlet源理GenericService源码
在上一篇《解读Servlet原理篇一》中提到,要实现javax.servlet.Servlet接口(即写自己的Servlet应用),你可以写一个继承自javax.servlet.GenericServletr的generic Servlet ,也可以写一个继承自java.servlet.http.HttpServlet的HTTP Servlet(这就是为什么我们自定义的Servlet通常是exte
- MySQL性能优化
bijian1013
数据库mysql
性能优化是通过某些有效的方法来提高MySQL的运行速度,减少占用的磁盘空间。性能优化包含很多方面,例如优化查询速度,优化更新速度和优化MySQL服务器等。本文介绍方法的主要有:
a.优化查询
b.优化数据库结构
- ThreadPool定时重试
dai_lm
javaThreadPoolthreadtimertimertask
项目需要当某事件触发时,执行http请求任务,失败时需要有重试机制,并根据失败次数的增加,重试间隔也相应增加,任务可能并发。
由于是耗时任务,首先考虑的就是用线程来实现,并且为了节约资源,因而选择线程池。
为了解决不定间隔的重试,选择Timer和TimerTask来完成
package threadpool;
public class ThreadPoolTest {
- Oracle 查看数据库的连接情况
周凡杨
sqloracle 连接
首先要说的是,不同版本数据库提供的系统表会有不同,你可以根据数据字典查看该版本数据库所提供的表。
select * from dict where table_name like '%SESSION%';
就可以查出一些表,然后根据这些表就可以获得会话信息
select sid,serial#,status,username,schemaname,osuser,terminal,ma
- 类的继承
朱辉辉33
java
类的继承可以提高代码的重用行,减少冗余代码;还能提高代码的扩展性。Java继承的关键字是extends
格式:public class 类名(子类)extends 类名(父类){ }
子类可以继承到父类所有的属性和普通方法,但不能继承构造方法。且子类可以直接使用父类的public和
protected属性,但要使用private属性仍需通过调用。
子类的方法可以重写,但必须和父类的返回值类
- android 悬浮窗特效
肆无忌惮_
android
最近在开发项目的时候需要做一个悬浮层的动画,类似于支付宝掉钱动画。但是区别在于,需求是浮出一个窗口,之后边缩放边位移至屏幕右下角标签处。效果图如下:
一开始考虑用自定义View来做。后来发现开线程让其移动很卡,ListView+动画也没法精确定位到目标点。
后来想利用Dialog的dismiss动画来完成。
自定义一个Dialog后,在styl
- hadoop伪分布式搭建
林鹤霄
hadoop
要修改4个文件 1: vim hadoop-env.sh 第九行 2: vim core-site.xml <configuration> &n
- gdb调试命令
aigo
gdb
原文:http://blog.csdn.net/hanchaoman/article/details/5517362
一、GDB常用命令简介
r run 运行.程序还没有运行前使用 c cuntinue 
- Socket编程的HelloWorld实例
alleni123
socket
public class Client
{
public static void main(String[] args)
{
Client c=new Client();
c.receiveMessage();
}
public void receiveMessage(){
Socket s=null;
BufferedRea
- 线程同步和异步
百合不是茶
线程同步异步
多线程和同步 : 如进程、线程同步,可理解为进程或线程A和B一块配合,A执行到一定程度时要依靠B的某个结果,于是停下来,示意B运行;B依言执行,再将结果给A;A再继续操作。 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回,同时其它线程也不能调用这个方法
多线程和异步:多线程可以做不同的事情,涉及到线程通知
&
- JSP中文乱码分析
bijian1013
javajsp中文乱码
在JSP的开发过程中,经常出现中文乱码的问题。
首先了解一下Java中文问题的由来:
Java的内核和class文件是基于unicode的,这使Java程序具有良好的跨平台性,但也带来了一些中文乱码问题的麻烦。原因主要有两方面,
- js实现页面跳转重定向的几种方式
bijian1013
JavaScript重定向
js实现页面跳转重定向有如下几种方式:
一.window.location.href
<script language="javascript"type="text/javascript">
window.location.href="http://www.baidu.c
- 【Struts2三】Struts2 Action转发类型
bit1129
struts2
在【Struts2一】 Struts Hello World http://bit1129.iteye.com/blog/2109365中配置了一个简单的Action,配置如下
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configurat
- 【HBase十一】Java API操作HBase
bit1129
hbase
Admin类的主要方法注释:
1. 创建表
/**
* Creates a new table. Synchronous operation.
*
* @param desc table descriptor for table
* @throws IllegalArgumentException if the table name is res
- nginx gzip
ronin47
nginx gzip
Nginx GZip 压缩
Nginx GZip 模块文档详见:http://wiki.nginx.org/HttpGzipModule
常用配置片段如下:
gzip on; gzip_comp_level 2; # 压缩比例,比例越大,压缩时间越长。默认是1 gzip_types text/css text/javascript; # 哪些文件可以被压缩 gzip_disable &q
- java-7.微软亚院之编程判断俩个链表是否相交 给出俩个单向链表的头指针,比如 h1 , h2 ,判断这俩个链表是否相交
bylijinnan
java
public class LinkListTest {
/**
* we deal with two main missions:
*
* A.
* 1.we create two joined-List(both have no loop)
* 2.whether list1 and list2 join
* 3.print the join
- Spring源码学习-JdbcTemplate batchUpdate批量操作
bylijinnan
javaspring
Spring JdbcTemplate的batch操作最后还是利用了JDBC提供的方法,Spring只是做了一下改造和封装
JDBC的batch操作:
String sql = "INSERT INTO CUSTOMER " +
"(CUST_ID, NAME, AGE) VALUES (?, ?, ?)";
- [JWFD开源工作流]大规模拓扑矩阵存储结构最新进展
comsci
工作流
生成和创建类已经完成,构造一个100万个元素的矩阵模型,存储空间只有11M大,请大家参考我在博客园上面的文档"构造下一代工作流存储结构的尝试",更加相信的设计和代码将陆续推出.........
竞争对手的能力也很强.......,我相信..你们一定能够先于我们推出大规模拓扑扫描和分析系统的....
- base64编码和url编码
cuityang
base64url
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.io.UnsupportedEncodingException;
- web应用集群Session保持
dalan_123
session
关于使用 memcached 或redis 存储 session ,以及使用 terracotta 服务器共享。建议使用 redis,不仅仅因为它可以将缓存的内容持久化,还因为它支持的单个对象比较大,而且数据类型丰富,不只是缓存 session,还可以做其他用途,一举几得啊。1、使用 filter 方法存储这种方法比较推荐,因为它的服务器使用范围比较多,不仅限于tomcat ,而且实现的原理比较简
- Yii 框架里数据库操作详解-[增加、查询、更新、删除的方法 'AR模式']
dcj3sjt126com
数据库
public function getMinLimit () { $sql = "..."; $result = yii::app()->db->createCo
- solr StatsComponent(聚合统计)
eksliang
solr聚合查询solr stats
StatsComponent
转载请出自出处:http://eksliang.iteye.com/blog/2169134
http://eksliang.iteye.com/ 一、概述
Solr可以利用StatsComponent 实现数据库的聚合统计查询,也就是min、max、avg、count、sum的功能
二、参数
- 百度一道面试题
greemranqq
位运算百度面试寻找奇数算法bitmap 算法
那天看朋友提了一个百度面试的题目:怎么找出{1,1,2,3,3,4,4,4,5,5,5,5} 找出出现次数为奇数的数字.
我这里复制的是原话,当然顺序是不一定的,很多拿到题目第一反应就是用map,当然可以解决,但是效率不高。
还有人觉得应该用算法xxx,我是没想到用啥算法好...!
还有觉得应该先排序...
还有觉
- Spring之在开发中使用SpringJDBC
ihuning
spring
在实际开发中使用SpringJDBC有两种方式:
1. 在Dao中添加属性JdbcTemplate并用Spring注入;
JdbcTemplate类被设计成为线程安全的,所以可以在IOC 容器中声明它的单个实例,并将这个实例注入到所有的 DAO 实例中。JdbcTemplate也利用了Java 1.5 的特定(自动装箱,泛型,可变长度
- JSON API 1.0 核心开发者自述 | 你所不知道的那些技术细节
justjavac
json
2013年5月,Yehuda Katz 完成了JSON API(英文,中文) 技术规范的初稿。事情就发生在 RailsConf 之后,在那次会议上他和 Steve Klabnik 就 JSON 雏形的技术细节相聊甚欢。在沟通单一 Rails 服务器库—— ActiveModel::Serializers 和单一 JavaScript 客户端库——&
- 网站项目建设流程概述
macroli
工作
一.概念
网站项目管理就是根据特定的规范、在预算范围内、按时完成的网站开发任务。
二.需求分析
项目立项
我们接到客户的业务咨询,经过双方不断的接洽和了解,并通过基本的可行性讨论够,初步达成制作协议,这时就需要将项目立项。较好的做法是成立一个专门的项目小组,小组成员包括:项目经理,网页设计,程序员,测试员,编辑/文档等必须人员。项目实行项目经理制。
客户的需求说明书
第一步是需
- AngularJs 三目运算 表达式判断
qiaolevip
每天进步一点点学习永无止境众观千象AngularJS
事件回顾:由于需要修改同一个模板,里面包含2个不同的内容,第一个里面使用的时间差和第二个里面名称不一样,其他过滤器,内容都大同小异。希望杜绝If这样比较傻的来判断if-show or not,继续追究其源码。
var b = "{{",
a = "}}";
this.startSymbol = function(a) {
- Spark算子:统计RDD分区中的元素及数量
superlxw1234
sparkspark算子Spark RDD分区元素
关键字:Spark算子、Spark RDD分区、Spark RDD分区元素数量
Spark RDD是被分区的,在生成RDD时候,一般可以指定分区的数量,如果不指定分区数量,当RDD从集合创建时候,则默认为该程序所分配到的资源的CPU核数,如果是从HDFS文件创建,默认为文件的Block数。
可以利用RDD的mapPartitionsWithInd
- Spring 3.2.x将于2016年12月31日停止支持
wiselyman
Spring 3
Spring 团队公布在2016年12月31日停止对Spring Framework 3.2.x(包含tomcat 6.x)的支持。在此之前spring团队将持续发布3.2.x的维护版本。
请大家及时准备及时升级到Spring
- fis纯前端解决方案fis-pure
zccst
JavaScript
作者:zccst
FIS通过插件扩展可以完美的支持模块化的前端开发方案,我们通过FIS的二次封装能力,封装了一个功能完备的纯前端模块化方案pure。
1,fis-pure的安装
$ fis install -g fis-pure
$ pure -v
0.1.4
2,下载demo到本地
git clone https://github.com/hefangshi/f