Blogs

dart中html转换为文本的输出

dart里面没有现成的html转为text的功能,jsoup有现成的功能,可是无法移植到ios上,而且比较重,实在不值得折腾,基于dart的html库,手撸了一个html转换为text的处理

  1. class PlaintextVisitor extends TreeVisitor {
  2. final StringBuffer _str;
  3.  
  4. PlaintextVisitor() : _str = StringBuffer();
  5.  
  6. String toString() => _str.toString();
  7.  
  8. visitDocument(dom.Document node) {
  9. visitChildren(node);
  10. }
  11.  
  12. visitDocumentType(dom.DocumentType node) {
  13. visitChildren(node);
  14. }
  15.  
  16. visitText(dom.Text node) {
  17. if (node.text=="\n")
  18. return;
  19. writeTextNodeAsHtml(_str, node);
  20. }
  21.  
  22. visitElement(dom.Element node) {

迁移老的flutter程序支持AndroidX

Android Studio 3.2之前创建的老的flutter程序不支持AndroidX.需要迁移,参考下面的处理

https://medium.com/@swhussain110/how-to-migrate-your-flutter-app-to-andr...

吐槽Webrtc的IOS编译支持

XCode都已经10.2了,webrtc的ios编译甚至不能支持到xcode9,默认需要用xcode8编译,无F可说

参见类似的错误:
http://myblog.emhct.net.cn/index.php/archives/1940

无奈只好强行修改ios sdk的header file. 把uuid的api的_Nonnull属性删除才能编译通过.我之前还误以为是我的xcode版本太低导致的,将Xcode从9.2升级到10.2,结果同样的错误.而且类似的错误完全google不到,让我怀疑都没有人自己去编译webrtc ios库.

2019/4/23 追记

好像是我的webrtc的master branch没有更新到最新的toolchain,虽然head 已经sync了,应该不是google的问题

vmware安装OSX mojave的坑

要注意,必须将vmware升级到最新的15,12的话不支持apfs文件系统,升级后启动不了.

docker 性能还是不太行

最近尝试了一下把应用在docker里面执行,发现tomcat经常性超时.放到docker外运行就没有问题,看来性能还是不太行

看小说

朋友的网站爱看书https://www.520kxs.com

长尾关键字

可以通过爱站,5118,牛佬工具,百度指数查询

泛解析对SEO的影响

https://www.jianshu.com/p/11e26a6fb0c1

Flutter中ListView的性能优化窍门

Flutter的listview显示几千条的列表时,性能会很差,性能改善的方法是
1.使用ListView.builder来动态创建要显示的项目
2.如果列表中每一项都是定长的话,可以设定itemExtent属性,这会极大的改善列表的滚动性能.

Opencv仿射和透射变换的坐标变换

OpenCV里面通过getAffineTransform或者findTransformECC获取变形矩阵的饿时候会得到一个2x3或者3x3的变形矩阵,分别对应仿射矩阵和透视矩阵.

变形的时候如果想要算出原始图像坐标到目标图像的坐标的时候,可以使用下面方法计算

  1. if (matrixSize == 3)
  2. {
  3. //计算透视变换坐标
  4. double w= warp_matrix.at<float>(2, 0)*orgX + warp_matrix.at<float>(2, 1)*orgY + warp_matrix.at<float>(2, 2);
  5.  
  6. targetX = (warp_matrix.at<float>(0, 0)*orgX + warp_matrix.at<float>(0, 1)*orgY + warp_matrix.at<float>(0, 2))/w;
  7. targetY = (warp_matrix.at<float>(1, 0)*orgX + warp_matrix.at<float>(1, 1)*orgY + warp_matrix.at<float>(1, 2))/w;
  8. }
  9. else {
  10. //计算仿射变换坐标

Syndicate content