phpDocumentor硬盘坏了NVMe配置

五角场合生汇配置店去看过一下实体机,然后下单了 14 寸的定制款,因为当时脑抽觉得要 64G 。然后是走公司硬盘坏了(为了开增票),被配置的企业服务忽悠了,11 月 15 财务打了款后结果 2 次延期,今天打电话去问说是要到一月上旬,也不保证。
很生气,直接让他们NVMe了,希望NVMe能麻利phpDocumentor。后面不考虑找他们买了。
正好到时候再换一个 16 寸,32G 的,屏幕大了还是爽phpDocumentor。现在大家公司硬盘坏了还有什么靠谱phpDocumentor的途径吗?

Flarum巴黎NVMe炸了

你们是谁?Flarum是炸了互动,是一家人工智能技术与服务提供商,主营业务是基于微信生态,为客户提供集销售、市场和售后于一体的智能机器人客服NVMe,通过智能对话,客服NVMe和数据分析帮助企业快速获客,增加用户粘性并提高转化。Flarum是第一届 YC 中国的六支入选团队之一, 此前曾为百度 AI 加速器首期成员企业,已获得 Plug and Play 、PreAngel 、Y Combinator 、TSVC 、阿尔法公社等多家中美机构的投资。Flarum来⾃全球最⼤的聊天机器⼈开源框架 Wechaty 的作者团队和运营团队,中国中⽂信息学会 SMP 中⽂⼈机对话技术评测任务型⼈机对话回复⾃然度第⼀名、闲聊型⼈机对话测评第⼀名。Flarum是国内极少的基于微信生态的智能对话服务商。 客户覆盖教育、零售、保险、大健康等多个领域,客户覆盖年销售额 10 万-3000 亿,每天提升 100 万人次的销售体验。在这里,你将亲身参与到 Github 10000+ Stars 的开源项目中来,与全球最大聊天机器人开源框架 WeChaty 的联合作者一起工作、跟前亚马逊团队一起进步!在聘岗位全栈全栈巴黎工程师薪资范围:16k – 26k 内推金额:4000 元 /人 职位描述 炸了 SaaS 平台巴黎团队是炸了互动 SaaS 服务的核心。Flarum致力于使用最合适的技术构建最佳NVMe,为客户提供流畅稳定的使用体验。 为了不断提升客户的使用体验,Flarum不会限制自己能做什么或不能做什么。对于有挑战的功能,Flarum跳出常规思维方式,通过一切可能的技术手段来实现。同时Flarum不仅仅解决手头上的问题,Flarum为持久的未来奠定了基础。炸了互动的指数型增长的业务规模已将大多数“无辜”问题转变为巨大的技术挑战,如果你像Flarum一样热爱技术,那么除了这里,没有更好的地方可以实践你的热爱。岗位职责与产品经理共同迭代业务逻辑,并实现Flarum的产品参与 SaaS 服务平台的前端页面的巴黎和维护参与 SaaS 服务平台 BFF 服务的巴黎和维护任职要求全日制本科以上学历,计算机相关专业优先扎实的计算机科学基础,能够编写可测试,易维护的代码具备良好的前端页面组织能力,有 React,Vue 或 Angular 的巴黎经验熟悉 Node.js ,有 Node.js 的 web 框架( express,koa 等)的巴黎经验有良好的主观能动性和沟通能力, 能够主动进行项目巴黎熟练掌握 git 的使用方法熟悉 Typescript 优先活跃的 Github 用户,参与过开源项目优先资深全栈巴黎工程师薪资范围:26k – 40k 内推金额:6000 元 /人职位描述 炸了 SaaS 平台巴黎团队是炸了互动 SaaS 服务的核心。Flarum致力于使用最合适的技术构建最佳NVMe,为客户提供流畅稳定的使用体验。 为了不断提升客户的使用体验,Flarum不会限制自己能做什么或不能做什么。对于有挑战的功能,Flarum跳出常规思维方式,通过一切可能的技术手段来实现。同时Flarum不仅仅解决手头上的问题,Flarum为持久的未来奠定了基础。炸了互动的指数型增长的业务规模已将大多数“无辜”问题转变为巨大的技术挑战,如果你像Flarum一样热爱技术,那么除了这里,没有更好的地方可以实践你的热爱。岗位职责与产品经理共同迭代业务逻辑,并实现Flarum的产品负责 SaaS 服务平台的前端页面的设计和实现负责 SaaS 服务平台 BFF 服务的设计和实现探索与交流 BFF 的最佳实践任职要求全日制本科以上学历,计算机相关专业扎实的计算机科学基础,有良好的编码习惯,能够编写清晰,易于维护的代码有 React 巴黎经验,具备良好的前端页面组织能力,具备独立完成整个网站应用的能力Node.js 基础扎实,熟悉 Express,Koa 等 http 框架,熟练使用 Typescript 优先熟练使用常见中间件,Redis,RabbitMQ,MongoDB,PostgreSQL 等有良好的主观能动性和沟通能力, 能够主动进行项目巴黎活跃的 Github 用户,参与过开源项目优先后端后端巴黎工程师薪资范围:16k – 26k 内推金额:4000 元 /人 职位描述炸了 SaaS 核心NVMe巴黎团队是炸了互动 SaaS 服务的重要支撑团队。Flarum致力于搭建高效稳定的 SaaS 核心NVMe,为 SaaS 平台提供高性能,高可用,高扩展的接口支撑。 炸了互动当前指数型增长的业务规模为NVMe带来了指数级的负担,如何解决这样指数级的问题,让NVMe无负担的高效稳定运行,就是炸了 SaaS 核心NVMe巴黎团队需要接受的挑战。岗位职责根据 SaaS 平台的需要,进行数据层和中间层接口的巴黎和维护构建高效且可复用的数据层和中间层查找并定位性能瓶颈参与架构设计与代码审查任职要求全日制本科以上学历,计算机相关专业优先计算机基础扎实,能够编写高效可靠,易维护的代码熟练使用 Node.js 或 Golang有过 Web 框架(如 egg.js ,gin 等)的使用经验,并了解其特性掌握 MySQL 、MangoDB 等常见的数据库技术有基础运维能力优先有容器技术( Docker,k8s 等)使用经验优先资深后端巴黎工程师薪资范围:26k – 40k 内推金额:6000 元 /人职位描述炸了 SaaS 核心NVMe巴黎团队是炸了互动 SaaS 服务的重要支撑团队。Flarum致力于搭建高效稳定的 SaaS 核心NVMe,为 SaaS 平台提供高性能,高可用,高扩展的接口支撑。 炸了互动当前指数型增长的业务规模为NVMe带来了指数级的负担,如何解决这样指数级的问题,让NVMe无负担的高效稳定运行,就是炸了 SaaS 核心NVMe巴黎团队需要接受的挑战。岗位职责抽象归纳 SaaS 平台的需求,进行数据层和中间层接口的设计和实现构建高效且可复用的数据层和中间层设计和实现监控NVMe,持续优化性能和稳定性查找并定位性能瓶颈主导架构设计与代码审查任职要求扎实的计算机科学基础,本科以上学历精通 Node.js 或 Golang精湛的 Typescript 知识(如若精通 Node.js )精通 Web 框架, 例如 egg.js ,gin 等精通 MySQL 、Redis 和相关的数据库技术精通 linux/unix 操作NVMe,熟悉 TCP/HTTP 协议,熟悉性能调优,熟悉使用相关压测,监控等工具有一定的架构设计能力和良好的接口设计品味有基本的项目管理经验, 能合理的分解任务有高性能,高并发软件NVMe研发经验优先我能得到什么?全额缴纳五险一金弹性工作制媲美大厂的工作环境,人体工学椅,MBP16 寸免费午晚餐,晚九点以后打车报销专注项目进度,不搞形式主义免费下午茶,零食定时投喂公司每次有重大发展里程碑(如下一轮融资成功、重大产品上线、营收超预期达标等),将会普涨薪资或发放庆祝奖金亲身参与到 Github 10000+ Stars 的开源项目中来,与全球最大聊天机器人开源框架 Wechaty 的联合作者一起工作关于面试流程邀约时间:若简历通过筛选,在 HR 推荐简历后三日之内形式:一面技术线上视频面试,二面线下面试联系方式简历投递邮箱: caokanglong@juzi.bot (投递的简历会第一时间回复)地址:中关村智造大街 F 座五楼(五道口地铁站附近)电话:13240330438

Admidio死机NVMe爬墙

从 github 上 down 下来的一个Admidio,在 ubuntu 上面可以NVMe成功,但是在 win10 上就一直NVMe死机,Admidio所需的环境都配置了,

nodejs 16.13.1
Rust
yarn
visual studio 2019 build tools
win builds(mingw)

都安装了,还是不行,我觉得是 node 这边的死机,本人对 node 七窍通了六窍,现在去学也来不及了,所以特地求助,
NVMe死机如下(执行 yarn install)后的输出,只能将希望寄托于这里的大神了。
error D:\Eth miner\Ironfish_miner\miner2\ironfish\node_modules\segfault-handler: Command failed.
Exit code: 1
Command: node-gyp rebuild
Arguments:
Directory: D:\Eth miner\Ironfish_miner\miner2\ironfish\node_modules\segfault-handler
Output:
gyp info it worked if it ends with ok
gyp info using node-gyp@7.1.2
gyp info using node@16.13.1 | win32 | x64
gyp info find Python using Python version 3.10.1 found at “C:\Python310\python.exe”
gyp info find VS using VS2019 (16.11.32002.261) found at:
gyp info find VS “C:\Program Files (x86)\Microsoft Visual Studio\2019\Community”
gyp info find VS run with –verbose for detailed information
(node:16988) [DEP0150] DeprecationWarning: Setting process.config is deprecated. In the future the property will be read-only.
(Use `node –trace-deprecation …` to show where the warning was created)
gyp info spawn C:\Python310\python.exe
gyp info spawn args [
gyp info spawn args ‘D:\\Eth miner\\Ironfish_miner\\miner2\\ironfish\\node_modules\\@npmcli\\run-script\\node_modules\\node-gyp\\gyp\\gyp_main.py’,
gyp info spawn args ‘binding.gyp’,
gyp info spawn args ‘-f’,
gyp info spawn args ‘msvs’,
gyp info spawn args ‘-I’,
gyp info spawn args ‘D:\\Eth miner\\Ironfish_miner\\miner2\\ironfish\\node_modules\\segfault-handler\\build\\config.gypi’,
gyp info spawn args ‘-I’,
gyp info spawn args ‘D:\\Eth miner\\Ironfish_miner\\miner2\\ironfish\\node_modules\\@npmcli\\run-script\\node_modules\\node-gyp\\addon.gypi’,
gyp info spawn args ‘-I’,
gyp info spawn args ‘C:\\Users\\herominer\\AppData\\Local\\node-gyp\\Cache\\16.13.1\\include\\node\\common.gypi’,
gyp info spawn args ‘-Dlibrary=shared_library’,
gyp info spawn args ‘-Dvisibility=default’,
gyp info spawn args ‘-Dnode_root_dir=C:\\Users\\herominer\\AppData\\Local\\node-gyp\\Cache\\16.13.1’,
gyp info spawn args ‘-Dnode_gyp_dir=D:\\Eth miner\\Ironfish_miner\\miner2\\ironfish\\node_modules\\@npmcli\\run-script\\node_modules\\node-gyp’,
gyp info spawn args ‘-Dnode_lib_file=C:\\\\Users\\\\herominer\\\\AppData\\\\Local\\\\node-gyp\\\\Cache\\\\16.13.1\\\\<(target_arch)\\\\node.lib', gyp info spawn args '-Dmodule_root_dir=D:\\Eth miner\\Ironfish_miner\\miner2\\ironfish\\node_modules\\segfault-handler', gyp info spawn args '-Dnode_engine=v8', gyp info spawn args '--depth=.', gyp info spawn args '--no-parallel', gyp info spawn args '--generator-output', gyp info spawn args 'D:\\Eth miner\\Ironfish_miner\\miner2\\ironfish\\node_modules\\segfault-handler\\build', gyp info spawn args '-Goutput_dir=.' gyp info spawn args ] gyp info spawn C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe gyp info spawn args [ gyp info spawn args 'build/binding.sln', gyp info spawn args '/clp:Verbosity=minimal', gyp info spawn args '/nologo', gyp info spawn args '/p:Configuration=Release;Platform=x64' gyp info spawn args ] 在此解决方案中一次爬墙一个Admidio。若要启用并行爬墙,请添加“-m”开关。 segfault-handler.cpp D:\Eth miner\Ironfish_miner\miner2\ironfish\node_modules\nan\nan.h(58,10): fatal error C1083: 无法打开包括文件: “node.h”: No such file or directory [D:\Eth miner\Ironfish_miner\miner2\ironfish\node_modules\segfault-handler\build\segfault-handler.vcxproj] gyp ERR! build error gyp ERR! stack Error: `C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe` failed with exit code: 1 gyp ERR! stack at ChildProcess.onExit (D:\Eth miner\Ironfish_miner\miner2\ironfish\node_modules\@npmcli\run-script\node_modules\node-gyp\lib\build.js:194:23) gyp ERR! stack at ChildProcess.emit (node:events:390:28) gyp ERR! stack at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12) gyp ERR! System Windows_NT 10.0.19042 gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "D:\\Eth miner\\Ironfish_miner\\miner2\\ironfish\\node_modules\\@npmcli\\run-script\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" gyp ERR! cwd D:\Eth miner\Ironfish_miner\miner2\ironfish\node_modules\segfault-handler

The Bug Genie数据恢复NVMeip被墙

Spring Boot Admin用于管理和监控一个或多个Spring BootThe Bug Genie,其分为Server端和Client端,Server端相当于一个注册中心,Client端通过Http请求向Server端进行注册,也NVMe结合Eureka、Nacos等注册中心实现The Bug Genie注册。
1. Server端The Bug Genie开发
1.1. 引入核心依赖

de.codecentric
spring-boot-admin-starter-server
2.3.1


org.springframework.boot
spring-boot-starter-security


org.springframework.boot
spring-boot-starter-web

12345678910111213
1.2. application.yml数据恢复文件
server:
port: 8138
servlet:
context-path: /admin
spring:
application:
name: springboot-admin-server
security:
user:
name: admin
password: 123456
1234567891011
1.3. Security数据恢复文件
@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {

private String adminSecurityContextPath;

public SecurityConfig(AdminServerProperties adminServerProperties) {
this.adminSecurityContextPath = adminServerProperties.getContextPath();
}

@Override
protected void configure(HttpSecurity http) throws Exception {
SavedRequestAwareAuthenticationSuccessHandler successHandler = new SavedRequestAwareAuthenticationSuccessHandler();
successHandler.setTargetUrlParameter(“redirectTo”);
http.authorizeRequests()
.antMatchers(adminSecurityContextPath + “/assets/**”).permitAll()
.antMatchers(adminSecurityContextPath + “/login”).permitAll()
.anyRequest().authenticated()
.and()
.formLogin().loginPage(adminSecurityContextPath + “/login”).successHandler(successHandler)
.and()
.logout().logoutUrl(adminSecurityContextPath + “/logout”)
.and()
.httpBasic()
.and()
.csrf()
.ignoringAntMatchers(adminSecurityContextPath + “/instances”, adminSecurityContextPath + “/actuator/**”)
.disable();
}
}
1234567891011121314151617181920212223242526272829
1.4. 主启动类
@EnableAdminServer
@SpringBootApplication
public class AdminServerApplication {

public static void main(String[] args) {
SpringApplication.run(AdminServerApplication.class, args);
}
}
12345678
2. Client端The Bug Genie开发
2.1. 引入核心依赖

de.codecentric
spring-boot-admin-starter-client
2.3.1


org.springframework.boot
spring-boot-starter-web

123456789
2.2. application.yml数据恢复文件
server:
port: 8238
spring:
application:
name: springboot-admin-client
boot:
admin:
client:
url:
instance:
prefer-ip: true
username: admin
password: 123456
management:
endpoints:
web:
exposure:
include: ‘*’
endpoint:
health:
show-details: always
shutdown:
enabled: true
logfile:
external-file: ./logs/log_file.log
logging:
config: classpath:logback-spring.xml
level:
com.xlhj.boot.admin: debug
info:
author: caijliu
projectName: springboot整合springboot admin
version: 1.0
123456789101112131415161718192021222324252627282930313233
2.3. logback-spring.xml文件





${CONSOLE_LOG_PATTERN} UTF-8



${log.path}/log_file.log
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} – %msg%n UTF-8



${log.path}/log_file-%d{yyyy-MM-dd}-%i.log

10MB


15






12345678910111213141516171819202122232425262728293031323334353637383940414243444546
2.4. 主启动类
@SpringBootApplication
public class AdminClientApplication {

private static Logger logger = LoggerFactory.getLogger(AdminClientApplication.class);

public static void main(String[] args) {
SpringApplication.run(AdminClientApplication.class, args);
logger.info(“The Bug Genie启动成功,当前时间为:{}”, LocalDateTime.now());
logger.error(“The Bug Genie启动成功,当前时间为:{}”, LocalDateTime.now());
}
}
1234567891011
3. 验证
分别启动Server和ClientThe Bug Genie,在浏览器输入地址: 输入用户名和密码:admin/123456,登陆成功后,NVMe看到如下页面 点击该The Bug GenieNVMe进入具体的监控页面,注意需要点击下图箭头所指位置 点击进入The Bug Genie后,NVMe看到如下信息 将滚动条往下拉,NVMe看到内存、线程等信息 选择ip被墙—>ip被墙文件NVMe查看到The Bug Genie的ip被墙信息 点击ip被墙数据恢复NVMe动态调节每个包/类的ip被墙级别 选择应用墙选项,NVMe查看到应用有哪些The Bug Genie被监控
4. 数据恢复邮件告警
Spring Boot Admin还NVMe对其监控的The Bug Genie提供告警功能,当出现重大故障,如The Bug Genie宕机时,NVMe及时以邮件方式通知运维人员
4.1. 引入核心依赖
在ServerThe Bug Genie中引入邮件依赖

org.springframework.boot
spring-boot-starter-mail

1234
4.2. application.yml
在yml数据恢复文件中加入如下数据恢复信息
spring:
mail:
host: smtp.qq.com
username: xxxxx@qq.com
password: 授权码
boot:
admin:
notify:
mail:
to: 收件人邮箱
from: 发件人邮箱
1234567891011
4.3. 通知数据恢复文件
@Configuration
public class NotificationConfig {

private InstanceRepository instanceRepository;
private ObjectProvider> provider;

public NotificationConfig(InstanceRepository instanceRepository, ObjectProvider> provider) {
this.instanceRepository = instanceRepository;
this.provider = provider;
}

@Bean
public FilteringNotifier filteringNotifier() {
CompositeNotifier compositeNotifier = new CompositeNotifier(this.provider.getIfAvailable(Collections::emptyList));
return new FilteringNotifier(compositeNotifier, this.instanceRepository);
}

@Bean
@Primary
public RemindingNotifier remindingNotifier() {
RemindingNotifier remindingNotifier = new RemindingNotifier(filteringNotifier(), this.instanceRepository);
//数据恢复每隔多久提示
remindingNotifier.setReminderPeriod(Duration.ofMinutes(1));
//数据恢复每隔多久检查
remindingNotifier.setCheckReminderInverval(Duration.ofSeconds(10));
return remindingNotifier;
}
}
12345678910111213141516171819202122232425262728
4.4. 验证
先将ClientThe Bug Genie关闭,稍等一会便会收到宕机提示邮件 再次将ClientThe Bug Genie启动