小编Tib*_* C.的帖子

Atom Editor - 如何使用多光标选择矩形

我已经喜欢上了一个功能非常在记事本++,压制Alt并用鼠标选择启用一个矩形选区,就像在桌面上的选择......想不出一个适当的期限为它,也许rectangular selection还是vertical selectionblock selection.很酷的是,它也可以使用空白行结束,它会自动生成空格.

Atom中是否有类似的功能?

例如,一个用例是使用tree命令提取文件列表:

.
??? element_portals_commands
?   ??? depends.txt
?   ??? init.lua
??? element_portals_functional
?   ??? portal_data_api.lua
??? liquid_portals
?   ??? constants.lua
?   ??? crafts.lua
?   ??? depends.txt
?   ??? sounds
?   ?   ??? fireball_whoosh.ogg
?   ??? textures
?       ??? ray_y_tile.png
?       ??? README.md
.......
Run Code Online (Sandbox Code Playgroud)

将多光标放在固定宽度(|每行的最后一行代表光标)

.                                       |
??? element_portals_commands            |
?   ??? depends.txt                     |
?   ??? init.lua                        |
................
?   ??? sounds                          |
? …
Run Code Online (Sandbox Code Playgroud)

atom-editor

14
推荐指数
1
解决办法
4899
查看次数

Angular2 - 组成动态创建的元素

我使用谷歌地图javascript api,我必须在InfoWindow中显示一个Angular组件.

在我的项目中,我使用该Jsonp服务加载谷歌地图API .比我有google.maps.Map可用的对象.稍后在组件中我创建了一些标记并将一个点击监听器附加到它们:

TypeScript:

let marker = new google.maps.Marker(opts);
marker.setValues({placeId: item[0]});
marker.addListener('click', (ev: google.maps.MouseEvent) => this.onMarkerClick(marker, ev));
Run Code Online (Sandbox Code Playgroud)

然后在click处理程序中我想打开一个包含Angular组件的信息窗口:

TypeScript:

private onMarkerClick(marker: google.maps.Marker, ev: google.maps.MouseEvent) {

    var div = document.createElement();
    this.placeInfoWindow.setContent(div);
    // Magic should happen here somehow
    // this.placeInfoWindow.setContent('<app-info-view-element></app-info-view-element>');
    this.placeInfoWindow.open(this.map, marker);
}
Run Code Online (Sandbox Code Playgroud)

我最终做的是一些香草JS:

TypeScript:

 private onMarkerClick(marker: google.maps.Marker, ev: google.maps.MouseEvent) {


    let div = document.createElement('div');
    div.className = 'map-info-window-container';
    div.style.height = '140px';
    div.style.width = '240px';

    this.placeInfoWindow.setContent(div);

    this.placeInfoWindow.open(this.map, marker);
    this.placesService.getPlace(marker.get('id')).subscribe(res => {
      this.decorateInfoWindow(div, res.name, …
Run Code Online (Sandbox Code Playgroud)

google-maps angular

10
推荐指数
1
解决办法
4571
查看次数

为什么网站管理员使用`ul/li`而不是`div`s进行布局?

据我所知,ul / li是排版特定的标签,旨在将文本格式化为列表(而搜索引擎喜欢语义标签).

这里我的一个大问题是为什么Web Masters更喜欢使用列表解决方案(ul/li),这是一个布局(div)解决方案的明显案例,更喜欢为列表语义标签修改很多样式,使它看起来像一个div解决方案?

它们只是使用错误还是我错过了重要的事实?

我问这个是因为,在很多情况下,这对于许多小部件插件都是有效的,这些插件动态地(通过JavaScript)生成html代码,即使某些搜索引擎不支持(或者支持有限) )JavaScript.例如:FlipClockJs,Bootstap组件(轮播,导航,分页)等.

html javascript css

9
推荐指数
2
解决办法
2898
查看次数

模拟图像的块{宽度:100%; height:auto}行为

我想创建以下布局:

在此输入图像描述

是具有不同宽度和高度的可变数量图像的条带,即:

  • 成比例的
  • 缩放在同一高度;
  • 并且它们的宽度之和等于父宽度.

***表达自己有点复杂;

我想知道img当你将宽度设置为百分比并且它auto神奇地计算它的高度时,块是否可以模拟整齐的比例行为.

我编写了一个图表,可能更好地解释了我想要实现的目标:

在此输入图像描述

我希望图像集合100%宽度的父元素,在相同的高度缩放而不会失去它们的比例.

我已经尝试了各种实现,试图找出一种方法,我可以在css中转换计算百分比高度,填充块的所有宽度,以及图像在有{width: 100%; height : auto}属性时的行为方式.

所以这就是我到目前为止所得到的:

罢工#1,尝试了一个简单的解决方案

问题:必须预定义容器高度.

.container {
 width : 100%;
 border: 1px solid black;
 height: 50px; /* I would like to say here auto */
}

.image-wrapper {
  
  white-space: nowrap;
  height: 100%; 
  max-width: 100%;
  border: 1px dashed gray;
}

.image {
  height: 100%;
  width: auto;
}
Run Code Online (Sandbox Code Playgroud)
<div class="container">
  <div class="image-wrapper">
    <img class="image" src="http://placehold.it/100x200" />
    <img class="image" src="http://placehold.it/300x200" />
    <img class="image" src="http://placehold.it/800x400" /> …
Run Code Online (Sandbox Code Playgroud)

html css html5 css3

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

简单例子的多态性

我想我已经开始理解这个话题了,但并不是完全理解.有人可以通过这个例子向我解释:

public class Solution
{
    public static void main(String[] args)
    {
        Cow cow = new Whale();

        System.out.println(cow.getName());
    }

    public static class Cow
    {
        public String getName()
        {
            return "Im cow";
        }
    }

    public static class Whale extends Cow
    {
        public String getName() {
            return "Im whale";
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

什么是这个叫什么区别:

Cow cow = new Whale();
System.out.println(cow.getName());
Run Code Online (Sandbox Code Playgroud)

还有这个:

Whale whale = new Whale();
Run Code Online (Sandbox Code Playgroud)

的System.out.println(whale.getName());

我会有相同的输出,但在什么情况下,或者当我们应该调用Cow类的方法,以及什么时候形成Whale类.对不起,如果我给出了太愚蠢或太简单的例子.我希望你没有理解我想说的话.提前致谢.

java oop polymorphism

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

Webpack-提供core-js polyfills

我需要创建一个在其顶部具有es6 polyfills的包,以便支持诸如此类的方法Object.assign,以防它们不是本机定义的。Array.prototype.filtercore-js

我创建了一个简单的示例应用程序,隔离了我遇到的这个问题,并将其推送到这里:(https://gist.github.com/tiberiucorbu/fb9acd2f286e3452ef06df9d6bae9210

现在webpack谈到时非常令人困惑polyfills,我尝试了不同的方法,但是似乎没有什么能像我想象的那样:

使用提供程序插件

灵感:https : //webpack.github.io/docs/shimming-modules.html

尝试

webpack.config.js

    new webpack.ProvidePlugin({
        '': 'imports?this=>window!core-js/index.js'
    })
Run Code Online (Sandbox Code Playgroud)

结果

没什么不同。就像我什么都没改变一样。没有它的捆绑包是一样的。我的小测验失败了:

PhantomJS 2.1.1 (Windows 7 0.0.0) Application extend should use Object.assign FAILED
        Failed: undefined is not a constructor (evaluating 'Object.assign(a, b)')
        extend@index.spec.ts:81:30
        index.spec.ts:59:44
        loaded@http://localhost:9876/context.js:151:17
Run Code Online (Sandbox Code Playgroud)

core-js文件定义到webpacks entry配置中:

尝试:

entry: {
    'app': [
        'core-js',
        './index.ts'
    ]
},
Run Code Online (Sandbox Code Playgroud)

结果:捆绑包包含core-js文件,但它们尚未运行。规范继续失败。

那么,如何确保捆绑包中包含polyfill,并且它们在此(webpack,karma,打字稿)星座中正确运行?


更新:(以某种方式)工作解决方案

我尝试了使用另一种思维方式的另一种方法:导入 polyfill 并执行 polyfill,同时让webpack / typescript处理导入,而让我的脚本处理执行。感觉有点黑,但是可以用。

与最初发布的版本相比的变化:

@@ …
Run Code Online (Sandbox Code Playgroud)

polyfills typescript karma-runner webpack

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

Python的SimpleHTTPServer在一个线程中启动不会关闭端口

我有以下代码:

import os
from ghost import Ghost
import urlparse, urllib

import SimpleHTTPServer
import SocketServer

import sys, traceback

from threading import Thread, Event
from time import sleep

please_die = Event() # this is my enemy

httpd = None
PORT = 8001
address = 'http://localhost:'+str(PORT)+'/'
search_dir = './category'

def main():
    """
      basic run script routine, 
      FIXME: is supossed to exits gracefully
    """
    thread = Thread(target = simpleServe)
    try:
      thread.start()
      run()
    except KeyboardInterrupt:
      print "Shutdown requested"
    except Exception:
      traceback.print_exc(file=sys.stdout)

    shutdown()
    sys.exit(0)

def shutdown(): …
Run Code Online (Sandbox Code Playgroud)

python multithreading simplehttpserver

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

如何配置 IntelliJ/WebStorm 以在 *.TS、*.JS 文件中的代码完成中使用单引号

我经常使用模块来处理 TypeScript 文件和 JavaScript 文件。

我的 TS/ESLint 规则强制使用单引号,但 WebStorm 总是用双引号完成代码。有没有办法配置这个?

intellij-idea webstorm typescript tslint

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

EventTarget.addEventListener() 的 useCapture 参数使用?

我正在研究普通的 JavaScript,我在理解函数useCapture中这个参数的用途时遇到了一些困难EventTarget.addEventListener()

https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener

useCapture可选

如果为 true,则 useCapture 指示用户希望启动捕获。启动捕获后,指定类型的所有事件将被分派到已注册的侦听器,然后再分派到 DOM 树中该侦听器下方的任何 EventTarget。通过树向上冒泡的事件不会触发指定使用捕获的侦听器。有关详细说明,请参阅 DOM Level 3 事件和 JavaScript 事件顺序。如果未指定,useCapture 默认为 false。

阅读它的文档,我对第一句话感到困惑。为了理解它,我设置了一个包含三个嵌套元素的小测试页面,在最上面的两个 div 上有一个点击侦听器。

代码 :

var treeTopEl = document.getElementById('container');
var treeMiddleEl = document.getElementById('wrapper');

var output = document.getElementById('output');

var treeTopElListener = function(event){
 var elId = event.target.id;
 output.innerHTML += "\nListener on the top element was triggerd,\n\t The event target id is : "+elId; 
};

var treeMiddleElListener = function(event){
 var elId = event.target.id;
 output.innerHTML += "\nListener on the middle …
Run Code Online (Sandbox Code Playgroud)

javascript dom-events

0
推荐指数
1
解决办法
1411
查看次数