类别归档:他山之石

他山之石,可以攻玉。

RSS feed of 他山之石

程序员做副业有哪些选择

程序员在做副业方面拥有诸多优势,他们可以利用自己的技术专长和逻辑思维能力,在业余时间开展多种副业。以下是一些程序员常见的副业选择:

  1. 接私单或外包项目

    • 程序员可以在各大外包平台(如程序员客栈、gulu、开源众包、devnors等)或个人渠道上接取软件开发、网站维护、移动应用开发等私单或外包项目。
    • 这种方式能够灵活安排工作时间和工作量,但需要具备一定的项目管理和沟通协调能力。
  2. 在线教育和培训

    • 程序员可以利用自己的技术知识,在在线教育平台(如慕课网、小鹅通、CSDN学院等)或自建网站上开设编程课程,教授编程语言、框架、技术工具等。
    • 通过制定详细的课程计划、准备教学材料、录制教学视频等方式,提供高质量的教学服务。
    • 这种方式不仅能够分享自己的知识和经验,还能获得额外的收入。
  3. 技术博客和内容创作

    • 程序员可以在技术博客平台(如CSDN博客、oschina开源社区博客、Medium、Dev.to等)上撰写技术文章、分享编程经验和技术见解 ...

继续阅读

fail2ban变更iptables封禁策略为DROP

fail2ban的默认iptables封禁策略为 REJECT --reject-with icmp-port-unreachable

在/etc/fail2ban/action.d/目录下创建文件 iptables-blocktype.local

内容如下:

[Init]
blocktype = DROP

重启fail2ban服务后,iptables封禁策略变更为DROP

Eclipse正则表达式查找匹配多行

使用Eclipse的正则表达式(Regular expressions)查找替换(Find/Replace)功能时,如果需要匹配多行,可以在搜索表达式中添加(?s)参数。

例如从下面的HTML文本中匹配<p class="strong"></p>的段落内容

可以采用正则表达式:(?s)<p class="strong">.*?</p>

<!doctype html>
<html>
<head>
    <title>Example Domain</title>
    <meta charset="utf-8" />
    <style type="text/css ...

继续阅读

Java实现单向链表的归并排序

由于链表(LinkedList)不支持随机访问(Random Access),只允许顺序访问,因此对于链表的O(logn)时间复杂度的排序算法不可以采用诸如快速排序等基于随机访问的排序算法,而归并排序可以满足这一需求。

归并排序是分治法(Divide and Conquer)的典型应用,其伪代码如下:

merge_sort(list) {
  split list into two halfs, say first and second ;
  merge_sort(firstHalf);
  merge_sort(secondHalf);
  merge(firstHalf,secondHalf);
}

下面的Java代码实现了对单链表(singly linked list)的归并排序,代码实现优美 ...

继续阅读

Discuz升级3.x社区银行插件金钱同步问题解决方案

原文链接:Discuz升级3.x社区银行插件金钱同步问题解决方案

在Discuz 2.x版本安装社区银行插件版本2.2(http://addon.discuz.com/?@bank_ane.plugin)可以正常使用

但是,升级Discuz版本到3.x之后,社区银行插件存取款金额与用户显示金额出现不同步的问题,导致插件无法正常使用。

问题描述参阅:http://www.discuz.net/thread-3484982-1-1.html

社区银行插件:当我存金币时,理应减少我个人账户的金币,取金币时应该增加个人账户金币,两者都无反应。
我升级到3.0后,才发现此问题,升级到3.1后,也一样,插件卸载删除目录后重装,问题依旧。
在用户存款时候他处理了几个事情 ...

继续阅读