- 博客(191)
- 资源 (2)
- 收藏
- 关注
原创 Error: Unable to extract uploader id - Youtube-Dl
出现这个错误是因为需要更换youtube_dl工具。
2024-02-24 07:14:22 535
原创 Youtubedl CERTIFICATE_VERIFY_FAILED
将ydl_opts中的'nocheckcertificate': opts.no_check_certificate, 改为True。
2024-02-24 07:13:03 412
原创 Android Studio导入flutter项目,运行和调试按钮灰色
点击Add Configuration => Flutter 选中当前需运行项目的main.dart路径并命名,配置成功后选中刚刚命名的dart即可。1.是否配置了Android SDK ,打开 file => project Structure =>project。描述:用android Studio导入flutter项目,运行和调试按钮无法点击并置灰,显示如下。SDK,打开 setting => Languages&Frameworks =>Flutter。4.是否配置了main.
2023-08-10 23:43:56 417
原创 开源NLP文本标注工具CatchingFire
做过NLP相关工作内容的小伙伴应该都知道标注数据才是最花时间的部分,因此一个好用的标注工具来提高标注效率尤为重要。调研了多个开源工具后,发现现有大多数标注工具都只是简单的标注功能,并没有利用模型智能辅助标注。因此闲暇之余开发了标注工具CatchingFire(因为标注工具虽然看起来不重要,但是在NLP任务当中占据极为重要的部分,CatchingFire也就是星星之火可以燎原的意思)。标注工具地址为https://github.com/liwan1698/CatchingFire架构图如下:
2021-02-14 23:55:18 1400
原创 NLP-分词、词干化、n-gram
分词在NLP中,需要将文本进行单词或词组的分割,以便于构建特征。例如,“i am a student”,可以分词为“i”,“am”,“a student”。由于英文的特点,每个单词都有空格,所以比较好分。但是像中文,只有句子与句子之间才有明显的分割,单词和词组之间无法直接分割,所以就需要一定的规则库对中文分词处理。词干化词干化就是将不同状态的单词进行简化处理,例如listened转化为listen,目的是减少词汇量,进而减少特征。这个是针对英文而言的,中文没有这方面的需要。词袋通过单词出
2020-05-17 16:09:08 873
原创 安装python包的错误及处理
1 pip install时下载速度慢pip install pip -Upip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple2ERROR: xxx.whl is not a supported wheel on this platform.安装包的名字错误会导致不能安装成功,例如在ch...
2020-04-25 15:37:22 734
原创 linux常用知识点
如何linux检查文件句柄泄露ps -aux | grep 进程名ps aux|head -1;ps aux|grep elals -la /proc/进程ID/fdlsof|awk '{print $2}'|sort|uniq -c|sort -nr|more |grep 进程PID制造较大的文件dd if=/dev/zero of=test bs=1M count=10...
2019-08-14 11:31:15 210
原创 C/C++、Java、Go、Python总结对比32-接口-java
接口是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。下面先来看下写法:Animal .javapackage blog.interfacedemo;//定义接口public interface Animal { public void eat(); //抽象出类的公共方法,只定义方法,不具体实现...
2019-06-03 08:12:37 301
原创 C/C++、Java、Go、Python总结对比31-接口-c++
面向对象的语言基本上都可以实现接口。c++中,没有特定的关键词来定义接口类,但是可以间接来实现。既然有抽象类,为什么要用接口呢?接口带来的最大好处就是避免了多继承带来的复杂性和低效性,并且同时可以提供多重继承的好处。接口和抽象类都可以体现多态性,但是抽象类对事物进行抽象,更多的是为了继承,为了扩展,为了实现代码的重用,子类和父类之间体现的是is-a关系;接口则更多的体现一种行为约束,一种规...
2019-06-03 08:11:41 284
原创 C/C++、Java、Go、Python总结对比30-异常处理-python
python的异常机制同其他语言差不多,下面直接来看代码进行学习吧。array = ['carsonHai', 'BertLi']list = {'age': 25, 'name': 'BertLi'}str = 'Hello World!'try: int(str) print(array[3]) print(list['sex']) open("Ca...
2019-06-02 05:22:10 328
原创 C/C++、Java、Go、Python总结对比29-异常处理-go
go语言为了更加简洁优雅,没有类似java的try...catch...这种写法,因为try...catch在某些情况下会嵌套使用,造成代码运行后不知道哪里就跑到了异常处理的代码里。但是也有相应的异常处理机制。需要记住的关键词有个,error,defer,panic,recover。1 errorerror类似java中的Exception类型,不同的是Exception必须搭配t...
2019-06-02 05:21:18 442
原创 C/C++、Java、Go、Python总结对比28-try...catch异常-java
使用场景:当某一段代码运行时有可能会出现异常时,对这部分代码使用try进行封装。目的:使这部分可能会出现异常的代码与正常的业务代码分离,提高代码的健壮性,防止程序运行到这部分发生异常的代码时直接挂掉。Java异常机制主要依赖于try、catch、finally、throw、throws五个关键字。try:它里面放置可能引发异常的代码 catch:后面对应异常类型和一个代码块,用于表明...
2019-06-02 05:18:39 261
原创 C/C++、Java、Go、Python总结对比27-try...catch异常-c++
我们平时写完代码运行的过程中,会出现一些问题,但是又不想让程序立马挂掉,或者有些数据没有处理程序就终止运行了。对于不想让程序直接遇到问题就停止的情况,我们可以用try...catch...捕获异常,打印出异常后继续运行。对于有些数据没有处理程序就挂掉的情况,我们可以用c++的析构函数和java中的finally来进行处理。throw:当问题出现时,程序会抛出一个异常。这是通过使用thr...
2019-06-02 05:17:31 275
原创 C/C++、Java、Go、Python总结对比26-可变参数
可变参数适用于我们在传入函数参数的时候,不确定传入的参数数量情况下。每个语言都实现了这个功能。下面来看下各个语言的写法:c/c++的写法#include <stdio.h>#include <stdarg.h>double average(int num,...){ va_list valist; double sum = 0.0;...
2019-06-02 05:16:15 291
原创 C/C++、Java、Go、Python总结对比25-默认参数值
默认参数就是我们在定义函数的时候,有时候传入的参数大多数情况下都是使用同一个值,这个时候就需要定义默认参数的值来达到简化函数调用的目的。个人理解他可以间接实现函数重载的效果。下面来看下各个语言的写法。c的写法c中没有默认参数值的概念,不过可通过宏定义间接实现默认参数值的效果。#include <stdio.h>//在宏定义中,宏参数名前加上#表示为一个字符串//...
2019-06-02 05:15:09 211
原创 C/C++、Java、Go、Python总结对比24-抽象类和方法
它时一个去除对象中不重要的细节的过程,只有那些描述了对象的本质特征的关键点才被保留。例如:苹果、香蕉,普通,桃子等。它们的共同特征就是水果。得出水果概念的过程,就是一个抽象的过程。抽象类和方法的目的就是把多个类的共有属性拿出来,单独作为一个类来让其他类去继承。抽象类在什么情况下比较适用需要运用多态,并且某些方法在子类中必须重定义时。下面看下各个语言的写法:c++的写法#i...
2019-06-02 05:14:11 257
原创 C/C++、Java、Go、Python总结对比23-导入类或包
在平时的学习中,写代码的时候可能会只写一个简单的demo,一般也就最多两三个文件。但是在实际的运用当中,代码文件可能会达到几十个甚至几百几千个。这个时候就需要通过文件夹来进行区分,也叫包。下面来看下c/c++、java、go和python如何区分不同文件夹下的文件并进行导入。c/c++的写法文件夹结构headfile.h//头文件中一般用来声明常量和函数,c文件中具体定义...
2019-06-02 05:12:46 734
原创 C/C++、Java、Go、Python总结对比22-for和while
for和while是我们在平时的开发中经常用到的。其中for的使用场景一般都是已知需要迭代的次数,而while的使用场景更多是不知道循环多少次才能达到条件。下面来看代码:c的写法#include <stdio.h>int main() { //第一种for循环 for (int i = 0; i < 3; ++i) { printf("...
2019-06-02 01:02:51 278
原创 C/C++、Java、Go、Python总结对比21-if和switch
if在平时写代码的过程中是肯定会用到的,用于对条件进行判断。switch相对来说用的少一点,下面来看代码。c/c++的写法#include <stdio.h>int main() { int a = 0; if (a > 0) { //if语句及其分支 printf("a is positive"); } else if ...
2019-06-02 01:00:21 278
原创 C/C++、Java、Go、Python总结对比20-内部类
内部类顾名思义,就是在函数或者类内部的类,其中c++和java有内部类的概念,python没有内部类的概念。内部类的使用场景一般是需要定义一个类时,但是该类只有当前的类中需要,所以只需要在当前类中定义类即可。c++的写法 #include <iostream>#include <string>using namespace std;//定义外部类cla...
2019-06-01 18:58:50 289
原创 C/C++、Java、Go、Python总结对比19-重载和多态
笔者在平时的学习过程中,经常碰到这两个词,但是如果不进行总结的话,经常会弄混淆。这里说一下这两个概念的的层次的上的不同,重载是在同一个层次的概念,比如都在同一个类中。而多态说的是不同的层次,即父类和子类具有相同的函数,但是功能有所不同,这是多态。下面看代码:c++的写法 #include <iostream>#include <string>#include ...
2019-06-01 18:57:31 302
原创 C/C++、Java、Go、Python总结对比18-类的继承
在实现类的继承的时候,有很多需要注意的地方,包括语法,重写父类方法和访问父类成员。下面看c++、java和python的实现,以及go如何间接实现类的继承功能。c++的写法 #include <string>#include <iostream>using namespace std;//定义父类class Father {public: s...
2019-06-01 18:56:26 413
原创 C/C++、Java、Go、Python总结对比17-类的构造函数
在定义一个类的对象的时候,常常会需要对类的成员变量进行赋值,或者需要先执行某些函数实现功能。下面看下面向对象的语言c++、java和python的构造函数的用法。c++的写法头文件constructorDemo.h#include <string>using namespace std;class ConstructorDemo {public: //声明...
2019-06-01 18:55:07 201
原创 C/C++、Java、Go、Python总结对比16-public、protect和private使用总结对比
想了解这3个修饰符的使用请查看专栏的前几篇文章。根据c++、java和Python的使用总结如下:1. java比c++多了default修饰的类成员,并引入了包的概念,default在当前包内可被访问;2. 为了简化记忆,可以这样理解,public和private不用记忆,一个可以在任何地方被访问,一个只能在类内被访问;3. c和java的protect的用法有所区别,ja...
2019-06-01 18:53:57 249
原创 C/C++、Java、Go、Python总结对比15-public、protect和private使用3-python
python中没有这三个词的定义,不过可以实现类的private成员和public成员。通过在类的成员前添加双下划线“__”实现私有属性。class ObjectDemo: # 定义类 def __init__(self, name, age): # 定义构造函数,函数或变量前有__表示私有变量或函数,同理不加则不是私有的 self.__name = name ...
2019-06-01 18:52:55 229
原创 C/C++、Java、Go、Python总结对比14-public、protect和private使用2-java
java的类中,这3个关键词的用法有所区别,先看一个表格:private大多数成员变量都是修饰符为private的,它们不希望被其他任何外部的类访问。只能被类内部的成员函数访问。default它是针对本包访问而设计的,任何处于本包下的类、接口、异常等,都可以相互访问,即使是父类没有用protected修饰的成员也可以。protected主要的作用就是用来保护子类的。它的...
2019-06-01 18:51:55 215
原创 C/C++、Java、Go、Python总结对比13-public、protect和private使用-c++
在面向对象的语言中,这3个关键词应该都是要用到。虽然c++、java、go、python都是面向对象的语言,但是语法和用法都有或多或少的区别,并不能学一门语言就能学会其他多门语言,他们的区别还是需要区分清楚的。(总有人说学会一门语言就其他语言都会了,千万不要信!如果真是这样的话,那一种语言就能一统天下了,别人闲的没事干发明这么多语言。只能说学会一门语言后有了编程基础,学其他语言会上手快一些而已...
2019-06-01 18:50:44 254
原创 C/C++、Java、Go、Python总结对比12-指针的定义和使用
指针是c、c++和go这些需要动态分配内存等功能的语言用到的,笔者在刚开始使用的时候,经常混淆指针的定义和使用,下面总结一下。c/c++的写法void pointDemo() { int normalVar = 1; //定义普通变量 int *pointVar1 = &normalVar; //定义指针变量 int *pointVar2 = 2; ...
2019-06-01 18:48:57 257
原创 C/C++、Java、Go、Python总结对比11-全局变量、局部变量和静态变量
全局变量和局部变量在写代码时需要区分清楚,不然会出大问题。不同语言定义不同范围的变量的写法有很大的区别。那么静态变量是在什么场景下用到呢?我们来假设这样一个场景:在函数内部定义的变量,当程序执行到它的定义处时,编译器为它在栈上分配空间,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题: 如果想将函数中此变量的值保存至下一次调用时,如何实现? 最容易想到的方法是定义为全局的变...
2019-06-01 18:47:23 677 1
原创 C/C++、Java、Go、Python总结对比10-类的总结对比-类的简单定义
现代编程语言基本上都是面向对象的语言,而这些语言基本上都会使用类体现该思想。本节主要介绍各个语言类的简单定义及语法,复杂的内容后续慢慢介绍。c的写法c没有类的定义,可以使用结构体间接实现,这里不做介绍。c/c++的写法定义头文件person.h//定义头文件class CPerson {public: //定义可以被任意实体访问变量 int age; //声明...
2019-05-29 10:36:20 631
原创 C/C++、Java、Go、Python总结对比9-结构体struct
结构体适用于需要将不同类型的数据放到一个对象中,比如定义一个人的信息,需要将这个人的姓名,排名,年龄等信息定义到一个数据类型当中。c/c++的写法void structDemo() { //定义结构体 struct PersonInfo { int index; char name[30]; int age; };...
2019-05-29 10:34:32 343
原创 C/C++、Java、Go、Python总结对比8-Map
map可以用来存储键值对,比如统计全班人的身高,采用的键值对为 人名:身高值。c的写法c的内置类型没有mapc++的写法#include <map>void mapDemo() { map<int, char> map1; //初始化map map1.insert(map<int, char>::value_type(1, ...
2019-05-29 10:32:58 208
原创 C/C++、Java、Go、Python总结对比7-set定义
set经常被用来将存储不重复的数据,例如有一堆有重复的数字,现在需要得到数字有多少类型,此时就可以利用set来存储这些数字,最终得到的集合就是不重复的数字集合。c的写法c中没有setc++的写法#include <set>void setDemo() { set<int> set1; //创建set set1.insert(1); /...
2019-05-29 10:31:11 237
原创 C/C++、Java、Go、Python总结对比6-list定义
list是我们在处理数据时经常用到的。c的写法c中没有listc++的写法#include <iostream>#include <string.h>#include <vector> //需要引入vector头文件#include <list>#include <stdio.h>using namespa...
2019-05-29 10:29:35 188
原创 C/C++、Java、Go、Python总结对比5-数组定义及增删查改
list是我们在处理数据时经常用到的。c的写法c中没有listc++的写法#include <iostream>#include <string.h>#include <vector> //需要引入vector头文件#include <list>#include <stdio.h>using namespa...
2019-05-29 10:28:11 268
原创 C/C++、Java、Go、Python总结对比4-数组定义及增删查改
数组经常用来进行科学计算或者进行一些同类型变量的存储c的写法#include <stdio.h>int main() { double array1[2] = {1.0, 2.25}; //元素为double类型的数组,在定义时指定数组的长度为2 int array2[] = {1,2,3}; //元素为int类型的数组,在定义时如果不知道元素的个数可...
2019-05-29 10:26:37 319
原创 C/C++、Java、Go、Python总结对比3-字符串的定义及使用
字符串是大家一定会使用到的,因为经常会被用来将结果输出到控制台来查看结果是否正确。下面来看下5种语言不同的写法:c的写法#include <stdio.h>int main(){ char strVar[] = "hello"; printf(strVar);}c++的写法#include <iostream>#inclu...
2019-05-29 10:24:21 245
原创 C/C++、Java、Go、Python总结对比2-基本数据类型对比
既然要写代码,肯定少不了数据的操作,所以先来总结对比下不同语言的基本数据类型。c/c++、java、go、python的基本类型都有所差别,不过大部分常用的数据类型都是相同的,下面先讲常用的且相同的基本数据类型。基本类型|------数值型|-----整形(int)|-----双精度型(double)|-----字符型(char)|-----布尔型(boolean)需要注意的...
2019-05-29 10:19:42 702
原创 C/C++、Java、Go、Python总结对比1-从hello word开始
从写一个最简单的helloword来总结对比4种语言的语法。1 各个语言写法先来看下c/c++#include <stdio.h> //包含标准输入输出的头文件int main(){ /*printf函数包含在stdio.h头文件中,功能是打印(输出)字符串,""内表示字符串,\n是转义字符,表示回车换行。*/ printf("Hello world...
2019-05-29 10:12:08 592
原创 C/C++、Java、Go、Python总结对比1
写这个系列的文章前,先来讲一下初衷。本人作为一名国际知名大厂的程序员,在做开发的的过程中经常会被拉着做各种项目,当然这些项目所用的语言都是不同的,比如题目提到的C/C++、Java、Go、Python(以下简称4大语言,有异议的请勿喷,特别的PHP程序员,本人的想法是没有最好的语言,只有最合适的语言)。那么这就会产生一些问题,比如经常会混淆各个语言的语法,还有就是熟悉了另一种语言后忘记了之前语...
2019-04-17 00:26:08 1639
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人