分类 好物推荐 的文章

typecho 留言显示 qq图像

修改文件:var/Typecho/Common.php

第922行
开始

/**

  • 获取gravatar头像地址
  • @param string $mail
  • @param int $size
  • @param string $rating
  • @param string $default
  • @param bool $isSecure
  • @return string
    */

    public static function gravatarUrl($mail, $size, $rating, $default, $isSecure = false)
    {

         $reg = "/^\d{5,11}@[qQ][Qq]\.(com)$/";
         if (preg_match($reg, $mail)) {
             $img    = explode("@", $mail);
             $url = "//q2.qlogo.cn/headimg_dl?dst_uin={$img[0]}&spec=240";
         } else {
             if (defined('__TYPECHO_GRAVATAR_PREFIX__')) {
                 $url = __TYPECHO_GRAVATAR_PREFIX__;
             } else {
                 $url = $isSecure ? 'https://secure.gravatar.com' : 'http://www.gravatar.com';
                 $url .= '/avatar/';
             }
             if (!empty($mail)) {
                 $url .= md5(strtolower(trim($mail)));
             }
             $url .= '?s=' . $size;
             $url .= '&r=' . $rating;
             $url .= '&d=' . $default;
         }
         return $url;

    }

屏幕快照 2020-07-21 下午8.53.21.png

利用 文件变动监测 并通过ssh同步到树莓派

使用场景
通常 开发linux 应用 相信大家基本都使用win编辑 linux 编译运行的方式,针对 samba 或ftp 的不稳定 掉线了重连或安装的麻烦 故开发了这个简单的方式来同步文件加速开发,减少环境搭建工作量
使用时 ,只需要复制这四个文件到代码上级目录 拖动 auto.cmd 到 FileMonitor2.0.exe 即可,不要关掉,就可以开始撸码事宜。sshfile.exe 当然可以换成 ftp.exe 脚本 或 cp 脚本 post脚本 等等等等。。。。。只需要修改 auto.cmd 非常方便
微信截图_20200703174051.png
auto.cmd这样写

SET read=%1
SET send=%2
sshfile.exe 192.168.0.107 22 pi raspberry %read% /home/pi/work/Linux_Cpp/xiaoluo/%send%

参数1 和参数2 是匹配正反斜杠用,根据不同系统 修改脚本调用不同参数
运行的逻辑
微信截图_20200703180749.png

下载点击下面

raspberry.zip

推荐一款在线电路仿真软件 CircuitJS1

说明:

1、上学那会最喜欢的仿真软件就是Protues了,很容易上手,而且还能做PCB。工作后很少搞硬件了,这方面的能力也退化的差不多了。

2、这个软件CircuitJS1最大的亮点就是动态效果展示方式,而且是网页版本,不卡机。

3、如果你还在学习数电或者模电的话,这个软件绝对是极佳的学习工具,因为使用实在是太方面了。

4、仿真地址:http://scratch.trtos.com/circuitjs.html

5、开源地址:https://github.com/sharpie7/circuitjs1

贴几个动态GIF,让大家看看效果:

1、施密特触发器
0.gif
2、Flash型ADC
0 (1).gif
3、差分放大器
0 (2).gif
4、高通滤波器
0 (3).gif
5、诺顿定理
0 (4).gif
6、运放741内部工作机理
0 (5).gif

蓝牙makeymakey

psb.jpg
微信图片_20200709113545.jpg
微信图片_20200709113527.jpg
微信截图_20200629114632.png
微信截图_20200623185339.png
微信截图_20200622170643.png
微信截图_20200622170631.png
微信截图_20200622170119.png


淘宝链接

fileMonitor 检测文件变化 执行脚本

检测文件发生变化 启动脚本并传入 变化的文件名用于 修改同步 文件到ftp adb linux 等 代码同步修改
源码下载地址
FileMonitor2.0exe
使用时 把 需要执行的脚本拖动到 fileMonitor 即可
需要执行的代码 通过%1%获取 变动的文件路径 具体干什么看具体需求
mac端 稍后更新上来
代码贴出来

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Threading;

using System.Diagnostics;
namespace FileMonitor
{
    class Program
    {
        static void Main(string[] args)
        {
            string File2;
            if (args.Length<1)
            {
                Console.WriteLine("请输入要执行的文件....");
                File2 = Console.ReadLine();
            }
            else File2 = args[0];
            Console.WriteLine("监控目录[" + AppDomain.CurrentDomain.BaseDirectory + "]" + "执行文件[" + File2 + "]");
            FileSystemWatcher watcher = new FileSystemWatcher();
            watcher.Path = AppDomain.CurrentDomain.BaseDirectory;
            watcher.NotifyFilter =NotifyFilters.LastWrite |NotifyFilters.FileName;
            watcher.Changed += (object source, FileSystemEventArgs e) =>
            {
                Console.WriteLine("文件{0}已经被修改,修改类型{1}", e.FullPath, e.ChangeType.ToString());
                //System.Diagnostics.Process.Start(File2);
                exec(File2, e.FullPath);
            };
            watcher.Created += (object source, FileSystemEventArgs e) =>
            {
                Console.WriteLine("文件{0}被建立", e.FullPath);
            };
            watcher.Deleted += (object source, FileSystemEventArgs e) =>
            {
                Console.WriteLine("文件{0}已经被删除", e.FullPath);
            };
            watcher.Renamed += (object source, RenamedEventArgs e) =>
            {
                Console.WriteLine("文件{0}的名称已经从{1}变成了{2}", e.OldFullPath, e.OldName, e.Name);
            };
            watcher.EnableRaisingEvents = true;
            while (true) Thread.Sleep(1000);
        }
        public static void exec(string exePath, string parameters)
        {
            Process process = new System.Diagnostics.Process();
            process.StartInfo.FileName = exePath;
            process.StartInfo.Arguments = parameters;
            process.StartInfo.UseShellExecute = false;
            process.StartInfo.CreateNoWindow = true;
            process.StartInfo.RedirectStandardOutput = true;
            process.Start();
            process.BeginOutputReadLine();
            process.OutputDataReceived += new DataReceivedEventHandler(processOutputDataReceived);
            process.WaitForExit();
            process.OutputDataReceived -= new DataReceivedEventHandler(processOutputDataReceived);
            Console.WriteLine("执行完毕");
        }

        public static void processOutputDataReceived(object sender, DataReceivedEventArgs e)
        {
            Console.WriteLine(e.Data);
        }
    }
}

微信截图_20200508105631.png