我写的一个应用程序使用了几个第三方罐子.有时只使用整个50kB到1.7mB jar的一小部分 - 一个或两个函数调用或类.
什么是减少罐子大小的最佳方法.我应该下载源代码并构建一个只需要我需要的类的jar吗?哪些现有工具可以帮助实现此功能(请参阅http://code.google.com/p/jarjar/)?
谢谢
编辑1: 我想降低我的第三方'官方'罐子的大小,如swingx-1.6.jar(1.4 MB),set-3.6(1.7 MB)glazedlists-1.8.jar(820kB)等等,这样他们就可以了只包含我需要的最小类
编辑2: 如果库使用反射,手动或使用程序如proguard最小化jar会更复杂. 在使用proguard进行模糊处理后,使用google guice注入不再起作用
cletus对另一篇文章的回答非常好如何确定Java程序使用哪些类?
所以我在从重载的函数获取特定参数时遇到问题。例如:
// someLib.d.ts
type Component<T> = {};
type A = {};
type B = {};
type C = {};
type Opts = {};
type ModernOpts = {};
export declare function mount(component: A, options: Opts): Component<A>;
export declare function mount(component: B, options: Opts): Component<B>;
export declare function mount(component: C, options: ModernOpts): Component<C>;
Run Code Online (Sandbox Code Playgroud)
问题是,如果我在另一个文件上执行此操作:
import { mount } from 'someLib';
type specificMountParams = Parameters<typeof mount>;
Run Code Online (Sandbox Code Playgroud)
我得到的参数是[C, ModernOpts]
,似乎没有办法获取[A, Opts]
, 或 的参数[B, Opts]
。
有没有办法从重载函数中检索特定参数?(这样我就可以获取 …
我正在设计一个MVC框架,但我不知道我应该在哪里放置我的实用程序类.我在某处读到了实用程序类是Model Classes的地方.这种思路是正确的还是一些独立的类?
我正在寻找一款轻巧高效的图像缩放器/缩略图器.能够很好地处理所有图像类型的东西,但最重要的是jpeg和png.
我看过ImageMagick和GraphicsMagick,但是它们太重了.这是我想用我的应用程序分发的东西,所以越小越好.我不需要*Magick的所有功能,只需简单的大小调整.
我发现FreeImage库似乎是人们喜欢的轻型库.有谁知道是否有一个包装FreeImage的简单命令行实用程序?
谢谢!
我对实用程序类有一点了解,但对需求略有怀疑.
如果我在我的应用程序中使用Utility类而不是在我的主Activity中使用该类,我是否必须创建该类的对象,或者我可以直接在我的主活动中导入该类?
如果我没有明确的意义,我很抱歉.
简而言之,我想要清楚的是,我基本上如何在主要活动中使用实用程序类?
谢谢,大卫
我正在尝试为Hobby OS编写一个引导加载程序并让它运行良好.没什么特别的,只打印一行文字:
BITS 16
ORG 0
start: jmp main
OEM db "Test OS "
BytesPerSector: DW 512
SectorsPerCluster: DB 1
ReservedSectors: DW 1
NumberOfFATs: DB 2
RootEntries: DW 224
TotalSectors: DW 2880
Media: DB 0xf8
SectorsPerFAT: DW 9
SectorsPerTrack: DW 18
HeadsPerCylinder: DW 2
HiddenSectors: DD 0
TotalSectorsBig: DD 0
DriveNumber: DB 0
Unused: DB 0
ExtBootSignature: DB 0x29
SerialNumber: DD 0xa0a1a2a3
VolumeLabel: DB "HOBBY OS "
FileSystem: DB "FAT12 "
main:
;Adjust code Seg.
cli
mov ax, 0x07c0
mov …
Run Code Online (Sandbox Code Playgroud) 我正在写一个烧瓶应用程序,我发现我有很多通用的实用程序功能.
以下是我认为通用实用程序函数的函数类型的示例:
def make_hash():
return defaultdict(make_hash)
def file_read(filename):
with open(file_name_, 'r') as f:
return f.read()
def file_write(filename, data):
with open(filename, 'w') as f:
f.write(data)
Run Code Online (Sandbox Code Playgroud)
我想把这些功能一起扔到一个单独的模块中.但是,如果我有以下问题,我很好奇:
问题: - 对通用效用函数进行分组的pythonic方法是什么?我应该创建一个单独的模块吗?好奇其他人正在组织这种类型的代码.
我希望boost::swap
在我的环境中创建一个等效的标准头文件,或者不能包括在内.取决于项目许可和其他东西.
我想让部分代码受到保护检测器的保护:
我们考虑一个编译单元.
具体项目,上述潜力包括:
#include <algorithm> // (or <utility> for C++11 projects)
Run Code Online (Sandbox Code Playgroud)
稍后在我的交换实用程序头中包含的项目代码中:
namespace MyCompany
{
template<class T1, class T2>
void swap(T1& left, T2& right)
{
#ifdef _ALGORITHM_ // you get the idea.
std::swap(left, right);
#else
// fallback impl
#endif
}
}
Run Code Online (Sandbox Code Playgroud)
我简化了,因为我们不是在讨论ADL技巧的细节,但它将被包括在内.
这里是我所谈论的参考,但这与这个问题无关:http:
//www.boost.org/doc/libs/1_57_0/boost/core/swap.hpp
所以这个问题是关于,如何检测标准头包含?在_ALGORITHM_
后卫出现在Visual Studio中提供的头,但我无处阅读http://www.cplusplus.com/reference/algorithm/,它应该有,我可以检查任何宏.
(最后注意:这个问题有点偏向XY.我真正想要的是检测std::swap
函数的存在,而不是标题.)
我使用过Snoop,它是WPF的绝佳工具.SilverlightSpy具有与Silverlight和WP7类似的功能.有没有人知道Windows 8项目的任何类似工具?
编辑:我的意思是在模拟器或本地机器上运行的C#/ XAML上的Windows Metro风格应用程序.
utility ×10
android ×1
assembly ×1
bootloader ×1
c# ×1
c++ ×1
class ×1
dependencies ×1
disk ×1
freeimage ×1
function ×1
imagemagick ×1
import ×1
jar ×1
java ×1
methods ×1
model ×1
overloading ×1
parameters ×1
php ×1
python ×1
spy ×1
thumbnails ×1
typescript ×1
windows-8 ×1
x86 ×1
xcode ×1
xcode10 ×1