小编Jer*_*rin的帖子

使用printf颜色

像这样写,它输出蓝色文字:

printf "\e[1;34mThis is a blue text.\e[0m"
Run Code Online (Sandbox Code Playgroud)

但是我希望在printf中定义格式:

printf '%-6s' "This is text"
Run Code Online (Sandbox Code Playgroud)

现在我尝试了几种如何添加颜色的选项,但没有成功:

printf '%-6s' "\e[1;34mThis is text\e[0m"
Run Code Online (Sandbox Code Playgroud)

我甚至试图将格式添加到格式但没有成功.这不起作用,我找不到任何一个例子,其中颜色被添加到printf,其中已定义格式,如我的情况.

linux bash printf colors

80
推荐指数
5
解决办法
10万
查看次数

flot中的条宽问题

我有一个图表,显示代表24小时降雨量的条形图.现在我遇到的第一个问题是flot中条形的默认1px宽度,请参阅此示例:

替代文字

我搜索了一个解决方案,发现像这样指定barwidth:

bars: { 
        show: true,
        barWidth : 60*60*1000 //1h
    }
Run Code Online (Sandbox Code Playgroud)

解决了这个问题.现在这确实有效,但结果不好.在我的例子中(每隔一小时显示24个降雨量的图表)现在发生这种情况:

替代文字

从第一个示例中可以看出,条形宽度为1px,时间从前一天的13:00到第二天的13:00.现在当条形宽度固定时,由于某种原因,时间从13:00到14:00.现在我尝试了不同的barWidth设置,例如50*60*1000,但是不能正确缩放加上边距开始出现在每个条形图中.

现在我想知道如何解决这个问题,时间线会像第一个例子那样,并且条形宽度为1小时?

flot

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

按对象值分组,计数然后按最大对象属性设置组密钥

我已经设法使用Java 8 Streams API编写解决方案,该解决方案首先按对象组合对象Route列表,然后计算每个组中对象的数量.它返回一个映射Route - > Long.这是代码:

Map<Route, Long> routesCounted = routes.stream()
                .collect(Collectors.groupingBy(gr -> gr, Collectors.counting()));
Run Code Online (Sandbox Code Playgroud)

而Route类:

public class Route implements Comparable<Route> {
    private long lastUpdated;
    private Cell startCell;
    private Cell endCell;
    private int dropOffSize;

    public Route(Cell startCell, Cell endCell, long lastUpdated) {
        this.startCell = startCell;
        this.endCell = endCell;
        this.lastUpdated = lastUpdated;
    }

    public long getLastUpdated() {
        return this.lastUpdated;
    }

    public void setLastUpdated(long lastUpdated) {
        this.lastUpdated = lastUpdated;
    }

    public Cell getStartCell() {
        return startCell;
    }

    public void setStartCell(Cell startCell) …
Run Code Online (Sandbox Code Playgroud)

java grouping java-8 java-stream

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

Android 上 WebRTC 的自定义视频源

概述

我想使用自定义视频源通过 WebRTC Android 实现直播视频。如果我理解正确,现有实现仅支持 Android 手机上的前置和后置摄像头。以下类与此场景相关:

目前在 Android 手机上使用前置摄像头,我正在执行以下步骤:

CameraEnumerator enumerator = new Camera1Enumerator(false);
VideoCapturer videoCapturer = enumerator.createCapturer(deviceName, null);
VideoSource videoSource = peerConnectionFactory.createVideoSource(false);
videoCapturer.initialize(surfaceTextureHelper, this.getApplicationContext(), videoSource.getCapturerObserver());
VideoTrack localVideoTrack = peerConnectionFactory.createVideoTrack(VideoTrackID, videoSource);
Run Code Online (Sandbox Code Playgroud)

我的场景

我有一个回调处理程序,它从自定义视频源接收字节数组中的视频缓冲区:

public void onReceive(byte[] videoBuffer, int size) {}
Run Code Online (Sandbox Code Playgroud)

我怎样才能发送这个字节数组缓冲区?我不确定解决方案,但我想我必须实现自定义VideoCapturer?

现有问题

这个问题可能是相关的,尽管我没有使用 libjingle 库,只使用原生 WebRTC Android 包。

类似的问题/文章:

java streaming android webrtc webrtc-android

8
推荐指数
1
解决办法
2401
查看次数

WELD-001408注入EntityManager时不满意的依赖关系

我有@Statelessbean实现两个接口(远程和本地).我还添加@LocalBean了用于通过无接口视图访问bean的anotation.

@Stateless
@LocalBean
public class WeatherDataBean implements WeatherDataBeanRemote, WeatherDataBeanLocal {
    @Inject
    private EntityManager entityManager;

    public WeatherDataBean () {

    }
    // ....attributes, getter & setter methods ....
}
Run Code Online (Sandbox Code Playgroud)

我使用@Inject这个原因取自JBoss AS7快速启动的这个例子:

我们使用来自CDI的"资源生成器"模式,将实体管理器的旧式@PersistenceContext注入"别名"为CDI样式注入.这允许我们在整个应用程序中使用一致的注入样式(@Inject).

以前我用过:

@PersistenceContext(unitName="WeatherStationJPA")
private EntityManager entityManager;
Run Code Online (Sandbox Code Playgroud)

在EJB中,它没有任何问题.但是使用@Inject注释我得到这个错误:

WELD-001408在注入点[[field] @Inject private ejb.WeatherDataBean.entityManager]中带有限定符[@Default]的[EntityManager]类型的不满意依赖项

这是我如何定义类资源:

public class Resources {
     @SuppressWarnings("unused")
     @PersistenceContext(unitName="WeatherStationJPA")
     @Produces
     private EntityManager entityManager;

     @Produces
     FacesContext getFacesContext() {
         return FacesContext.getCurrentInstance();
     }
}
Run Code Online (Sandbox Code Playgroud)

如果我尝试注入实体管理器,为什么会出现此错误?

编辑: 根据@LightGuard的请求,我正在添加我用来引用注释的包:

  1. WeatherDataBean有:

    import javax.ejb.LocalBean;
    import javax.ejb.Stateless;
    import javax.inject.Inject; …
    Run Code Online (Sandbox Code Playgroud)

dependency-injection stateless-session-bean entitymanager cdi java-ee-6

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

MySql在相对较大的数据库上执行max(),min(),sum()的速度

我有一个相对较大的数据库(130.000+行)的天气数据,它的累积速度非常快(每隔5分钟就会添加一个新行).现在在我的网站上,我发布了一天的最小/最大数据,以及我的整个存在(大约1年).

现在我想知道,如果我将从创建额外的表中受益,其中将存储这些最小/最大数据,而不是让php执行mysql查询来搜索整天的最小/最大数据和最小/最大数据我的气象站的存在.查询max(),min()或sum()(需要sum()来累计几个月的雨累积)会花费更长的时间然后对表进行简单查询,该表已经保存了那些min,max和sum值?

php mysql optimization

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

Math.min.apply为null返回0

我想从数组中获得最小值.如果该数据包含null的值,Math.min.apply返回0null值.请看这个JSFiddle示例.即使数组中存在空值,如何获得真正的最小值?

代码(与JSFiddle示例相同):

var arrayObject= [ {"x": 1, "y": 5}, {"x": 2, "y": 2}, {"x": 3, "y": 9}, {"x": 4, "y": null}, {"x": 5, "y": 12} ];

var max = Math.max.apply(Math, arrayObject.map(function(o){return o.y;}));
var min = Math.min.apply(Math, arrayObject.map(function(o){return o.y;}));

$("#max").text(max);
$("#min").text(min);
Run Code Online (Sandbox Code Playgroud)

javascript

5
推荐指数
2
解决办法
7466
查看次数

如何在Flot中获取x轴起始值?

我想知道如何在JS库Flot中获取x轴起始值.我知道开始时的x轴值(显然,因为我用自己的数据填充它),但如果你设置:

pan: {
     interactive: true
}
Run Code Online (Sandbox Code Playgroud)

比用户能够平移图表(这里的示例),如果用户平移图表,则x值会发生变化.我查看了jquery.flot.js,找到了这个值的计算位置,但没有运气.

javascript jquery graph flot

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

从Trigger调用包含动态SQL的存储过程

我从Trigger调用存储过程,我收到以下错误:

存储函数或触发器中不允许使用动态SQL

为什么会发生这种情况,动态SQL正在存储过程中执行,该过程从触发器调用.也许这就是问题,如果有的话有什么办法吗?

编辑(添加代码):

这是主表中的Trigger:

-- Trigger DDL Statements
DELIMITER $$

USE `TestaDataBase`$$
CREATE TRIGGER `TestaDataBase`.`UpdateAuxilaryTable`
AFTER INSERT ON `MainTable` FOR EACH ROW  
BEGIN    
    /* Here we call stored procedure with parameter id of newly inserted row. */
    CALL TestProcedure('Year', 'Person', 'IdPerson', NEW.IdData);
END
$$
Run Code Online (Sandbox Code Playgroud)

这是从触发器调用的存储过程:

DELIMITER $$
CREATE PROCEDURE `TestDataBase`.`TestProcedure` (IN attribute CHAR(64), IN tableName CHAR(64), IN IdTable CHAR(64), IN IdLastRow MEDIUMINT)
BEGIN
DECLARE selectedValue MEDIUMINT;

SET @statement = CONCAT('SELECT ', attribute, ' FROM ', tableName, ' WHERE ', …
Run Code Online (Sandbox Code Playgroud)

mysql triggers stored-procedures dynamic-sql

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

函数date_sunrise()返回错误的时间并可能返回结果

关于这个功能我有两件事我不明白:

1.使用格式SUNFUNCS_RET_TIMESTAMP时不考虑偏差.例如,如果我使用格式SUNFUNCS_RET_STRING并使用此代码:

$lat = 46.055556;    // Latitude (Ljubljana).
$long = 14.508333;    // Longitude (Ljubljana).
$offset = 2;    // Difference between GMT and local time in hours.
$zenith = 90 + 50 / 60;

echo "<br><p>Sunrise: " . date_sunrise(time(), SUNFUNCS_RET_STRING, $lat, $long, $zenith, $offset);
echo "<br>Sunset: " . date_sunset(time(), SUNFUNCS_RET_STRING, $lat, $long, $zenith, $offset);
Run Code Online (Sandbox Code Playgroud)

然后它将显示某种正确的answear(我的意思在某种程度上将在第二点解释):

日出:5:15日落:20:42

现在,如果我使用SUNFUNCS_RET_TIMESTAMP并将其转换为具有函数date()的日期的字符串表示形式:

$lat = 46.055556;    // Latitude (Ljubljana).
$long = 14.508333;    // Longitude (Ljubljana).
$offset = 2;    // Difference between GMT and local time …
Run Code Online (Sandbox Code Playgroud)

php date

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