我正在使用Linux,我按照github教程中的指示创建了密钥,使用github注册了它们,并尝试明确地使用ssh-agent - 但是每当我尝试执行pull或push时,git会继续询问我的密码.
可能是什么原因?
ifjava中有两种类型的语句 - 经典:if {} else {}和速记:exp ? value1 : value2.一个比另一个快还是一样?
声明:
int x;
if (expression) {
  x = 1;
} else {
  x = 2;
}
Run Code Online (Sandbox Code Playgroud)
三元运算符:
int x = (expression) ? 1 : 2;
Run Code Online (Sandbox Code Playgroud) java performance if-statement premature-optimization shorthand
以下是两张PNG图片:
在视觉上它们完全相同 - 唯一的区别是在某些像素中有一个半透明背景(您可以下载图像进行检查).
但是当我在JavaFX节点上使用这些图像作为图像光标时,我得到以下结果:
第一个光标(没有部分透明像素)仍然很清晰,但第二个光标变形.
在与问题斗争了一段时间之后,我发现了解决这种差异的算法 - 混合模式:
"预期"方式(例如,您可以在此浏览器中看到)是获取每个通道的值之和,按Alpha值加权:(1 - alpha) * background_color + alpha * foreground_color.
"JavaFX Cursor"给出了不同的公式:( (1 - alpha) * background_color + alpha^2 * foreground_color注意方形).
我发现了失真,但我无法弄清楚我做错了什么以及如何纠正这个问题.
这是我测试程序的完整可运行源代码:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import javafx.scene.ImageCursor;
import javafx.scene.image.Image;
public class HelloWorld extends Application {
    public static void main(String[] args) {
        launch(args);
    }
    @Override
    public void start(Stage primaryStage) {
        System.out.println(ImageCursor.getBestSize(32, 32));
        primaryStage.setTitle("Hello World!");
        StackPane root = new StackPane();
        root.setCursor(new ImageCursor(new Image("/test-cursor.png"), …Run Code Online (Sandbox Code Playgroud) 我希望有一个命令publish-snapshot可以publish使用修改后的version设置运行任务(该设置将在执行命令时计算).
我想出了如何获取version内部命令的当前值,并且Project.runTask("task", "scope", ...)似乎是调用publish任务的正确调用.
我唯一感到困惑的是如何State使用新版本值修改实例.我的所有尝试似乎都对原始版本设置无效.
我最后一次尝试:
val printVers = TaskKey[Unit]("printvers")
val printVersTask = TaskKey[Unit]("printvers") <<= {version map println}
def publishSnapshot = Command.command("publish-snapshot") { state =>
  val newState = SessionSettings.reapply(state.get(sessionSettings).get.appendRaw(version := "???"), state)
  Project.runTask(printVers in Compile, newState, true)
  state
}
lazy val root = Project("main", file("."),
                        settings =
                          Defaults.defaultSettings ++
                          Seq(printVersTask)).settings(commands += publishSnapshot)
Run Code Online (Sandbox Code Playgroud)
有没有办法解决这种行为?
我正在尝试为没有它们的包提供打字:
error TS7016: Could not find a declaration file for module 'inputmask-core'. './node_modules/inputmask-core/lib/index.js' implicitly has an 'any' type.
Try `npm install @types/inputmask-core` if it exists or add a new declaration (.d.ts) file containing `declare module 'inputmask-core';`
Run Code Online (Sandbox Code Playgroud)
我在webpack中使用ts-loader和typescript 2.4.2,我在tsconfig.json中设置了以下类型的根:
"typeRoots": [
  "./node_modules/@types",
  "./src/client/types"
]
Run Code Online (Sandbox Code Playgroud)
我试图模仿包结构node_modules/@types:
src/client/types
|--inputmask-core
  |--index.d.ts
Run Code Online (Sandbox Code Playgroud)
具体如下index.d.ts:
declare class InputMask {}
export default InputMask;
Run Code Online (Sandbox Code Playgroud)
但错误仍然存在.我究竟做错了什么?我应该在哪里放置这些自定义.d.ts文件?
node_modules/@types和任何其他类型的根有什么区别?为什么TypeScript对待它们的方式不同?
我正在尝试渲染一条线,但是如果线条在真正的画布边界之外开始,我会遇到奇怪的行为.
例如,我有时会得到这个图像而不是正确的行:
正确的行看起来像这样:
以下是生成此示例的可运行代码:
import java.awt.image.*;
import javax.imageio.ImageIO;
import java.io.File;
import java.awt.*;
import java.awt.geom.*;
public class Render {
    public static void main(String[] args) throws Exception {
        BufferedImage image = new BufferedImage(100, 100, BufferedImage.TYPE_INT_ARGB);
        Graphics2D g = (Graphics2D) image.getGraphics();
        g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
        g.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_PURE);
        g.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
        g.setColor(Color.WHITE);
        g.fillRect(0, 0, 100, 100);
        g.setColor(Color.BLACK);
        g.setStroke(new BasicStroke(2));
        g.draw(new Line2D.Double(-92, 37, 88, 39));
        g.dispose();
        ImageIO.write(image, "png", new File("output.png"));
    }
}
Run Code Online (Sandbox Code Playgroud)
我尝试使用许多不同的渲染提示,但没有组合摆脱这个问题.可能是罪魁祸首?
编辑:
这是RenderingHints.VALUE_STROKE_NORMALIZE的图像:
缩放版图像(g.scale(10,10)):
我在github上有两个存储库,我在github上的用户名和我的本地git名称匹配.但由于某种原因,github没有将我的提交归因于我 - 所以在统计中,所有者没有提交,只有一些具有相同名称的用户提交.什么可能导致这种行为?
我使用NetBeans进行Java开发,我发现它非常好.但是,我仍然在寻找更好的机会,我偶然发现了IntelliJ IDEA的"免费"版本.
所以,我的问题:IntelliJ"社区版"是否比NetBeans更强大,如果是,如何?是否值得花时间学习它?
我尝试了以下方法:
import System.Exit
import System.Posix.Signals
import Control.Concurrent (threadDelay)
main :: IO ()
main = do
  installHandler keyboardSignal (Catch (do exitSuccess)) Nothing
  threadDelay (1000000000)
Run Code Online (Sandbox Code Playgroud)
但它只输出:
^CTest.hs: ExitSuccess
Run Code Online (Sandbox Code Playgroud)
上Ctrl-C,而不是退出.我该怎么做呢?
例如,我想创建以下查询:
SELECT c.* FROM Coffees c WHERE c.name IN ('robusta', 'arabica')
Run Code Online (Sandbox Code Playgroud)
我的尝试失败了:
val cnames = List("robusta", "arabica")
sql""" SELECT c.* FROM Coffees c WHERE c.name IN ${cnames} """
  could not find implicit value for parameter pconv: 
  scala.slick.jdbc.SetParameter[List[String]]
Run Code Online (Sandbox Code Playgroud)
有可能以某种方式in在Slick普通的SQL查询中使用子句吗?
java ×4
github ×2
scala ×2
comparison ×1
git ×1
haskell ×1
ide ×1
if-statement ×1
javafx ×1
netbeans ×1
performance ×1
sbt ×1
scala-2.10 ×1
shorthand ×1
signals ×1
slick ×1
swing ×1
typescript ×1