我有风格
.a{width: 10px;}
...
.a{width: 20px;}
Run Code Online (Sandbox Code Playgroud)
很明显,第一个选择器未使用。我正在寻找一个工具,可以为我提供有关 css 中此类位置的信息。例如getUnusedRule(styles)-> style.css、规则、选择器等处的行号。别的。
第二种情况是通知过于嵌套的选择器
.a .b .c .d{...}
Run Code Online (Sandbox Code Playgroud)
getTooLongSelectors(styles, maxNestingNum)-> 在源代码中查找位置的信息
我不想缩小输出CSS,但需要在代码中找到这些地方并手动修复它。重点不是缩小代码,而是使源代码更准确,以便更好地维护并防止堆积不必要的东西。
我认为它可能是 css AST 分析器,它输出用于手动源代码改进的信息。
我更喜欢基于javascript的工具,我们团队中有一些 js 程序。
有任何想法吗?不仅欢迎现成的工具,而且欢迎思维方式。
我在 java-7 中有一个 for 语句,它工作正常:
Character cha = new Character(',');
String ncourseIds = null;
String pastCourseIds = null;
for (EquivalentCourse equivalentCourse : equivalentCourses) {
if(equivalentCourse.getNcourse() != null){
ncourseIds += equivalentCourse.getNcourse().getId()+ ",";
} else if(equivalentCourse.getPastCourse() != null) {
pastCourseIds +=equivalentCourse.getPastCourse().getId()+",";
}
}
if(!ncourseIds.isEmpty() &&cha.equals(ncourseIds.charAt(ncourseIds.length()-1))) {
ncourseIds = ncourseIds.substring(0, ncourseIds.length()-1);
}
if(!pastCourseIds.isEmpty()&& cha.equals(pastCourseIds.charAt(pastCourseIds.length()-1))) {
pastCourseIds = pastCourseIds.substring(0,pastCourseIds.length()-1);
}
Run Code Online (Sandbox Code Playgroud)
现在我想将我的代码转换为Stream&collect在 java-8 中,我实现了一半关于 filter not null 的业务Ncourse:
equivalentCourses.stream().filter(obj -> obj.getNcourse() != null )
.map(obj -> obj.getNcourse().getId()).collect(Collectors.joining(","));
Run Code Online (Sandbox Code Playgroud)
但我不知道实施它的else-statement …
我正在创建授权应用程序,我正在使用Retrofit 2.当我正在进行调用时,这将转到onFailure方法并获得异常
"javax.net.ssl.SSLException: Connection closed by peer"
但问题是,昨天这很有效.今天它给了例外.我在互联网上找到一些SSLException - 在Android 4.x版本上由peer关闭的连接,或者如何使用Retrofit添加TLS v 1.0和TLS v.1.1,但这对我没有帮助.任何想法如何解决它.在后端TLS1.2启用.
public class RegistrationFragment extends BaseFragment {
View mainView;
ApiClient apiClient = ApiClient.getInstance();
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
mainView = inflater.inflate
(R.layout.registration_fragment, container, false);
//Calling the authorization method
registerCall();
}
});
return mainView;
}
//User authorization method
public void registerCall() {
Call<ResponseBody> call = apiClient.registration(supportopObj);
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
if (response.isSuccessful()) …Run Code Online (Sandbox Code Playgroud) 我正在尝试找到一种使用Immutables库创建用于保存Spring Boot应用程序配置的数据类的方法。
我的数据配置类是:
@Value.Immutable
@JsonDeserialize(as = ImmutableAuthConfig.class)
public interface AuthConfig {
String domain();
String clientId();
@Value.Redacted
String clientSecret();
}
Run Code Online (Sandbox Code Playgroud)
当主配置类设置为
@Configuration
@EnableConfigurationProperties
@ConfigurationProperties
public class Config {
private ImmutableAuthConfig auth;
public AuthConfig getAuth() {
return auth;
}
public void setAuth(ImmutableAuthConfig auth) {
this.auth = auth;
}
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试过使用“ ImmutableAuthConfig或”或“仅” AuthConfig作为字段的一些变体,但没有任何方法可以改善这种情况。尚未获取配置,并且在应用程序启动后auth仍保留配置字段null。
AuthConfig用传统的POJO 替换类的内容可以解决此问题,但是我更喜欢一个不变的对象。有什么方法可以说服Spring与Immutables库生成的类进行接口连接?
我正在使用 Ginkgo 执行一些相对长时间运行的集成测试。我的测试输出中偶尔会出现警告,表明我的测试执行时间太长:
\n\n\xe2\x80\xa2 [SLOW TEST:30.000 seconds]
通过标准 Go 测试库运行 Ginkgo 时,有没有办法禁用这些警告?该文档提到了 Ginkgo 测试运行程序的一个参数 ( --slowSpecThreshold=TIME_IN_SECONDS),但似乎没有提到如何以编程方式实现相同的目的。
我有一个关于Guava的InetAddress.coerceToInteger方法的问题.
根据文档的方法:
public static int coerceToInteger(InetAddress ip)
'返回表示IPv4地址的整数,无论提供的参数是否为IPv4地址."
但是,IPv4范围是无符号的32位,而Java的int是有符号的 - 意味着返回的值只能覆盖相关IPv4范围的一半.
我错过了某人或方法中存在真正的问题吗?
谢谢
我有以下代码:(为了勇敢而简化)
public void search(Predicate<String> predicate, Elements elements)
{
List<SearchResult> searchResults = elements.stream()
.filter(element -> predicate.test(element.ownText()))
.map(element -> new SearchResult(element.ownText(), element.baseUri(),element.tagName()))
.collect(Collectors.toList());
}
Run Code Online (Sandbox Code Playgroud)
但是现在,我想要另一个列表,该列表将包含没有映射的所有过滤元素。是否可以使用流来做到这一点,或者我应该为此更改为 foreach 循环?
从几天开始,我正在尝试将主题动态传递给 Kafka 侦听器的方法,而不是通过来自 Java DSL 的键使用它们。周围的任何人以前都这样做过,或者可以说明实现这一目标的最佳方法是什么?
例如我的表是:
CREATE TABLE mytable (
id bigint NOT NULL,
foo jsonb
);
Run Code Online (Sandbox Code Playgroud)
它有一些价值:
id | foo
-----+-------
1 | "{'a':false,'b':true}"
2 | "{'a':true,'b':false}"
3 | NULL
Run Code Online (Sandbox Code Playgroud)
我想知道如何检查键的值是否为true,我应该使用哪个运算符?
我想要这样的东西,可以检查价值:
SELECT 1
FROM mytable
WHERE
id=2
AND
foo['a'] is true
;
Run Code Online (Sandbox Code Playgroud) StreamEx是一个功能强大的库,但在某些时候我不再需要它的超级大国了.
我怎么能摆脱StreamEx内部开销?这会造成问题吗?
防爆.
public void process(Path path){
StreamEx.of(Files.lines(path))
.groupRuns(...)
//See below
.unwrap()
//
.map(...)
.forEach(...)
}
Run Code Online (Sandbox Code Playgroud) java ×6
java-8 ×2
java-stream ×2
android ×1
apache-kafka ×1
boolean ×1
css ×1
ginkgo ×1
go ×1
guava ×1
if-statement ×1
inetaddress ×1
javascript ×1
json ×1
lambda ×1
optimization ×1
postgresql ×1
retrofit ×1
spring-boot ×1
sql ×1
sslexception ×1
streamex ×1
tls1.2 ×1