小编Zac*_*ach的帖子

在形状内聚类元素

我已经看到这个解决方案似乎在没有重叠的情况下处理"一致"形状内的聚类元素,但是如果形状更加模糊,如下所示:

在此输入图像描述

我的第一对夫妇似乎指向将形状简化为最基本的形式,然后执行检查元素是否在实际形状坐标内,但这似乎是我希望简化的大量潜在计算.任何想法都会非常感激.谢谢!


JS小提琴参考:

var tilesize = 18, tilecount = 15;
var gRows = Math.floor($(".container").innerWidth()/tilesize);
var gCols = Math.floor($('.container').innerHeight()/tilesize);

var vals = _.shuffle(_.range(tilecount));
var xpos = _.shuffle(_.range(gRows));
var ypos = _.shuffle(_.range(gCols));

_.each(vals, function(d,i){
    var $newdiv = $('<div/>').addClass("tile");
    $newdiv.css({
        'position':'absolute',
        'left':(xpos[i] * tilesize)+'px',
        'top':(ypos[i] * tilesize)+'px'
    }).appendTo( '.container' ).html(d);  
});
Run Code Online (Sandbox Code Playgroud)

编辑

这个例子在一个定义的形状中有随机聚类,但由于那个形状的上下文不是正方形,我需要做一些测试,首先将SVG对象转换为canvas元素,然后通过类似的东西运行代码.

javascript underscore.js

12
推荐指数
1
解决办法
1305
查看次数

Gulp Equivalent(来自Grunt) - 多个src文件

我一直在修改GulpJS,并认为这是Grunt的下一步,但是在语法方面存在一些问题.

这是我的一节Gruntfile.js:

concat: {
    ie: {
        options: {
            separator: "\n\n"
        },
        src: [
            "bower_components/selectivizr/selectivizr.js",
            "bower_components/respond/dest/respond.min.js",
            "bower_components/REM-unit-polyfill/js/rem.js"
        ],
        dest: "assets/js/build/ie.js"
    },
    dist: {
        options: {
            separator: "\n\n"
        },
        src: [
            // Foundation Vendor
            "bower_components/foundation/js/vendor/fastclick.js",
            "bower_components/foundation/js/vendor/placeholder.js",
            // Foundation Core
            "bower_components/foundation/js/foundation/foundation.js",
            "bower_components/foundation/js/foundation/foundation.abide.js",
            "bower_components/foundation/js/foundation/foundation.accordion.js",
            "bower_components/foundation/js/foundation/foundation.alert.js",
            "bower_components/foundation/js/foundation/foundation.clearing.js",
            "bower_components/foundation/js/foundation/foundation.dropdown.js",
            "bower_components/foundation/js/foundation/foundation.interchange.js",
            "bower_components/foundation/js/foundation/foundation.joyride.js",
            "bower_components/foundation/js/foundation/foundation.magellan.js",
            "bower_components/foundation/js/foundation/foundation.offcanvas.js",
            "bower_components/foundation/js/foundation/foundation.orbit.js",
            "bower_components/foundation/js/foundation/foundation.reveal.js",
            "bower_components/foundation/js/foundation/foundation.tab.js",
            "bower_components/foundation/js/foundation/foundation.tooltip.js",
            "bower_components/foundation/js/foundation/foundation.topbar.js",
            // Custom Vendor

            // Project
            "assets/js/src/_init.js"

            ],
        dest: "assets/js/build/scripts.js"
    }
}
Run Code Online (Sandbox Code Playgroud)

所以你可以看到,我正在指定特定的文件(因为我不想像你通常看到的那样拉入整个目录),这看起来很简单.我发现Gulp的所有内容似乎都遵循正则表达式格式:

gulp.task('scripts', function() {
  return gulp.src("assets/js/src/_init.js")
    .pipe(jshint('.jshintrc'))
    .pipe(jshint.reporter('default'))
    .pipe(concat('main.js'))
    .pipe(gulp.dest('assets/js/build'))
    .pipe(rename({ suffix: '.min' …
Run Code Online (Sandbox Code Playgroud)

gruntjs gulp

11
推荐指数
1
解决办法
9805
查看次数

Laravel Cashier Webhook:获取当前用户

我正在使用以下内容handleCustomerSubscriptionDeleted通过将以下内容置于以下方法来覆盖默认方法app/Http/Controllers/WebHookController.php:

<?php namespace App\Http\Controllers;

use Laravel\Cashier\WebhookController;
use Symfony\Component\HttpFoundation\Response;

class StripeWebhooks extends WebhookController {

  /**
   * Handle stripe subscription webhook
   *
   * @param  array  $payload
   * @return Response
   */
  public function handleCustomerSubscriptionDeleted($payload)
  {
    $billable = $this->getBillable($payload['data']['object']['customer']);

    if ($billable && $billable->subscribed()) {
      $billable->subscription()->cancel();

    }

    return new Response('Webhook Handled', 200);
  }

}
Run Code Online (Sandbox Code Playgroud)

为了实际覆盖默认值,我应该更新到扩展控制器的路由,还是仍然引用默认值?我不认为将它保留为默认值甚至会让Laravel知道我的控制器存在,但也想确认一下.

当前:

Route::post('stripe/webhook', '\Laravel\Cashier\WebhookController@handleWebhook');
Run Code Online (Sandbox Code Playgroud)

另一部分是handleCustomerSubscriptionDeleted我也希望能够抓住当前正在引用的用户并执行其他操作; 在这种情况下,自动将记录设置为未发布.检索用户的最佳方法是什么?它似乎$payload['data']['object']['customer']可能保留并与stripe_idusers表中的列相关,但是想要确认.谢谢你的帮助!

更新

我相信(基于文档),它应该更像这样:

<?php namespace App\Http\Controllers;

use App\Models\Dashboard\Listing;
use App\User;
use Symfony\Component\HttpFoundation\Response;
use Laravel\Cashier\WebhookController as BaseController; …
Run Code Online (Sandbox Code Playgroud)

php controllers laravel laravel-5 laravel-cashier

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

在Vagrant中安装Node,NPM(以及Grunt和Bower全局)

我一直在遵循这个要点,为PHP开发安装了一堆核心依赖项,但是我确实需要并且还没有能够正常工作的是安装Node,NPM(以及Grunt和Bower全局)流浪汉.我已经看过像这样的答案,但似乎没有完成安装(即我不能安装bower和grunt).有一个nodejsapt-get看起来似乎安装节点(我可以从那里安装NPM),但该版本对于Bower来说似乎太旧了,所以这就是我回溯到手动方法的原因.谢谢你的帮助.

更新

这是我的bootstraph.sh档案:

#!/usr/bin/env bash

echo ">>> Starting Install Script"

# Update
sudo apt-get update

# Install MySQL without prompt
sudo debconf-set-selections <<< 'mysql-server mysql-server/root_password password root'
sudo debconf-set-selections <<< 'mysql-server mysql-server/root_password_again password root'

echo ">>> Installing Base Items"

# Install base items
sudo apt-get install -y curl wget build-essential python-software-properties python g++ make

echo ">>> Adding PPA's and Installing Server Items"

# Add repo for latest PHP
sudo add-apt-repository …
Run Code Online (Sandbox Code Playgroud)

node.js npm vagrant bower

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

Laravel Cashier:麻烦更新卡(致命错误)

我已经在我的项目中安装了Laravel Cashier(v3.0.4),并且允许用户更新他们的信用卡,但在我尝试这样做时遇到了问题.这是我的控制器处理它的相关部分:

public function __construct() {
    $this->user = Auth::user();
}

/**
 * Update credit card
 * @return \Illuminate\Http\RedirectResponse
 */
public function updateCardPost() {
    $this->user->updateCard(Input::get('stripe-token'));

    session()->flash('flash_message', 'You have updated your credit card');
    return redirect()->route('dashboard.index');
}
Run Code Online (Sandbox Code Playgroud)

我已经验证了理智检查项目:

  1. 实际上发布到这个控制器
  2. 成功传递令牌

但每次我尝试提交它,我在收银员本身都会收到错误:

FatalErrorException in StripeGateway.php line 454:
Call to a member function create() on null
Run Code Online (Sandbox Code Playgroud)

我已经调查了这个,看起来它正在传递$token给以下内容:$card = $customer->cards->create(['card' => $token]);

所以,然后我dd($token)在那个方法中做了另一个健全性检查,并且确切地返回了我的表格所提供的内容.看起来这个区块最近变化不大 - 但是有一些PSR-2和一次性购买更新; 这两者似乎与这里发生的事情无关.所以我在这里结束了什么,但任何线索都将是一个巨大的帮助.谢谢!

更新

已验证dd($customer->cards)updateCard()方法内部运行返回null - 可能是因为在创建订阅时它不会将最后四个保存到数据库中.苦苦挣扎,看看我如何创建订阅(在条纹上验证),取消和恢复,但我的卡详细信息没有在本地更新,我也不能交换卡.

我使用https://www.youtube.com/watch?v=iPaKX7aPczQ作为灵感来实现这一目标应该是多么简单,并且在这方面取得了成功,但不是我的.

更新2

这是我的整个用户控制器和Coffee实现,如果它有帮助:

<?php namespace …
Run Code Online (Sandbox Code Playgroud)

php laravel stripe-payments laravel-5

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

Sublime Text 3 - 清洁粘贴

Sublime Text 3看起来很棒,但是阻止我切换的一个项目是剪贴板命令的兼容性.我唯一使用这个插件的是"clean_paste"函数,它基本上粘贴了从Microsoft Word(或任何其他文本编辑器)复制的内容,剥离了它通常带来的有趣角色.有没有人知道ST3提供的本机功能,我可以将键绑定映射到?这是ClipboardCommand所做的(在ST2版本中):

class ClipboardCommandsPastePlainText(sublime_plugin.TextCommand):
    def run(self, edit):
        copy(clean_paste(clipboard()))
        self.view.run_command('paste')
Run Code Online (Sandbox Code Playgroud)

一般来说可能更多的是Python问题,但你也可以创建自己的键绑定,这个基本上只引用该命令:

"caption": "Clipboard: Paste Plain Text",
"command": "clipboard_commands_paste_plain_text"
Run Code Online (Sandbox Code Playgroud)

所以,如果command我能把这个功能放到那个很棒的东西,但不确定它在Python中是如何工作的.谢谢你的帮助!

python sublimetext3

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

Webpack 开发服务器刷新循环疯狂

我一直在使用我自己的手动解决方案(在 Webpack 之外)获取 SVG 文件的文件夹,提取 SVG 文件之间的内容<svg></svg>,构建一个 JSON 文件,然后使用它注入到 React 组件中,以便我可以输出特定的图标可以更好地控制周围的属性。

我遇到了https://github.com/gilesa/svg-to-json-webpack-plugin它实际上对我做了很多相同的事情,这太棒了!但是在尝试使用它时发生了一些奇怪的事情create-react-app,我怀疑是 Webpack 开发服务器。每当我尝试导入生成的.json文件时,开发服务器都会在浏览器中不断刷新。

我在我创建的问题中更详细地介绍了https://github.com/gilesa/svg-to-json-webpack-plugin/issues/1但我尝试调试到底是什么导致了无限循环还没有成功的。Webpack 插件 API 非常棒,所以我在此过程中学到了一些东西,但到目前为止还没有骰子。

理想情况下,如果这是导致观察者再次启动的原因,我希望 Webpack 忽略该特定文件。可能是因为它src正在寻找更改的同一目录中创建一个文件?感谢您在正确方向上的任何帮助!

reactjs webpack webpack-dev-server create-react-app

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

jQuery - 检查单选按钮的当前状态并隐藏div

问题:如何检查单选按钮的值是否为某个值,是否基于此执行操作?在if语句的代码末尾引用.

更深入的解释

所以我知道这个问题的标题可能听起来很熟悉其他问题,但我有更多的参与,并试图找到最好的方法来处理它.因此,在我的功能中,homepageDisplayHandleSelection()我根据.homepage_display该区域内选择的单选按钮隐藏/显示区域.然后,我基本上为其中的另一组单选按钮使用相同的功能mainImageLinkHandleSelection,然后根据选择隐藏/显示区域.我可以在StaticSlide选项之间切换就好了,但初始视图(如果Slideshow在页面加载时选择)是它仍然显示辅助单选按钮mainImageLinkHandleSelection,直到我单击Slideshow选项并返回到Static它更正本身.

所以,我尝试通过创建一个检查当前检查的无线电值是否正确,slideshow以及如果是,我隐藏了一个被调用的div main_link(它也附加到了周围的每个区域)来解决这个问题(在示例代码的底部).mainImageLinkHandleSelection申报单).我知道我的问题有很多部分,但我想如果有人可以提供帮助,那里会有一个天才;)非常感谢你们所有的帮助!

jQuery(document).ready(function() {

    // Homepage Settings - Homepage Display
    // This function handles the radio clicks.
    function homepageDisplayHandleSelection() {
        var duration = 400;
        jQuery('.homepage_display').hide(duration);
        jQuery('.main_link').hide(duration);
        if (this.value === "slideshow") {
          jQuery('.homepage_display_slides').show(duration);     
        } else if (this.value === "static") {
          jQuery('.homepage_display_static').show(duration);     
        }
    }

    // Attach a click handler to the radios
    // …
Run Code Online (Sandbox Code Playgroud)

jquery radio-button

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

更少CSS:使用mixins的条件@imports - 可变范围

我正在尝试做的是@import通过设置特定变量的检查将特定文件放入我的Less项目中.这是我到目前为止:

@import "shared/variables";
@import "shared/global";
@import "shared/hero";
@import "shared/listings";

//
// Color Variations
// Based on @bt-color-variation
// Decides when to load the light/dark theme
//
@bt-color-variation: dark; // Default color variation
.bt-color-variation(dark) {
    @import "color-variations/dark/global";

    @import "color-variations/dark/variables";
}

.bt-color-variation(dark) {
    @import "color-variations/light/global";
    @import "color-variations/light/buttons.less";

    @import "color-variations/light/variables";
}

.bt-color-variation(@bt-color-variation);
Run Code Online (Sandbox Code Playgroud)

这实际上会根据该变量加载适当的颜色变化.问题是在该颜色变体的variable.less文件中设置的任何变量都不会覆盖文件中在其外部完成的shared/variables.less操作.与常规@imports或范围问题相比,运行"何时"mixin似乎存在问题.我希望mixin可以运行并使用Less的"最后胜利"案例作为变量.

关于如何基于Less变量(而不是处理变量范围)有条件地加载文件的任何想法都将非常有用.一如既往地谢谢.

less

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

getElementsByClassName帮助(分配给变量时未捕获的引用错误)

使用普通的'ol vanilla javascript选择类名时遇到一些麻烦:

var email = document.getElementsByClassName('email');
var phone = document.getElementsByClassName('phone');
// Hide phone by default
phone.style.display = "none";

function showContact() {
    var dropdown = document.getElementById( "contact-select" );        // Get a reference to the dropdown (select) element
    var selectedItemValue = dropdown.options[ dropdown.selectedIndex ].value; // use the dropdown reference to get the selected item's value

    if ( selectedItemValue === "phone" ) {
        email.style.display = "none";
        phone.style.display = "block";
    } else {
        phone.style.display = "none";
        email.style.display = "block";
    }
}
Run Code Online (Sandbox Code Playgroud)

每次我尝试调用其中一个变量时,都会一直收到一个未定义的错误.任何帮助将不胜感激.谢谢!

javascript

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

更新关联数组

可能只是因为我已经在周末检查了一下,但是在根据某个值更新关联数组时遇到了一些麻烦.例如,这是我到目前为止:

$slideshow_vars = array(
        'js_animation'          => $slideshow_options['js_animation'],
        'js_slide_direction'    => $slideshow_options['js_slide_direction'],
        'js_slideshow'          => $slideshow_options['js_slideshow'],
        'js_slideshow_speed'    => $slideshow_options['js_slideshow_speed'],
        'js_animation_duration' => $slideshow_options['js_animation_duration'],
        'js_direction_nav'      => $slideshow_options['js_direction_nav'],
        'js_control_nav'        => $slideshow_options['js_control_nav'],
        'js_keyboard_nav'       => $slideshow_options['js_keyboard_nav'],
        'js_mousewheel'         => $slideshow_options['js_mousewheel'],
        'js_prev_text'          => $slideshow_options['js_prev_text'],
        'js_next_text'          => $slideshow_options['js_next_text'],
        'js_pause_play'         => $slideshow_options['js_pause_play'],
        'js_pause_text'         => $slideshow_options['js_pause_text'],
        'js_play_text'          => $slideshow_options['js_play_text'],
        'js_randomize'          => $slideshow_options['js_randomize'],
        'js_slide_start'        => $slideshow_options['js_slide_start'],
        'js_animation_loop'     => $slideshow_options['js_animation_loop'],
        'js_pause_on_action'    => $slideshow_options['js_pause_on_action'],
        'js_pause_on_hover'     => $slideshow_options['js_pause_on_hover'],
        'js_controls_container' => $slideshow_options['js_controls_container'],
        'js_manual_controls'    => $slideshow_options['js_manual_controls'],
        'js_start_function'     => $slideshow_options['js_start_function'],
        'js_before_function'    => $slideshow_options['js_before_function'],
        'js_after_function'     => $slideshow_options['js_after_function'],
        'js_end_function'       => $slideshow_options['js_end_function']
    ); …
Run Code Online (Sandbox Code Playgroud)

php arrays associative-array

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