小编Cra*_*ker的帖子

使用CSS定位相对于其容器的HTML元素

我正在尝试使用HTML和CSS创建一个水平的100%堆积条形图.我想使用具有背景颜色和百分比宽度的DIV创建条形,具体取决于我想要绘制的值.我还希望有一个网格线来标记图表中的任意位置.

在我的实验中,我已经通过分配CSS属性使条形水平堆叠float: left.但是,我想避免这种情况,因为它似乎以混乱的方式混淆了布局.此外,当条形浮动时,网格线似乎不能很好地工作.

我认为CSS定位应该能够解决这个问题,但我还不知道该怎么做.我希望能够指定几个元素相对于其容器左上角的位置.我经常遇到这种问题(甚至在这个特定的图形项目之外),所以我想要一个方法:

  1. 跨浏览器(理想情况下没有太多的浏览器黑客)
  2. 以Quirks模式运行
  3. 尽可能清晰/干净,以方便定制
  4. 如果可能,不使用JavaScript完成.

html css positioning

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

使用正则表达式在Java中提取值

我有粗糙的几个字符串:

[some text] [some number] [some more text]
Run Code Online (Sandbox Code Playgroud)

我想使用Java Regex类在[some number]中提取文本.

我大致知道我想要使用的正则表达式(尽管欢迎所有建议).我真正感兴趣的是Java调用采用正则表达式字符串并在源数据上使用它来产生[某个数字]的值.

编辑:我应该补充一点,我只对一个[某个数字](基本上是第一个实例)感兴趣.源字符串很短,我不会寻找[某些数字]的多次出现.

java regex

160
推荐指数
6
解决办法
28万
查看次数

继承与聚合

关于如何在面向对象的系统中最好地扩展,增强和重用代码,有两种思路:

  1. 继承:通过创建子类来扩展类的功能.覆盖子类中的超类成员以提供新功能.当超类想要一个特定的接口但是对它的实现不可知时,使方法抽象/虚拟以强制子类"填空".

  2. 聚合:通过获取其他类并将它们组合到一个新类中来创建新功能.为这个新类附加一个公共接口,以便与其他代码进行互操作.

每个的好处,成本和后果是什么?还有其他选择吗?

我看到这个辩论定期出现,但我认为它还没有被问到Stack Overflow(虽然有一些相关的讨论).谷歌的结果也令人惊讶地缺乏.

language-agnostic oop inheritance aggregation

143
推荐指数
6
解决办法
8万
查看次数

你如何在psql中使用脚本变量?

在MS SQL Server中,我创建脚本以使用可自定义的变量:

DECLARE @somevariable int  
SELECT @somevariable = -1

INSERT INTO foo VALUES ( @somevariable )
Run Code Online (Sandbox Code Playgroud)

然后我将@somevariable在运行时更改值,具体取决于我在特定情况下所需的值.由于它位于脚本的顶部,因此很容易看到并记住.

我如何对PostgreSQL客户端做同样的事情psql

sql postgresql variables psql

122
推荐指数
10
解决办法
20万
查看次数

Git:恢复已删除的(远程)分支

我需要恢复在推送过程中以某种方式删除的两个Git分支.

这两个分支是在不同的系统上创建的,然后推送到我的"共享"(github)存储库.

在我的系统上,我(显然)在获取期间检索了分支:

~/myfolder> git fetch
remote: Counting objects: 105, done.
remote: Compressing objects: 100% (58/58), done.
remote: Total 62 (delta 29), reused 0 (delta 0)
Unpacking objects: 100% (62/62), done.
From github.com:mygiturl
 * [new branch]      contact_page -> origin/contact_page
   731d1bb..e8b68cc  homepage   -> origin/homepage
 * [new branch]      new_pictures -> origin/new_pictures
Run Code Online (Sandbox Code Playgroud)

在那之后,我做了一个推动,将我的本地更改发送到中央仓库.出于某种原因,这些分支从我的本地系统和中央仓库中删除:

~/myfolder> git push
Counting objects: 71, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (43/43), done.
Writing objects: 100% (49/49), 4.99 KiB, done.
Total 49 (delta 33), …
Run Code Online (Sandbox Code Playgroud)

git github

89
推荐指数
6
解决办法
9万
查看次数

不区分大小写的搜索和替换为sed

我正在尝试使用SED从日志文件中提取文本.

我可以毫不费力地进行搜索和替换:

sed 's/foo/bar/' mylog.txt
Run Code Online (Sandbox Code Playgroud)

但是,我想使搜索不区分大小写.从我用Google搜索的内容看起来,附加i到命令的末尾应该可以正常工作:

sed 's/foo/bar/i' mylog.txt
Run Code Online (Sandbox Code Playgroud)

但是,这给了我一个错误消息:

sed: 1: "s/foo/bar/i": bad flag in substitute command: 'i'
Run Code Online (Sandbox Code Playgroud)

这里出了什么问题,我该如何解决?

我在macOS上,万一重要.

macos replace sed case-insensitive

74
推荐指数
5
解决办法
6万
查看次数

如何在SASS中定义属性选择器?

在CSS中,您可以这样做:

input[type=submit] {
  // properties
}
Run Code Online (Sandbox Code Playgroud)

它对于样式表单按钮非常有用.

你怎么在SASS做同样的事情?

css attributes sass css-selectors

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

消除log4net中的重复日志记录

我有一个程序,可以对"myprogram"记录器进行许多log4net调用.它还调用其他代码,使log4net调用其他记录器.我想为"myprogram"捕获高于INFO的所有日志,并为其他所有内容捕获高于WARN的所有日志.这样,我就可以获得特定于我正在处理的任务的正在进行的工作消息,但仍然会通知支持代码中发生的潜在不良事件.我希望将其发送到Console和日志文件.

我有以下log4net配置:

<log4net>
    <root>
        <level value="WARN" />
        <appender-ref ref="Console" />
        <appender-ref ref="LogFile" />
    </root>
    <logger name="myprogram">
        <level value="INFO" />
        <appender-ref ref="Console" />
        <appender-ref ref="LogFile" />
    </logger>
    <appender name="Console" type="log4net.Appender.ConsoleAppender">
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%message%newline" />
        </layout>
        <threshold value="INFO" />
    </appender>
    <appender name="LogFile" type="log4net.Appender.RollingFileAppender">
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="- %utcdate %level %logger %ndc %thread %message%newline" />
        </layout>
        <appendToFile value="false" />
        <staticLogFileName value="true" />
        <rollingStyle value="Once" />
        <file value="mylogfile" />
        <immediateFlush value="true" />
        <threshold value="INFO" />
        <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
    </appender>
</log4net>
Run Code Online (Sandbox Code Playgroud)

这对我来说非常有意义:log> WARN for …

logging log4net log4

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

在Ruby中读取文件的第一行

我想以最快,最简单,最惯用的方式使用Ruby 读取文件的第一行.什么是最好的方法?

(具体来说:我想从我最新的Capistrano部署的Rails目录中的REVISION文件中读取git commit UUID,然后将其输出到我的标签.这将让我看到http浏览器部署到我的服务器的版本如果有完全不同的更好的方法,请告诉我.)

ruby git file-io capistrano ruby-on-rails

59
推荐指数
5
解决办法
4万
查看次数

从Windows脚本中的命名环境变量中删除引号

我想在Windows环境变量中存储URL前缀.查询字符串中的&符号使这很麻烦.

例如:我有一个URL前缀,http://example.com?foo=1&bar=并希望通过提供bar参数值来创建完整的URL .然后我想使用"start"命令启动该URL.

在SET操作的值周围添加引号很容易:

set myvar="http://example.com?foo=1&bar="
Run Code Online (Sandbox Code Playgroud)

Windows虽然包含实际值中的引号(感谢Windows!):

echo %myvar%
"http://example.com?foo=1&bar=true"
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用代字号从批处理文件参数中删除引号:

echo %~1
Run Code Online (Sandbox Code Playgroud)

但是,我似乎无法对命名变量这样做:

echo %~myvar%
%~myvar%
Run Code Online (Sandbox Code Playgroud)

完成此操作的语法是什么?

windows quotes scripting batch-file environment-variables

54
推荐指数
4
解决办法
5万
查看次数