Archive for 编程

在Mac上写cocos2d游戏代码的时候,写了个label,调了几次没居中,突然想到是不是mac屏幕的原因。然后鼠标滑了一下看了一下还正好差一倍居中。 然后网上搜了一下,在github上找到了解决方案。 HiDPI屏幕都会有这种问题,有两种patch,一个改pyglet的,一个改cocos2d的,然后我手动改了一下cocos2d的代码解决了。 话说cocos2d不更新了,维护也不知道会不会改。突然感觉选择cocos2d有点虚了。 issues:https://github.com/los-cocos/cocos/issues/303

Continue

上一篇使用antlr解析的,发现不行,官方提供的语法文件bug太多,多到不能用的程度,还是得用专门的开源库。这次选jsqlparser了。 从github下载一个源码,mvn package 打一个jar包。将jsqlparser-0.9.6.jar拷贝到工作目录。 &nbsp; <pre lang="java">import java.util.*; import net.sf.jsqlparser.parser.CCJSqlParserUtil; import net.sf.jsqlparser.statement.select.Select; import net.sf.jsqlparser.util.TablesNamesFinder; public class ParserTest { public static void main(String[] args){ System.out.println("Hello World!"); String sql = "select NVL( (SELE

Continue

做个项目要解析mysql sql语句,使用开源的库发现问题很多,不太适合。推荐的几个项目都是项目里边集成的,语言也不符合,太麻烦。只能自己搞了,选择antlr的原因是官方提供mysql解析的语法,做起来比较简单。 &nbsp; 安装: curl -O http://www.antlr.org/download/antlr-4.5.3-complete.jar 然后写一个shell脚本antlr,用来执行命令 #!/bin/bash java -cp .:./antlr-4.5.3-complete.jar:$CLASSPATH org.antlr.v4.Tool $* 从https://github.com/antlr/grammars-v4.git clone一些已经写好的sql语法文件。 &nbsp; 生成Python版的解析代码。 ./antlr  -Dlanguage=Python2  MySQLLexer.g4 ./antlr  -Dlanguage=Python2 -visitor  MySQLParser.g4 第二

Continue

selenium安装 去官网下载一个jar包,然后运行:java -jar selenium-server-standalone-2.53.1.jar 然后写代码就行了,会打开一个浏览器窗口。看看有办法静默打开不,好像phantomjs模式可以,这个还要安装。 &nbsp; &nbsp; <pre lang="python"># coding: utf-8 # from selenium import selenium from selenium.webdriver.common.by import By from selenium import webdriver from selenium.webdriver.phantomjs.webdriver import WebDriver from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC b

Continue

这个开始的时候想解决的,查文档搜索都没有,就没搞。现在有时间了准备搞搞,发现就一行代码就行了。 sql-hint.js文件 CodeMirror.registerHelper("hint", "sql", function(editor, options) {这里边。 addMatches()结果都存在result了,然后对result进行排序就搞定了。 result = result.sort(); 一行代码。

Continue

说说研究这个的起因: 妹子这几天心情不好,频发状态,为了随时了解她的动态,觉得写个接口时刻关注她是否发送新状态。mac下的通知中心是最好的消息提醒了,比ubuntu下的好多了,非常容易看到而且不烦人,所以想看看能不能调这个通知中心的接口。 系统编程肯定是可以了,但是我想用python写脚本,于是google一下,没有。改成英文找到了。。 几个关键的知识点: osascript https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/osascript.1.html https://developer.apple.com/library/mac/documentation/AppleScript/Conceptual/AppleScriptX/AppleScriptX.html#//apple_ref/doc/uid/10000156-BCICHGIE 这应该是osx的系统级脚本语言,类似之前windows的vbscript吧。最早就用VBscript就能写

Continue

额 前段时间和同学接毕业生的毕业设计,有一个中科大的就想用c#做,没办法就只能用c#了,然后装的win虚拟机,下载的vs2013免费版,期间试用时间过了,注册个账户登录就好了。大学的时候开过课,还做过大作业,基本都忘干净了。从官网看的文档,直接用的mvc5 ,ide的好处就是可以智能提示。 然后我也不懂继承关系,看教程,把继承的类给写错了,爆了一个看不懂的错误,根本找不到原因。没法,找个了asp.net的群,问了一下,大部分人都没用过mvc模式,不过其中有个人说你看一下你的model,然后我就把我的代码和官网教程对比,发现继承类写错了。。第一个问题算过去了 总之都是不了解的原因,我也想过找本书看一遍,但是就想做完毕业设计也不再碰了,就想看看官方文档做出来就行了。之后又碰到链接数据库model都对应一个数据库链接操作不会写,查了点资料,加了一个类文件,搞定了。后来还碰到外键定义的方法不会,搜索外键还不是这么叫的应该,文档上有但是看的时候过掉了,看目录有些词根本不知道是讲这个的,英文也不行。最后找到文档写出来了。 总的来说使用mvc方式开发这样的任务还是很方便很快,大多数问题都是

Continue

汗,简直是无奇不有,在lisp群里看到他们说这个语言。当时就感觉很有意思,然后搜索看了一下wiki和官网。当时只是看了wiki的表格,那些文字没看。就感觉和草泥马语言一个东西,挺简单的,于是想自己实现一个python版的。然后没几天就写完了。 主要借助wiki的中文介绍,官方的例子程序和下载的haskell源代码。haskell以前没看过,然后发现看代码一点不费劲。在lisp群里说,妮神说他和erlang差不多,我才意识到可能是以前看过erlang的原因。parser是编写边测试正确的,vm是一口气写完再测的,然后就不想测了,但是开始官方的例子有的跑不通,没办法,就一个指令一个指令的写功能测试到基本正确。然后能跑通官方例子,大部分指令都测过基本功能,除了流程的没写。 说说这个语言,只有三个字符:空格,tab,换行。写完就是一片空白,说是有助于防止别人将代码打印带走。我去真蛋疼。让我写我会用“\n\t”代替,用代码再生成,不会用真的空白,那样怎么看。编辑器还好,可以将空格和tab的背景颜色修改一下,换行就是最后的换行。github上就是整个一片白。说这个和草泥马语言差不多,其

Continue

n久前就有这样的冲动,这次读了淫神的代码后,决定还是动一下手。 语言语法主要类似python的,靠缩进来定义代码块,动态语言/静态语言还没想好0 0(应该会静态类型)。 以前想做的时候看过,flex,yacc/bison什么的,看了淫神的代码突然想自己实现一下,问题是难免的,出现问题解决问题。不下手不会知道问题会出在哪,这也是成长过程。看了淫神的代码开始想使用python写,后来觉得有必要复习一下c了,c语言用的太少了,是时候提高一下水平了。 再一个临时的决定是使用llvm,虽然现在还不是很懂其中的奥秘,看看文档慢慢来吧。这也是发现现在好多语言都在用来提示速度,dropbox也在搞py的实现,期待能达到更快的速度。 感觉如果用flex,bison ,llvm 写一个语言应该超简单。。。当然是写一个玩的而不是用的。 我看了淫神的代码 ,然后去翻python的源代码parse部分,无从下手,打眼也抽不出来各部分功能,然后就放弃了,自己慢慢搞。汗 更新 周末,屋里又看了一下python parser部分的源代码,找到了基本流程,开始基本就在Parser/pgenmain.c和P

Continue

好吧,我先把yin语言的java代码看了个差不多才想编译一下,主要原因还是想打印点测试的东西,并不是想写点什么。 总的来说像淫神说的,写得代码却是容易阅读。我java只是上学的时候开过课,再没用过,看的过程中只查了两三个的函数就看完了。看完了发现写个括号语言不算太难0 0,我的意思仅仅是学习知识不是编写一个可以用的语言。编译原理的课也开了,都是理论,传说中的龙书又是啥书的,我几分钟看来一遍,感觉和课本没什么区别。看一个编写初期的代码更容易理解一些东西。以前也想自己实现过,想想解析代码的复杂程度就怕了。 环境需求,参照github的wiki上。 java jdk 1.7,ubuntu12.04自带好像是openjdk 我以前搞安卓游戏的时候换过了。 maven 3.2 我直接从官网下载的二进制版本,http://maven.apache.org/download.cgi。解压到/opt/maven-3.2.1,vim /home/a0x55aa/.bashrc,添加export PATH=/opt/maven-3.2.1/apache-maven-3.2.1/bin:$P

Continue