<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[passer's blog]]></title><description><![CDATA[编程之美]]></description><link>https://blog.youkuaiyun.com/coderDogg</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; coderDogg]]></copyright><item><title><![CDATA[Python日志简单使用]]></title><link>https://blog.youkuaiyun.com/coderDogg/article/details/115346901</link><guid>https://blog.youkuaiyun.com/coderDogg/article/details/115346901</guid><author>coderDogg</author><pubDate>Wed, 31 Mar 2021 11:47:39 +0800</pubDate><description><![CDATA[Python日志简单使用
注意：

logger传播或handler添加多个，导致log重复记录

# coding=utf-8
import logging
import os
import socket
import datetime
LOG_FORMAT = '[%(asctime)s] [%(levelname)s] %(filename)s [line:%(lineno)d]: %(message)s'
# LOG_FORMAT = "%(asctime)s {host} {app_key} [%]]></description><category></category></item><item><title><![CDATA[使用GitBook快速搭建自己的博客平台]]></title><link>https://blog.youkuaiyun.com/coderDogg/article/details/110134684</link><guid>https://blog.youkuaiyun.com/coderDogg/article/details/110134684</guid><author>coderDogg</author><pubDate>Wed, 25 Nov 2020 16:44:27 +0800</pubDate><description><![CDATA[简单demo


需要nodejs环境，自行到nodejs官网下载安装，安装成功后如下
$ node -v
v12.16.1

$ npm -v
6.13.4



安装gitbook-cli
npm install -g gitbook-cli



进入建立gitbook的文件夹，执行下面的命令
gitbook init



将会生成两个文件

README.md —— 书籍的介绍写在这个文件里
SUMMARY.md —— 书籍的目录结构在这里配置



加入自己书写的内容，目录结构如下，自己可以根据]]></description><category></category></item><item><title><![CDATA[Spark线上问题引发的思考]]></title><link>https://blog.youkuaiyun.com/coderDogg/article/details/109962485</link><guid>https://blog.youkuaiyun.com/coderDogg/article/details/109962485</guid><author>coderDogg</author><pubDate>Sun, 22 Nov 2020 20:05:59 +0800</pubDate><description><![CDATA[Spark线上问题引发的思考
先来简单介绍一下背景：我们使用的是公司搭建的Jupyter平台，打通了公司内部的Hadoop和Spark整套体系，用户可以使用Jupyter完成数据分析场景、算法场景（模型训练和预测）的全流程。但是最近突然有个别用户无法启动Spark，Spark在很长时间的pending资源过后，报错org.apache.spark.SparkException: Yarn application has already ended! It might have been killed or ]]></description><category></category></item><item><title><![CDATA[一文搞定Git！]]></title><link>https://blog.youkuaiyun.com/coderDogg/article/details/109559866</link><guid>https://blog.youkuaiyun.com/coderDogg/article/details/109559866</guid><author>coderDogg</author><pubDate>Sun, 08 Nov 2020 15:18:29 +0800</pubDate><description><![CDATA[快速上手


进阶

查看分支之git branch
拉取远端分支之git fetch 和 git pull
创建并切换分支之git checkout
将修改保存进缓冲堆栈之git stash
查看提交历史之git log
查看文件修改差异之git diff
合并分支之git merge
合并分支、提交之git rebase
重置提交之git reset
提取commit内容之git cherry-pick
给commit打上标签之git tag



Git
通俗来讲Git就是一个代码版本控制系统，多..]]></description><category></category></item><item><title><![CDATA[windows使用命令行启动pyspark报错]]></title><link>https://blog.youkuaiyun.com/coderDogg/article/details/106019450</link><guid>https://blog.youkuaiyun.com/coderDogg/article/details/106019450</guid><author>coderDogg</author><pubDate>Sat, 09 May 2020 15:05:45 +0800</pubDate><description><![CDATA[安装Hadoop
https://www.cnblogs.com/chevin/p/9090683.html
安装Spark
https://www.cnblogs.com/chevin/p/11064854.html
这里有一个坑，一开始电脑用的是3.8的python，然后命令行启动pyspark一直报错，如下图

无法正确初始化Spark和SparkContext
Traceback (most recent call last):
File “D:\spark-2.4.5-bin-hadoop2.7\]]></description><category></category></item><item><title><![CDATA[将程序添加到右键菜单命令详解]]></title><link>https://blog.youkuaiyun.com/coderDogg/article/details/105509196</link><guid>https://blog.youkuaiyun.com/coderDogg/article/details/105509196</guid><author>coderDogg</author><pubDate>Tue, 14 Apr 2020 12:12:21 +0800</pubDate><description><![CDATA[将程序加到右键菜单命令详解
这里以加vscode程序到右键菜单为示例
;右键选中文件
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\VSCode]
@="Edit with VsCode"
"Icon"="D:\\Microsoft VS Code\\_\\Code.exe"

[HKEY_CLASSES_ROOT...]]></description><category></category></item><item><title><![CDATA[Java内存模型]]></title><link>https://blog.youkuaiyun.com/coderDogg/article/details/89811408</link><guid>https://blog.youkuaiyun.com/coderDogg/article/details/89811408</guid><author>coderDogg</author><pubDate>Sat, 04 May 2019 10:58:34 +0800</pubDate><description><![CDATA[Java线程之间的通信由Java内存模型控制，JMM决定了一个线程对共享变量的写入何时对另一个线程可见。
从抽象角度来看，JMM定义了线程和主内存之间的抽象关系:线程之间的共享变量存储在主内存中，每个线程都有
一个私有的本地内存，本地内存中存储了该线程以读、写共享变量的副本。本地内存是JMM的一个抽象概念，并不真
实存在。它涵盖了缓存、写缓冲区、寄存器以及其他的硬件和编译器优化。
JMM通过控制主...]]></description><category></category></item><item><title><![CDATA[常见的调度算法（批处理作业，进程，空闲分区，虚拟页式存储管理，磁盘调度）]]></title><link>https://blog.youkuaiyun.com/coderDogg/article/details/88619234</link><guid>https://blog.youkuaiyun.com/coderDogg/article/details/88619234</guid><author>coderDogg</author><pubDate>Sun, 17 Mar 2019 14:42:30 +0800</pubDate><description><![CDATA[常见的批处理作业调度算法

1.先来先服务调度算法（FCFS）:就是按照各个作业进入系统的自然次序来调度作业。这种调度算法的优点是实现简单，公平。其缺点是没有考虑到系统中各种资源的综合使用情况，往往使短作业的用户不满意，因为短作业等待处理的时间可能比实际运行时间长得多。

2.短作业优先调度算法(SPF): 就是优先调度并处理短作业，所谓短是指作业的运行时间短。而在作业未投入运行时，并不能知道它实...]]></description><category></category></item><item><title><![CDATA[Java7/8 中的 HashMap 和 ConcurrentHashMap 全解析]]></title><link>https://blog.youkuaiyun.com/coderDogg/article/details/88567627</link><guid>https://blog.youkuaiyun.com/coderDogg/article/details/88567627</guid><author>coderDogg</author><pubDate>Fri, 15 Mar 2019 10:32:50 +0800</pubDate><description><![CDATA[http://www.importnew.com/28263.html

]]></description><category></category></item><item><title><![CDATA[MySQL中锁机制]]></title><link>https://blog.youkuaiyun.com/coderDogg/article/details/88549004</link><guid>https://blog.youkuaiyun.com/coderDogg/article/details/88549004</guid><author>coderDogg</author><pubDate>Thu, 14 Mar 2019 11:26:25 +0800</pubDate><description><![CDATA[锁类型

表级锁：开销小，加锁快；不会出现死锁；锁定粒度大，发生锁冲突的概率最高，并发度最低
行级锁：开销大，加锁慢；会出现死锁；锁定粒度最小，发生锁冲突的概率最低，并发度也最高
页面锁：开销和加锁时间介于表锁和行锁之间；会出现死锁；锁定粒度介于表锁和行锁之间，并发度一般

MyISAM和MEMORY采用的是表级锁，BDB采用页面锁，InnoDB既支持行级锁，也支持表级锁，默认使用行级锁。
表共享...]]></description><category></category></item><item><title><![CDATA[MySQL中索引]]></title><link>https://blog.youkuaiyun.com/coderDogg/article/details/88546798</link><guid>https://blog.youkuaiyun.com/coderDogg/article/details/88546798</guid><author>coderDogg</author><pubDate>Thu, 14 Mar 2019 10:11:45 +0800</pubDate><description><![CDATA[索引的存储分类

B-Tree索引：最常见的索引类型，大部分引擎都支持B树索引，底层数据结构使用B+树
Hash索引：Memory、Heap引擎支持，使用场景简单。
R-Tree索引（空间索引）：空间索引是MyISAM的一个特殊索引类型，主要用于地理空间数据类型，通常使用较少。
Full-Text（全文索引）：全文索引也是MyISAM的一个特殊索引类型，支持char、varchar、text列，I...]]></description><category></category></item><item><title><![CDATA[MySQL存储引擎]]></title><link>https://blog.youkuaiyun.com/coderDogg/article/details/88545633</link><guid>https://blog.youkuaiyun.com/coderDogg/article/details/88545633</guid><author>coderDogg</author><pubDate>Thu, 14 Mar 2019 09:42:14 +0800</pubDate><description><![CDATA[MySQL5.0支持的存储引擎包括：MyISAM，InnoDB，BDB，MEMORY，Merge，EXAMPLE，BLACKHOLE…
查看当前存储引擎：
show variable like 'table_type';

查询当前数据库支持的存储引擎：
show engines;

show variables like 'have%';

修改表引擎：
alter table table_na...]]></description><category></category></item><item><title><![CDATA[Java中CAS]]></title><link>https://blog.youkuaiyun.com/coderDogg/article/details/88431554</link><guid>https://blog.youkuaiyun.com/coderDogg/article/details/88431554</guid><author>coderDogg</author><pubDate>Tue, 12 Mar 2019 23:20:24 +0800</pubDate><description><![CDATA[转载自：https://www.cnblogs.com/barrywxx/p/8487444.html

在JDK 5之前Java语言是靠synchronized关键字保证同步的，这会导致有锁

锁机制存在以下问题：

（1）在多线程竞争下，加锁、释放锁会导致比较多的上下文切换和调度延时，引起性能问题。

（2）一个线程持有锁会导致其它所有需要此锁的线程挂起。

（3）如果一个优先级高的线程等待一...]]></description><category></category></item><item><title><![CDATA[使索引失效的几种情况]]></title><link>https://blog.youkuaiyun.com/coderDogg/article/details/88381669</link><guid>https://blog.youkuaiyun.com/coderDogg/article/details/88381669</guid><author>coderDogg</author><pubDate>Sun, 10 Mar 2019 18:22:52 +0800</pubDate><description><![CDATA[使索引失效的几种情况：

(1)条件中有or，即使有条件带索引也不会使用；要想使用or，又想让索引生效，只能将or条件中的每个列都加上索引

(2)对于多列索引，如果不是使用的第一部分，则不会使用索引；

(3)like查询是以%开头的，不会用到索引；

(4)如果列类型是字符串，那一定要在条件中将数据使用引号引用起来,否则不使用索引；

(5)如果mysql估计使用全表扫描要比使用索引快,则不使...]]></description><category></category></item><item><title><![CDATA[Java小知识]]></title><link>https://blog.youkuaiyun.com/coderDogg/article/details/88360066</link><guid>https://blog.youkuaiyun.com/coderDogg/article/details/88360066</guid><author>coderDogg</author><pubDate>Fri, 08 Mar 2019 22:28:50 +0800</pubDate><description><![CDATA[public class EclipseDemo {
 public static void main(String[] args) {
  int n1 = (int)(byte)(char) -1;
  int n2 = (int)(char)(byte) -1;
  System.out.println(n1 == n2); //false
 ...]]></description><category></category></item><item><title><![CDATA[京东笔试return、finally]]></title><link>https://blog.youkuaiyun.com/coderDogg/article/details/88343474</link><guid>https://blog.youkuaiyun.com/coderDogg/article/details/88343474</guid><author>coderDogg</author><pubDate>Fri, 08 Mar 2019 11:08:34 +0800</pubDate><description><![CDATA[publicclassMain{
publicstaticvoidmain(String[]args){
System.out.print(fun1());
}
publicstaticStringfun1(){
try{
System.out.print(&quot;A&quot;);
...]]></description><category></category></item><item><title><![CDATA[static final修饰的变量不需要将类加载进内存]]></title><link>https://blog.youkuaiyun.com/coderDogg/article/details/88342677</link><guid>https://blog.youkuaiyun.com/coderDogg/article/details/88342677</guid><author>coderDogg</author><pubDate>Fri, 08 Mar 2019 10:40:18 +0800</pubDate><description><![CDATA[JAVA的类加载期负责整个生命周期内的class的初始化和加载工作，就虚拟机的规范来说，以下代码会输出什么结果？
publicclassTest{
publicstaticvoidmain(String[]args){
System.out.println(Test2.a);
}
}
classTest2{
publicstaticfi...]]></description><category></category></item><item><title><![CDATA[Truncate table 和 DELETE]]></title><link>https://blog.youkuaiyun.com/coderDogg/article/details/88342169</link><guid>https://blog.youkuaiyun.com/coderDogg/article/details/88342169</guid><author>coderDogg</author><pubDate>Fri, 08 Mar 2019 10:20:01 +0800</pubDate><description><![CDATA[truncate table与delete都是删除表数据，保留表结构

truncate table 在功能上与不带 WHERE 子句的 delete语句相同：二者均删除表中的全部行。

不同：

truncate 比 delete（一行一行的删）速度快，且使用的系统和事务日志资源少。

truncate 操作后的表比Delete操作后的表要快得多。如果有ROLLBACK命令Delete将被撤销，...]]></description><category></category></item><item><title><![CDATA[TCP的拥塞控制方法]]></title><link>https://blog.youkuaiyun.com/coderDogg/article/details/88338858</link><guid>https://blog.youkuaiyun.com/coderDogg/article/details/88338858</guid><author>coderDogg</author><pubDate>Fri, 08 Mar 2019 10:04:21 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[电路交换和分组交换]]></title><link>https://blog.youkuaiyun.com/coderDogg/article/details/88324132</link><guid>https://blog.youkuaiyun.com/coderDogg/article/details/88324132</guid><author>coderDogg</author><pubDate>Thu, 07 Mar 2019 23:42:38 +0800</pubDate><description><![CDATA[电路交换有预留，且分配一定空间，提供专用的网络资源，提供有保证的服务，应用于电话网；

分组交换无预留，且不分配空间，存在网络资源争用，提供有无保证的服务。分组交换可用于数据报网络和虚电路网络。我们常用的Internet就是数据报网络，单位是Bit。
...]]></description><category></category></item></channel></rss>