- 博客(752)
- 资源 (3)
- 收藏
- 关注
原创 GraphQL入门之变更输入类型
id: ID!) : User!} schema {新增了输入参数 UserInput 的定义,作为演示只包含两个参数 name 和 email。修改变更操作不再使用 name 和 email 作为参数,而是改成使用输入参数 UserInput。
2024-03-21 09:31:41 1086
原创 GraphQL入门之变更(Mutation)操作
id: ID!) : User!schema {定义模型对象:定义了一个User对象,包括 id, name 和 email 属性。定义查询操作:定义了一个查询操作,返回所有用户数组。定义变更操作:这里只定义了一个创建用户的变更操作,接收两个参数name和email,返回新创建的 User 对象。
2024-03-20 09:08:32 481
原创 GraphQL入门之查询指令Directive
id: ID!定义模型对象:定义了一个User对象,包括 id, name 和 email 属性。定义查询操作:定义了一个查询操作,返回用户列表。查询接受两个参数,includeName是否包括name字段,skipId是否跳过id字段。
2024-03-20 09:07:09 277
原创 GraphQL入门之一对多关联查询
定义了一个一对多关系的两个类型:Book 和 Author。定义了查询操作:Book 和 Author 列表。
2024-03-19 13:55:55 289
原创 GraphQL入门之分页查询
前一篇文章讲了怎么创建 GraphQL 的查询操作,今天在此基础上看看要实现一个简单的分页查询应该怎么做,顺便可以介绍一下 GraphQL 里的枚举类型和查询参数应该怎么用。创建 Node.js 的工程mkdir myappcd myappnpm init (一路回车)安装依赖包npm install @apollo/server graphql定义 Schema创建 schema.graphql 文件,内容如下:type User { id: ID! name: String
2024-03-19 08:45:35 419
原创 GraphQL入门之查询片段的使用
id: ID!): User,定义模型对象:定义了一个User对象,包括 id, name 和 email 属性。定义查询操作:定义了两个查询操作,users查询所有用户,user(id)根据id查询用户。
2024-03-18 10:54:04 250
原创 GraphQL入门之查询操作
id: ID!): User,定义模型对象:定义了一个User对象,包括 id, name 和 email 属性。定义查询操作:定义了两个查询操作,users查询所有用户,user(id)根据id查询用户。
2024-03-18 10:52:44 530
原创 GraphQL入门之使用ApolloClient查询
前一篇文章介绍了怎么使用 ApolloServer 搭建 GraphQL server,今天看看怎么使用 ApolloClient 来执行查询。
2024-03-17 15:49:25 273
原创 GraphQL入门之使用ApolloServer和express构建GraphQL服务
接上一篇文章,由于 express 现在仍然是主流的 Node.js 服务端框架,所以今天看看 ApolloServer 怎样和 express 集成构建 GraphQL 服务。另外今天文章也顺便讲一下怎么使用 typescript 来实现。
2024-03-13 13:09:21 438
原创 GraphQL入门之使用ApolloServer构建GraphQL服务
接上一篇文章,上一篇通过 express 作为 GraphQL Server 介绍了一下 GraphQL,今天说一下如何使用 Apollo Server 作为 GraphQL服务器。安装依赖包定义 Schema定义解析器创建ApolloServer使用上面定义的 schema 和 resolver 创建 ApolloServer启动ApolloServer服务完整代码在工程下创建 server.js,完整代码内容如下:测试启动服务使用浏览器访问 http://localhost
2024-03-13 09:01:18 328
原创 GraphQL入门
GraphQL 是一个用于 API 的查询语言,是一个使用基于类型系统来执行查询的服务端运行时。GraphQL 并没有和任何特定数据库或者存储引擎绑定,而是依靠你现有的代码和数据支撑。使用浏览器访问 http://localhost:4000/graphql,可以看到 GraphiQL IDE 的界面,输入。这里我门以 Node.js 的 express 框架为例,看一下 Hello World 的 GraphQL 版本。或者也可以使用 curl 命令查询。可以看到下面的查询结果。
2024-03-12 20:53:34 515
原创 清除Mac OS上Xcode占用的空间
最近自己的Mac OS存储空间严重不足,想了一下,大概是从安装 Xcode 之后出现,在系统下通过 du 命令分析各目录大小,发现大概下面几个目录占用空间比较大,所以针对这几个名目录作了一下清理,释放了几十个G的空间。下载的模拟器: ~/Library/Developer/Xcode/iOS DeviceSupport,可根据情况手动删除。旧的应用程序存档: ~/Library/Developer/Xcode/Archives,可根据情况手动删除。可以使用下面命令清理。
2024-03-07 10:00:12 833
原创 Ubuntu visudo设置默认编辑器
现在 Ubuntu 上使用 visudo 编辑 sudoers 的时候,默认使用的编辑器不是vi,而是变成了editor,真真的是不习惯呀,今天发现可以在 visudo 里修改。保存,然后再次运行 “sudo visudo” 的时候,就会切换成 vim 编辑器了。使用 “sudo visudo” 编辑 sudoers 文件,在其中添加下面内容。
2024-03-07 09:41:20 525
原创 AWS Elastic Beanstalk通过应用负载均衡配置https
接上一篇,今天说说怎么通过AWS Elastic Beanstalk提供的应用负载均衡配置https。首先创建应用和环境,这里应用可以使用上一篇文章中使用的demo应用(只需要package.json和app.js文件)创建环境的时候,确认下面两个参数配置,其它参数按需要设置就好环境创建好之后,可以先访问验证一下环境的http是否工作正常。
2024-02-20 10:12:57 674 1
原创 AWS Elastic Beanstalk通过单实例配置https
在 AWS Elastic Beanstalk 上提供了多种方式来实现 https,比如通过单实例配置,负载均衡配置等。今天就以 nodejs + express 为例说一下怎么通过单实例配置实现https。
2024-02-20 10:10:01 554
原创 Nginx反向代理
Nginx的一个常见使用场景是反向代理,可以用来隐藏后端服务地址或者做负载均衡使用。下面就来看看怎么实现一个最简单的反向代理。
2024-02-19 10:26:40 534
原创 Nginx错误502 Bad Gateway
其中 “upstream sent too big header while reading response header from upstream” 说明可能是nginx代理的缓冲区不够,因此需要调整一下缓冲区的配置,主要包括下面几个参数。使用Nginx配置的反向代理,浏览器访问的时候出现 “502 Bad Gateway” 错误,检查了一下后台error文件,发现有类似下面的错误。
2024-02-18 18:32:22 613
原创 Git忽略文件权限检查
自己有个Git项目的工程保存在共享存储上,然后在多个系统上操作文件的时候,总是出现虽然文件没有被修改,但是在其中某些系统上出现文件标记为变化了。并且如果使用 git status 检查文件的时候,出现类似下面的输出。这个问题的原因是文件在两个系统上权限不一致,因此可以使用下面命令让其忽略文件权限检查。也可以通过修改 “~/.gitconfig” 文件,在其中添加下面内容。也可以在git的全局范围内生效。
2024-02-05 20:14:14 577
原创 express 项目支持 typescript 实战
到这里,express + typescript 的工程改造就完成了,可以使用 “npm run dev” 命令启动工程进行测试。基于javascript的express创建好了,可以启动“npm run dev”验证一下。
2024-01-23 22:45:13 888
原创 AWS Elastic Beanstalk 创建应用时报错: aws-elasticbeanstalk-ec2-role不存在
解决办法就是手动创建 aws-elasticbeanstalk-ec2-role: IAM -> 角色 -> 创建角色 -> 选择“AWS服务”,案例选择“EC2” -> 权限策略(选择:AWSElasticBeanstalkWebTier, AWSElasticBeanstalkWorkerTier, AWSElasticBeanstalkMulticontainerDocker) -> 角色名称(aws-elasticbeanstalk-ec2-role)。然后删除已经创建的应用和环境,重新创建。
2024-01-23 21:10:38 429
原创 Termux安装Ubuntu和xfce4桌面
前面几篇 Termux 的文章介绍了怎么安装 xfce4,但是当时没有在 ubuntu 环境下安装,导致有些应用程序启动有问题,比如:eclipse、vsode和sublime等。所以这次打算在 Termux 上的 ubuntu 里安装桌面和应用程序试试。
2023-12-27 08:10:38 1821 1
原创 Nodejs+Express搭建HTTPS服务
最近开发需要搭建一个https的服务,正好最近在用nodejs和express,于是乎想到就近就使用这两东西来搭建一个https的服务吧。这里搭建过程总共需要两步,第一步生成证书,第二步使用https模块启动服务。
2023-12-23 22:50:34 793
原创 Termux安装图形桌面xfce4
装完桌面后,考虑到毕竟手机的屏幕比较小,直接从手机上用的可能性比较小,所以打算安装 vnc server,今后从电脑上连上使用,使用下面命令安装 vncserver。考虑到手机比较老(小米9),所以打算装一个轻量一点的图形桌面 xfce4,可以使用下面命令安装 xfce4 图像桌面,这一步安装的包比较多,可能会比较慢。首次启动后,先把服务停了,我们要改一下启动脚本,让 vnc server 使用 xfce4,可以通过下面命令停止 vnc server。然后再次启动 vnc server。
2023-12-18 20:22:27 1406
原创 Android终端模拟器Termux上使用Ubuntu
Termux 上安装各种 Linux 系统是通过 proot-distro 工具来实现的,所以先安装一下 proot-distro 工具。查看Termux支持安装那些Linux。最后提一句,安装过程如果出现下面的错误。这里我们选择安装 Ubuntu 系统。安装完成后,登录 Ubuntu 系统。可以执行一下完整的升级操作,再安装。查看一下 Ubuntu 版本。
2023-12-17 19:12:52 1077
原创 Termux搭建nodejs环境
使用浏览器访问 http://192.168.31.250:8080/ 验证一下。使用浏览器访问 http://192.168.31.250:3000/ 验证。先安 http-server 并启动。写个Hello World验证程序。安装 express 框架。初始化nodejs工程。
2023-12-17 19:11:10 840
原创 Android手机使用Termux终端模拟器
Termux 是 Android 平台上的一个终端模拟器,可以在 Android 手机上模拟 Linux 环境。它提供命令行界面,并且提供了功能健全的包管理工具(pkg)。另外就是 Termux 不需要 root 权限,安装后默认产生一个用户,可以运行 App 后使用 whoami 命令查看。
2023-12-16 20:57:07 1432
原创 Ubuntu启动java图形应用时报错Assistive Technology not found: org.GNOME.Accessibility.AtkWrapper
在Ubuntu(使用xfce4桌面)上通过deb包安装完JD-GUI后,启动时没有任何响应。也可以注释掉 ${JDK_HOME}/jre/lib/accessibility.properties 文件里的内容禁用这个功能。问题原因是 ${JDK_HOME}/jre/lib/accessibility.properties 文件中定义的导致。我们可以参考下面地址来安装 Java Access Bridge。
2023-12-05 18:54:26 487
原创 macOS 13.6上Sublime无法使用Package Control问题
最近升级系统重装Sublime后发现Package Control不能使用,在Settings -> Package Control下输入Install没有任何提示。查看一下 /usr/local/lib/ibcrypto.dylib 文件,确实是链接到 xxx 上了,可能是在使用 homebrew 安装/升级什么软件导致的吧。先重建一下链接,使用 openssl 1.x 版本,具体 ibcrypto.dylib 文件路径可能每个人系统上不一样,我这里是1.1.1k。
2023-12-04 12:56:59 1106 3
原创 nodejs实现文件/目录的压缩和解压
在nodejs里实现文件/目录压缩和解压可以通过 compressing 库来实现,compressing 库目前支持多种压缩格式:tar、gzip、tgz、zip。
2023-12-03 21:25:10 1709
原创 Ubuntu22.04安装Mariadb
用户创建后,发现不能从远程登录数据库,此时可以修改配置文件 /etc/mysql/my.cnf (可以使用命令 mariadbd --help --verbose | grep my.cnf 查看配置文件位置),在最后添加以下内容(如果已经存在,修改之)安装完mariadb后,可以使用mysql_secure_installation命令做一下安全配置。安装完后,可以用下面命令查看服务状态。配置完成后,可以登录验证一下。保存后,重新启动服务。
2023-12-01 21:25:25 733
原创 使用Nodejs和Express构建http响应流实现下载功能
最后说一下,express里的response也提供了一个attachment()方法,这个方法会设置Content-Disposition头,并且会通过res.type()来设置Content-Type头,代码如下。然后创建响应头,指定响应的类型,同时也可以使用Content-Disposition设置浏览器下载时需要保存的文件名。首先创建一个文件流来读取要下载的文件,当然可以是动态产生的输入流。最后通过文件流的pipe()方法输出到响应里。完整router代码如下。
2023-11-21 22:10:44 371
原创 MacOS设置JAVA_HOME环境变量
其中 “1.8.0_212 (x86_64) “Oracle Corporation” - “Java SE 8” /Library/Java/JavaVirtualMachines/jdk1.8.0_212.jdk/Contents/Home” 是我需要使用的JDK。首先先查看一下,系统当前使用的java是谁,可以使用/usr/libexec/java_home命令。修改 ~/.zshrc 文件,设置JAVA_HOME和PATH。最后执行 “source ~/.zshrc” 使其生效。
2023-11-15 08:53:06 1163
原创 ios项目安装hermes-engine太慢问题
按照错误提示,手动下载依赖包来安装,这里下载的 https://repo1.maven.org/maven2/com/facebook/react/react-native-artifacts/0.71.11/react-native-artifacts-0.71.11-hermes-ios-debug.tar.gz。设置 HERMES_ENGINE_TARBALL_PATH 环境变量,然后重新安装。ios工程,在使用"pod install"安装依赖的时候,由于超时总是报错。
2023-09-29 22:19:24 1271
原创 MacOS上使用 react-native init 初始化项目报错Insecure world writable dir /usr/local/bin in PATH, mode 040777
问题是由于目录权限导致的,所以修改一下下面两个目录权限。
2023-09-04 22:38:43 770
原创 react-native init 初始化项目报错 TypeError: cli.init is not a function
使用 npm -g list 查看已安装的 react-native 库。使用 npx react-native init 重新初始化项目。卸载 react-native-cli 库。
2023-09-04 22:11:51 949 1
原创 CAS Server and Client - https
CAS Server and Clientcas servercas-overlay-template从 https://github.com/apereo/cas-overlay-template/tree/5.2 下载 cas-overlay-template 包,这里选择5.2版本。配置与打包build copy修改build.cmd文件,将其中 cas.example.org 改为 localhost。# build gencertbuild package修改 cas.wa
2022-03-06 11:10:00 502
Full Stack GraphQL Applications With React, Node.js, and Neo4j
2024-03-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人