- 浏览: 3063974 次
- 性别:
- 来自: 海外
-
文章分类
- 全部博客 (430)
- Programming Languages (23)
- Compiler (20)
- Virtual Machine (57)
- Garbage Collection (4)
- HotSpot VM (26)
- Mono (2)
- SSCLI Rotor (1)
- Harmony (0)
- DLR (19)
- Ruby (28)
- C# (38)
- F# (3)
- Haskell (0)
- Scheme (1)
- Regular Expression (5)
- Python (4)
- ECMAScript (2)
- JavaScript (18)
- ActionScript (7)
- Squirrel (2)
- C (6)
- C++ (10)
- D (2)
- .NET (13)
- Java (86)
- Scala (1)
- Groovy (3)
- Optimization (6)
- Data Structure and Algorithm (3)
- Books (4)
- WPF (1)
- Game Engines (7)
- 吉里吉里 (12)
- UML (1)
- Reverse Engineering (11)
- NSIS (4)
- Utilities (3)
- Design Patterns (1)
- Visual Studio (9)
- Windows 7 (3)
- x86 Assembler (1)
- Android (2)
- School Assignment / Test (6)
- Anti-virus (1)
- REST (1)
- Profiling (1)
- misc (39)
- NetOA (12)
- rant (6)
- anime (5)
- Links (12)
- CLR (7)
- GC (1)
- OpenJDK (2)
- JVM (4)
- KVM (0)
- Rhino (1)
- LINQ (2)
- JScript (0)
- Nashorn (0)
- Dalvik (1)
- DTrace (0)
- LLVM (0)
- MSIL (0)
最新评论
-
mldxs:
虽然很多还是看不懂,写的很好!
虚拟机随谈(一):解释器,树遍历解释器,基于栈与基于寄存器,大杂烩 -
HanyuKing:
Java的多维数组 -
funnyone:
Java 8的default method与method resolution -
ljs_nogard:
Xamarin workbook - .Net Core 中不 ...
LINQ的恶搞…… -
txm119161336:
allocatestlye1 顺序为 // Fields o ...
最近做的两次Java/JVM分享的概要
又到了Comiket大潮,抓下来的文件的名字总是格式不统一,按照文件名排序来查看很不方便。于是又到了出动Ruby的时间~
(每次到批量重命名文件的时候我的第一反应就是打开irb……)
这次的脚本在好几个类别的目录下都能用,所以顺便记下来。
脚本作用:将类似"(Cxx)(item_type)[circle_name] item_name"的文件名中开头部分的空格调整到:前缀标签间不包括空格,标签整体与后面的文件名之间留一个空格。普通文件和目录都是重命名的目标。不符合这种带有两组圆括号和一组方括号为前缀标签的文件则不在重命名目标范围内。我一般是用另外的脚本来把顺序都倒到这个顺序上然后再一起抽掉空格。
限制:如果文件名中出现了在当前系统locale下无法显示出来的字符,那么那个文件的重命名会失败;重命名失败不会影响后续循环,失败的文件名会显示到stderr。反正有特殊字符的文件/目录不会很多,暂时就手工修改算了 OTL
Ruby 1.8自身的编码是有点问题,而Ruby 1.9的字符串虽然能用UNICODE,但在执行这种操作的时候似乎还是处理不了。怪哉,可能我没写对还是怎样。回头再试试看。
其实用这脚本心里有点痒……又想起之前在写的重命名工具了。找个时间把它写完就好了 T T
========================================================================
当然咯,用C#来写这个程序就不会出现编码问题。采用跟上面相似的逻辑,重写为:
试了下,似乎都能行。运行环境是.NET Framework 3.5 SP1。
于是把编译出来的exe发到附件里。有需要的拿~
觉得值得对比一下,用F#也写了一个版本:http://rednaxelafx.iteye.com/blog/311741
有兴趣的话讨论一下~~我写F#代码还不是特别顺手……
呃呵呵,这次已经没有很积极的去收了,但资源不断的涌入这也就收下了 OTL
用Groovy来写这样的脚本是不错,出来的代码跟Ruby的也差不了多少。
但是用F#/OCaml来写我看不出有什么优势,因为整个脚本并没有多少纯计算的,几乎都是需要产生副作用的一些操作。除非不用正则表达式来匹配,但是手工匹配要多写那么多代码,就失去脚本快捷方便的意义了。不过如果有什么我没想到的办法来通过F#完成这功能,我很有兴趣知道~~
(每次到批量重命名文件的时候我的第一反应就是打开irb……)
这次的脚本在好几个类别的目录下都能用,所以顺便记下来。
脚本作用:将类似"(Cxx)(item_type)[circle_name] item_name"的文件名中开头部分的空格调整到:前缀标签间不包括空格,标签整体与后面的文件名之间留一个空格。普通文件和目录都是重命名的目标。不符合这种带有两组圆括号和一组方括号为前缀标签的文件则不在重命名目标范围内。我一般是用另外的脚本来把顺序都倒到这个顺序上然后再一起抽掉空格。
限制:如果文件名中出现了在当前系统locale下无法显示出来的字符,那么那个文件的重命名会失败;重命名失败不会影响后续循环,失败的文件名会显示到stderr。反正有特殊字符的文件/目录不会很多,暂时就手工修改算了 OTL
Ruby 1.8自身的编码是有点问题,而Ruby 1.9的字符串虽然能用UNICODE,但在执行这种操作的时候似乎还是处理不了。怪哉,可能我没写对还是怎样。回头再试试看。
#!/usr/bin/env ruby def reformat_comiket_folder(dir='.') Dir.entries(dir).each do |p| begin if p =~ /^\(([^)]+)\)\s*\(([^)]+)\)\s*\[([^\]]+)\]\s*(.+)$/ File.rename p, "(#{$1})(#{$2})[#{$3}] #{$4}" end rescue SystemCallError $stderr.puts 'IO failed: ' + $! end end end if __FILE__ == $0 reformat_comiket_folder ARGV[0] || '.' end
其实用这脚本心里有点痒……又想起之前在写的重命名工具了。找个时间把它写完就好了 T T
========================================================================
当然咯,用C#来写这个程序就不会出现编码问题。采用跟上面相似的逻辑,重写为:
using System; using System.IO; using System.Linq; using System.Text.RegularExpressions; sealed class ReformatComiketFiles { static bool TryGetRenameName( Regex pattern, string input, string format, // format items in this param correspond to match.Groups[1..$] out string result ) { var match = pattern.Match( input ); if ( match.Success ) { var str = string.Format( format, match.Groups .Cast<Group>( ) .Skip( 1 ) .Select( g => g.Value ) .ToArray( ) ); result = str; return str != src; // using a local variable here saves an indirect read } else { result = input; return false; } } static void Main( string[ ] args ) { DirectoryInfo root; if ( 0 < args.Length ) { root = new DirectoryInfo( args[ 0 ] ); } else { root = new DirectoryInfo( Environment.CurrentDirectory ); } var pattern = new Regex( @"^\(([^)]+)\)\s*\(([^)]+)\)\s*\[([^\]]+)\]\s*(.+)$" ); foreach ( var dir in root.GetDirectories( ) ) { string dest = null; if ( TryGetRenameName( pattern, dir.Name, "({0})({1})[{2}] {3}", out dest ) ) { Console.WriteLine(dest); dir.MoveTo( Path.Combine( dir.Parent.FullName, dest ) ); } } foreach ( var file in root.GetFiles( ) ) { string dest = null; if ( TryGetRenameName( pattern, file.Name, "({0})({1})[{2}] {3}", out dest ) ) { Console.WriteLine( dest ); file.MoveTo( Path.Combine( file.DirectoryName, dest ) ); } } } }
试了下,似乎都能行。运行环境是.NET Framework 3.5 SP1。
于是把编译出来的exe发到附件里。有需要的拿~
- reformatComiket_csharp.zip (2.4 KB)
- 下载次数: 1
评论
3 楼
RednaxelaFX
2009-01-07
CloudiDust 写道
好想法……去用Groovy或者F#写一个……
觉得值得对比一下,用F#也写了一个版本:http://rednaxelafx.iteye.com/blog/311741
有兴趣的话讨论一下~~我写F#代码还不是特别顺手……
2 楼
RednaxelaFX
2009-01-07
CloudiDust 写道
好想法……去用Groovy或者F#写一个……
其实我没有收Comiket物的习惯啊似乎……我真是没有娱乐的人啊……(望天)
其实我没有收Comiket物的习惯啊似乎……我真是没有娱乐的人啊……(望天)
呃呵呵,这次已经没有很积极的去收了,但资源不断的涌入这也就收下了 OTL
用Groovy来写这样的脚本是不错,出来的代码跟Ruby的也差不了多少。
但是用F#/OCaml来写我看不出有什么优势,因为整个脚本并没有多少纯计算的,几乎都是需要产生副作用的一些操作。除非不用正则表达式来匹配,但是手工匹配要多写那么多代码,就失去脚本快捷方便的意义了。不过如果有什么我没想到的办法来通过F#完成这功能,我很有兴趣知道~~
1 楼
CloudiDust
2009-01-07
好想法……去用Groovy或者F#写一个……
其实我没有收Comiket物的习惯啊似乎……我真是没有娱乐的人啊……(望天)
其实我没有收Comiket物的习惯啊似乎……我真是没有娱乐的人啊……(望天)
发表评论
-
字符串的一般封装方式的内存布局 (0): 拿在手上的是什么
2013-11-04 18:22 21545(Disclaimer:未经许可请 ... -
字符串的一般封装方式的内存布局
2013-11-01 12:55 0(Disclaimer:未经许可请 ... -
RubyConf notes
2011-11-08 19:10 0symmetric coroutine Fiber#trans ... -
ShanghaiOnRails第八次线下活动——你不需要知道的Ruby实现
2010-11-12 15:39 2871上个月底正好赶上参加了ShanghaiOnRails 第八次线 ... -
JRuby的运行模式
2010-11-01 11:21 0// 老的JRuby还是用org.jruby.evaluato ... -
你不需要知道的Ruby草稿
2010-10-27 11:25 0一些Ruby实现 Ruby 1.8 树遍历解释 Ruby 1 ... -
Ruby里的fiber/coroutine例子
2010-01-26 18:33 0Ruby 1.9开始支持fiber。与“fiber”一词的一般 ... -
JRuby使用技巧收集
2009-12-28 09:35 0java.lang.Thread.new { puts &qu ... -
特殊类型的eigenclass
2009-12-17 03:39 0Fixnum的实例没有eigenclass true、fals ... -
奇怪的参数
2009-12-08 02:25 0默认参数与闭包的组合 真正的问题不是只是默认参数看起来很诡异, ... -
MacRuby的执行模式
2009-12-07 07:41 0mailing-list macruby-devel http ... -
Rubinius的执行模型
2009-12-05 15:22 0Rubinius wants to help YOU make ... -
Ruby 1.8和1.9中String#hash的实现
2009-11-22 18:23 01.8 string.c int rb_str_hash(s ... -
To囧:拿你来测测Watir...
2009-11-21 22:38 3459iaimstar 写道@RednaxelaFX 你最近ruby ... -
[标题党] MagLev中GC类的真相……
2009-11-21 14:46 0注意到本文的标题:我是说“GC类”的真相,不是说GC的真相哦~ ... -
小试rubyzip的一个脚本
2009-11-17 20:42 3479呼,今天开始3天都是新人培训,总算可以抽点时间发一帖。 现在在 ... -
爬一下Google和百度看口碑对它们做的SEO效果如何
2009-11-09 00:27 0#!/usr/bin/env ruby require ... -
把Mechanize的html_parser改回到Hpricot
2009-11-08 14:45 3135记得我最初开始用Nokogir ... -
使用新的RubyInstaller
2009-11-07 02:37 0Hpricot的安装需要编译,需要devkit -
Ruby metaprogramming tech notes
2009-09-28 15:39 0class Builder def self.build ...
相关推荐
同人发布追踪器最初以跟踪我在Comiket上期待的内容的方式开始,但现在... 希望他们将是适当的文档,但是通常端点是: /[comiket, vocamas, m3] -显示我们记录的所有活动的数据,其ID,日期和论坛链接/[comiket, vocama
函数中添加右键单击菜单以搜索在浏览器上选择的字符串Comiket Web目录它是一个扩展名。 圆形名称,yomigana和作者姓名是针对性的。 如果有1个搜索结果,请自动移动到圆圈详细信息页面。 Comiket Web目录帐户并登录是...
在智慧园区建设的浪潮中,一个集高效、安全、便捷于一体的综合解决方案正逐步成为现代园区管理的标配。这一方案旨在解决传统园区面临的智能化水平低、信息孤岛、管理手段落后等痛点,通过信息化平台与智能硬件的深度融合,为园区带来前所未有的变革。 首先,智慧园区综合解决方案以提升园区整体智能化水平为核心,打破了信息孤岛现象。通过构建统一的智能运营中心(IOC),采用1+N模式,即一个智能运营中心集成多个应用系统,实现了园区内各系统的互联互通与数据共享。IOC运营中心如同园区的“智慧大脑”,利用大数据可视化技术,将园区安防、机电设备运行、车辆通行、人员流动、能源能耗等关键信息实时呈现在拼接巨屏上,管理者可直观掌握园区运行状态,实现科学决策。这种“万物互联”的能力不仅消除了系统间的壁垒,还大幅提升了管理效率,让园区管理更加精细化、智能化。 更令人兴奋的是,该方案融入了诸多前沿科技,让智慧园区充满了未来感。例如,利用AI视频分析技术,智慧园区实现了对人脸、车辆、行为的智能识别与追踪,不仅极大提升了安防水平,还能为园区提供精准的人流分析、车辆管理等增值服务。同时,无人机巡查、巡逻机器人等智能设备的加入,让园区安全无死角,管理更轻松。特别是巡逻机器人,不仅能进行360度地面全天候巡检,还能自主绕障、充电,甚至具备火灾预警、空气质量检测等环境感知能力,成为了园区管理的得力助手。此外,通过构建高精度数字孪生系统,将园区现实场景与数字世界完美融合,管理者可借助VR/AR技术进行远程巡检、设备维护等操作,仿佛置身于一个虚拟与现实交织的智慧世界。 最值得关注的是,智慧园区综合解决方案还带来了显著的经济与社会效益。通过优化园区管理流程,实现降本增效。例如,智能库存管理、及时响应采购需求等举措,大幅减少了库存积压与浪费;而设备自动化与远程监控则降低了维修与人力成本。同时,借助大数据分析技术,园区可精准把握产业趋势,优化招商策略,提高入驻企业满意度与营收水平。此外,智慧园区的低碳节能设计,通过能源分析与精细化管理,实现了能耗的显著降低,为园区可持续发展奠定了坚实基础。总之,这一综合解决方案不仅让园区管理变得更加智慧、高效,更为入驻企业与员工带来了更加舒适、便捷的工作与生活环境,是未来园区建设的必然趋势。
labelme标注的json转mask掩码图,用于分割数据集 批量转化,生成cityscapes格式的数据集
(参考GUI)MATLAB GUI漂浮物垃圾分类检测.zip
人脸识别项目源码实战
人脸识别项目实战
本仿真模型基于MATLAB/Simulink(版本MATLAB 2016Rb)软件。建议采用matlab2016 Rb及以上版本打开。(若需要其他版本可联系代为转换) CSDN详情地址:https://blog.csdn.net/qq_50594161/article/details/146242453sharetype=blogdetail&sharerId=146242453&sharerefer=PC&sharesource=qq_50594161&spm=1011.2480.3001.8118
实战练习分词、创建词表、文本处理
在智慧园区建设的浪潮中,一个集高效、安全、便捷于一体的综合解决方案正逐步成为现代园区管理的标配。这一方案旨在解决传统园区面临的智能化水平低、信息孤岛、管理手段落后等痛点,通过信息化平台与智能硬件的深度融合,为园区带来前所未有的变革。 首先,智慧园区综合解决方案以提升园区整体智能化水平为核心,打破了信息孤岛现象。通过构建统一的智能运营中心(IOC),采用1+N模式,即一个智能运营中心集成多个应用系统,实现了园区内各系统的互联互通与数据共享。IOC运营中心如同园区的“智慧大脑”,利用大数据可视化技术,将园区安防、机电设备运行、车辆通行、人员流动、能源能耗等关键信息实时呈现在拼接巨屏上,管理者可直观掌握园区运行状态,实现科学决策。这种“万物互联”的能力不仅消除了系统间的壁垒,还大幅提升了管理效率,让园区管理更加精细化、智能化。 更令人兴奋的是,该方案融入了诸多前沿科技,让智慧园区充满了未来感。例如,利用AI视频分析技术,智慧园区实现了对人脸、车辆、行为的智能识别与追踪,不仅极大提升了安防水平,还能为园区提供精准的人流分析、车辆管理等增值服务。同时,无人机巡查、巡逻机器人等智能设备的加入,让园区安全无死角,管理更轻松。特别是巡逻机器人,不仅能进行360度地面全天候巡检,还能自主绕障、充电,甚至具备火灾预警、空气质量检测等环境感知能力,成为了园区管理的得力助手。此外,通过构建高精度数字孪生系统,将园区现实场景与数字世界完美融合,管理者可借助VR/AR技术进行远程巡检、设备维护等操作,仿佛置身于一个虚拟与现实交织的智慧世界。 最值得关注的是,智慧园区综合解决方案还带来了显著的经济与社会效益。通过优化园区管理流程,实现降本增效。例如,智能库存管理、及时响应采购需求等举措,大幅减少了库存积压与浪费;而设备自动化与远程监控则降低了维修与人力成本。同时,借助大数据分析技术,园区可精准把握产业趋势,优化招商策略,提高入驻企业满意度与营收水平。此外,智慧园区的低碳节能设计,通过能源分析与精细化管理,实现了能耗的显著降低,为园区可持续发展奠定了坚实基础。总之,这一综合解决方案不仅让园区管理变得更加智慧、高效,更为入驻企业与员工带来了更加舒适、便捷的工作与生活环境,是未来园区建设的必然趋势。
人脸识别项目源码实战
学生信息管理系统是一个基于Java Web技术的综合性管理平台。通过此系统,可以实现对学生、教师、选课信息等的动态管理, 提升学校管理效率。系统采用分层架构设计,前端使用HTML、CSS,JavaScript和jQuery,后端基于Servlet,JSP和Spring框架,数据库采用MySQL。主要有四个大功能,学生管理( 增加学生信息、删除学生信息、修改学生信息、查询学生信息)、教师管理(增加教师信息、删除教师信息、修改教师信息、查询教师信息)、选课信息管理(添加选课、查询选课情况、删除选课记录)、系统管理( 登录与注册功能、 用户角色管理(老师,学生,管理员)、系统日志查看)。 技术架构 1.前端技术 HTML,CSS:静态页面布局与样式 JavaScript,jQuery:动态交互、DOM操作和AJAX请求 2.后端技术 Servlet:控制层,处理用户请求 JSP:页面动态生成 Spring:依赖注入,业务逻辑分离 3.数据库 MySQL:存储学生、教师,课程等数据 JDBC:数据库连接与操作
本课程是 PHP 进阶系列之 Swoole 入门精讲,系统讲解 Swoole 在 PHP 高性能开发中的应用,涵盖 协程、异步编程、WebSocket、TCP/UDP 通信、任务投递、定时器等核心功能。通过理论解析和实战案例相结合,帮助开发者掌握 Swoole 的基本使用方法及其在高并发场景下的应用。 适用人群: 适合 有一定 PHP 基础的开发者、希望提升后端性能优化能力的工程师,以及 对高并发、异步编程感兴趣的学习者。 能学到什么: 掌握 Swoole 基础——理解 Swoole 的核心概念,如协程、异步编程、事件驱动等。 高并发处理——学习如何使用 Swoole 构建高并发的 Web 服务器、TCP/UDP 服务器。 实战项目经验——通过案例实践,掌握 Swoole 在 WebSocket、消息队列、微服务等场景的应用。 阅读建议: 建议先掌握 PHP 基础,了解 HTTP 服务器和并发处理相关概念。学习过程中,结合 官方文档和实际项目 进行实践,加深理解,逐步提升 Swoole 开发能力。
人脸识别项目实战
人脸识别项目实战
功能简介:本工具可实现批量对照片文件的人脸识别,并按指定分辨率进行转换保存。 可为人脸识别采集系统提供很好的辅助工具。 软件基本于OPENVC开发,识别精确,转换高效。 人脸识别工具 +人脸采集处理
内容概要:本文探讨了利用肌长变化反馈控制(FCM-ML)和演员-评论家强化学习(ACRL-NGN)来有效实现人体上肢和下肢无意识姿态稳定的算法方法。通过构建一个包含949条肌肉和22个关节的全身计算模型,在不同初始姿势的情况下进行模拟试验,验证了这些方法的有效性和鲁棒性,结果显示FCM-ML方法比其他传统方法更适用于此类任务。研究指出人类及其他脊椎动物在无意识状态下,通过抗拮抗性的肌肉长度变化反馈机制来维持舒适状态下的自然身体姿势(NBP)。此外,研究还表明这种控制策略有助于机器人设计、运动员训练以及康复患者的治疗。 适用人群:生物力学、机器人学以及神经科学领域的研究人员、工程师,以及关注人体姿态控制及其应用的学者和技术人员。 使用场景及目标:①解释人和非人的脊椎动物如何在无意识情况下维持最佳姿势,特别是处于重力环境中的自然身体姿势(NBP)。②为机器人肌肉控制提供理论支持和发展方向,特别是在模拟多肌肉协调控制方面。③指导运动训练及病患恢复计划的设计与优化。 其他说明:研究发现ACRL-NGN结合FCM-ML不仅能够迅速有效地实现期望的姿态稳定性,而且不需要对肌肉分类,这使其在复
反编译apk重要的工具之一