PYJTLK
码龄8年
关注
提问 私信
  • 博客:129,146
    129,146
    总访问量
  • 83
    原创
  • 184,604
    排名
  • 126
    粉丝
  • 0
    铁粉
  • 学习成就
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2016-11-06
博客简介:

PYJTLK的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    4
    当前总分
    519
    当月
    2
个人成就
  • 获得175次点赞
  • 内容获得17次评论
  • 获得509次收藏
  • 代码片获得1,247次分享
创作历程
  • 5篇
    2024年
  • 29篇
    2022年
  • 4篇
    2021年
  • 45篇
    2020年
成就勋章
TA的专栏
  • 翻译
    3篇
  • 分布式
    3篇
  • 算法
    9篇
  • 散装知识
  • 生活
  • 音视频
    14篇
  • FFmpeg
    11篇
  • SQL
    2篇
  • Jetpack
    4篇
  • 源码解析
    20篇
  • 跨进程通信
    5篇
  • Handler
  • Looper
  • 笔记
  • NDK
    1篇
  • 集合
    4篇
  • 自定义控件
    24篇
  • IntentService
  • EventBus
    3篇
  • ThreadLocal
    1篇
  • 界面
    1篇
  • GreenDao
兴趣领域 设置
  • 数据结构与算法
    数据结构
  • 移动开发
    kotlinflutterandroid studio
  • 软件工程
    性能优化
  • 学习和成长
    面试
创作活动更多

AI大模型如何赋能电商行业,引领变革?

如何使用AI技术实现购物推荐、会员分类、商品定价等方面的创新应用?如何运用AI技术提高电商平台的销售效率和用户体验呢?欢迎分享您的看法

175人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

《Fallacies of Distributed Systems》原文手译

微服务,也以微服务架构为人们所知,是一种架构模式,它将应用构建成一些列的服务,这些服务具有:*易维护和测试*低耦合*可独立部署*围绕业务*维护规模小微服务架构让规模大而复杂的应用分发变得更迅速、频繁和可靠。它也让开发组织能够迭代它们的技术栈。内容交付网络和边缘计算本质上是尝试让冰箱和货车之间的距离尽可能近。通过将数据复制到更接近需要的位置,来让我们大幅减少延迟。基础设施即代码(IaC)是通过代码而非手工流程来管理和提供基础设施。
原创
发布博客 2024.03.12 ·
803 阅读 ·
7 点赞 ·
0 评论 ·
26 收藏

Raft算法详解(二):领导者选举

下一篇会讲解Raft的日志复制机制对Raft算法感兴趣的朋友还可以阅读一下我翻译的Raft论文。
原创
发布博客 2024.01.25 ·
712 阅读 ·
3 点赞 ·
0 评论 ·
8 收藏

Raft论文手译(下)

继续,本篇文章将对Raft论文的后半部分进行翻译。
原创
发布博客 2024.01.24 ·
898 阅读 ·
22 点赞 ·
0 评论 ·
22 收藏

Raft论文手译(上)

Raft是一种管理日志一致性的算法。它可以产生和Paxos一样的结果,和Paxos一样高效,但其结构与Paxos有所不同。相对于Paxos,Raft更通俗易懂也更容易实现其系统功能。为了更利于理解,Raft将领导者选举、日志复制、安全性等重要要素进行分离,并大幅提升它们的相关性以减少原来需考虑的状态类型。根据用户的使用反馈,相对于Paxos,Raft更易于学生学习使用。Raft还包含一种改变簇成员的全新机制,它通过冗余技术来保证安全性。一致性算法能使多台机器即使在部分成员宕机的情况下依然像一个整体一样工作。
原创
发布博客 2024.01.24 ·
1024 阅读 ·
21 点赞 ·
0 评论 ·
21 收藏

Raft算法详解(一):介绍

Raft是一种一致性算法,它包含了几个部分分别是领导者选举、日志复制、日志压缩和安全性。
原创
发布博客 2024.01.21 ·
454 阅读 ·
12 点赞 ·
0 评论 ·
10 收藏

FFmpeg Visual Studio开发(四):音频解码

上一篇文章我们学习了如何通过FFmpeg解码视频帧,本篇文章我们来学习如何解码音频帧。文章分段讲解视频解码的各个步骤,接着会贴上完整代码,最后进行测试。准备工作在开始学习前,我们先准备一个文件夹(Res),在里面放置一个视频文件(video.mp4)和一个音频文件(audio.mp3),时长为1分钟左右即可。当然,对于没有学过 FFprobe 和 FFplay 的朋友,强烈建议先学习一下它们的常用命令。这两个工具可以用来测试我们的音视频文件。音频解码的步骤如下。1.打开文件获取多媒体文件上下文
原创
发布博客 2022.02.13 ·
1760 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

FFprobe常用命令

介绍FFprobe是一个强大的音视频信息查看工具。具体使用查看基本信息命令如下。-i 表示输入文件,可以是mp4、mp3等封装格式的文件,但不能是原始数据文件,如yuv、pcm等。ffprobe -i audio.mp3当然,也可以查看网络多媒体文件信息。ffprobe -i http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4查看流的格式信息命令如下。视频文件会有视频流和音频流。ffprobe -show_format -i video.m
原创
发布博客 2022.02.13 ·
2703 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

FFplay常用命令

介绍与准备
原创
发布博客 2022.02.11 ·
2490 阅读 ·
0 点赞 ·
1 评论 ·
3 收藏

FFmpeg Visual Studio开发(三):视频解码

上一篇文章我们学习了如何把视频文件解封装,本篇文章我们来学习如何解码视频数据。文章分段讲解视频解码的各个步骤,接着会贴上完整代码,最后进行测试。准备工作首先创建一个新的控制台工程,把FFmpeg4的库配置好,不熟悉的朋友可以看看第一篇文章。接着跑一下测试程序看看配置是否成功。#include "stdafx.h"#include <iostream>extern "C"{#include "libavformat/avformat.h"};using namespace s
原创
发布博客 2022.02.11 ·
1501 阅读 ·
2 点赞 ·
0 评论 ·
2 收藏

FFMPEG常用命令(四):图片相关命令

上一篇文章我们学习了FFmpeg音频相关的命令,本篇文章我们来学习FFmpeg图片相关的命令。准备工作和上一篇文章一样,我们准备一个Res文件夹,在里面放一个视频文件(video.mp4,一分钟左右)和一张图片文件(image.jpg)。然后在这个文件夹打开命令行。接着我们了解一下YUV,YUV是图片的一种编码方式,Y指明亮度,U和V指色度,用于表示像素的颜色。常见的YUV采样有三种,分别是YUV444、YUV422 及 YUV420。YUV444是指每个像素点都有自己的Y值、U值和V值,如下图。
原创
发布博客 2022.02.10 ·
8366 阅读 ·
14 点赞 ·
0 评论 ·
36 收藏

FFmpeg Visual Studio开发(二):视频解封装

上一篇我们在Visual Studio上搭建好了FFmpeg4的环境,本篇文章我们来学习FFmpeg的视频解封装。文章会把程序分成几段来讲解,最后会贴出完整代码。准备工作首先创建一个新的控制台工程,把FFmpeg的库配置好,不熟悉的朋友可以看看上一篇文章。接着跑一下测试程序看看配置是否成功。#include "stdafx.h"#include <iostream>extern "C"{#include "libavformat/avformat.h"};using nam
原创
发布博客 2022.02.10 ·
881 阅读 ·
2 点赞 ·
0 评论 ·
1 收藏

FFmpeg Visual Studio开发(一):环境搭建

介绍FFmpeg是一个强大的音视频编解码开源库。目前(2022/2/9)FFmpeg版本已经到了4+,支持多种平台。本篇文章将讲解如何在Visual Studio上搭建FFmpeg环境并编写FFmpeg的HelloWorld程序。准备工作在此之前,大家先做好心理准备吧。在环境搭建过程中会遇到相当多的坑,FFmpeg的学习光是这一步就劝退很多人了。坚持下来吧。这里使用的是Visual Studio 2013,FFmpeg使用的是4.3版本。FFmpeg分为static(静态库)、shared(动态库)
原创
发布博客 2022.02.10 ·
1533 阅读 ·
2 点赞 ·
1 评论 ·
13 收藏

FFMPEG源码编译安装

介绍与准备FFmpeg是一个强大的音视频编解码开源库。目前(2022/2/9)FFmpeg版本已经到了4+,支持多种平台。本文将讲解如何在Linux环境下编译安装FFmpeg。在开始前首先做一些准备。1.在FFmpeg官网下载FFmpeg的最新源码(4+)2.准备Linux编译环境(Ubuntu16或其他Linux系统)解压解压下载好的FFmpeg压缩文件。tar -xvf ffmpeg-snapshot.tar.bz2解压完成后会得到一个ffmpeg文件夹。编译与安装先进入ffmp
原创
发布博客 2022.02.09 ·
5131 阅读 ·
3 点赞 ·
0 评论 ·
9 收藏

FFMPEG常用命令(三):音频相关命令

上一篇文章我们学习了FFmpeg视频相关的命令,本篇文章我们来学习FFmpeg音频相关的命令。准备工作和上一篇文章一样,我们准备一个Res文件夹,在里面放一个视频文件(video.mp4)和音频文件(audio.mp3)。然后在这个文件夹打开命令行。改变格式音频格式转换命令如下。-f ogg表示编码格式是ogg,ogg是非常先进的音频格式,可以用于游戏音效。常见的音频格式还有mp3、mpeg-4、wma等。ffmpeg -i audio.mp3 -f ogg out.ogg改变采样率音频采
原创
发布博客 2022.02.09 ·
3627 阅读 ·
4 点赞 ·
1 评论 ·
8 收藏

FFMPEG常用命令(二):视频相关命令

上一篇文章我们学会了FFmpeg最基本的命令。本篇文章我们来学习FFmpeg视频相关的命令。准备工作和上一篇文章一样,我们准备一个Res文件夹,在里面放一个视频文件(video.mp4)和音频文件(audio.mp3)。然后在这个文件夹打开命令行。改变格式FFmpeg可以转换视频格式,命令如下。3gp是一种移动设备的视频格式。常见的视频格式还有mp4、AVI、RMVB、FLV等。ffmpeg -i video.mp4 -f 3gp out.3gp当然还有更多的格式可以转换,查询命令如下。其中
原创
发布博客 2022.02.09 ·
2906 阅读 ·
2 点赞 ·
0 评论 ·
9 收藏

FFMPEG常用命令(一):音视频信息与抽取

介绍与准备FFmpeg是一个强大的音视频编解码开源库。目前(2022/2/9)FFmpeg版本已经到了4+,支持多种平台。下面我们来学习一下FFmpeg的常用命令。在学习之前要做一些准备工作,首先是安装FFmpeg,这里的运行环境是Windows。其次是准备好一个视频文件(mp4)和一个音频文件(mp3),用于音视频的编解码测试。测试用的MP4可以在这个页面下载。创建一个文件夹叫Res,把测试文件放在这里,分别命名video.mp4、audio.mp3。最后在这个文件夹下打开命令行,准备工作就完
原创
发布博客 2022.02.09 ·
3233 阅读 ·
0 点赞 ·
0 评论 ·
9 收藏

SQLite 基本语法(二)

上一篇文章讲述了SQLite数据库创建删除、表的增删查。本篇文章来重点讲解WHERE的使用。准备工作在真正开始前,我们先做一点准备工作。创建一个SampleDB.db的数据库,在这个数据库创建一个表,表包括ID、Name和Age三个字段。记录有四条。四条记录如下。WHERE语句当我们在使用SELECT、DELETE和UPDATE时,通过WHERE来限制操作的范围。例如下面的查询操作。AND表示“而且”。OR表示“或者”IN 表示枚举,例如只要年龄是8或11的记录。BETWEEN
原创
发布博客 2022.02.07 ·
591 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

SQLite 基本语法(一)

介绍SQLite是一种轻量级的数据库,主要用于嵌入式设备,Android App使用的也是SQLite。在学习SQLite之前。首先需要安装SQLite3,这里选用的环境是Windows。下面我们通过一个例子来学习SQLite常用的语法。数据库创建和导出打开命令行,输入SQLite3,回车,进入SQLite3。我们来创建一个数据库,名字就叫SampleDB,.db是文件类型。导出数据库也很简单,首先退出SQLite3。.quit是退出命令。回到命令行后输入sqlite3 SampleDB
原创
发布博客 2022.02.07 ·
1445 阅读 ·
1 点赞 ·
0 评论 ·
6 收藏

Android Jetpack:Lifecycle使用教程

介绍Lifecycle是Android Jetpack中用于管理生命周期的库。无论是MVP模式还是MVVM模式,Activity充当的都是View(视图)的角色。然而随着程序功能越来越复杂,很多模块都需要在相应的生命周期上停止或释放内存,这就使得Activity的代码不得不写大量与视图无关的代码,就如下面这个例子。通过Lifecycle就能够很好的解决这个问题。public class MainActivity extends AppCompatActivity implements ...{ .
原创
发布博客 2022.02.06 ·
1953 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Android Jetpack:Room与Database Inspector使用教程

本文章涉及到SQLite语法,对SQLite语法不了解的朋友可以先学习一下它的基本使用再来阅读本文章。介绍Room是Android Jetpack中用于操作数据库的库,本篇文章将讲解Room的使用方法,并简单介绍如何使用Database Inspector调试(Android Studio 4.1+)。基本使用方法使用Room,我们要完成三个工作,定义实体类,定义DAO,定义数据库。首先把Room的相关库导进来,前面两项是必要的,后面的optional是可选项,它们是Room对其他三方库的拓展。
原创
发布博客 2022.02.03 ·
2443 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏
加载更多