自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 Kotlin 类基础

kotlin是OOP模式的语言,其中的类是对事物的特征、逻辑的综合抽象,用关键词class声明一个类。包含class name, class header, class body。class A {}class Empty类的基本结构:构造函数,属性,方法构造函数构造函数是实例化一个类时调用的api,它可以接收参数来控制对象的特征与逻辑构造函数可以用关键词constructor声明kotlin的类有两种构造函数,主构造函数、次构造函数主构造函数是class header的一部

2022-03-24 18:42:56 4190

原创 Compose系列 五 副作用 side-effect

本系列是我学习compose过程中,对官方文档的翻译和解读,以及实验性的Demo工程。主要参考官方文档和中文手册全部的正文内容(Demo工程除外)源自Compose官方文档,个人解读以引用的形式插入。Compose 官方文档 https://developer.android.google.cn/jetpack/composeCompose 中文手册 https://compose.net.cn/本文翻译内容 https://developer.android.google.cn/jetpack/.

2021-11-19 16:38:12 1457

原创 Compose系列 四 生命周期

本系列是我学习compose过程中,对官方文档的翻译和解读,以及实验性的Demo工程。主要参考官方文档和中文手册全部的正文内容(Demo工程除外)源自Compose官方文档,个人解读以引用的形式插入。Compose 官方文档 https://developer.android.google.cn/jetpack/composeCompose 中文手册 https://compose.net.cn/本文翻译内容 https://developer.android.google.cn/jetpack/.

2021-11-05 11:38:04 3290

原创 音视频基础:视频的编码

本文主要参考《图像通信技术与应用》作者陈柘 陈川记录了数字图像的模型、图像变换的数学原理、图像编码的基本思想、H.26x等视频标准、以及视频的传输模型等概念,只介绍思想,无数学推导,无代码实践,属于音视频入门知识视频的编码数字图像概念人眼视觉模型人眼感光流程是光线透过晶状体被弯折,弯折程度由睫状肌控制,然后透过玻璃体落在视网膜上,刺激视网膜上的视感知细胞产生神经冲动,于大脑视觉中枢中形成视觉视感知细胞分为视锥细胞,视杆细胞。前者能区分光的强度和色彩,在明亮环境下敏感,称为亮视觉,.

2021-11-04 10:39:23 2838

原创 DICOM DCMTK StoreSCU-SCP实践

本文记录了利用DCMTK实践DICOM的StoreScu StoreScp的作业主要目的是修改StoreScp,实现DICOM的图像几何变换DCMTK的编译请参考 https://www.jianshu.com/p/b06349d609ba如果遇到问题,请参考 https://sfumecjf.github.io/awesome_dcmtk/1-hello_world/DCMTK的工程结构按照上述指引操作完成后,应该有以下目录源代码:这个是从官网直接下的原始代码VS 工程目录:.

2021-11-02 15:35:06 2125

原创 Compose系列 三 状态管理

本系列是我学习compose过程中,对官方文档的翻译和解读,以及实验性的Demo工程。主要参考官方文档和中文手册全部的正文内容(Demo工程除外)源自Compose官方文档,个人解读以引用的形式插入。Compose 官方文档 https://developer.android.google.cn/jetpack/composeCompose 中文手册 https://compose.net.cn/本文翻译内容 https://developer.android.google.cn/jetpack/.

2021-10-24 16:24:18 1239

原创 Kotlin 协程系列三:Coroutine挂起函数的组合

本系列为翻译和解读 Kotlin 协程的官方文档,对应官方文档版本1.5.3 时间是2021-10约定:全部的正文均对应文档原文,个人解读以引用的形式插入官方文档链接 https://kotlinlang.org/docs/coroutines-guide.html如果对协程完全没任何概念,强烈推荐先看这篇文章 https://xie.infoq.cn/article/351ddc94200d03948c41fbabd如果你想写代码实操,可以参考这个配置环境 https://openxu.blog.

2021-10-23 15:03:24 287

原创 Gradle系列 一 Introduction

本系列是学习Gradle技术中的一些总结,只关心与Android相关的部分,其余的应用暂不涉猎主要参考《Android Gradle权威指南》一书,本书作者博客飞雪无情的博客 | 专注于Android、Java、Go语言(golang)、移动互联网、项目管理、软件架构本文主要介绍Gradle的设计目的,基本思想,部分内容翻译自 What is Gradle?正文是原文,个人解读以引用形式插入Gradle 是一门 DSL , 基于 Groovy 语言设计(从Gradle 4.0开始,也支持.

2021-10-22 13:35:35 105

原创 Compose系列 二 设计思想

本系列是我学习compose过程中,对官方文档的翻译和解读,以及实验性的Demo工程。主要参考官方文档和中文手册全部的正文内容(Demo工程除外)源自Compose官方文档,个人解读以引用的形式插入。Compose 官方文档 https://developer.android.google.cn/jetpack/composeCompose 中文手册 https://compose.net.cn/本文翻译内容 https://developer.android.google.cn/jetpack/.

2021-10-21 20:30:42 1232

原创 Kotlin 协程系列二:Coroutine取消和超时

本系列为翻译和解读 Kotlin 协程的官方文档,对应官方文档版本1.5.3 时间是2021-10约定:全部的正文均对应文档原文,个人解读以引用的形式插入官方文档链接 https://kotlinlang.org/docs/coroutines-guide.html如果对协程完全没任何概念,强烈推荐先看这篇文章 https://xie.infoq.cn/article/351ddc94200d03948c41fbabd如果你想写代码实操,可以参考这个配置环境 https://openxu.blog.

2021-10-19 15:18:20 787

原创 Kotlin 协程系列一:Coroutine基础

本系列为翻译和解读 Kotlin 协程的官方文档,对应官方文档版本1.5.3 时间是2021-10约定:全部的正文均对应文档原文,个人解读以引用的形式插入官方文档链接 https://kotlinlang.org/docs/coroutines-guide.html如果对协程完全没任何概念,强烈推荐先看这篇文章 https://xie.infoq.cn/article/351ddc94200d03948c41fbabd如果你想写代码实操,可以参考这个配置环境 https://openxu.blog.

2021-10-19 15:09:29 775

原创 DICOM 文件格式分析 概要

本文记录了我对DICOM 3.0标准中,关于DICOM文件格式的浅薄理解参考文章http://dicom.nema.org/medical/dicom/current/output/pdf/part05.pdfhttp://dicom.nema.org/medical/dicom/current/output/pdf/part06.pdfhttp://dicom.nema.org/medical/dicom/current/output/pdf/part10.pdfdicom文件tag.

2021-10-18 17:11:49 1382

原创 Compose系列 一 Introdution

Compose 官方文档 Jetpack Compose | Android DevelopersCompose 中文手册 概述 - Jetpack Compose本系列是我学习compose过程中,对官方文档的翻译和解读,以及实验性的Demo工程。主要参考官方文档和中文手册本文翻译内容: Why Compose | Jetpack Compose | Android Developers环境配置请参考中文手册教程搭建环境,为demo准备。在开始之前 - Jetpack ...

2021-10-17 15:55:08 247

原创 从零开始的音视频基础

声音声音是一种压力波,物体的振动带动周围空气的振动,产生疏密相间的空气纵波,传入人耳引起听觉声波由频率、振幅和相位(波形)组成。频率决定音高,振幅决定响度,波形(主要部分)决定音色关于音色比较复杂,可以参考这篇文章 对声音的主观感受:音色 - 知乎人耳听觉的频率范围是20Hz - 20kHz,但不同频率下,听力的感觉是不同的。下图是等响曲线,表示在各个频率下需要多强的声压才能产生相同强度的听觉由于声压的绝对数值变化范围太宽,且人耳对声音的感受,和声压的变化不是线性相关的,而是

2021-10-16 11:25:44 105

原创 正则表达式系列 (三)

前文链接:正则表达式系列 一正则表达式系列 二本文介绍了与文本处理密切相关的Unicode概念,以及简单探索正则的匹配原理。Unicode什么是Unicode在没有 Unicode 之前,全世界各个地区的文字编码各不相同,中国大陆用GB2312,美国用ASCII。这些编码标准的作用都是,给一个字符分配一个编号,形成码值与字符的映射。但随着互联网发展,跨地区交流时,同样的码值对应着不同地区的字符,假设编号1对应中文的“我”,而编号1对应英文的“a”,这样不就无法解码了所以Unicode标准出现

2021-10-14 19:07:46 238

原创 正则表达式系列 (二)

前文链接:正则表达式系列 一本文介绍的是正则的各种性质,有阅读难度,建议先阅读前文括号这里讲的括号特指小括号。分组作用最直白的含义,即将一部分元素括起来视为一个整体。#pythonre.search(r"^ab+$","abab") != None #False,即无法匹配re.search(r"^(ab)+$","abab") != None #True,可以匹配ab+的含义是匹配一个字符a开头,后面跟1个或多个字符b的字符串。所以不能匹配(注意用^和$限制匹配范围)(ab)+的含义

2021-10-10 15:26:15 314

原创 kotlin 函数基础 下

kotlin号称更好的java,不仅支持java的绝大部分语法,还新增了非常多语言特性。函数作为编程语言最重要的核心(我认为没有之一),kotlin的函数对于像我这样的初学者来说“面目狰狞”,本文记录了我学习过程中遇到的各种与函数有关的概念,并对各自的原理做一点点探索。本文涉及概念:扩展函数、匿名函数、标准函数、构造函数、委托函数、覆盖函数、挂起函数、泛型函数、回调函数本文还有一篇上文,介绍了其他类型函数 kotlin函数基础 上扩展函数顾名思义,扩展是对某个东西原有功能的增强。在kotlin中,所

2021-09-29 17:09:04 263

原创 正则表达式系列 (一)

本文是本系列第一部分,后续预计还有3-5篇学习初衷如果说设计模式是内功修炼的无上心法,那么正则就是外功横练的不二法门。最早听到正则这个词是大二时观摩别人的爬虫代码里,对那么一串花里胡哨的字符串惊为天人。再之后多次遇到使用的机会,却苦于不会遗憾收场(有好几次被妹子请教,然后不会...)有很多大佬程序员不屑于正则,随口就是说,“正则不是30分钟随便看看就会了吗?!”,每次听到都对我脆弱的心灵造成难言的伤害。虽然正则确实比不上大雅之堂的深邃知识,但却是难倒英雄汉的那一分钱。所以开个正则系列,冲

2021-09-20 16:15:32 401

原创 vim 入门

一个非常棒的vim学习平台 VimGeniusvim介绍 发展历史 为什么 vim 号称 「编辑器之神」? - 知乎 个人理解 vim首先是一款文本编辑器,其次才是所谓的“编辑器之神”。如果你不是做内核开发等,只是应用层开发程序员,(比如笔者作为android应用开发),那么vim对于我们来说仅仅是一款文本编辑器而已,和基于GUI的各种编辑软件没有多少区别,甚至可以说更难用。。 但是,当你对一个事物表示轻视时,你就永远失去了学习它的机会。vim具有非常强大的拓展性,通过加装插件

2021-09-18 16:58:59 256

原创 AndroidStudio 使用入门

安装(mac)直接从官网下载 https://developer.android.com/studio ,注意intel核和apple核的区别,目前公司主流的应该是intel核 直接打开dmg安装包,全部选择默认,一路next 安装结束后按照mac提示加入applications目录,并拖拽到底部导航栏创建快捷方式 打开AS(android studio简称),创建空project,命名为demo,可尝试编译运行,正常情况是能跑的配置JDK(mac)安装的最新版as默认包含sdk和jdk,但

2021-09-09 19:13:39 443

原创 Git快速入门

git 简介Git是目前世界上最先进的分布式版本控制系统,在处理各种项目时都十分高效,而且非常的高大上。SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。而且集中式版本控制系统是必须联网才能工作。Git是分布式版本控制系统,它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。git 命令.

2021-09-09 18:19:46 158

原创 kotlin函数基础 上

kotlin 函数基础(上)kotlin号称更好的java,不仅支持java的绝大部分语法,还新增了非常多语言特性。函数作为编程语言最重要的核心(我认为没有之一),kotlin的函数对于像我这样的初学者来说“面目狰狞”,本文记录了我学习过程中遇到的各种与函数有关的概念,并对各自的原理做一点点探索。本文涉及概念:顶层函数、成员函数、抽象函数、lambda函数、高阶函数、嵌套函数、内联函数剩余概念准备放到下一篇:扩展函数、匿名函数、标准函数、构造函数、委托函数、覆盖函数、挂起函数、泛型函数、回调函数(如

2021-07-04 17:44:47 366 2

原创 kotlin lambda之 “带接受者的lambda”

lambda基础lambda这一块是kotlin一大难点,作为初学者,本篇文章记录一下学习历程。主要讨论了labmda的基本语法,以及带有接受者的lambda这种特殊语法的含义。基本语法Lambda 表达式的完整语法形式如下:val sum: (Int, Int) -> Int = { x: Int, y: Int -> x + y }lambda 表达式总是括在花括号中, 完整语法形式的参数声明放在花括号内,并有可选的类型标注, 函数体跟在一个 -> 符号之后。如果推断出的该

2021-07-02 19:36:22 764 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除