我真的很喜欢git.至少,我喜欢git的想法.能够将我的主项目结账为一个单独的分支,在那里我可以改变我想要的任何东西,而不用担心其他一切都搞砸了,这真是太棒了.但它不起作用.
基本上,我的工作流程是这样的:
每次我将分支签出到另一个分支,对一个分支进行更改,然后签出原始分支,我仍然拥有在另一个分支中发生的所有文件和更改.这非常令人沮丧.我已经读过,当你在IDE中打开文件的时候会发生这种情况,但是我一直非常小心这一点,并关闭了IDE中的文件,关闭了IDE,并在切换之前关闭了我的rails服务器分支,这仍然发生.此外,运行'git clean -f'要么删除在任意提交之后发生的所有事情(并随机地,在那时),或者,如在最新的情况下,不会将任何内容更改回其原始状态.
我以为我正确使用git,但此时此刻,我的智慧已经结束了.我正在尝试使用我的项目的稳定版本来处理一堆实验代码,但我不得不手动追踪并修复我所做的所有更改.任何想法或建议?
git checkout -b photo_tagging
git branch # to make sure it's right
# make a bunch of changes, creations, etc
git status # see what's changed since before
git add . # approve of the changes, I guess, since if I do git commit after this, it says no changes
git commit -m 'these are changes I made'
git checkout master
git branch #=> *master …Run Code Online (Sandbox Code Playgroud) 我有一个包含两个TextView的自定义组件,它们具有自定义大小设置方法(两个文本视图的比例约为1:2).由于这是RelativeLayout的子类,它没有textSize属性,但我想知道是否仍然可以android:textSize在该组件的XML实例化中设置该属性,然后textSize从AttributeSet中获取属性以使用setSize()在构造函数中使用我的自定义方法.
我已经看到了使用自定义属性执行此操作的技术,但是如果我想获取已经在android词典中的属性怎么办?
我正在研究Ruby中"Fair Barbershop"问题的实现.这是一个课堂作业,但我不是在寻找任何讲义.我一直在寻找疯狂,但我似乎无法找到一个反映在C中找到的信号量的Ruby实现.
我知道有Mutex,这很棒.单一实现,确实完成了那种信号量应该做的事情.
那就是条件变量.我认为这样做会很好,但是看看这些,他们需要一个Mutex用于每次等待调用,这对我来说就像我不能将数值放到信号量上(因为我有七个理发店,3理发师等).
我想我需要一个Counting Semaphore,但我认为Ruby(我能找到的)在其核心中包含这样一个类有点奇怪.谁能帮助我指出正确的方向?
我正在尝试使用RelativeLayout和一个RadioGroup创建一个标签栏,该组有一个指示器,该指示器将滑动以指示RadioGroup中的活动RadioButton.
这些是定制的单选按钮,它们是有效的矩形,文本上有一个图标,所有内容都居中,它使用自定义状态选择器作为背景.
这是我目前的等级制度:
<RelativeLayout> // Main view of the tab bar
<RadioGroup> // The buttons
<RadioButton />
<RadioButton />
<RadioButton />
</RadioGroup>
<ImageView /> // The indicator
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
我的想法是单击一个单选按钮时,我会将指示器对齐到所选单选按钮的顶部和底部(并为其设置动画).但是,它似乎layout_align<Edge>只适用于兄弟元素,而不适用于另一个视图组的成员,即我可以与RadioGroup本身对齐,但不能与其中的RadioButton对齐.
我想把指标作为RadioGroup的成员,但由于RadioGroup是LinearLayout的扩展,似乎没有办法将它放在给定RadioButton的边缘.
谁能想到我怎么解决这个问题?或者也许比我的animate-align-to-button技术有更好的解决方案?
更新 使用@superjos帮助,我设法很好地解决了这个问题.
我必须给每个按钮一个已知的高度而不是使用wrap_content(不理想,但对于这个项目,它可能应该工作正常).使指示器高度与按钮的高度相匹配.确保将RadioGroup设置为包装内容并在父视图中垂直居中.将指标设置为alignTop和toRightOfRadioGroup.然后,对于按钮单击侦听器:
int prevY, newY;
int prevButtonIndex, newButtonIndex;
public void moveIndicator(button, indicator, index) {
prevY = newY;
newY = prevY + (index - prevButtonIndex) * button.getHeight();
TranslateAnimation animation = new TranslateAnimation(0, 0, prevY, newY);
animation.setDuration(500);
animation.setFillAfter(true); // stay at final …Run Code Online (Sandbox Code Playgroud) 我一直在玩Paperclip来建立一个照片库/商店.图库有很多照片,照片属于图库,用户可以有很多图库.回形针默认值类似于/:class/:style/:basename.:extension.但是,通过图库设置,我更喜欢像/:class/:user_name/:gallery_name/:styles/:basename.:extension.我还没有找到一种方法来访问对象中的变量,以便动态创建这些存储位置.
有没有办法做到这一点?
我尝试在路径中使用#{variable},但这不起作用.这些照片对象是使用@ gallery.photos.build创建的,因此gallery_id应该已经具有可访问的值.
我正在尝试直接从zip文件将图像文件附加到模型(即,不先将它们保存在磁盘上).似乎应该有一种更清晰的方法将ZipEntry转换为Tempfile或File,它可以存储在内存中,以传递给另一个知道如何处理它的方法或对象.
这是我的代码:
def extract (file = nil)
Zip::ZipFile.open(file) { |zip_file|
zip_file.each { |image|
photo = self.photos.build
# photo.image = image # this doesn't work
# photo.image = File.open image # also doesn't work
# photo.image = File.new image.filename
photo.save
}
}
end
Run Code Online (Sandbox Code Playgroud)
但问题是photo.image是一个附件(通过回形针)到模型,并指定一些东西作为附件需要一些东西作为File对象.但是,我不能为我的生活弄清楚如何将ZipEntry转换为文件.我看到打开或创建文件的唯一方法是在其路径中使用字符串 - 这意味着我必须将文件解压缩到一个位置.真的,这看起来很傻.为什么我不能将ZipEntry文件解压缩到输出流并将其转换为文件?
所以最终的问题是:我可以从Zip文件中提取ZipEntry并将其直接转换为File对象(或直接将其作为Paperclip对象附加)吗?或者在我可以附加它之前,我实际上是将它存放在硬盘驱动器上,即使该版本最终会被删除?
更新 感谢蓝莓领域,我认为我更接近我的解决方案.这是我添加的代码行,它为我提供了我需要的Tempfile/File:
photo.image = zip_file.get_output_stream image
Run Code Online (Sandbox Code Playgroud)
但是,我的Photo对象不会接受传递的文件,因为它不是image/jpeg.实际上,检查content_type文件显示application/x-empty.我想这可能是因为获取输出流似乎在文件的末尾添加了一个时间戳,因此最终看起来像imagename.jpg20110203-20203-hukq0n. 编辑:此外,它创建的临时文件不包含任何数据,大小为0.所以看起来这可能不是答案.
那么,接下来的问题:有没有人知道如何让它给我一个image/jpeg文件?
更新:
我一直在玩这个.似乎输出流不是要走的路,而是输入流(这总是让我很困惑).在ZipEntry上使用get_input_stream,我在文件中获取二进制数据.我想现在我只需要弄清楚如何将它变成Paperclip附件(作为File对象).我已经尝试将ZipInputStream直接推送到附件,但当然,这不起作用.我真的很难相信没有人试图将提取的ZipEntry转换为文件.有什么理由认为这会被认为是糟糕的编程习惯吗?在我看来,跳过临时文件的磁盘写入是完全可以接受的,并支持Zip档案管理.
无论如何,问题仍然存在:
有没有办法将输入流转换为File对象(或Tempfile)?最好不必写入磁盘.
Stack警告我这是一个主观问题,可能会很接近,但无论如何我都会尝试这个.
我有一组控制按钮附加到图库中的图片.这些最初是隐藏的,当鼠标悬停在图像上时切换可见.我的问题是:
这些按钮是应该设置为隐藏在样式表中还是保持可见,并在加载时被jQuery隐藏?我想要优雅的降级,所以如果我希望这些在未启用javascript时可见,那么在CSS中初始化这个似乎是一个坏主意.
最重要的是,我正在使用Ajax加载这些图像的页面.如果我使用jQuery hide执行此操作,它不会影响从ajax请求加载的那些,因为它只会触发$(document).ready().我尝试过使用live('ready'),但了解到该事件不受支持live().
那么这样的事情最好的做法是什么?看起来这样做有很多优点和缺点(css与document.ready),如果它们被默认的CSS隐藏,按钮将使用ajax分页进行精确切换.但是如果没有启用javascript,按钮的功能将会丢失.有没有人有这方面的建议?
注意:我最初没有提到它,但它很重要.我目前正在fadeToggle()用来完成我的过渡,这可能是整个问题的复杂化.到目前为止,所有解决方案似乎都有效,但在引入衰落时并非如此.
我正在开发一个基于TabBarController的应用程序开始的项目,但仍然主要是,但是一些要求已经改变,我们需要将初始视图控制器作为应用程序其余部分的入口点 - 一个在给出认证并加载一些东西后,将在主窗口中由标签栏控制器替换.
最初的UITabBarController是MainWindow.xib的一个组件,它的所有根导航控制器都设置了根视图控制器,一切都很顺利.我想我可以简单地从MainWindow.xib中提取UITabBarController组件,将它放在自己的CustomTabBarController.xib中,然后运行
[self setTabBarController:[[[UITabBarController alloc] initWithNibName:@"CustomTabBarController" bundle:nil] autorelease]];
[_tabBarController setDelegate:self];
[self.window addSubview:_tabBarController.view];
Run Code Online (Sandbox Code Playgroud)
但是,我没有获得预期的预制标签栏控制器,而是获得了一个完全空的标签栏控制器.
我错过了什么吗?为什么我不能从笔尖加载预先构建的UITabBarController?
我设置了以下代码以RatingBar在Android上创建自定义样式:
在res/values/styles.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyRatingBar" parent="@android:style/Widget.RatingBar">
<item name="android:minHeight">@dimen/rating_bar_height</item>
<item name="android:maxHeight">@dimen/rating_bar_height</item>
<item name="android:progressDrawable">@drawable/circle_ratingbar_full</item>
</style>
</resources>
Run Code Online (Sandbox Code Playgroud)
在res/drawable/circle_ratingbar_full.xml:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@android:id/background"
android:drawable="@drawable/circle_ratingbar_full_empty" />
<item
android:id="@android:id/secondaryProgress"
android:drawable="@drawable/circle_ratingbar_full_empty" />
<item
android:id="@android:id/progress"
android:drawable="@drawable/circle_ratingbar_full_filled" />
</layer-list>
Run Code Online (Sandbox Code Playgroud)
在res/drawable/circle_ratingbar_full_empty.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:state_window_focused="true"
android:drawable="@drawable/button_disabled" />
<item android:state_focused="true"
android:state_window_focused="true"
android:drawable="@drawable/button_disabled" />
<item android:state_selected="true"
android:state_window_focused="true"
android:drawable="@drawable/button_enabled" />
<item android:drawable="@drawable/button_disabled" />
</selector>
Run Code Online (Sandbox Code Playgroud)
在res/drawable/circle_ratingbar_full_filled.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:state_window_focused="true" …Run Code Online (Sandbox Code Playgroud) android android-layout ratingbar android-drawable android-styles
我有一个按钮来切换引用的div是否可见.最初,我使用的是代码:
$('#search-options-btn').click(function() {
if ($('#search-options').is('.hidden')) {
$('#search-options').removeClass('hidden');
} else {
$('#search-options').addClass('hidden');
}
});
Run Code Online (Sandbox Code Playgroud)
但是,为了找到更干净的代码,我遇到了jQuery toggle()方法,根据API有一个方法实现
.toggle( showOrHide )
showOrHide: A Boolean indicating whether to show or hide the elements.
Run Code Online (Sandbox Code Playgroud)
这个描述让我相信这是一个通过传递...标识符来显示或隐藏的快捷实现方法?showOrHide进入toggle()方法.
尝试这个:
$('#search-options-btn').click(function() {
$('#search-options').toggle(showOrHide);
});
Run Code Online (Sandbox Code Playgroud)
在我的firebug控制台中产生错误:
showOrHide is not defined
[Break On This Error] $('#search-options').toggle(showOrHide);
Run Code Online (Sandbox Code Playgroud)
我也试过定义showOrHide为初始化的布尔值false; 错误消失了,但问题并没有解决.
根据jQuery在线API,这应该相当于
if ( showOrHide == true ) {
$('#foo').show();
} else if ( showOrHide == false ) {
$('#foo').hide();
}
Run Code Online (Sandbox Code Playgroud)
除非我完全不知道它是如何工作的.任何人都可以填写我在这里做错的事吗?我找不到类似的实现.
android ×3
jquery ×2
paperclip ×2
cocoa-touch ×1
css ×1
fade ×1
file ×1
git ×1
git-branch ×1
git-checkout ×1
inputstream ×1
ios ×1
java ×1
mutex ×1
nested-class ×1
path ×1
ratingbar ×1
ruby ×1
rubyzip ×1
semaphore ×1
show-hide ×1
tabbar ×1
textview ×1
viewgroup ×1