摘要: 一、AI 智能情诗、藏头诗展示 最近使用PyTorch的LSTM训练一个写情诗(七言)的模型,可以随机生成情诗、也可以生成藏头情诗。 在特殊的日子用AI生成一首这样的诗,是不是很酷😎💘!下面分享下AI 智能写情诗原理。 二、AI 智能写情诗原理 1、AI 智能写情诗思想 通过学习既有的情诗,随机 阅读全文
posted @ 2022-02-09 18:37 jingwhale 阅读(3004) 评论(0) 推荐(4)
摘要: whale-makelink是一个npm工具,是强业务的工具,可以将当前工程目录下的项目文件夹,在README中生成项目的链接地址。Demo。 一、npm init 使用npm init生成package.json { "name": "whale-makelink", "version": "1. 阅读全文
posted @ 2019-04-13 00:14 jingwhale 阅读(601) 评论(0) 推荐(0)
摘要: 1、需求 在Sketch的Artboard中插入网页截图: 1.1、输入网址,自动截图到Artboard中,并居中显示; 1.2、可截取网页局部图片 2、技术选型 技术的选型主要是针对截图功能的选型,插件技术选用sketch-webview-kit。 截图技术主要有phantomjs、puppete 阅读全文
posted @ 2019-04-08 09:40 jingwhale 阅读(1027) 评论(2) 推荐(0)
摘要: 相信大家都对Sketch有一定的了解和认识。除了基础的矢量设计功能以外,插件更是让Sketch保持强大的独门秘籍。Sketch开放了第三方插件接口,设计师可以在几百种的插件中轻松找到适合自己工作方式的插件,并且他们都非常容易获得和安装。这里主要介绍使用Javascript API for Sketc 阅读全文
posted @ 2019-03-12 23:33 jingwhale 阅读(3088) 评论(0) 推荐(0)
摘要: 1、栈(stack)和堆(heap) stack为自动分配的内存空间,它由系统自动释放;而heap则是动态分配的内存,大小不定也不会自动释放。 2、基本类型和引用类型 (1)基本类型:存放在栈内存中的简单数据段,数据大小确定,内存空间大小可以分配。   5种基本数据类型有Undefined、Null、Boolean、Number 和 String,它们是直接按值存放的,所以可以直接访问。 (2)引用类型:存放在堆内存中的对象,变量实际保存的是一个指针,这个指针指向另一个位置。每个空间大小不一样,要根据情况开进行特定的分配。   当我们需要访问引用类型(如对象,数组,函数等)的值时,首先从栈中获得该对象的地址指针,然后再从堆内存中取得所需的数据。 3、传值与传址   前面之所以要说明什么是内存中的堆、栈以及变量类型,实际上是为了更好的理解什么是“浅拷贝”和“深拷贝”。   基本类型与引用类型最大的区别实际就是传值与传址的区别。测试用例: 阅读全文
posted @ 2015-10-16 11:19 jingwhale 阅读(4270) 评论(0) 推荐(2)
摘要: 排序:就是重新排列表中的元素,是表中的元素满足按关键字递增或递减的过程。为了查找方便,通常要求计算机中的表是按关键字有序的。排序的确切定义如下: 输入:n个记录R1,R2, ...,Rn对应的关键字为k1,k2,...,kn。 输出:输入序列的一个重排R1',R2', ...,Rn',使得有k1'<=k2'<=...<=kn'(其中“<=”办以换成其他的比较大小的符号)。 算法的稳定性:如果待排序表中有两个元素Ri、Rj,其对应的关键字keyi=keyj,且排序前Ri在Rj前面,如果使用某—排序算法排序后,Ri仍然在Rj前面,则称这个的,否则称排序算法是稳定的,否则称排序算法是不稳定的。需要注意的是,算法是否具有稳定性并不能衡量一个算法的优劣,它主要是对算法的性质进行描述。 注意:对于不稳定的排序算法,只需举出一组关键字的实例说明它的不稳定性即可。 在排序的过程中,根据数据元素是否完全在内存中,可将排序算法分为两类:内部排序是指在排序期间元素全部存放在内存中的排序;外部排序是指在排序期间元素无法全部同时存放在内存中,必须在排序的过程中根据要求不断地在内、 阅读全文
posted @ 2015-08-31 21:00 jingwhale 阅读(1467) 评论(0) 推荐(0)
摘要: 算法效率的度量是通过时间复杂度和空间复杂度来描述的。 一.时间复杂度 —个语句的频度是指该语句在算法中被重复执行的次数。算法中所有语句的频度之和记作T(n),它是该算法问题规模n的函数,时间复杂度主要分析T(n)的数量级。算法中的基本运算(最深层循环内的语句)的频度与T(n)同数量级,所以通常采用算法中基本运算的频度制来分析算法的时间复杂度。因此,算法的时间复杂度也记为: T(n)=O(f(n)) 上式中“O”的含义是T(n)的数量级,其严格的数学定义是:若T(n)和f(n)是定义在正整数集合上的两个函数,则存在正常数C和no,使得当n>=no时,都满足0<=T(n)<=C*F(n)。 算法的时间复杂度不仅依赖于问题的规模n,也取决于待输入数据的性质(如输入数据元素的初始状态)。 (1)时间频度 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。并且一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多 阅读全文
posted @ 2015-08-30 18:01 jingwhale 阅读(3075) 评论(0) 推荐(1)
摘要: 什么是Unix时间戳(Unix timestamp): Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。Unix时间戳不仅被使用在Unix系统、类Unix系统中,也在许多其他操作系统中被广泛采用。 目前相当一部分操作系统使用32位二进制数字表示时间。此类系统的Unix时间戳最多可以使用到格林威治时间2038年01月19日03时14分07秒(二进制:01111111 11111111 11111111 11111111)。其后一秒,二进制数字会变为10000000 00000000 00000000 00000000,发生溢出错误,造成系统将时间误解为1901年12月13日20时45分52秒。这很可能会引起软件故障,甚至是系统瘫痪。使用64位二进制数字表示时间的系统(最多可以使用到格林威治时间292,277,026,596年12月04日15时30分08秒)则基本不会遇到这类溢出问题。 阅读全文
posted @ 2015-07-24 22:11 jingwhale 阅读(378489) 评论(9) 推荐(11)
摘要: js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据。只要协议、域名、端口有任何一个不同,都被当作是不同的域。 同源策略阻止从一个域上加载的脚本获取或操作另一个域上的文档属性。也就是说,受到请求的 URL 的域必须与当前 Web 页面的域相同。这意味着浏览器隔离来自不同源的内容,以防止它们之间的操作。JavaScript出于安全方面的考虑,同源策略不允许跨域调用其他页面的对象。但在安全限制的同时也给注入iframe或是ajax应用上带来了不少麻烦。javascript跨域简单分为以下情况: 1、基于同一父域的子域之间,如:a.c.com和b.c.com 2、基于不同的父域之间,如:www.a.com和www.b.com 3、端口的不同,如:www.a.com:8080和www.a.com:8088 4、协议不同,如:http://www.a.com和https://www.a.com 对于端口和协议的不同,需要通过后台proxy来解决,具体方式如下: a、在 阅读全文
posted @ 2015-07-22 23:39 jingwhale 阅读(3734) 评论(4) 推荐(7)
摘要: Apriori algorithm是关联规则里一项基本算法。是由Rakesh Agrawal和Ramakrishnan Srikant两位博士在1994年提出的关联规则挖掘算法。关联规则的目的就是在一个数据集中找出项与项之间的关系,也被称为购物蓝分析 (Market Basket analysis),因为“购物蓝分析”很贴切的表达了适用该算法情景中的一个子集。   关于这个算法有一个非常有名的故事:"尿布和啤酒"。故事是这样的:美国的妇女们经常会嘱咐她们的丈夫下班后为孩子买尿布,而丈夫在买完尿布后又要顺 手买回自己爱喝的啤酒,因此啤酒和尿布在一起被购买的机会很多。这个举措使尿布和啤酒的销量双双增加,并一直为众商家所津津乐道。 阅读全文
posted @ 2015-07-03 13:06 jingwhale 阅读(12083) 评论(0) 推荐(0)