我有这张图片(我在 SGS 9 plus 上拍摄的照片):未压缩的 JPG 图像。它的大小为 4032 x 3024,重量约为 3MB。我用TinyJPG Compressor压缩了它,它的重量是1.3MB。对于 PNG 图像,我使用了Online-Convert,我看到 webp 图像甚至比使用TinyPNG压缩的图像小得多。我期待类似的东西,尤其是我读了一篇文章JPG 到 WebP - 比较压缩大小,其中 WEBP 比压缩的 JPG 小得多。但是当我在各种在线图片转换工具中将我的JPG转换为WEBP格式时,我看到1.5-2MB大小,所以文件比我压缩的 JPG 大。我错过了什么吗?WEBP应该不会比压缩后的JPG小很多吧?预先感谢您的每一个答案。
使用Angular Translate和$ translate.instant()方法,我构建了AngularJS的select组件,并在语言之间自动切换:
<translated-select
elements="$ctrl.values"
current-value="$ctrl.value"
on-change="$ctrl.setValue(value)"
></translated-select>
{{ $ctrl.value }}
<hr>
<button ng-click="$ctrl.switchToPolish()">
Switch to polish
</button>
<button ng-click="$ctrl.switchToEnglish()">
Switch to english
</button>
Run Code Online (Sandbox Code Playgroud)
正如您在Plunker上看到的那样:Angular JS选择自动翻译.问题是它select
在我选择第二个选项之前将s选项显示为undefined.然后一切正常,我可以在英语和波兰语的翻译选项之间切换.我甚至尝试用$onChanges
挂钩等待第一次更改,如果发生$digest
了更改,请运行$timeout
:
this.$onChanges = function (changes) {
if (changes.elements) {
$timeout(function () {
this.values = changes.elements.currentValue;
}.bind(this));
}
if (changes.currentValue) {
$timeout(function () {
this.value = changes.currentValue.currentValue;
}.bind(this));
}
}
Run Code Online (Sandbox Code Playgroud)
但是一次又一次,我必须在select中选择第二个选项才能使其正常工作.我错过了什么吗?如果有人会帮助我,我将不胜感激,谢谢你.
javascript internationalization angularjs angular-translate angularjs-components
我的想法是,我有一个名为的本地数据库northwind
,并且postgres_fdw
我想与另一个test
在localhost上命名的数据库连接(远程连接模拟,例如在数据库中的表被更新时,在其他数据库中执行某些操作,例如保存到历史记录等。 )。所以我打开了psql控制台并输入:
CREATE SERVER app_db
FOREIGN DATA WRAPPER postgres_fdw
OPTIONS (dbname 'test', host 'localhost:5432');
Run Code Online (Sandbox Code Playgroud)
正如我在“查看外部数据包装器”链接中所发现的。接下来,我还将按照本教程进行操作:
CREATE USER MAPPING for postgres
SERVER app_db
OPTIONS (user 'postgres', password 'postgres');
Run Code Online (Sandbox Code Playgroud)
(我假设用户名和密码应该与我在Hibernate中访问数据库时所使用的密码相同,并且在本current_user
教程中postgres
,就本教程而言,这是我的PgAdmin III中存在的唯一角色)。然后我创建了外表:
CREATE FOREIGN TABLE groups
(
id serial NOT NULL,
name character varying(255) NOT NULL,
version integer DEFAULT 0
)
SERVER app_db OPTIONS (table_name 'groups')
Run Code Online (Sandbox Code Playgroud)
没关系,我可以schema/foreign tables
在PgAdmin III中找到它。但是当我尝试时,SELECT * FROM groups
我得到了:
********** ERROR**********
ERROR: could not …
Run Code Online (Sandbox Code Playgroud) database postgresql pgadmin foreign-data-wrapper postgresql-9.3
我有两个表,用户和部门.我想拥有表,其中有两列:第一个是部门名称,第二个是计数 - 分配给该部门的用户数量.我有这段代码:
SELECT department_name as 'deptName',
COUNT(users.department_id) as 'userCount'
FROM departments
LEFT OUTER JOIN users
ON departments.id = users.department_id
GROUP BY 'deptName'
Run Code Online (Sandbox Code Playgroud)
部门的表格列是:
integer id PK
varchar(20) department_name
Run Code Online (Sandbox Code Playgroud)
用户的表列是:
integer id PK
varchar(20) name
varchar(20) surname
int department_id FK
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
现在我有2个部门,输出应该是2行,第一个是计数8,第二个是计数1. 但我只看到一行,所有计数(9). 我使用安装了XAMPP的MySQL.
我正在使用Twitter Bootstrap 3,但现在Twitter Bootstrap 4即将推出.而新Twitter Booststrap
配备了一些变化,如重命名.table-condensed
来.table-sm
为例子.为了将来可能从当前版本迁移到未来版本,有没有办法使HTML代码独立于CSS类名称的更改?例如,如果我有.table-condensed
类,有没有办法创建自己的类table-small
并从现有Twitter Bootstrap
的类创建它table-condensed
?像(伪代码)的东西:
.table-small {
join(".table-condensed")
}
Run Code Online (Sandbox Code Playgroud)
我只使用纯CSS
到这一刻(我偶尔是前端开发者而不是全栈:)),如果有人会回答我,如果这个东西甚至可能以某种方式,也许有预处理器或类似的东西,我会非常感谢 - 提前谢谢!
html css twitter-bootstrap-3 twitter-bootstrap-4 bootstrap-4
我想将Spring 4与Thymeleaf集成,但我得到了:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'templateResolver' defined in ServletContext resource [/WEB-INF/mvc-dispatcher-servlet.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.thymeleaf.templateresolver.ServletContextTemplateResolver]: No default constructor found; nested exception is java.lang.NoSuchMethodException: org.thymeleaf.templateresolver.ServletContextTemplateResolver.<init>()
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1105)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1050)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538)
at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:667)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:633)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:681)
at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:552)
at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:493)
at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)
at javax.servlet.GenericServlet.init(GenericServlet.java:158)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1231)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1144)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1031)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4914)
at …
Run Code Online (Sandbox Code Playgroud) 我用QUnit库做了一些Javascript单元测试,然后我想测试方法是否抛出RangeError.它以这种方式完成:
QUnit.test("Resolve slide animation from left", function( assert ) {
var myOwnCreator = new MyOwnCreator();
assert.equal(myOwnCreator.resolveAnimationType("slideSide", "show", "left"),
"slide-left-in");
assert.equal(myOwnCreator.resolveAnimationType("slideSide", "hide", "left"),
"slide-left-out");
assert.throws(myOwnCreator.resolveAnimationType("slideSide", "hide"),
new RangeError(),
" If animation type is 'slideSide', you have to provide correct direction"
+ "to identify animation properly, direction cannot be 'undefined'");
});
Run Code Online (Sandbox Code Playgroud)
第一次和第二次测试通过,因为通过函数(,, slide -...")解析的动画类是可以的.但第三次测试死了:
Died on test #3 at file...
Run Code Online (Sandbox Code Playgroud)
因为它抛出RangeError.它可以抛出RangeError,但我不明白如何在单元测试中捕获它,获取,确定"信息.如果我理解QUnit文档:QUnit抛出文档
我做的一切都好:我传递抛出错误的函数,预期错误的实例和预期的消息.我有人会决定帮助我,我会很高兴 - 提前谢谢你.
我想通过为单元格添加颜色来指定Angular UI日期单元格的颜色,因此我使用以下内容覆盖默认模板:
<!-- things from pasted default template, here I change something -->
<!-- btn-danger instead btn-info for clicked date, test if I can change anything-->
<!-- call to function from my own controller-->
<button type="button" style="width:100%;" class="btn btn-default btn-sm"
ng-class="{'btn-danger': dt.selected, active: isActive(dt)}" ng-click="select(dt.date)"
ng-disabled="dt.disabled" tabindex="-1">
<span ng-class="{'text-muted': dt.secondary, 'text-info': dt.current,
'text-success': hasEventsCreatedByUser(dt)}">
{{dt.label}}</span>
</button>
Run Code Online (Sandbox Code Playgroud)
那是(目前)我的功能 testController
$scope.hasEventsCreatedByUser = function(date){
return true;
};
Run Code Online (Sandbox Code Playgroud)
从更改btn-info
到btn-danger
非常容易,它只是粘贴另一个类:)但是我不能在我的控制器中调用方法 - 是否有任何解决方案在Angular UI模板中启用我的控制器调用函数或者我必须以某种方式覆盖默认值DatepickerController
?
更详细的描述:用户可以创建具有指定日期的事件.例如,这个想法是使用创建绿色的日期创建单元格
模拟解决方案发现:
我使用"miniController",我只在按钮上添加:
<button ng-controller="miniController" …
Run Code Online (Sandbox Code Playgroud) datepicker angularjs angular-ui angular-ui-bootstrap twitter-bootstrap-3
我通过将 Authorization 标头添加到 $http 标头来遵循Spring Security 和 Angular JS进行 HTTP 基本身份验证:
const headers = {
authorization: "Basic " + btoa(this.login + ":" + this.password)
};
this._$http.get("user",
{
headers: headers,
})
.then(
this.showUser.bind(this),
this.showError.bind(this)
);
Run Code Online (Sandbox Code Playgroud)
在里面showUser
我重定向到jobs
组件$location
:
this._$location.path("jobs");
Run Code Online (Sandbox Code Playgroud)
在jobs
组件内部,我加载可用的作业:
public $onInit() {
this._$http.get("jobs").then(function(response) {
this.jobs = response.data;
}.bind(this));
this.authenticated = this._loginService.isLogged();
}
Run Code Online (Sandbox Code Playgroud)
故意未经授权标头,以证明一切正常。我认为它应该被Spring Security
withHTTP 401 Unauthorized
或类似的东西放弃,但它在没有授权标头的情况下工作。当我从另一个浏览器窗口注销并重新加载作业时,一切正常,作业未加载。但我认为(并且我希望)授权数据(HTTP Basic)应该出现在每个请求中。这是我的安全配置:
protected void configure(HttpSecurity http) throws Exception {
http
.formLogin()
.successHandler(
new …
Run Code Online (Sandbox Code Playgroud) 我有这段代码:
<!DOCTYPE html>
<HTML>
<HEAD>
<TITLE>My first HTML document</TITLE>
<script type="text/javascript" src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript" src="https://code.jquery.com/ui/1.10.3/jquery-ui.min.js"></script>
<link rel="https://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css">
<script>
$(document).ready(function(){
$(".has-tooltip").each(function(){
$(this).tooltip({content: "test", items: "button"});
});
});
</script>
</HEAD>
<BODY>
<BUTTON class="has-tooltip" style="margin-left: 100px;">First</BUTTON>
<BUTTON class="has-tooltip" style="margin-left: 200px;">Second</BUTTON>
</BODY>
</HTML>
Run Code Online (Sandbox Code Playgroud)
工具提示完全错误 - 它应该以 jQuery UI 的样式出现,但它没有,而且位置错误 - 即使对于具有较大边距的按钮,它也会出现在屏幕的左侧(正如我所说,没有任何样式,它看起来像纯文本),即使将 ,,track" 属性设置为 ,,true" 它也不会完全跟随光标,但仍然出现在页面的左侧,并且当我移动光标时会移动一点。我认为这是非常简单的示例(该代码是我工作中发生的简化问题),我看不出我做错了什么。如果有人帮助我,我会很高兴 - 提前谢谢你。
PS 片段,这与我在浏览器中得到的行为完全相同:
<!DOCTYPE html>
<HTML>
<HEAD>
<TITLE>My first HTML document</TITLE>
<script type="text/javascript" src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript" src="https://code.jquery.com/ui/1.10.3/jquery-ui.min.js"></script>
<link rel="https://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css">
<script>
$(document).ready(function(){
$(".has-tooltip").each(function(){
$(this).tooltip({content: "test", items: "button"});
});
}); …
Run Code Online (Sandbox Code Playgroud)我想用Angular JS和Restangular将对象发送到Spring Controller.这就是我尝试这样做的方式:
var scoreTO = {
score: parseFloat($scope.score.score),
percentage: parseFloat($scope.score.percentage),
date: (new Date()).getTime()
}
Restangular.one("scores").post(scoreTO);
Run Code Online (Sandbox Code Playgroud)
有运输对象:
public class ScoreTO implements Serializable{
private double score;
private double percentage;
private long date;
public ScoreTO(){}
public ScoreTO(double score, double percentage, long date){
this.score = score; this.percentage = percentage; this.date=date;
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
public double getPercentage() {
return percentage;
}
public void setPercentage(double percentage) {
this.percentage = percentage;
} …
Run Code Online (Sandbox Code Playgroud) 我有一个gulp任务,它可以缩小CSS文件并将它们连接到一个文件:
gulp.task('minify-css', function() {
'use strict';
var pathsToMinifyAndConcat = [
'css/index.css'
];
var pathsToConcatOnly = [
'lib/css/font-awesome-4.3.0/font-awesome.min.css'
];
var minifyFiles = require('gulp-cssnano');
var concatAllFilesToOneFile = require('gulp-concat');
return gulp.src(
[]
.concat(pathsToMinifyAndConcat)
.concat(pathsToConcatOnly)
)
.pipe(minifyFiles())
.pipe(concatAllFilesToOneFile('application.min.css'))
.pipe(gulp.dest('dist'));
});
Run Code Online (Sandbox Code Playgroud)
但是,如果某些文件已经缩小(font-awesome.min.css
例如),则不应再次缩小 - 它应该只是连接,并且应该从缩小过程中省略.有没有办法在没有hacky解决方案的情况下做到这一点(我不想使用我无法完全理解的解决方案 - 而且我很擅长吞咽)保留文件顺序?我找到了一个插件来在管道中的任何一点添加src文件:gulp-add-src,但它似乎暂时无效.
当我使用Mercurial时,我曾经将标记作为提交 - 至少在TortoiseHG中,它在添加标记时创建了一个提交.当我尝试使用Git时,我很失望 - 它没有为标记创建提交,而且 - 当我从Intellij IDEA提交时,我必须选中一个复选框来将标记提交到存储库.是否可以在Git中添加标签,并将其作为提交,与Mercurial完全相同?非常感谢你的每一个答案.
javascript ×5
angularjs ×4
spring ×3
database ×2
spring-mvc ×2
angular-ui ×1
assert ×1
bootstrap-4 ×1
controller ×1
count ×1
css ×1
datepicker ×1
dvcs ×1
git ×1
git-tag ×1
gulp ×1
gulp-concat ×1
html ×1
image ×1
java ×1
jpeg ×1
jquery ×1
jquery-ui ×1
left-join ×1
maven ×1
mercurial ×1
minify ×1
mysql ×1
pgadmin ×1
postgresql ×1
qunit ×1
restangular ×1
sql ×1
throws ×1
thymeleaf ×1
tooltip ×1
unit-testing ×1
webp ×1