小编Bac*_*ash的帖子

什么应该是对PASV命令的FTP响应

我正在写一个FTP服务器,但我不懂PASV命令,任何服务器都发送这样的响应:

227 Entering Passive Mode (213,229,112,130,216,4)
Run Code Online (Sandbox Code Playgroud)

括号中的数字是什么意思?那是正常模式和被动模式之间的区别?

ftp ftp-server

7
推荐指数
1
解决办法
8192
查看次数

使用PHP访问没有数据库的计数器

我有一个网页,我想跟踪没有使用数据库访问它的次数.

我考虑过XML,每次用户访问页面时都会更新文件:

<?xml version='1.0' encoding='utf-8'?>
<counter>8</counter>
Run Code Online (Sandbox Code Playgroud)

然后我认为在一个单独的文件中声明一个PHP计数器然后每次用户访问该页面时更新它都是一个更好的主意.

counter.php

<?php
    $counter = 0;
?>
Run Code Online (Sandbox Code Playgroud)

update_counter.php:

<?php
    include "counter.php";
    $counter += 1;
    $var = "<?php\n\t\$counter = $counter;\n?>";
    file_put_contents('counter.php', $var);
?>
Run Code Online (Sandbox Code Playgroud)

这样,每次update_counter.php访问时,counter.php文件中的变量都会增加.

无论如何,我注意到如果counter.php文件有$counter = 5,并且update_counter.php文件被同时访问的1000个用户访问,则文件同时被读取1000次(因此5在所有请求中读取该值)counter.php文件将被更新有价值5+1 (=6)而不是1005.

有没有办法让它在不使用数据库的情况下工作?

php counter

7
推荐指数
2
解决办法
1万
查看次数

什么是最佳时间:if或exception

确保两个选项之间执行的时间更短的成本:

A:

if(something!=null){
    ...
}else{
    //log
}
Run Code Online (Sandbox Code Playgroud)

要么:

B:

try{
    something.getField();...
}catch(Exception e){
    //log
} 
Run Code Online (Sandbox Code Playgroud)

java exception execution-time

7
推荐指数
3
解决办法
215
查看次数

从未使用过“MyApplication”类

在我的 build.gradle 文件中使用此代码成功将 flurry SDK 集成到库中后。

    compile 'com.flurry.android:analytics:6.8.0'
Run Code Online (Sandbox Code Playgroud)

我创建了 java 类来将我的 API 密钥集成到我的代码中,并且由于我在外部设备上运行我的应用程序,我想一些数据需要显示在我的 flurry 帐户上,但现在四天了,没有任何变化,只有零显示在我的仪表盘...

另外,我的java文件上有这条消息

从未使用过“MyApplication”类

在此处输入图片说明

Ps:我是android studio的新手

java android flurry

7
推荐指数
1
解决办法
8158
查看次数

Eclipse崩溃并无法打开

我正在运行一个应用程序很长一段时间突然eclipse崩溃,直到现在无法打开.我正在使用Win 7 OS和java 7.我从未HOME在Eclipse工作完美时设置变量.Eclipse崩溃后我设置HOME_JAVA但问题是一样的.我无法从工作台打开eclipse.

我的元数据文件具有以下行.

!SUBENTRY 1 org.eclipse.equinox.registry 4 1 2014-06-03 10:39:07.782
!MESSAGE Plug-in com.android.ide.eclipse.adt was unable to load class com.android.ide.eclipse.adt.internal.build.builders.PostCompilerBuilder.
!STACK 0
org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter$TerminatingClassNotFoundException: An error occurred while automatically activating bundle com.android.ide.eclipse.adt (629).
    at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:124)
    at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:469)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
    at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:395)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:464)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:340)
    at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:229)
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1212)
    at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:174)
    at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:905)
    at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
    at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55)
    at org.eclipse.core.internal.events.BuildManager.instantiateBuilder(BuildManager.java:906)
    at org.eclipse.core.internal.events.BuildManager.initializeBuilder(BuildManager.java:859)
    at org.eclipse.core.internal.events.BuildManager.getBuilder(BuildManager.java:545)
    at org.eclipse.core.internal.events.BuildManager.getBuilder(BuildManager.java:574)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:244) …
Run Code Online (Sandbox Code Playgroud)

java eclipse android

6
推荐指数
1
解决办法
3018
查看次数

java.lang.NoClassDefFoundError:Lorg/apache/logging/log4j/Logger; 但是工件存在

我正在使用Tomcat来部署java webapp.

简而言之,我获得了很长的堆栈跟踪:

GRAVE: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/new-webapp]]
[...]
Caused by: java.lang.NoClassDefFoundError: Lorg/apache/logging/log4j/Logger;
    at java.lang.Class.getDeclaredFields0(Native Method)
    at java.lang.Class.privateGetDeclaredFields(Class.java:2509)
    at java.lang.Class.getDeclaredFields(Class.java:1819)
    at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:106)
    at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:256)
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationFilterAnnotations(WebAnnotationSet.java:105)
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:64)
    at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:335)
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:782)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:306)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:95)
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5150)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
    ... 6 more
Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.Logger
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1305)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1139)
    ... 20 more
[...]
Run Code Online (Sandbox Code Playgroud)

现在,错误很明显.出于某种原因,log4j包不在类路径中.

该应用程序是一个maven webapp,pom.xml是这样的:

<project 
    xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.wb</groupId>
    <artifactId>new-webapp</artifactId>
    <packaging>war</packaging>
    <version>0.0.1</version>
    <properties> …
Run Code Online (Sandbox Code Playgroud)

java tomcat maven classnotfoundexception

6
推荐指数
1
解决办法
2万
查看次数

使用Flutter加载AssetImages

我正在尝试为我的Flutter应用定义一些资产.

这是我的目录结构:

- lib
- assets
 - images
   ? bg_login.png <-- this one is 400x800px
   ? 2.0x
     ? bg_login.png <-- this one is 800x1600px.
- test
- ios
- android
- build
- pubspec.yaml
Run Code Online (Sandbox Code Playgroud)

这是我的pubspec文件(缩进为2个空格):

name: my_app
description: My App

dependencies:
  flutter:
    sdk: flutter

  cupertino_icons: ^0.1.0

dev_dependencies:
  flutter_test:
    sdk: flutter

flutter:
  uses-material-design: true

  assets:
    - assets/images/bg_login.png
Run Code Online (Sandbox Code Playgroud)

我加载图像:

new Positioned( 
  top: 0.0,
  width: MediaQuery.of(context).size.width,
  child: Image.asset(
    "assets/images/bg_login.png",
    fit: BoxFit.fitWidth,
  )
)
Run Code Online (Sandbox Code Playgroud)

有时图像会加载,有时它会因此错误而失败:

Launching lib\main.dart on Android SDK built for x86 in …
Run Code Online (Sandbox Code Playgroud)

android image-loading flutter

6
推荐指数
1
解决办法
574
查看次数

命名路线的动画

PageRoute在 Flutter 中,我们可以通过扩展(或使用扩展它的类)来自定义视图更改动画。

MaterialApplication例如,我正在使用这种方式将动画更改为“滑动” CupertinoPageRoute

Navigator.of(context).pushReplacement(
  CupertinoPageRoute(builder: (context) => Calendar()),
);
Run Code Online (Sandbox Code Playgroud)

现在我想通过使用main.dart文件中定义的命名视图来更改它:

return MaterialApp(
  title: 'Demo',
  theme: myTheme, // => Theme.of(context).copyWith(...)
  initialRoute: '/',
  routes: {
    '/': (context) => Login(),
    '/calendar': (context) => Calendar(),
  }
);
Run Code Online (Sandbox Code Playgroud)

这样我就可以打电话

Navigator.of(context).pushReplacementNamed('/calendar');
Run Code Online (Sandbox Code Playgroud)

IMO 更清晰且与视图无关。

这种方法的问题是我无法定义 a PageRoute,因此我无法自定义视图更改动画。

有没有办法做到这一点?

animation android routes flutter

6
推荐指数
1
解决办法
4041
查看次数

检查网站是否存在

我正在尝试使用java创建一个is-website-down实用程序,但是我遇到了一些问题.

有没有办法检查网站是否存在?我试过看看网站是否关闭:

URL url = new URL("http://localhost");
HttpURLConnection httpConnection = (HttpURLConnection) (url.openConnection());
int code = httpConnection.getResponseCode();
System.out.println("code: " + code);
Run Code Online (Sandbox Code Playgroud)

它通过IOExceptionConnection refused: connect时即我尝试连接到本地主机,而没有活动的HTTP服务器侦听(该网站已关闭).

我认为与一些实际上不存在的网站会发生同样的事情,即

URL url = new URL("http://www.sdfasfjkhaslfjkhaslkdjfhasldkjf.it");
Run Code Online (Sandbox Code Playgroud)

但我收到HTTP状态代码200,因为如果我正在搜索的网站不存在,我的ISP会自动将我重定向到随机广告页面.

因此,如果网站出现故障,我的程序会说"嗯,您的网站已关闭",但如果该网站不存在,我的程序会说"哦,您的网站正常运行!",这并不是很好.

有没有办法检查网站是否存在?

java web

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

从带有 LIMIT 子句的查询中获取结果计数

我有一个包含数千个节点的 Neo4j 数据库。

我使用此查询来查找在所需字段内包含一些文本的节点:

MATCH (n:MYNODE)
WHERE n.myfield CONTAINS {textToSearch} 
RETURN n
ORDER BY n.myfield ASC 
LIMIT 50
Run Code Online (Sandbox Code Playgroud)

此查询有效,并返回 ordere by 的前 50 个结果n.myfield

假设有 340 个节点符合搜索条件:返回前 50 个节点。有没有办法也返回总数?我想要 50 个节点以及总数 (340) 以便显示。

我会像这样进行第二个查询:

MATCH (n:MYNODE)
WHERE n.myfield CONTAINS {textToSearch} 
RETURN count(n)
Run Code Online (Sandbox Code Playgroud)

有没有办法避免第二次查询并将此结果包含在第一个查询中?Neo4j 应该在第一个查询中将它们限制为 50 之前找到所有 340 个节点,那么有没有办法在LIMIT应用子句之前拦截节点计数并返回它呢?

count neo4j cypher

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