<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Struggle_PAN的博客]]></title><description><![CDATA[没有比脚更长的路，没有比人更高的山。]]></description><link>https://blog.youkuaiyun.com/Struggle_PAN</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Struggle_PAN]]></copyright><item><title><![CDATA[解决Mac M1环境下使用Goland debug失败的问题]]></title><link>https://blog.youkuaiyun.com/Struggle_PAN/article/details/124214294</link><guid>https://blog.youkuaiyun.com/Struggle_PAN/article/details/124214294</guid><author>Struggle_PAN</author><pubDate>Sat, 16 Apr 2022 15:30:56 +0800</pubDate><description><![CDATA[GoLand can not run under Rosetta]]></description><category></category></item><item><title><![CDATA[Python虚拟环境搭建]]></title><link>https://blog.youkuaiyun.com/Struggle_PAN/article/details/108630834</link><guid>https://blog.youkuaiyun.com/Struggle_PAN/article/details/108630834</guid><author>Struggle_PAN</author><pubDate>Wed, 16 Sep 2020 22:13:04 +0800</pubDate><description><![CDATA[最近同时着手多个python项目，其中有些项目是用python2.7，有些是需要python3。Python的虚拟环境可以同时包含python2和python3，为不同环境的项目开发提供非常便利的环境支持。

  python虚拟环境的安装在不同的操作系统下几乎无差别，基本流程如下：

安装创建python虚拟环境的工具（如：Virtualenv
	
sudo pip3 install virtualenv

	
	
	安装python2，python3（如：
	
 $ brew instal...]]></description><category></category></item><item><title><![CDATA[Python项目生成 依赖文件(requirements.txt) 以及安装依赖文件中的包]]></title><link>https://blog.youkuaiyun.com/Struggle_PAN/article/details/108616271</link><guid>https://blog.youkuaiyun.com/Struggle_PAN/article/details/108616271</guid><author>Struggle_PAN</author><pubDate>Wed, 16 Sep 2020 10:27:49 +0800</pubDate><description><![CDATA[我们在写项目的过程中，往往都需要固化依赖（保证项目依赖包、环境的稳定性 和 可移植性），在python项目中，项目依赖包往往会指定在一个requirements.txt文件，其中包括依赖包以及包的版本号。（类似Go项目中的go.mod)

  生成requirements.txt文件的命令：


pip freeze &gt; requirements.txt

  安装requirements.txt文件中的依赖包：


pip install -r requirements.txt...]]></description><category></category></item><item><title><![CDATA[Python内置函数汇总]]></title><link>https://blog.youkuaiyun.com/Struggle_PAN/article/details/105539985</link><guid>https://blog.youkuaiyun.com/Struggle_PAN/article/details/105539985</guid><author>Struggle_PAN</author><pubDate>Wed, 15 Apr 2020 17:34:01 +0800</pubDate><description><![CDATA[Talk is cheap, show me the code.



if __name__ == '__main__':
    assert abs(-1) == 1

    """all(iterator) 迭代对象中 全部为True 才返回True"""
    assert all([0, '', None, False]) is False
    assert all([])...]]></description><category></category></item><item><title><![CDATA[Windows下使用Docker，docker: Error response from daemon:invalid mode]]></title><link>https://blog.youkuaiyun.com/Struggle_PAN/article/details/105256526</link><guid>https://blog.youkuaiyun.com/Struggle_PAN/article/details/105256526</guid><author>Struggle_PAN</author><pubDate>Wed, 01 Apr 2020 21:50:00 +0800</pubDate><description><![CDATA[今天在windows下使用daocker时，用docker启一个mysql容器，因为需要同步容器内的数据至宿主机，所以run时挂载了容器卷，但是返回错误响应：docker: Error response from daemon:invalid mode

  最终分析发现是容器卷本地目录格式不正确，修改目录格式即可解决这个问题：

  windows下也用 '/'分割目录层级，并...]]></description><category></category></item><item><title><![CDATA[软件开发之SDK开发]]></title><link>https://blog.youkuaiyun.com/Struggle_PAN/article/details/90607492</link><guid>https://blog.youkuaiyun.com/Struggle_PAN/article/details/90607492</guid><author>Struggle_PAN</author><pubDate>Mon, 27 May 2019 17:47:36 +0800</pubDate><description><![CDATA[1.SDK与API的区别？

  SDK包含了API所必须的资料，又提供了一些额外的帮助，目的是为了服务调用方更加方便地调用所需服务。比如，我们现在需要编程，那么电脑就是我们编程所需要地API（application program interface），而SDK不仅包括电脑，还可以包括电脑桌椅，甚至还包含一杯咖啡~

2.SDK开发

  在开发SDK过程中，至少应关注以下四个方面：

...]]></description><category></category></item><item><title><![CDATA[强大的自动化构建工具——Bazel]]></title><link>https://blog.youkuaiyun.com/Struggle_PAN/article/details/90602753</link><guid>https://blog.youkuaiyun.com/Struggle_PAN/article/details/90602753</guid><author>Struggle_PAN</author><pubDate>Mon, 27 May 2019 15:21:39 +0800</pubDate><description><![CDATA[1.Bazel是什么？

  Bazel是一个开源的构建和测试工具。它使用一种易读的高级构建语言。Bazel支持多种语言，并且可以为多种平台构建输出。

2.为什么使用Bazel?

  1.高水平的构建语言。Bazel使用抽象、易读的语言在高语义级别上描述你的项目的构建属性。Bazel基于库、二进制文件、脚本和数据集的概念进行操作，避免了对编译器和链接器等工具的单独调用的复杂性。

 ...]]></description><category></category></item><item><title><![CDATA[Go module 使用教程]]></title><link>https://blog.youkuaiyun.com/Struggle_PAN/article/details/87158721</link><guid>https://blog.youkuaiyun.com/Struggle_PAN/article/details/87158721</guid><author>Struggle_PAN</author><pubDate>Wed, 13 Feb 2019 09:30:23 +0800</pubDate><description><![CDATA[go module 介绍：

自Go1.1.1版本发布(2018-08-24发布)，从官方的博客中看到，其中有个比较突出的特色就是module，模块概念。

module是一个相关Go包的集合，它是源代码更替和版本控制的单元。模块由源文件形成的go.mod文件的根目录定义，包含go.mod文件的目录也被称为模块根。moudles取代旧的的基于GOPATH方法来指定在工程中使用哪些源文件或导入包。模...]]></description><category></category></item><item><title><![CDATA[ETCD：从应用场景到实现原理的全方位解读]]></title><link>https://blog.youkuaiyun.com/Struggle_PAN/article/details/85333763</link><guid>https://blog.youkuaiyun.com/Struggle_PAN/article/details/85333763</guid><author>Struggle_PAN</author><pubDate>Fri, 04 Jan 2019 14:25:58 +0800</pubDate><description><![CDATA[随着 CoreOS 和 Kubernetes 等项目在开源社区日益火热，它们项目中都用到的 etcd 组件作为一个高可用强一致性的服务发现存储仓库，渐渐为开发人员所关注。在云计算时代，如何让服务快速透明地接入到计算集群中，如何让共享配置信息快速被集群中的所有机器发现，更为重要的是，如何构建这样一套高可用、安全、易于部署以及响应快速的服务集群，已经成为了迫切需要解决的问题。etcd 为解决这类问题带...]]></description><category></category></item><item><title><![CDATA[Windows下Docker安装过程问题及解决方案]]></title><link>https://blog.youkuaiyun.com/Struggle_PAN/article/details/85120331</link><guid>https://blog.youkuaiyun.com/Struggle_PAN/article/details/85120331</guid><author>Struggle_PAN</author><pubDate>Thu, 20 Dec 2018 14:37:21 +0800</pubDate><description><![CDATA[        今天学习docker，并在本地（WIN7）系统上安装docker，真的是一步一个脚印，花了一上午的时间，在此把遇到的问题及解决办法记录下来，希望能帮助有需要的小伙伴在以后安装docker时能节省更多的宝贵时间。

下载：

      这一步倒没什么问题，需要注意的是 大家下载时根据个人需要选择CE版和EE版。

安装：

     安装过程中会默认选中 附带安装git,如果你本地...]]></description><category></category></item><item><title><![CDATA[IDEA安装和破解]]></title><link>https://blog.youkuaiyun.com/Struggle_PAN/article/details/82799121</link><guid>https://blog.youkuaiyun.com/Struggle_PAN/article/details/82799121</guid><author>Struggle_PAN</author><pubDate>Fri, 21 Sep 2018 11:46:57 +0800</pubDate><description><![CDATA[１、从 IntelliJ IDEA的官网：https://www.jetbrains.com/选择旗舰版下载。



选择Ultimate版本：



２、下载完成之后，去http://idea.lanyus.com/jar/JetbrainsCrack-3.1-release-enc.jar 下载一个JetbrainsCrack-3.1-release-enc.jar破解补丁。完成后放在安装id...]]></description><category></category></item><item><title><![CDATA[使用MySQL数据库开发项目的一个坑，找了两个小时的出错原因。分享给大家警醒。]]></title><link>https://blog.youkuaiyun.com/Struggle_PAN/article/details/80811601</link><guid>https://blog.youkuaiyun.com/Struggle_PAN/article/details/80811601</guid><author>Struggle_PAN</author><pubDate>Tue, 26 Jun 2018 10:50:03 +0800</pubDate><description><![CDATA[报错情况：com.mysql.jdbc.JDBC4PreparedStatement@99b5393:insert into strategy(title,time,crowd,character,intro)values(null,null,null,0,null)com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You hav...]]></description><category></category></item><item><title><![CDATA[tomcat能正常启动，但它的欢迎页无法正常显示，HTTP Status 500问题分析及解决]]></title><link>https://blog.youkuaiyun.com/Struggle_PAN/article/details/80771521</link><guid>https://blog.youkuaiyun.com/Struggle_PAN/article/details/80771521</guid><author>Struggle_PAN</author><pubDate>Fri, 22 Jun 2018 14:34:23 +0800</pubDate><description><![CDATA[问题描述：Tomcat的正常启动：欢迎页报错：问题分析：必须使用支持JDK 8的更新版本的tomcat，JDK8的类格式已经改变，这就是Tomcat的无法编译JSP的原因。或者说，JDK 8与以前的JDK8版本具有稍微不同的类文件格式。这会导致不一致，并且Tomcat无法在JDK8中编译JSP。问题解决办法：1.尝试获得新的版本的tomcat。2.更改JDK版本。...]]></description><category></category></item><item><title><![CDATA[数组元素的排序]]></title><link>https://blog.youkuaiyun.com/Struggle_PAN/article/details/79772114</link><guid>https://blog.youkuaiyun.com/Struggle_PAN/article/details/79772114</guid><author>Struggle_PAN</author><pubDate>Sat, 31 Mar 2018 19:15:23 +0800</pubDate><description><![CDATA[选择排序法图解：题目分析：         通过观察发现，题目要实现把数组元素{13,46,22,65,3}进行排序       1.提到数组排序，就要进行元素值大小的比较，通过上图发现，想完成排序要经过若干次的比较才能够完成。       2.上图中用每圈要比较的第一个元素与该元素后面的数组元素依次比较到数组的最后一个元素，把小的值放在第一个数组元素中，数组循环一圈后，则把最小元素值互换到了第一...]]></description><category></category></item><item><title><![CDATA[桌上有一空盘，最多允许存放一只水果。爸爸只向盘中放一个苹果，妈妈只向盘中放一个桔子，儿子专等吃盘中的桔子，女儿专等吃苹果。用wait、signal操作实现爸爸、妈妈、儿子、女儿四个并发进程的同步。]]></title><link>https://blog.youkuaiyun.com/Struggle_PAN/article/details/79766665</link><guid>https://blog.youkuaiyun.com/Struggle_PAN/article/details/79766665</guid><author>Struggle_PAN</author><pubDate>Sat, 31 Mar 2018 10:46:26 +0800</pubDate><description><![CDATA[分析设计四个信号量metux,empty、apple、orange；metux表示：爸爸、妈妈、儿子和女儿进程对盘子的互斥使用；empty表示：盘子是否为空；apple表示：是否可以取苹果；orange表示：是否可以取桔子。算法描述如下：semaphore empty=1,nutex=1,apple=0,orange=0;  //为四个信号量赋初值
void father(){
     do{
...]]></description><category></category></item><item><title><![CDATA[JAVA如何实现进制之间的转换]]></title><link>https://blog.youkuaiyun.com/Struggle_PAN/article/details/79760456</link><guid>https://blog.youkuaiyun.com/Struggle_PAN/article/details/79760456</guid><author>Struggle_PAN</author><pubDate>Fri, 30 Mar 2018 17:15:05 +0800</pubDate><description><![CDATA[以十进制数转十六进制数为例问题描述　　十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号，分别表示十进制数的0至15。十六进制的计数方法是满16进1，所以十进制数16在十六进制中是10，而十进制的17在十六进制中是11，以此类推，十进制的30在十六进制中是1E。　　给出一个非负整数，将它表示成十六进制的形式。输入...]]></description><category></category></item><item><title><![CDATA[蓝桥杯练习-特殊回文数（JAVA）]]></title><link>https://blog.youkuaiyun.com/Struggle_PAN/article/details/79758687</link><guid>https://blog.youkuaiyun.com/Struggle_PAN/article/details/79758687</guid><author>Struggle_PAN</author><pubDate>Fri, 30 Mar 2018 15:45:20 +0800</pubDate><description><![CDATA[问题描述　　123321是一个非常特殊的数，它从左边读和从右边读是一样的。　　输入一个正整数n， 编程求所有这样的五位和六位十进制数，满足各位数字之和等于n 。输入格式　　输入一行，包含一个正整数n。输出格式　　按从小到大的顺序输出满足条件的整数，每个整数占一行。样例输入52样例输出899998989989998899数据规模和约定　　1&amp;lt;=n&amp;lt;=54。编程思路：        枚举加...]]></description><category></category></item><item><title><![CDATA[蓝桥杯——回文数（JAVA）]]></title><link>https://blog.youkuaiyun.com/Struggle_PAN/article/details/79748401</link><guid>https://blog.youkuaiyun.com/Struggle_PAN/article/details/79748401</guid><author>Struggle_PAN</author><pubDate>Thu, 29 Mar 2018 20:37:24 +0800</pubDate><description><![CDATA[问题描述　　1221是一个非常特殊的数，它从左边读和从右边读是一样的，编程求所有这样的四位十进制数。输出格式　　按从小到大的顺序输出满足条件的四位十进制数。代码实现：public class Main {

	public static void main(String[] args) {
	/*	方法一，思路：数的组成原理
	 * for (int i = 1; i &amp;lt; 10; i++) ...]]></description><category></category></item><item><title><![CDATA[蓝桥杯竞赛——查找整数]]></title><link>https://blog.youkuaiyun.com/Struggle_PAN/article/details/79718654</link><guid>https://blog.youkuaiyun.com/Struggle_PAN/article/details/79718654</guid><author>Struggle_PAN</author><pubDate>Tue, 27 Mar 2018 20:25:27 +0800</pubDate><description><![CDATA[问题描述给出一个包含n个整数的数列，问整数a在数列中的第一次出现是第几个。输入格式第一行包含一个整数n。第二行包含n个非负整数，为给定的数列，数列中的每个数都不大于10000。第三行包含一个整数a，为待查找的数。输出格式如果a在数列中出现了，输出它第一次出现的位置(位置从1开始编号)，否则输出-1。样例输入61 9 4 8 3 99样例输出2数据规模与约定1 &amp;lt;= n &amp;lt;= 1000。...]]></description><category></category></item><item><title><![CDATA[蓝桥杯——数列特征]]></title><link>https://blog.youkuaiyun.com/Struggle_PAN/article/details/79718152</link><guid>https://blog.youkuaiyun.com/Struggle_PAN/article/details/79718152</guid><author>Struggle_PAN</author><pubDate>Tue, 27 Mar 2018 19:49:02 +0800</pubDate><description><![CDATA[问题描述给出ñ个数，找出这ñ个数的最大值，最小值，和。输入格式第一行为整数N，表示数的个数。第二行有Ñ个数，为给定的Ñ个数，每个数的绝对值都小于10000。输出格式输出三行，每行一个整数。第一行表示这些数中的最大值，第二行表示这些数中的最小值，第三行表示这些数的和。样例输入5 1 3 -2 4 5样例输出5 -2 11数据规模与约定1 &amp;lt;= n &amp;lt;= 10000。代码实现（JAVA）：...]]></description><category></category></item></channel></rss>