开发工具分享
  • 首页
  • 计算科学
  • 文化旅游
  • 项目和网站
    • OSSEZ 计算技术
    • USRealEstate 社区
    • 地区文化
    • CWIKI.US
    • BUG.OSSEZ.COM
    • RSS.OSSEZ.COM
Computer Science
Computer Science

Windows 安装 chromedriver 和 Python 调试

下载 chromedriver 从官方网站上下载 chromedriver 的版本,这个版本需要和你 Chrome 的版本对应上。 下载的地址为:ChromeDriver - WebDriver for Chrome - Downloads     这个地方,将会打开一个新的浏览器界面,Chrome for Testing availability 在这个新的浏览器界面中,我们能看到对应的 Chrome 版本号。     查看 Chrome 版本 通过查看 Chrome 的版本来查看关于的信息。 通过这个 Chrome 的版本来下载 chromedriver 的版本。     解压到特定目录 解压到特定的目录后就可以使用了。 Python 代码 如果需要在 python 中直接进行使用。 需要导入的包: from selenium.webdriver import Chrome from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.ui import WebDriverWait 使用代码来进行运行浏览器 chrome = Chrome(service=Service(r"C:\Users\yhu\Downloads\chromedriver-win64\chromedriver-win64\chromedriver.exe")) chrome.get('https://www.isharkfly.com/') 通过上面的代码就可以在 chromedriver 上打开浏览器后查看下载的原始内容。 如果你有 IDE 的断点调试功能的话,这个使用应该可以查看断点中的内容。     上图是运行代码后,通过断点查看对象中访问网站的内容。   https://www.isharkfly.com/t/windows-chromedriver-python/14971#chromedriver-1

2023年09月18日 0Comments 523Browse 0Like Read more
Computer Science

Chromedriver 在 Python 中查看源代码的方法

Python 中可以属性来查看需要爬取的网站的源代码。 对应具体的是:chrome.page_source     需要注意的是首先需要导入包 from selenium.webdriver import Chrome 然后进行初始化: chrome = Chrome(service=Service(r"C:\Users\yhu\Downloads\chromedriver-win64\chromedriver-win64\chromedriver.exe")) 才可以使用,我们上面使用的 chrome 是我们自己在本地定义的变量。   https://www.isharkfly.com/t/chromedriver-python/14972

2023年09月18日 0Comments 468Browse 0Like Read more
Computer Science

Jenkins 编译 Maven 项目提示错误 version 17

在最近使用集成工具的时候,对项目进行编译提示下面的错误信息: maven-compiler-plugin:3.11.0:compile (default-compile) on project mq-service: Fatal error compiling: error: release version 17 not supported 问题和解决 上面提示的错误信息原因为项目使用了 JDK 17,但是编译环境却只有 JDK 11。 我们需要做的就是把编译使用的 JDK 环境换到 17。     然后再次进行编译,应该不会有上面的错误了。   https://www.isharkfly.com/t/jenkins-maven-version-17/14965

2023年09月16日 0Comments 574Browse 0Like Read more
Computer Science

Windows 打包 Docker 提示环境错误: no DOCKER_HOST environment variable

这个问题应该还是比较常见的。 [ERROR] Failed to execute goal io.fabric8:docker-maven-plugin:0.40.2:build (default) on project mq-service: Execution default of goal io.fabric8:docker-maven-plugin:0.40.2:build failed: No <dockerHost> given, no DOCKER_HOST environment variable, no read/writable '/var/run/docker.sock' or '//./pipe/docker_engine' and no external provider like Docker machine configured -> [Help 1]     问题和解决 这个问题的主要原因是在我们本地运行的计算机中,Docker Desktop 没有启动。 这个需要启动下才能打包。     直接把这个挂起来运行就好了。   https://www.isharkfly.com/t/windows-docker-no-docker-host-environment-variable/14966

2023年09月16日 0Comments 387Browse 0Like Read more
Computer Science

Docker 部署提示 dial unix /var/run/docker.sock: connect: permission denied 错误

在一次部署的时候遇到了下面的错误提示: fatal: [51.79.52.209]: FAILED! => {"changed": true, "cmd": "docker compose up -d --remove-orphans", "delta": "0:00:00.210637", "end": "2023-09-15 17:53:15.352525", "msg": "non-zero return code", "rc": 1, "start": "2023-09-15 17:53:15.141888", "stderr": "permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get \"http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json?all=1&filters=%7B%22label%22%3A%7B%22com.docker.compose.config-hash%22%3Atrue%2C%22com.docker.compose.project%3Dmq-service%22%3Atrue%7D%7D\": dial unix /var/run/docker.sock: connect: permission denied", "stderr_lines": ["permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get \"http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json?all=1&filters=%7B%22label%22%3A%7B%22com.docker.compose.config-hash%22%3Atrue%2C%22com.docker.compose.project%3Dmq-service%22%3Atrue%7D%7D\": dial unix /var/run/docker.sock: connect: permission denied"], "stdout": "", "stdout_lines": []} 错误界面。     问题和解决 出现上面错误的愿意是我们在服务器上执行 docker compose up -d --remove-orphans 没有执行的权限。 所以我们需要把上面的命令修改为:sud docker compose up -d --remove-orphans https://www.isharkfly.com/t/docker-dial-unix-var-run-docker-sock-connect-permission-denied/14967

2023年09月16日 0Comments 757Browse 0Like Read more
Computer Science

Python stomp 发送消息无法显示文本

我们向消息服务器通过 stomp 发送的是文本消息。 当消息服务器发送成功后,消息服务器上的文本没有显示,显示的是 2 进制的数据。     如上图,消息没有作为文本来显示。 问题和解决 消息服务器是如何判断发送的小时是文本还是二进制的。 根据官方的说, Stomp 如设置了 content-length 就认为是二进制的消息,如果没有设置的话就是文本消息。     让后我们再看看创建消息的源代码: 在 Stomp 的源代码中,auto_content_length 这个参数的默认值为 True。 如果我们不在连接的时候进行指派,那么默认就会使用 Ture。 返回到我们的源代码,把上面的参数添加进来。     然后再次发送文本消息。 在这里,我们会看到消息的类型被修改为了文本。 同时我们发送的数据也能够在消息服务器上看到了。     Stomp Python 发送消息源代码 有时候,不得不说,这 Python 的代码是非常简单。 而且可以用好多已经可以用的库了,这个比 Java 是方便不少。 import time import stomp AMQHOST = "nas1120" AMQPORT = 61616 AMQUSER = "artemis" AMQPASS = "artemis" TOPICNAME = "remotingQueue" hosts = [(AMQHOST, AMQPORT)] conn = stomp.Connection(host_and_ports=hosts, auto_content_length=False) conn.connect(username=AMQUSER, passcode=AMQPASS, wait=True) conn.send(body='Love Python', destination=TOPICNAME) time.sleep(320) conn.disconnect() 上面的代码只需要改一下参数应该就可以发送消息到你想发送的服务器上去了。 https://www.isharkfly.com/t/python-stomp/14968

2023年09月16日 0Comments 503Browse 0Like Read more
Computer Science

Discourse 如何下载备份并恢复本地数据库

进入网站的备份界面,会看到当前所有的备份情况。     单击下载按钮。 需要注意的是,当你下载后,系统将会发送一个链接到你的邮箱地址中。 你可以使用邮箱地址中收到的链接进行数据下载。     下载链接 单击邮件中收到的下载链接地址进行下载。     下载的文件为一个 tar.gz 文件,你需要解压后才可以用。 例如,我们当前的下载文件为:isharkfly-2023-09-14-092024-v20230910021213.tar 经过一系列复杂的解压路径后可以看到 dump.sql 这个文件。 这个文件就是你的所有数据库备份了。 数据恢复 Windows 下 PQadmin 的 psql 安装路径为:C:\Users\yhu\AppData\Local\Programs\pgAdmin 4\v7\runtime 我们的运行命令为:psql -h nas1120 -p 5433 -U postgres -W -d discourse -f C:\Users\yhu\Downloads\isharkfly-2023-09-14-092024-v20230910021213\isharkfly-2023-09-14-092024-v20230910021213\dump.sql\dump.sql 本地的数据库在恢复的时候没有办法重复覆盖。 如果你本地数据库已经存在的话,需要清空本地存在的数据库才能进行恢复。 备份恢复的过程需要恢复所有的数据和表结构。 恢复程序没有办法在已有的数据结构上进行恢复,并且进行增量恢复。 检查表数据 检查表数据,确定一些表数据已经恢复到当前。     时间戳通常来说是比较好的校验方式。   https://www.isharkfly.com/t/discourse/14963

2023年09月15日 0Comments 399Browse 0Like Read more
Computer Science

Java native 关键字

如你在看 JDK 的源代码的时候,大概率会看到很多方法使用了 native 关键字。 下面是 String 对象 JDK 中的源代码,就带有了一个 native 关键字。     native 是干什么用的 简单来说就是 Java 的 native 方法的实现不是用 Java 实现的,可能在其他语言里面。 一个 Native Method 就是一个 java 调用非 java 代码的接口。 一个Native Method是这样一个java的方法:该方法是一个原生态方法,方法对应的实现不是在当前文件,而是在用其他语言(如C和C++)实现的文件中。 使用 native 关键字说明这个方法是原生函数,也就是这个方法是用C/C++语言实现的,并且被编译成了DLL,由java去调用。 JVM 中很多的底层实现都是使用 C 实现的。 看看 openj9 的源代码就知道了。 例如下图上面 openj9 中的 gc,就是 C 实现的。     JDK 在调用上面一些实现的时候,显然是调用了外部的动态库等,所以我们用 native 在这里标记下,表示具体实现在 JVM 里面。 实现 具体的实现是通过 JNI 实现的。 JNI 的全称为 Java Native Interface,一句话来说就是Java的本地接口,和我们常见的很多Java方法,很多实现是由Java本身来实现的,有的时候还需要本地方法来提供相关的功能。     通过 JNI 就可以实现调用了。 在这里 native 只是在 JDK 里面标记下。 https://www.isharkfly.com/t/java-native/14878

2023年09月14日 0Comments 473Browse 0Like Read more
Computer Science

美东一公司的郁闷面试题

说是题目可以用不同的语言,但是貌似 Java 是多线程的,用 Java 写肯定容易不少。 但,觉得这个题目用多线程简直是有点脱了裤子放屁。 完整题目内容 题目的网站内容如下: Please complete the following challenge in one of the following programming languages: C, C++, C#, Java, Python, Go, or Typescript. Please only use standard or ubiquitous libraries. If you heavily rely on a library, please include a description on how that library call works with as much detail as possible. Busy Body Bank services many in-person customers every day in their large luxurious lobby at the center of a city. They have N Tellers in stalls at any time to accommodate heavy traffic while optimizing for employee hours whenever possible. N changes from day-to-day as the bank’s management anticipates surges or reductions of Customer count. When the bank is empty, tellers are asleep. When a Customer enters, they announce themselves and a teller wakes up and conducts a transaction that takes some amount of time. As more customers arrive, they wake Tellers and conduct a transaction or wait in the bank’s queue for a teller to become available (if there are none immediately available). The bank’s queue line has M possible positions where Customers can wait for tellers to become available. If a Customer walks into the bank to find no available tellers and a full queue, they will take their business to Small and Simple, a bank across the street. If the bank gets more customers than it expects on any day, then it will call more Tellers in to accommodate this surge, but calling Tellers on-demand usually costs the bank more money than the lost business from under-staffing. The bank…

2023年09月14日 0Comments 514Browse 0Like Read more
Computer Science

群晖(Synology)NAS 后台安装 Docker 后配置 Activemq Artemis

因最近需要在本地调试消息策略。 如果搞个服务器装就太辛苦了,所以就想到了 NAS,我们的 NAS 上已经装了 Docker,我们直接运行一个 Activemq Artemis 的镜像不就好了。 下载镜像 在进入 NAS 的容器管理后,访问 Registry。 然后输入 activeMq 进行查找。     选择已经找到的镜像,然后单击页面上部的下载按钮。 选择最新版本。     直接单击应用就好。 我们可以看到在界面中,提示进行正在下载,在这里根据你网络的情况可能需要点时间。     创建容器 然后单击容器部分,在这里创建一个容器。 选择我们已经下载的镜像来进行创建。     其他的使用默认选项就好。 端口映射 在这个界面中,需要对端口进行映射。 因为不同的消息协议会使用不同的端口,JMS 多使用的是 61616 端口。 管理管理的界面为 8161 端口。 在这里,为了方便,直接全部映射上去就好。     然后下一步继续,等待 NAS 帮我们把容器创建好。 过一段时间,如果能够看到容器运行了,那么我们就可以访问消息服务器的界面了。     上图显示创建的容器已经在运行了。 第一次创建的时间会比较长,主要观察下日志。 只有你看到下面的日志出现后,消息服务器才会显示已经正常运行了。     如上面的日志还没有输出到这里的话,控制台界面是访问不了的。 从我们的运行来看,第一次创建我们,NAS 花了差不多 3 分多钟的时间才完成。 访问消息服务器 ActiveMQ Artemis 的管理界面使用的端口是 8161。 直接访问上面的地址。 使用的登录用户名和密码是在你创建容器的时候默认输入的,如果你没有改过,用户名密码都为:artemis     上图就显示的是当前正在运行的消息服务器。 这个时候,你的代码应该可以连上这个消息服务器,并且进行消息的收发了。   https://www.isharkfly.com/t/synology-nas-docker-activemq-artemis/14879

2023年09月13日 0Comments 467Browse 0Like Read more
1…4041424344…237
Archives
  • June 2026
  • May 2026
  • April 2026
  • March 2026
  • February 2026
  • January 2026
  • December 2025
  • November 2025
  • October 2025
  • September 2025
  • August 2025
  • July 2025
  • June 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
  • April 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021
  • May 2021
  • April 2021
  • March 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • August 2020
  • July 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019
  • November 2019
  • October 2019
  • September 2019
  • August 2019
  • July 2019
  • June 2019
  • May 2019
  • April 2019
  • March 2019
  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
Categories
  • Computer Science (2,367)
    • Confluence (663)
    • Gradle (12)
  • U.S. (512)
  • 文化旅游 (146)

COPYRIGHT © 2020 CWIKIUS. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

湘ICP备2020018253号-1