小编Max*_*ler的帖子

如何设置JTree"ctrl"选择模式始终启用

我有一个实现多选逻辑的JTree.

当我按下鼠标+ Ctrl键进行所有选择时,这非常有用.如果用户在按下Ctrl键的情况下进行选择,则会破坏我的逻辑.

我真的不明白为什么它会中断但我认为可能的解决方案是始终指示TreeSelectionModel已按下Ctrl键进行选择.

你会建议什么?

java user-interface swing jtree

5
推荐指数
1
解决办法
2707
查看次数

ThreadLocal琢磨(或者:太阳的javadoc错了吗?)

我一直在阅读ThreadLocal,试图了解它是如何工作的以及我们为什么需要它.

到目前为止,我能够学到的是以下内容:

  1. ThreadLocal类允许在线程级别保存一个对象实例
  2. 通过覆盖initialValue()创建实例
  3. 实例实际上存储在每个线程的HashMap中
  4. 可以在此处找到常识用法示例

一切似乎都很好,直到我尝试从javadoc运行示例,代码提供如下:

 import java.util.concurrent.atomic.AtomicInteger;

 public class UniqueThreadIdGenerator {

     private static final AtomicInteger uniqueId = new AtomicInteger(0);

     private static final ThreadLocal < Integer > uniqueNum = 
         new ThreadLocal < Integer > () {
             @Override protected Integer initialValue() {
                 return uniqueId.getAndIncrement();
         }
     };

     public static int getCurrentThreadId() {
         return uniqueId.get();
     }
 } // UniqueThreadIdGenerator
Run Code Online (Sandbox Code Playgroud)

如果我正确理解了这段代码,调用getCurrentThreadId()应该返回正确的自动递增的线程号,唉它为我返回0.总是0,不考虑我已经启动了多少线程.

为了让这对我有用,我不得不改变getCurrentThreadId()来阅读

     public static int getCurrentThreadId() {
         return uniqueId.get();
     } 
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我得到正确的价值观.

我的代码在下面提供,我缺少什么?(这不是javadoc实际上是错的,对吧?)

package org.vekslers;

import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;

public …
Run Code Online (Sandbox Code Playgroud)

java javadoc sun jdk1.6

5
推荐指数
1
解决办法
909
查看次数

在 /etc/environment 中添加或更新配置记录

我的/etc/environment看起来像这样:

cat /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
Run Code Online (Sandbox Code Playgroud)

我希望使用一个命令(sed、awk、python 等等……),让它看起来像这样:

cat /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
JAVA_HOME="/usr/lib/jvm/java-6-sun"
Run Code Online (Sandbox Code Playgroud)

现在问题是,我宁愿它是 1 行(在 sed -XYZ /DoMagic/ /etc/environment 的字段中),它需要包含合并逻辑,即 - 附加新的配置记录或更新现有的. 最重要的是,它应该防止文件看起来像这样:(由有经验的 shell 脚本编写者在每次调用时调用 echo >> 引起)

cat /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
JAVA_HOME="/usr/lib/jvm/java-5-sun"
JAVA_HOME="/usr/lib/jvm/java-6-sun"
JAVA_HOME="/usr/lib/jvm/java-6-sun"
JAVA_HOME="/usr/lib/jvm/java-6-sun"
Run Code Online (Sandbox Code Playgroud)

我想这是一个棘手的问题,因为我试图避免使用自定义脚本,例如

/usr/local/bin/PropUpdate /etc/environment JAVA_HOME "/usr/lib/jvm/java-6-sun"
Run Code Online (Sandbox Code Playgroud)

/usr/local/bin/PropUpdate是以下脚本(为了示例而编写,可能包含错误。感谢评论)

#!/bin/bash

# Append/Update a configuration record in a file
#
# Usage example:
# /usr/local/bin/PropUpdate /etc/environment JAVA_HOME "/usr/lib/jvm/java-6-sun"
#
# Author Maxim Veksler <maxim@vekslers.org>
# Version 0.5-2010-07-27


EXPECTED_ARGS=3
E_BADARGS=3
E_BADFILE=4

if [[ $# -ne ${EXPECTED_ARGS} ]]; then
  echo …
Run Code Online (Sandbox Code Playgroud)

linux scripting integration configuration system-administration

5
推荐指数
1
解决办法
3万
查看次数

产生网址安全数据的压缩算法

我希望以紧凑的形式存储Cookie数据。

是否存在产生URL安全输出的压缩算法之类的东西?目前我的方法是

String jsonData = GSON.toJson(data);
byte[] cookieBinaryData = jsonData.getBytes("UTF-8");
byte[] cookieSnappyData = Snappy.compress(cookieBinaryData);
String cookieBase64Data = new Base64(true).encodeToString(cookieSnappyData);
Run Code Online (Sandbox Code Playgroud)

这cookieBase64Data是存储在cookie中的一个。我很乐意跳过Base64跃点。

compression algorithm cookies urlencode character-encoding

5
推荐指数
1
解决办法
1213
查看次数

CGAffine以用户可读格式转换矩阵

我应该如何将CoreGraphics CGAffineTransform解释为人类可读,有意义的格式?

我想采取类似的方式:

NSLog(@"naturalSize %@, appliedSize %@, transformationMatrix %@",
      NSStringFromCGSize(clipVideoTrack.naturalSize),
      NSStringFromCGSize(CGSizeApplyAffineTransform(clipVideoTrack.naturalSize, clipVideoTrack.preferredTransform)),
      NSStringFromCGAffineTransform(clipVideoTrack.preferredTransform));
Run Code Online (Sandbox Code Playgroud)

naturalSize {1920,1080},appliedSize {-1080,1920},transformationMatrix [0,1,-1,0,1080,0]

上述矩阵变换的最终结果是采用这种风景右视频并转换为此纵向视频

我很高兴能够将其分解为人类可读形式的步骤,以便人们可以看到并理解转换实际上在做什么.

有点像(不确定我是否正确的步骤):

 0. Will use upper left corner for video export of width 1080, height 1920.
 1. Will move the video -1080(left) on the x axis 
 2. Will move the video 1920(down) on the y axis
 3. Will rotate 90deg clockwise from bottom right corner 
Run Code Online (Sandbox Code Playgroud)

对于执行此操作的代码或实现或解释,我将不胜感激.我试图学习并理解AVFoundation上下文中转换矩阵究竟是如何运作的.

transformation avfoundation affinetransform cgaffinetransform ios

5
推荐指数
1
解决办法
2475
查看次数

使用json对象中变量的参数名称

尝试计算地图会减少使用字段值作为发射对象的参数名称的mongo.

简单来说,我要做的是以下内容:

emit_object = {}
param_name = "param1"
param_value = 1
emit_object.param_name = param_value
Run Code Online (Sandbox Code Playgroud)

我想构建的对象是:

{ "param1" : 12 }
Run Code Online (Sandbox Code Playgroud)

正在构建的是以下内容:

{ "param_name" : 12 }
Run Code Online (Sandbox Code Playgroud)

JS是否支持对象构造的这种"动态"行为?(Mongo使用SeaMonkey JS引擎,如果相关的话).

谢谢你,马克西姆.

javascript mapreduce mongodb

4
推荐指数
1
解决办法
7348
查看次数

未初始化的常量Logger(NameError)

我正在尝试为Logger类定义一个自定义记录器并获取未初始化的常量Logger.

几天前相同的代码,任何想法可以让它破裂? https://github.com/sugarso/ScrapingTheApple/blob/master/JustScrape.rb#L48

Maxims-MacBook-Air:AppleSampleCodeWorker maximveksler$ ruby JustScrape.rb
JustScrape.rb:48:in `<main>’: uninitialized constant Logger (NameError)
Run Code Online (Sandbox Code Playgroud)

ruby nameerror

4
推荐指数
1
解决办法
4701
查看次数

二元运算符“|” 不能应用于“Int”和“UInt8”类型的操作数

我希望or在 2 位图上执行简单的逻辑,但 Swift 认为这是错误的:

let u: UInt8 = 0b1
let i: Int = 0b10
i | u // Binary operator '|' cannot be applied to operands of type 'Int' and 'UInit8'
Run Code Online (Sandbox Code Playgroud)

有什么方法可以符合类型推断并且仍然有效吗?

我总是可以这样做i | Int(u) // 3,但我认为这并不是最佳选择。

binary type-conversion unsigned-integer swift

4
推荐指数
1
解决办法
5220
查看次数

从Google Cloud Composer运行docker operator

至于文档,Google Cloud Composer气流工作者节点由专用的kubernetes集群提供:

在此输入图像描述

我有一个Docker包含ETL步骤,我想使用气流运行,最好是在专用群集上托管Workers OR的相同Kubernetes.

Docker Operation从Cloud Composer气流环境开始,最佳做法是什么?

务实的解决方案是❤️

google-cloud-platform google-cloud-composer

4
推荐指数
1
解决办法
1382
查看次数

拉取请求包含来自 master 的提交

一周前我从 master 分支出来。

master -> my_branch_1
Run Code Online (Sandbox Code Playgroud)

在此期间,我多次做出承诺my_branch_1并重新调整origin/master以跟上。

ATM 分支机构状况(概念化)

commit0
master -> my_branch_1

master:
   commit1
   commit3
   commit10

my_branch_1 (commits from master are marked with *)
   commit1*
   commit2
   commit3*
   commit4...commit9
   commit10
Run Code Online (Sandbox Code Playgroud)

当我尝试将 PR 打开回master. PR 日志显示所有提交,而我预计只会出现1...10提交。2, 4...9

  1. 我做错了什么?
  2. 我应该如何解决这个问题?

- 编辑 -

对origin评论中的讨论进行澄清。目的是将 master 上发生的提交接收到我的分支中。

这是期望的结果,因为我希望尽可能接近“ master”,以与代码库的其余部分保持同步。

我不想让这些提交已经出现master在我正在执行的 PR 中master

-- 编辑 2 --

此问题与托管在 GitHub 上的私人存储库有关。不是分叉的回购协议。

git github pull-request

4
推荐指数
1
解决办法
2573
查看次数