Site uses cookies to provide basic functionality.
Javascript rendering is set to off by default when visiting the site via .onion and .i2p domains. It can be enabled back again in user's settings section. Javascript rendering set to off means, that you can disable javascript in your browser now and the site will remain functional.
There is also IRC server now available via native IRC clients or non javascript web based one.
Fonts can be adjusted in user's settings section as well.
Check FAQ for more.

OK

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
基本概念 APT 全称为 Annotation Processing Tool ,可翻译为注解处理器,APT 工具是用于注解处理的命令行程序,它可以找到源码中对应注解的对象并使用注解处理器对其进行处理。 一般来说,我们会使用 APT 生成一些源码,然后加入编译目录进行编译,从而简化开发周期。 注解 注解处理器是基于注解(Annotation)的,实际开发中自定义注解用的比较少,这里先简单的复习下相关概念。 Java 注解是 Java1.5 中引入的概念,是用来标注代码的元数据。 定义一个注解 定义一个注解使用 @interface 关键字。 public @interface Test {} 对,这样一个名为 Test 的注解就定义好了。 元注解 元注解是注解的注解,用来标注注解的元数据。 可以通过元注解来控制注解的一些属性与行为。 Java 中元注解共有四种:Retention、Inherited、Documented、Targ....


关于 Gradle 中的基础、Task 等知识,可以看我的 上一篇文章 。 Gradle 中的依赖 Gradle 中的依赖可以分为脚本文件依赖、插件依赖以及包依赖。 脚本文件依赖 随着项目结构的复杂,一个 build.gradle 已经无法满足我们的需求了,尤其是对依赖库版本的配置,如果多个 project 都需要用到某个依赖库,稍有不慎版本就会错乱,从而引发一些问题。 此时我们期望可以把所有用到的依赖库版本都配置在同一个文件中,build.gradle 使用这个文件中的版本来依赖相应的版本,Gradle 提供了 apply 方法来依赖其他文件。 apply from: 'config.gradle' 我们可以在 build.gradle 文件中添加上述代码来依赖 config.gradle 文件,这样就可以把这个文件中的设置应用到对应的 Project 中去, 包括其中的 Task 。 插件依赖 插件依赖是指依赖 编译插件 ,最常见的是我们....

Gradle 是用于构建项目的工具,除了管理依赖库之外,Gradle 还支持我们自己添加编译脚本、添加编译配置等控制项目的构建,通过提供 API 我们可以控制编译的每一步操作。 Gradle 目前使用最广泛的是 Android 项目的构建 ,几年前 Google 推出 Android Studio 的同时也把它也推选为默认的构建工具,因此我们也经历了从 Maven 到 Gradle 这一痛苦的转变过程,每天对着满屏的编译失败信息怀疑人生。 实际上 Gradle 也确实对开发者很不友好,用 Gradle 你能遇到各种各样的问题,版本混乱到无以复加,互相还不兼容,甚至对 Android Studio 都有版本要求。不过几乎所有的问题都能 Google 到答案,而我们也能看到确实在逐渐变好。 关于 Gradle 中的依赖与自定义插件,可以点此看我的 下一篇文章 。 Gradle 基本原理 我们知道 Gradle 是一种以 Groovy 语言 为基础的 自动化构....

流程分析 我们从一个简单的 HTTP 请求开始: client = new OkHttpClient (); Request request = new Request . Builder (). url ( "your url" ). build (); //同步发起请求 Response syncResponse = client . newCall ( request ). execute (); //异步发起请求 client . newCall ( request ). enqueue ( new Callback () { @Override public void onFailure ( @NotNull Call call , @NotNull IOException e ) { ....





我们在自定义 View 控件时随处可见 Matrix 的身影,主要用于坐标转换映射,我们可以通过 Matrix 矩阵来控制视图的变换。 Matrix 本质上是一个如下图所示的矩阵: 上面每个值都有其对应的操作。 Matrix 提供了如下几个操作: 缩放(Scale) 对应 MSCALE_X 与 MSCALE_Y 位移(Translate) 对应 MTRANS_X 与 MTRANS_Y 错切(Skew) 对应 MSKEW_X 与 MSKEW_Y 旋转(Rotate) 旋转没有专门的数值来计算,Matrix 会通过计算缩放与错切来处理旋转。 数学原理 我们先来简单的复习一下矩阵乘法规则。 我们在使用 Matrix 处理视图变换时本质上是通过矩阵映射坐标。 所以上述的几个操作都是对矩阵的操作,我们新建一个 Matrix 后其矩阵为默认状态,其值如下: 可以看到默认状态下....

多指触控是指监听多个手指的触控事件,我们可以重写 View 中的 onTouchEvent 方法,或者使用 setOnTouchListener 方法来处理触摸事件。 首先我们来看一下如何判断多指触摸时的事件类型。 MotionEvent 中的事件类型 一般而言,我们通过判断 MotionEvent 的 action 来判断输入事件类型,从而做出相应的处理。 在不考虑多指的情况下,我们一般只关注如下几个事件类型: MotionEvent.ACTION_DOWN 第一根手指点击屏幕 MotionEvent.ACTION_UP 最后一根手指离开屏幕 MotionEvent.ACTION_MOVE 屏幕上有手指在滑动 MotionEvent.ACTION_CANCEL 事件被拦截 那么对于多指触控来说,除了上述常用的几种事件类型之外,我们还需要关注另外两个事件类型: MotionEvent.ACTION_PO....

缓存模块 我在分析 Glide 源码前将 Glide 的项目 clone 到了本地,阅读时添加了很多注释以及自己的理解等等,现在已经推到了 Github 上,有兴趣的同学可以看看: https://github.com/0xZhangKe/Glide-note 缓存模块涉及到的东西比较多,比较重要,所以需要单独用一章节来讲。 关于缓存的获取、数据加载相关的逻辑在 Engine#load 方法中。 先来看看缓存流程,流程如下图: 全部的缓存流程大致如上图所示。 Glide 实例化时会实例化三个缓存相关的类以及一个计算缓存大小的类: //根据当前机器参数计算需要设置的缓存大小 MemorySizeCalculator calculator = new MemorySizeCalculator ( context ); //创建 Bitmap 池 if ( bitmapPool == null....

项目编译 项目基于最新版 Glide 4.9.0 源码 分析,通过如下方式获取并编译代码: git clone https://github.com/bumptech/glide.git cd glide ./gradlew jar 我在分析 Glide 源码前将 Glide 的项目 clone 到了本地,阅读时添加了很多注释以及自己的理解等等,现在已经推到了 Github 上,有兴趣的同学可以看看: https://github.com/0xZhangKe/Glide-note 总览 有一点需要说明的是,Glide 源码很复杂, 涉及到的东西也很多,这里不能面面俱到,只是把我认为重要的东西介绍了一下,可能还有一些疏漏。 首先我将 Glide 分成了几个模块,让大家有个整体的印象,自顶向下的分析源码,从而实现降维打击。 按照逻辑功能划分,可以把 Glide 框架大概的分成如下几个部分: Glide 大体上可以分为如上几个模块。 下面通过....

DK82: Darknet - datenkanal.org - 7 years ago - deu


Laptop Stand - june.kim - 7 years ago - deu


QRCodeView 基于 com.google.zxing 开发,用于简化 Android 设备扫描、生成二维码等操作。 前言 QRCodeView 基于 Google 的 zxing 进行二次开发,简化二维码的相关操作、优化识别速度。由于整个 zxing 框架中不仅包含了二维码识别相关的代码,还包括其他格式如条形码等等的代码,体量较大,实际开发中一般只需要使用二维码,故本项目中删除了不必要的代码。本项目不仅提供了使用摄像头预览实时识别二维码,还有如生成一张二维码图片,生成一张带有 logo 的二维码图片等等。 注意:此项目只支持二维码,不支持其他格式的条码! 效果图 集成方式 在 app/build.gradle 中添加依赖: implementation 'com.github.0xZhangKe:QRCodeView:1.3' 如果依赖失败还要在根目录的 builde.gradle 中添加仓库: maven { url....





Der Herbst kommt - rybakov.com - 8 years ago - deu

Handler Handler 主要用于在不同的线程中相互通信,使用场景最多的应该就是在子线程中更新 UI。 与 Handler 相关的类: Handler :处理与发送消息(Message) Message :消息的包装类 Looper :整个 Handler 通信的核心,接受 Handler 发送的 Message,循环遍历 MessageQueue 中的 Message,并发送至 Handler 处理 MessageQueue :保存 Message LocalThread :存储 Looper 与 Looper所在线程的信息 关系流程图: 上图简单概括为: Handler 将 Message post 或者 send 到 MessageQueue 中,Looper 不断循环从 MessageQueue 中取出 Message 交由 Handler 来处理。 Handler 消息处理 Handler 处理消息的方法为 dispatchMe....





Chicken bicicleta - rybakov.com - 9 years ago - deu
In Guinea laufen Hühner überall rum, sie sind schmal und schmächtig, leicht und knochig wie Rennradfahrer.





Wer Videos über Vimeo oder youtube publiziert, muss sich mit solchen Fragen nicht beschäftigen. Für die zwei Leute, die selber noch Videos in mp4 konvertieren um sie dann in ihre Webseiten einbinden ist es vieleicht interessant. Also vielleicht interessant zu erfahren, dass ich lange Zeit es falsch gemacht habe mit direkten Exporten aus FinalCut oder MPEGStreamclip. Es geht besser mit ffmpeg. FFMPEG kann man recht leicht mit Homebrew ..

Expansion - june.kim - 10 years ago - deu


Die Magisterprüfung - rybakov.com - 10 years ago - deu
Aus der Magisterprüfung der Julia Emmler. Jetzt neu - man kann die Videos mit Sound anschauen. Es lohnt sich!

Vor einem Jahr auf Rügen war es so kalt, vor einem Jahr auf Rügen war es so kalt, dass der Sanddornsaft einfror in der Verpackung, wenn man ihn draußen gelassen hat. Es war so kalt, dass der Laub bei jedem Schritt in Staub zerfiel, den ganzen Wald erschütternd. So kalt, dass die Dunkelheit sich nicht traute zu kommen, wartete nebenan den ganzen Tag lang, und wenn sie dann endlich kam, fiel sie in Flocken vom Himmel. Es war so kalt, ..

On shades - rybakov.com - 10 years ago - deu
Der Anblick von Guinäer in Militäruniformen oder mit Sonnenbrillen erzeugt bei mir ein ungutes Gefühl in der Magengegend. Zum Teil durch die Bilder der Berichterstattung aus Afrika verursacht, zum Teil aus der Erinnerung an meine erste Reise. Da wollte ich mal ein Bild von der Straße machen, und ein paar entlang spazierende Militärs haben es gesehen. Natürlich wollten sie die Kamera konfiszieren, weil es ja illegal ist, Militäreinrichtungen..

Mbo - rybakov.com - 10 years ago - deu
Alassan (links) und Alcin. Auch Mbo genannt, weil niemand sie auseinander halten kann. Sehr ernste Leute. Am dritten Tag kam Alassan nicht zu den Übungen, da er mit 40° Fieber im Bett lag. Im Krankenhaus steckten benutzte Nadeln aus dem Bett, und so hat Christoph ihn einfach mit Antibiotika gefüttert, und mit Käsebrot, und dann ging es schon. Den Alcin musste ich beim feierlichen Drehabschluss aus dem Pool ziehen, als er in der Mitte vo..

LGA - rybakov.com - 10 years ago - deu

Gait - rybakov.com - 10 years ago - deu
Wenn man nach langem Flug noch auf den verspäteten Zug warten muss, kann man den Gang der Menschen beobachten. Wie sie das Knie voranschleudern, und der Unterschenkel schwingt mit und die Ferse trifft gewaltsam auf den Boden. Oder da läuft jemand sehr kontrolliert, schwunglos, und stellt sein Fuß vorsichtig ab. Und wie die Zwischenschicht zwischen Mensch und Boden die Raumposition und Bewegungsablauf beeinflußt! Ein Wunder, dass sie n..

Es saß auf der Poolwand eine Eidechse, die hatte ihren Schwanz unter Wasser. Sie bewegte sich nicht, nur das Wasser schwappte auf und ab und es schien, als würde sie mit dem Schwanz wedeln. Ich habe das gefilmt, zwanzig Minuten lang, wie die Eidechse ihren Schwanz bewegt, also nicht die Eidechse und nicht den Schwanz, aber es sah ja so aus. Ich habe das gefilmt, und die Speicherkarte in die Hosentasche getan, weil sie voll war, die Speich..

Bolzplatz - rybakov.com - 10 years ago - deu
Die Flut kommt und bringt Sachen mit. Die Ebbe kommt, und zeigt sie. Manchmal kommen ältere Spieler und tragen den Müll zur Seite. Danach kommt wieder die Flut. Das ist der Lauf der Dinge.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
48 visitors online