• Что почитать по архитектуре Vue-приложения?

    @marsdenden
    Вопрос из серии - хочу странного. Нет определенных рамок. Запрос данных с сервера и верстка представлений данных - вот и вся архитектура. А так - оф.дока в помощь для использования vuex, router etc.
  • Ошибка при установке selenium-webdriver "VCBuild.exe"?

    @marsdenden
    что плохо при раздаче ссылок - то, что они умирают...
  • Какие существуют объективные недостатки у systemd?

    @marsdenden
    Ну и вообще - системД - путь революционный. Вместо того, чтобы эволюционным методом дорабатывать сисВ решили, как дедушка Ленин - сломать и построить. Только вот ломать - не строить и квалификация строителей не та... Равшаны с Джамшутами, блин ))
  • Какие существуют объективные недостатки у systemd?

    @marsdenden
    SubGANs, основная проблема в том, что systemd оказался не в состоянии проверить ФС, на которой сам же и находится. С sysV выглядит это так - при очередной загрузке он заявляет, что ФС смонтирована энное количество раз без проверки и будет проверена, после чего запускает проверку и исправление, для чего перемонтирует корневую ФС в ридонли и спокойно проверяет. Системд делает все то же самое, но! Только на тех ФС, которые смонтированы в отдельно, к примеру, /home находится на другом разделе или вообще на отдельном физическом диске, а вот / проверить не может. Глубоко не ковырялся, поскольку сервер в продакшене, но мне пришлось цеплять к нему монитор с клавой, чтобы понять, в чем проблема и грузиться с флешки, чтобы прогнать корень. С sysV за предыдущие три года ни разу такого не было - вырубили свет, врубили свет - он включился (опцию в биосе выставил), загрузился, проверился - все работает. Поскольку отключения, хоть и редкие, но в основном ночами, никто этого и не замечал, только в логах я видел. А на системд утро начиналось со звонков. Ни уедешь никуда ни на выходные, ни в отпуск. Оно мне надо? Как только нашел причину - переделал на сисВ и опять про него забыл. Уже 9 месяцев наслаждаюсь )) И шеф улыбается, а не вопрошает с грозными очами "Ну раньше же не было проблем?" )))
  • Как подружить avrdude и atmega168v-10au?

    @marsdenden
    Константин ™, ну вот )) электроника - это наука о контактах ))
  • Как подружить avrdude и atmega168v-10au?

    @marsdenden
    Константин ™, а прошиваемая плата нормально запитывается? Похоже, что дудка просто не получает корректных данных, хотя на самом деле все может быть нормально.
    Еще столкнулся с таким приколом - после перестановки винды заново скачал Arduino IDE последней версии и ни одну плату он у меня не смог прошить. Оказывается, там какие-то обновки по загрузчикам под новые платки, а у меня они все двух-трехлетней давности, пришлось качать предыдущую версию, с ней все заработало.
  • Как подружить avrdude и atmega168v-10au?

    @marsdenden
    Константин ™, вообще, по даташиту у этого чипа должна быть сигнатура 1E 94 06. Так что имеет место быть проблема. на avrfreaks.net нашел несколько тем с похожей проблемой, но у них сигнатура выдавалась 0x000102, то есть первый байт шел нулевым, а не 3с как у вас. Решения у них у всех разные - кто-то поднял питание на плату до 9 вольт, кто-то заэкранировал LTP кабель (жесть, у кого-то еще есть такие программаторы), кто-то вообще кварц менял.
    Я такие платки прошивал через ISP с помощью другой ардуинки и USB-TTL конвертера на CH340G.
  • Почему появляется 500 OOPS: vsftpd: refusing to run with writable root inside chroot()?

    @marsdenden
    времени-то прошло всего ничего, а кликабельность уже дохлая. Цитата была бы жива.
  • Как сделать динамические импорты?

    @marsdenden
    ivankirshin, а вас напрягает размер сборки? Если так, то сделать примерно так (webpack 4)

    webpack.config.js
    var path = require('path')
    var webpack = require('webpack')
    const NODE_ENV = process.env.NODE_ENV || 'development';
    const DEVMODE = NODE_ENV == 'development' ? 'development' : 'production';
    //const ExtractTextPlugin = require("extract-text-webpack-plugin");
    const MiniCssExtractPlugin = require("mini-css-extract-plugin");
    const devMode = process.env.NODE_ENV !== 'production'
    var OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin');
    
    let conf={
    	entry: './src/main.js',
    	output:{
    	    path: path.resolve(__dirname,'../app/'),
    	    publicPath: '/app/',
    	    filename: 'app.js',
    	    chunkFilename: '[name].[contenthash].js'
    	},
    	module: {
    		rules: [
    			{
    				test: /\.(sa|sc|c)ss$/,
    				use: [
    					devMode ? 'style-loader' : MiniCssExtractPlugin.loader,
    					'css-loader',
    					// 'postcss-loader',
    					'sass-loader',
    				],
    			},
    
    			{
    				test: /\.vue$/,
    				loader: 'vue-loader',
    				options: {
    					loaders: {
    						// Since sass-loader (weirdly) has SCSS as its default parse mode, we map
    						// the "scss" and "sass" values for the lang attribute to the right configs here.
    						// other preprocessors should work out of the box, no loader config like this necessary.
    						'scss': [
    							'vue-style-loader',
    							MiniCssExtractPlugin.loader,
    							'css-loader',
    							'sass-loader'
    						],
    						'sass': [
    							'vue-style-loader',
    							MiniCssExtractPlugin.loader,
    							'css-loader',
    							'sass-loader?indentedSyntax'
    						]
    					}
    					// other vue-loader options go here
    				}
    			},
    			{
    				test: /\.js$/,
    				loader: 'babel-loader',
    				exclude: /node_modules/
    			},
    			{
    				test: /\.(png|jpg|gif|svg)$/,
    				loader: 'file-loader',
    				options: {
    					name: '[name].[ext]?[hash]'
    				}
    			}
    		]
    	},	
    	plugins: [
    		new MiniCssExtractPlugin({
    			// Options similar to the same options in webpackOptions.output
    			// both options are optional
    			filename: 'app.css', //devMode ? '[name].css' : '[name].[hash].css',
    			//chunkFilename: devMode ? '[id].css' : '[id].[hash].css',
    		}),
    		new webpack.ProvidePlugin({
    		})	
    	],
    	watchOptions: {
    		aggregateTimeout: 200
    	},	
    	resolve: {
    		extensions: ['.js', '.vue', '.json'],
    		modules: [path.resolve(__dirname,"src"), 'node_modules'],
    	        alias: {
    			'vue$': 'vue/dist/vue.common.js',
    			'muse-components': 'muse-ui/src'
    		}
    	},
    };
    
    
    module.exports = (env,options) => {
    	let production = options.mode === 'production';
    	conf.devtool = production 
    					?
    					false
    					: "#cheap-module-source-map" ;
    	conf.watch = !production;
    	if(production){
    		conf.plugins.push(
    			new OptimizeCssAssetsPlugin({
    			
    			})
    		)
    	}
    	console.log(conf)
    	return conf;
    }


    затем заюзать lazy

    let  PhoneInput  = Vue.component('phone-input', function(resolve){require(['@core/inputs/PhoneInput.vue'],resolve)});
    let MaterialInput = Vue.component('material-input', function(resolve){require(['@core/inputs/MaterialInput.vue'],resolve)});
    let BaseInput = Vue.component('base-input', function(resolve){require(['@core/inputs/BaseInput.vue'],resolve)});
    
    export default (type) => ({
      components: {
        PhoneInput,
        CustomInput: type === 'material' ? MaterialInput : BaseInput
      }
    });


    В результате каждый инпут должен быть в отдельном файле, за которым не надо следить и который сам будет загружаться.
  • Vue-router, как сделать this.$router.push() в новую вкладку?

    @marsdenden Автор вопроса
    Спасибо, хотя я надеялся, есть типа опции какой-то, которую я не разглядел в документации.
  • Vuex: хранить ссылку на объект библиотеки?

    @marsdenden
    Оформить плагин? Или пойти страшным путём и написать Vue.prototype.$canvas = mycanvas
  • Как ускорить создание большого прайса?

    @marsdenden
    smoln, ну тогда проще разобраться с внутренностями xlsx и полностью самому генерить, не пользуясь сторонними решениями. Не так уж он и сложен. А тормоза, мне кажется, из-за кривого кода, который после каждого изменения опять перепаковывает данные. Ведь по сути это zip архив, внутри xml. Что мешает сформировать xml по правилам и запаковать его?
  • Есть ли сервис по подчистки css кода?

    @marsdenden
    судя по всему, он показывает только процент использования. А вот конкретный код - что-то я такого не нашел
  • В чем суть SPA?

    @marsdenden
    экий холивар развели.... все ведь зависит от целей.
  • В чем суть SPA?

    @marsdenden
    Шарпер, можно, кто ж спорит. Только я предпочитаю грузить все сразу, чтобы закешировалось, поскольку xhr-запросы не кэшируются, а каждый раз гонять почти мегабайт скриптов и стилей на даче с интернетом максимум 25 кб/с совсем не айс.
  • Как во vue сформировать класс в цикле по условию?

    @marsdenden Автор вопроса
    Спасибо. Ссылку читал, но в голове не срасталось, что так можно и в классах ))
  • Как еще можно оптимизировать js код?

    @marsdenden
    и еще можно убрать лишний цикл, вместо
    for (var i = +period.start; i < +period.end; i+= 3600000 * 168) {
          dates.push(i);
        } 
    
        for (var i = 0; i < date.length; i++) { 
    
         var date = new Date(dates[i]),


    сделать
    let period=[];
        for (let dt = +period.start; dt < +period.end; dt+= 3600000 * 168) {
    
          let  date = new Date(dt),


    тогда надо вместо
    period[i] = `${dateString1} - ${dateString2}`;
    использовать
    period.push(`${dateString1} - ${dateString2}`);

    в общем - нет предела совершенству