Other articles


  1. 手机与Linux桌面文件共享

    手机: 某米 电脑: archlinux 环境: 同一wifi下

    手机共享文件到电脑

    最近才发现手机可以开启ftp服务对文件进行共享,直接进入文件管理器开启就行,电脑上使用

      ftp target
    
    进行连接

    注:get 下载put 上传

    电脑共享文件到手机

    这里采用python搭建一个简单的web服务(python3)供手机下载文件

      # 首先 cd 到要共享的目录
      python -m http.server --bind 0.0.0.0
    

    查看本机IP

      ifconfig
      # 或者
      ip addr
    

    重要: 请确保关闭防火墙,否则手机无法连接

      sudo systemctl …

    read more

    There are comments.

  2. Linux总结(草稿)

    Linux发展历史

    Linux是由BSD发展而来,BSD又起源于UNIX。UNIX由贝尔实验室开发, 后来开放给各大学教学使用,其中伯克利大学通过对UNIX源码的研究以及不断的改进与扩展, 推出BSD,并于BSD 4.3版本加入网络模块,极大推进UNIX的发展。但后面由于版权等原因, UNIX与BSD之间发生冲突与法律纠纷,直到1998年,在此期间,芬兰大学生Linus Torvalds 于1991年发布首个Linux版本,linux也趁UNIX与BSD纠纷之际,得到非常快速的发展

    Linux的最小组成

    Linux最小由内核kernel,文件层次结构FHS,系统启动器bootloader组成,其中内存调度, 进程调度等由内核管理,内核可单独运行,但需要与其它组成相配合。

    语言:一般有头文件与库文件,头文件为实现,库文件为声明

    Linux的安装与启动

    当linux启动时,首先启动内核,内核调用init来完成引导进程,init启动时,它会在/etc/inittab内查找默认的运行级别, 然后运行/etc/rc …

    read more

    There are comments.

  3. celery动态添加任务

    celery是一个基于Python的分布式调度系统,文档在这 ,最近有个需求,想要动态的添加任务而不用重启celery服务,找了一圈没找到什么好办法(也有可能是文档没看仔细),所以只能自己实现囉

    为celery动态添加任务,首先我想到的是传递一个函数进去,让某个特定任务去执行这个传递过去的函数,就像这样

    @app.task
    def execute(func, *args, **kwargs):
        return func(*args, **kwargs)
    

    很可惜,会出现这样的错误

    kombu.exceptions.EncodeError: Object of type 'function' is not JSON serializable
    

    换一种序列化方式

    @app.task(serializer='pickle')
    def execute(func, *args, **kwargs):
        return func(*args, **kwargs …

    read more

    There are comments.

  4. 我的Linux历程

    Linux

    是一种计算机操作系统内核,以C语言和汇编语言写成,匹配POSIX标准,以GNU通用公共许可证(GPL2)发布,最早是由林纳斯·托瓦兹开发的类UNIX系统

    Linux与UNIX的区别: UNIX系统大多是与硬件配套的,而Linux则可运行在多种硬件平台上。UNIX是商业软件,而Linux自由免费。

    Linux发行版

    简单的来说将Linux内核与一些系统软件,应用软件进行整合,有的发行版还包括图形界面(x11,wayland),目前所说的Linux大多代表Linux发行版

    Linux历程

    曾经在某论坛看到linux这个名词,立马装上虚拟机然后安装了我的第一个Linux版本--centos,并且装上了gnome桌面环境,随后开始了Linux折腾之旅, 大概是这样的 centos --> kali --> ubuntu --> fedora --> ubuntu kylin --> mint --> debian --> fedora --> archlinux ......,Linux发行版大概分为3系, debain系,包括ubuntu …

    read more

    There are comments.

  5. 关于网易云音乐个性推荐无法显示的问题

    最近在使用网易云音乐时首页的个性推荐总是无法显示,一直在*正在为你生成个性化推荐*,网上也没找到什么办法,偶然间使用

    ┌─[jianglin][~]
    └──╼ rm -rf .cache/netease-cloud-music/
    ┌─[jianglin][~]
    └──╼ rm -rf .config/netease-cloud-music/
    

    重新打开登陆后个性推荐就出现了,特此记录

    read more

    There are comments.

  6. 方便的切换emacs主题

    作为一个主题控,经常会切换主题,之前切换主题的方式是这样的,*M-x*,`load-theme`,选中,但是个人认为不够便捷,正好前几天发现了*hydra*这个插件,也想实践一下

    获取主题列表

    (setq maple-cycle-themes (mapcar 'symbol-name (custom-available-themes)))
    

    获取当前主题索引

    (cl-position (car (mapcar 'symbol-name custom-enabled-themes)) maple-cycle-themes :test 'equal)
    

    获取下一个主题

    (setq maple-current-theme-index
            (+ 1 maple-current-theme-index))
      (setq maple-current-theme (nth maple-current-theme-index maple-cycle-themes))
    

    加载主题

    (load-theme (intern maple-current-theme) t)
    

    最后得到这样的函数

    (defun maple/cycle-theme (num)
        (interactive)
        (setq maple-current-theme-index …

    read more

    There are comments.

  7. emacs实现智能注释

    之前使用emacs时遇到这么一个问题

    当前行存在代码折叠时,如果想要注释,必须先选中当前行,否则只能注释代码折叠块的第一行

    就像这样

    基础注释函数来源于stackoverflow

    (defun comment-or-uncomment-region-or-line ()
      "Comments or uncomments the region or the current line if there's no active region."
      (interactive)
      (let (beg end)
        (if (region-active-p)
            (setq beg (region-beginning) end (region-end))
          (setq beg (line-beginning-position) end (line-end-position)))
        (comment-or-uncomment-region beg end)))
    

    在此函数的位置上进行修改,刚开始使用

    (when (hs-already-hidden-p)
          (evil-visual-line …

    read more

    There are comments.