文言文编程语言
文言文编程语言,真是有意思啊。
近日,GitHub 上一个叫做文言文(wenyan)的编程语言项目火了,就在本文成文期间,GitHub 上的 Star 数已经从 2800 涨到我看到的 8329,并还有继续上涨的趋势。只需要在在线编辑器上,或下载一个编译器,就可以用文言文进行编程。让人惊讶的是,这个涉及思路清奇的项目竟然出自卡内基梅隆大学的一名大四学生之手,不禁让人感叹后生可畏。
文言文编程语言,真是有意思啊。
近日,GitHub 上一个叫做文言文(wenyan)的编程语言项目火了,就在本文成文期间,GitHub 上的 Star 数已经从 2800 涨到我看到的 8329,并还有继续上涨的趋势。只需要在在线编辑器上,或下载一个编译器,就可以用文言文进行编程。让人惊讶的是,这个涉及思路清奇的项目竟然出自卡内基梅隆大学的一名大四学生之手,不禁让人感叹后生可畏。
vConsole的地址:
https://cdnjs.cloudflare.com/ajax/libs/vConsole/3.3.4/vconsole.min.js
可以方便的在手机上打印日志。
creator全局访问
访问节点和组件
你可以在 属性检查器 里修改节点和组件,也能在脚本中动态修改。动态修改的好处是能够在一段时间内连续地修改属性、过渡属性,实现渐变效果。脚本还能够响应玩家输入,能够修改、创建和销毁节点或组件,实现各种各样的游戏逻辑。要实现这些效果,你需要先在脚本中获得你要修改的节点或组件。
在本篇教程,我们将介绍如何
从老板的角度来说,项目做完了,就可以裁人了。古语说:鸟尽弓藏,兔死狗烹。每个人都要保持自己的竞争力,没价值了,随时可能被淘汰。划水没产出老板也是知道的,至少时间早晚的事。
赶进度的时候,需要多招人,项目做完,维护期的时候,就把人裁了。也是江湖运行的规律吧。
PS:公司开始强调考勤纪律的时候,团队所有成员就危险了。提升自己吧。
抢票软件,提前登录。
1:bypass(分流抢票)
应该很多人用过,分流抢票软件是一款非常专业的抢票软件,支持自动抢票、自动识别验证码、稳定捡漏等多种功能,把抢票时间设定好,它会自动抢票直到抢票成功,然后通过微信通知你,你只需要30分钟内在12306付款即可。
网址:https://www.bypass.cn/
动车什么时候抢票?春运期间,网络、电话订票预售期为30天。
自2014年11月28日起,铁路部门将对互联网、电话订票的起售时间进行调整。放票时间点从16个调整为21个,即8:00至18:00期间,每个整点和半点均有新票起售,同时C、D、G字头列车不再单独起售,起售时间与车站保持一致,具体方案如下:
win10分屏显示:
可以使用“Win + 左上/左下/右上/右下方向键”使当前窗口四分之一屏显示。
删除远程分支: git push origin --delete [branchname]
删除本地已合并的分支: git branch -d [branchname] , git branch -D [branchName]
git解决冲突
git checkout --theirs xxx.txt # 保留远端的
git checkout --ours xxx.txt # 保留本地的
浅谈git rebase和git checkout --ours(theirs)
我们刚开始做游戏时大多数人都不能独立制作出想要的游戏资源,所以在没有商业用途的游戏里,我们可以用别人已经制作出来的游戏资源来山寨出一款自己的游戏,那么怎么获取这些游戏素材呢?
SVN更新出错,提示需要Cleanup,但运行Cleanup也失败,可尝试以下几种解决办法:
1、在运行Cleanup的选项窗口中把 break lock 选中;
2、删除.svn隐藏目录下的.lock文件;
3、把自己所知道的出错目录删除,重新运行Cleanup,然后再Update;
安装:yum install subversion
svnserve -d -r /www/svn/repositories --listen-port 8080
killall svnserve
ps -ef|grep svn|grep -v grep
svn://192.168.0.xx:8080
win10开启telnet
搜索“程序和功能”,勾选Telnet Client,即可。
使用这个:cdnjs.com
https://cdnjs.com/
千万别用cdnjs.net这个坑货,经常直接404,坑。其他的也建议别用,不稳定。
或者用baidu的库:
jquery:http://libs.baidu.com/jquery/2.0.0/jquery.min.js
bootstrap
<script src="http://libs.baidu.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
<link href="http://libs.baidu.com/bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet">
dos在线游戏
https://dos.zczc.cz/games/
劝学网,应该还不错:http://www.quanxue.cn/index.htm
创建并切换分支: git checkout -b develop
弟子规 【作者】李毓秀
弟子规,圣人训。
首孝悌,次谨信。
泛爱众,而亲仁。
有余力,则学文。
三字经
人之初,性本善。性相近,习相远。苟不教,性乃迁。教之道,贵以专。
昔孟母,择邻处。子不学,断机杼。窦燕山,有义方。教五子,名俱扬。
养不教,父之过。教不严,师之惰。子不学,非所宜。幼不学,老何为。
玉不琢,不成器。人不学,不知义。为人子,方少时。亲师友,习礼仪。
中国历史唐,李渊,李建成,维征,李世民
百家讲坛 2009年 第261期 http://tv.cntv.cn/video/C10302/dee88a0daac942a2889049b12fe29866
古代真难啊。
夏商周秦,汉三国晋,隋唐宋元明清。
印象最深的:1三国 2唐 3文天祥
springboot websocket
WebScocketConfig.java
@Configuration
public class WebScocketConfig {
@Bean
public ServerEndpointExporter serverEndpointExporter() {
return new ServerEndpointExporter();
}
}
````
<!--more-->
WebSocketServer.java
@ServerEndpoint("/websocket/{sid}")
@Component
public class WebSocketServer {
private static Logger log = LoggerFactory.getLogger(WebSocketServer.class);
private static final AtomicInteger onlineCount = new AtomicInteger(0);
// concurrent包的线程安全Set,用来存放每个客户端对应的Session对象。
private static CopyOnWriteArraySet<Session> setSession = new CopyOnWriteArraySet<Session>();
/**
* 连接建立成功调用的方法
*/
@OnOpen
public void onOpen(Session session, @PathParam("sid") String sid) {
setSession.add(session);
int cnt = onlineCount.incrementAndGet(); // 在线数加1
log.info("有连接加入,当前连接数为:{}{}", cnt, sid);
System.out.println("---" +sid);
SendMessage(session, "连接成功");
}
/**
* 连接关闭调用的方法
*/
@OnClose
public void onClose(Session session) {
setSession.remove(session);
int cnt = onlineCount.decrementAndGet();
log.info("有连接关闭,当前连接数为:{}", cnt);
}
/**
* 收到客户端消息后调用的方法
*
* @param message 客户端发送过来的消息
*/
@OnMessage
public void onMessage(String message, Session session) {
log.info("来自客户端的消息:{}", message);
SendMessage(session, "收到消息,消息内容:" + message);
}
@OnError
public void onError(Session session, Throwable error) {
log.error("发生错误:{},Session ID: {}", error.getMessage(), session.getId());
error.printStackTrace();
}
/**
* 发送消息,实践表明,每次浏览器刷新,session会发生变化。
*
* @param session
* @param message
*/
public static void SendMessage(Session session, String message) {
try {
session.getBasicRemote().sendText(String.format(message));
} catch (IOException e) {
log.error("发送消息出错:{}", e.getMessage());
e.printStackTrace();
}
}
/**
* 群发消息
*
* @param message
* @throws IOException
*/
public static void BroadCastInfo(String message) throws IOException {
for (Session session : setSession) {
if (session.isOpen()) {
SendMessage(session, message);
}
}
}
/**
* 指定Session发送消息
*
* @param sessionId
* @param message
* @throws IOException
*/
public static void SendMessage(String message, String sessionId) throws IOException {
Session session = null;
for (Session s : setSession) {
if (s.getId().equals(sessionId)) {
session = s;
break;
}
}
if (session != null) {
SendMessage(session, message);
} else {
log.warn("没有找到你指定ID的会话:{}", sessionId);
}
}
}