Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Правильно ли решена задача создания шахматной доски в консоли?

Лучший ответ:
Уныло:function createChess(x, y) {
	for (var i = 0; i < y; i++) {
		var string = '', a, b;

		if (i % 2) {
			a = '#';
			b = ' ';
		} else {
			a = ' ';
			b = '#';
		}

		for (var j = 0; j < x; j++) {
			if (j % 2) {
				string += a;
			} else {
				string += b;
			}
		}

		console.log(string);
	}
}
По хардкору:function createChess(x, y) {
	for (var i = 0; i < y; i++) console.log((i % 2 ? ' #' : '# ').repeat(Math.floor(x / 2) + 1).slice(0, x % 2 - 2));
}

Худший ответ:
вместо i+=1 пишите всегда i++
Вопрос: Как анимировать border?

Лучший ответ:
не знаю как с помощью бордера, но можно реализовать с помощью абсолютно расположенного єлемента. Примерно так :.element {
	padding: 30px;
	background: #eee;
	position: relative;
	&:after {
		position: absolute;
		content:"";
		width: 0;
		height: 2px;
		background: red;
		bottom: 0;
		right: 0;
		left: 0;
		transition: all .5s;   
	} 

	&:hover {
		&:after {
			width: 100%; 
		}
	}
}
вот как это выглядит
https://jsfiddle.net/ionenkovladimir/qb5m057o/

Худший ответ:
именно border - никак. но такой эффект делается через absolute элемент, который находится под элементом. и задается ему width: 0; а потом через transition дается ему width: 100%; - тогда ты получишь такой эффект
Вопрос: Как сгенерировать объект с заданными свойствами?

Лучший ответ:
const random = (min, max) => Math.floor(Math.random() * (max - min) + min),

offerTitles = [
	"Большая уютная квартира",
	"Маленькая неуютная квартира",
	"Огромный прекрасный дворец",
	"Маленький ужасный дворец",
	"Красивый гостевой домик",
	"Некрасивый негостеприимный домик",
	"Уютное бунгало далеко от моря",
	"Неуютное бунгало по колено в воде"
],
shuffledOfferTitles = [...offerTitles].sort(() => Math.random() > 0.5),
types = ["flat", "house", "bungalo"],
checks = ["12:00", "13:00", "14:00"],
features = ["wifi", "dishwasher", "parking", "washer", "elevator", "conditioner"];

const result = [...Array(8).keys()].map((id) => ({
	author: {
		avatar: `img/avatars/user0${id + 1}.png`
    },
	offer: {
		title: shuffledOfferTitles[id],
		address: "location.x, location.y",
		price: random(1000, 1000000),
		type: types[random(0, types.length)],
		rooms: random(1, 5),
		guests: random(1, 9),
		checkin: checks[random(0, checks.length)],
		checkout: checks[random(0, checks.length)],
		features: ((rnd) => features.slice(random(0, rnd), random(rnd, features.length)))(random(0, features.length -1)),
		description: "",
		photos: []
    },
	location: {
		x: random(300, 900),
		y: random(100, 500)
    }
}));

Худший ответ:
Написать функцию и вызвать ее через new это создаст объект по вашей схеме, простой пример:function Cube(x, y) {
    this.x = x
    this.y = y
    this.randomNumber = Math.random()
}

new Cube(3, 5)

или же на es6 

class Cube {
   constructor(x,y) {
      // ...
   }
}
после складывать например в массив эту коллекцию
Додумывайте сами
Вопрос: Переменная GOPATH все время слетает, почему?

Лучший ответ:
ну видимо консоль закрываете?
в ~/.bash_profile пропишите

Худший ответ:
Переходите на модули:-) И тогда GOPATH перестанет быть нужен.
Вопрос: Как узнать есть ли в названии файлов кириллические символы?

Лучший ответ:
Это плохая практика.
Вместо этого делайте так:
1. При сохранении - контейнер изображения (картинку) именуете с помощью base64-строки или порядкового шестнадцатиричного символьного представления (ID-HEX as String).
2. Реальное имя - пишите в базу вместе с полным путём к контейнеру.

Худший ответ:
сайты ругаются на наличие непонятных символов вообщ, а не кириллических
решается запросом fix non ANSI symbols для вашего языка/ инструмента
Вопрос: Как получить данные из бд и записать их в файл js?

Лучший ответ:
1. Получаем с помощью AJAX
2. Записываем не в JS, а в JSON. Из нужного места Этот JSON читаем.

Худший ответ:
Нужно поднять простенький бекенд:нужно развернуть  HTTP-сервер, чтобы можно было до нужного роута достучаться, можно например с помощью Express JSсделать хэндлер для обработки роута, в котором и будет идти сбор необходимых данных 
(например достать из MongoDB)
В JS приложении уже нужно будет к этому роуту обратиться и он вернет нужные данные
Например с помощью: https://github.com/CharlesMangwa/react-data-fetchi...Или с более лучшим для вас решением под Реакт
Чтобы потом работать нормально, можно Express подружить с Nginx, чтобы он проксировал запросы: https://gist.github.com/tomasevich/a2fe588c451c5a1...Но я могу ошибиться, тк в этом стеке совсем не работаю
Вопрос: Как узнать какой по счёту элемент в dom дереве имеет определённый класс?

Лучший ответ:
const index = Array
  .from(document.querySelectorAll('div > p'))
  .findIndex(n => n.classList.contains('there'));
Если других вложенных элементов кроме p нет, а .there точно есть, то ещё так можно:

const el = document.querySelector('.there');
const index = [...el.parentNode.children].indexOf(el);

Худший ответ:
И вдогонку может пригодиться:var index = $("div p.there").index();
Вопрос: Хранение времени в БД?

Лучший ответ:
Храните в типе datetime начало и конец события, а уж интервалы обеспечите логикой. И не надо хранить не назначенные интервалы - только созданные события.

Худший ответ:
Немного странный формат хранения информации.
Если это ежедневник, то он должен хранить "начало" и "окончание" события.
Или что подразумевается под интервалами?
---
Делить на 2 таблицы - не стоит, запаритесь с синхронизацией.
Лучше/правильней выделить 1 поле-флаг, которое будет хранить статус "занято/не занято"
Вопрос: Как сделать парсер из ВК?

Лучший ответ:
так наоборот надо делать...
На сайте нормально вести расписание, а в группе в качестве бонуса автоматически генерировать новую шапку.

Худший ответ:
Парсить свою группу можно и оф. АПИ Вконтакта. Так правильнее всего.
Вопрос: Как установить Microsoft Office 2013(2010) на Ubuntu 16.04 amd64?

Лучший ответ:
Добрый день.
Всё гораздо проще.
Ставите  VirtualBox, потом гостевой Windows, в завершении ставите MS Office. Подробней про установку virtualBox

Худший ответ:
2013-й под Wine не работает. Работает только 2010.
Вопрос: Кто может дать конструктивную критику по первой вёрстке?

Лучший ответ:
1. Выложить проект на гитхаб в архиве, это безобразно. Еще и в rar.
2. Обрезанный по ширине body? Никогда так не делай.
3. Ховер эффекты только на кнопках заметил, и то не особо только шрифт меняет цвет, на превьюшках явно указано что есть ховер эффект при котором появляются дополнительные элементы управления.

Худший ответ:
по CSS:  нет сброса стилей, нет использования em, избыточные названия классов и т.п.
по HTML/CSS: нет заявленных каталогов для изображений и т.п.
Вопрос: Как начать использовать Docker?

Лучший ответ:
У меня стоит апач+мускля, каждый сайт на отдельном порту.
Взаимодействие с виртуалкой докера будет на других портах? 
не обязательно. можно порты докера привязать к стандартным 80/3306Я так понимаю, если в докере будет работать апач+мускля, нгинкс и другие прелести, то с это избавит меня от установки этого всего на рабочей машине. Опять же, как будет докер понимать, что эту папку/скрипт обработать как php? Где будут лежать мои файлы и как я буду обращаться к ним, когда они в виртуалке? Мне их оставить на машине или уже работать с ними закинув на виртуалку?
папку с файлами можно "смэпить" внутрь контейнера. А можно файлы хранить в контейнере - и работать с ними через ftp/scp и т.д.  Второй вариант ИМХО правильнее (да и права не поплывут). Иногда работаю через репозитории, иногда вручную разворачиваю проект, если раскидать папки и настроить БД руками через эксплорер мне привычно и понятно, как я буду делать это через докер?
к контейнеру можно подключиться через ssh. Для большего понимания - мне нужен (пока) просто апач сервер и мускля, работа в основном ковыряние цмс, фреймворков и свои, учебные/рабочие проекты на всем этом.
контейнеры для этого очень хорошо подходят.

Худший ответ:
Посмотрите в сторону docker-compose :)
Вопрос: Как с помощью map отрендерить array объектов только по одному параметру?

Лучший ответ:
Используйте filter. Или же можно разместить условную конструкцию (с оператором &&)const itemList = products.map(item => item.category === "Category Two" && <ProductCard
        key = {item.id}
        title = {item.title}
        category = {item.category}
        />)

Худший ответ:
Сначала filter, потом map?
const itemList = products.filter(function(obj) {
    return item.category === 'Category Two';
}).map();
Вопрос: Figma и заказчик?

Лучший ответ:
Не заказчики, а клиенты :) Забудьте это дурное слово. 
Все просто — предупреждайте клиента, что работаете в Фигме и никакого PSD у вас нет, потому что это прошлый век. Если он говорит, что его разработчики работают с PSD, просто объясните ему, что, во-первых, скорее всего они работают и с Фигмой, а если и не работают, то очень обрадуются тому удобству, которое она дает — возможность сразу смотреть параметры шрифтов, все отступы и расстояния, цвета, копировать css-сниппеты и очень удобно вытаскивать картинки из макета. 
Клиент не должен разбираться в современных подходах к разработке — для него Фотошоп еще долго будет стандартом. Но и не надо идти на поводу у клиента — просто объясняйте ему все как есть. У меня за три года, как я полностью перешел на Скетч, не было ни одного клиента, который бы все-таки потребовал Фотошоп. Короч, не надо бояться разговаривать. Клиент не барин, а партнер.

Худший ответ:
Клиенту, который смотрит на дизайн, лучше показывать презентацию проекта - прямо из фигмы по ссылке. 

Верстальщику лучше давать отдельный доступ к проекту. И не надо ничего сохранять и пересылать :)
Вопрос: Съем трафика, возможно ли реализовать?

Лучший ответ:
Поскольку у вас весь трафик идет через вашу машину - запускаете на этой машине wireshark и читаете трафик.

Худший ответ:
Странная схема с разрывом eth. Обычно на коммутаторе port mirroring + wireshark.
Вопрос: Как извлечь текст из bitrix24 с помощью Python?

Лучший ответ:
В Битрикс 24 есть REST API. И с ним пофиг на чём работать. Но нужна знать то, на чём работаешь.
Авторизуемся.
Делаем запросы на получение сделок.
Делаем то что нам нужно со сделками.

Худший ответ:
В Битрикс 24 есть REST API. И с ним пофиг на чём работать. Но нужна знать то, на чём работаешь.
Авторизуемся.
Делаем запросы на получение сделок.
Делаем то что нам нужно со сделками.
Вопрос: Как в bootstrap 4 поменять размер container?

Лучший ответ:
создай свой класс типо container-my и присвой ему нужный max-width и пиши его вместо container:.container-my {
    max-width: 1260px;
    position: relative;
    margin-left: auto;
    margin-right: auto;
    padding-right: 15px;
    padding-left: 15px;
}
Или так:.container-my {
    @extend .container;
    max-width: 1260px;   
}
Или можно переопределить переменные, отвечающие за размеры контейнера. (это что-то вроде container-sm, condainer-md). Не помню как точно называются. Смотря что больше вам подходит выбирайте.

Худший ответ:
Спасибо за ответ, а это никаким образом не скажется на брейкпоинтах и дальнейшей адаптивностью этого макета? Не вылезут подводные камни? Так как в 3 версии там по мимо того как задаешь основную ширину контейнера для desktop версии сайта, нужно было еще переопределять контейнер для медиа свойств.
Вопрос: Какой хороший курс или ресурс по СИ для подготовки к собеседованию?

Лучший ответ:
Бери - есть все! Даже можно скачать весь сайт с примерами, задачами и тд.
ermak.cs.nstu.ru/cprog/html

Худший ответ:
Тут писал (это не освежитель, а центральная документация)
Откуда узнавать о библиотеках?
Вопрос: Каким образом происходит наполнение сайта статьями?

Лучший ответ:
1) Сохраняете статьи в базу, затем достаете их оттуда и подгружаете в страницу.
2) Гуглите основы php и mysql
3) Не связывайтесь с wp

Худший ответ:
создаётся админ панель и через неё пишутся статьи точнее наполняется контентом  - обычный визуальный редактор  пришит к базе данных и всё
Вопрос: IDE для микроконтроллеров AVR под Linux?

Лучший ответ:
A чем не устраивает eclipse + avr eclipse plugin?
Оба живы.

Худший ответ:
avrdude + vimavrdude + geanyavrdude + codeblocksavrdude + codelite
Но IDE уровня Atmel Studio нет, увы.
Вопрос: И этот снова JSON?

Лучший ответ:
Наверняка, в консоли получаете такого рода сообщение: Cannot read property response of undefined. (Или что-то такое, по памяти написал). Это из-за того, что Вы пытаетесь обратиться к несуществующему полю "response" у СТРОКИ json. Эту строку нужно сначала преобразовать в json.success: function(json) {
            $('.UrlInfoCount').html(JSON.parse(json).response.count); // количество

Худший ответ:
Код выглядит правильным. В таком случае можно использовать дебаггер, поставьте на эту строчку точку останова. В хроме при наведении курсора на перменную он вам покажет значение её. Вот и узнаете точно, что у вас в json, json.response и json.response.count
Ну или старым добрым console.log(json, json.response,json.response.count) посмотрите что у вас внутри.
Может у вас конкретная эта строка и не вызывается вообще.
Еще смущает, что вы говорите про поле, а метод используете .html(). Если у вас именно поле в форме - то надо использовать .val()
Вопрос: Можно ли взаимодействовать рhp с css?

Лучший ответ:
Ну как минимум можно генерировать css в тегах <style>

Худший ответ:
Никак, только к  СSS можно подключить PHP, и то, если очень хорошо попросить.
Вопрос: Как исправить выход текста за пределы элемента?

Лучший ответ:
Например word-break: break-all;

Худший ответ:
Потому что все эти символы воспринимаются как 1 слово, по умолчанию браузер не разбивает слово на строки. Нужно в css задать свойство word-wrapword-wrap: break-word;
Вопрос: Есть ли ошибка в этом аякс запросе?

Лучший ответ:
Сначала устанавливаются обработчики (наблюдатели/слушатели/коллбеки) на определенные события. Затем запускается код, вызывающий их.
То есть, вот этот фрагмент кода - установка обработчика, который будет вызван при определенном условии:request.onreadystatechange = function() { .. }
В этой ситуации условие звучит как "Изменение состояния запроса".
https://learn.javascript.ru/ajax-xmlhttprequest#%D...

Худший ответ:
Это асинхронный вариант, с обработчиком события, сам запрос будет выполняться в отдельном потоке (параллельно остальному коду) и потом из этого потока зажгет ("выполнит") событие onreadystatechange. которое, разумеется, надежнее инициализировать до начала отправки запроса, изучайте события, они в JavaScript везде.
Вопрос: Почему толщина шрифта Roboto ниже 700 не работает?

Лучший ответ:
На ГФ всё прекрасно https://fonts.google.com/specimen/Roboto
Как в общем и в песочнице https://jsfiddle.net/czLe5ya7/1/
Вы что-то делаете не так :)
Ну, или правда, кэшируется что-то.

Худший ответ:
Решил следующим способом: открыл css файл по ссылке шрифта из гугл фонтс 
Сохранил к себе и подключил 
Заменил все font-family: 'Roboto'; на font-family: 'Robotof';
И конечно в основном css подключил как font-family: 'Robotof', sans-serif;
Убрал все ссылки local() из css
Hallelujah! 
Спасибо всем кто ответил
Вопрос: Не могу решить задачу на Python?

Лучший ответ:
Да, вы не можете решить задачу на Python.

Худший ответ:
если код выглядит так:
for i in range(1, 21):
print(i * 2, 54, end=", ")
то работать он точно не будет

если я правильно понял что вам нужно
for i in range(0, 20):
    print(i, "сm = ",i * 2.54, "inch")
Вопрос: SSL certificate problem, verify that the CA cert is OK: это проблема клиента?

Лучший ответ:
Проверьте домен где-нибудь на чекерах типа https://www.sslchecker.com/sslchecker и https://www.ssllabs.com/ssltest/

Худший ответ:
Была такая же проблема, хочу сказать сразу - проверьте ваше антивирсное ПО, потому что мой Kasspersky блокировал мне ssl2 :D
Вопрос: Откуда text.ru берет данные для проверки на плагиат?

Лучший ответ:
Скорее всего, там классический "накопительный" подход бигдаты. Асинхронно в бэкграунде идёт парсинг данных из сети, это позволяет всегда держать данные актуальными и динамически её пополнять. Затем формируются метаданные для быстрого анализа, они уже и хранятся в базе сервиса. Затем, когда Вы уже непосредственно ввели текст и отправили на валидацию, идёт анализ сопоставлений с помощью нечёткого поиска или других оптимизированных алгоритмов работы с текстом, сопоставляются метаданные и выдаётся результат. Конечно, я могу и ошибаться, но если бы мне нужно было реализовать подобное решение, то принцип работы у него был бы схож с вышеописанным.

Худший ответ:
ха-ха, все неизведанное нам кажется чудесным
секрета никакого нет: поисковикипоявления этого контента в поисковой выдаче яндекса и гугла еще надо ждать не одну неделю.,  а в duckduckgo можно и не ждать
разумеется, text.ru держит нос по ветру и пасет остальные биржи ( быстро выложил, быстро проиграл (с)), но чуСед никаких нет, есть просто что-то вам непривычное
это очевидно при проверке текста, например, с разных ИП
Вопрос: На сервере 10 сайтов как мониторить нагрузку который дает каждый сайт?

Лучший ответ:
Раскидайте по докерам и какую нибудь оболочку для него чтобы глядеть

Худший ответ:
Zabbix вам в помощь
Вопрос: Стоит ли уже перевести сайт на Foundation 6?

Лучший ответ:
Уже скоро на седьмой переходить, а вы все думаете.
Там не баги. За столько лет то - вполне уже зрелый продукт.
Там отсутствие поддержки старых браузеров. Впрочем, в пятой версии - тоже шибко старые уже не поддерживаются.

Худший ответ:
Шестой версии полтора года. Все фиксы, какие могли, уже выпустили. Если у вас есть конкретные вопросы - задавайте (со ссылками на примеры на codepen).
Вопрос: Поведение высоты контейнера при выравнивании текста, почему так?

Лучший ответ:
Забейте. Уже сто лет не видел вертикальное выравнивание на vertical-align.
Флекс сейчас дайте наиболее точное выравнивание.

Худший ответ:
Забейте. Уже сто лет не видел вертикальное выравнивание на vertical-align.
Флекс сейчас дайте наиболее точное выравнивание.
Вопрос: Как храняться данные в хеш-таблице?

Лучший ответ:
2,147,483,647
В 32 битном числе ~4 млрд значений, а не ~2
Массив выделяется под кол-во данных, в разных системах по разному, например в питоне когда массив заполнен на ~70%, тогда выделяется больший массив под эти данные.
Результирующий хеш подстраивается под размер массива, например под 500 элементов, может быть выделен массив в 1024 элементов, в итоге результирующая позиция может быть вычислена так = hash_value %mod table_length, пример: 55555 % 1024 -> 259, итого значение будет записано в 259 ячейку (если нет коллизии)

Худший ответ:
Советую Вам почитать эту статью, станет многое понятно.
Если коротко - то в java НЕ выделятся память под какой-либо объект исходя из максимально возможного значения. Преимущество коллекций (если я верно понимаю Вас интересует HashMap) в том и заключается, что у них изменяемый размер.
Вопрос: Знает кто небольшую книгу по php?

Лучший ответ:
Чем Вам официальная документация не угодила?

Худший ответ:
Lopez - Learning PHP 7 (есть в Вк документах).
Ну и конечно же PHP Right way
Вопрос: Зачем при вызове функции ставят две двойные скобки?

Лучший ответ:
Функция getFunc() возвращает другую функцию (та что в переменной func). Вот вторые скобки нужны затем, чтобы вызвать функцию, которую вернула getFunc().
Можно сделать так:var func = getFunc();
func(); // тут уже сработает alert(), который она вызывает

Худший ответ:
Что б вернуть не функцию, а результат который она возвращает.
Второй скобкой Вы как бы вызываете внутреннюю функцию которая берет выводит переменную a из замыкания. 
Если скобки опустить, то return внешней функции вернет Вам не результат а саму функцию.
Вопрос: Как удалить ip из черного списка?

Лучший ответ:
Для заведения обратной записи надо обращаться к Интернет-провайдеру, если сервер находится где-то у вас, или к хостеру, если у них.

Худший ответ:
Без нормальных DNS записей забудьте про почтовый сервер. В лучшем случае в спам попадете, а то и туда не пустят.
Вопрос: Расширение, которое показывает, внесён ли сайт в реестр?

Лучший ответ:
А зачем расширение? Обычно при посещении запрещенных сайтов, рядом сидящий майор грозит пальчиком.

Худший ответ:
Пришлось самому сделать такое расширение.ChromeFirefox
Вопрос: Какая цель(и) у такого сетевого флуда?

Лучший ответ:
Open Redirect уберите на сайте и вы перестанете их интересовать.

Худший ответ:
на вирусы сайт проверял?
Вопрос: Выбор между двумя инструментами для приложения?

Лучший ответ:
Оба фреймворка подойдут, т.к. по факту вы на них можете писать не всю страницу, а например отдельный компонент.
Лично я изучал оба и на итоге для своих мелких задач юзаю Vue.  Код более лаконичен, а поведение предсказуемо. Плюс у меня немного бомбит от Redux ( мне он кажется дико не логичным местами), хотя конечно никто не заставляет его юзать ... Что я и делал до знакомства с Vue.
Но повторю, в принципе справятся оба, лиж бы не Angular :D

Худший ответ:
Одинаково. Я лично предпочитаю vuejs (не люблю jsx и redux, зато люблю SFC и реактивность из коробки), но принципиальной разницы в функциональности и возможностях нет.
Вопрос: Почему не работает запрос SQL LIKE диапазон значений?

Лучший ответ:
Держи решение, подходит как раз под твои условия
SELECT * FROM `pole` WHERE `name` REGEXP '(^[0-9])';
Работает только на первое слово в строке, если нужны будут другие условия, соответственно и регулярка будет другая, составить регулярное выражение можешь здесь .

Худший ответ:
А с каких пор LIKE поддерживает регулярные выражения?
Вопрос: Программирование в процедурном стиле — это плохо?

Лучший ответ:
Сейчас - да. Тренд сейчас такой на ООП, даже небольшое приложение писать only OOP. Мое видение ситуации, что процедурный стиль - это не плохо, если:
1) Работаешь 1
2) У проекта не будет развития (Написал и забыл)
3) Сам понимаешь что пишешь, ну и конечно запоминаешь.

Худший ответ:
Если хотите реально получать удовольствие от написания кода - переходите на ооп. Когда написал 1 объект, а остальные отнаследовал и добавил по 3 строчки кода - и - опа, все заработало и пол проекта написано, это кул. Когда код читается как хорошая книга - с главами, сносками и изящными оборотами речи - это стоит того чтобы потратить пару дней на основы ооп. Проект который вы будете писать может стать хорошей базой для обучения.
Вопрос: Как убрать знаки вопроса в Sublime text?

Лучший ответ:
В начале скрипта# -*- coding: utf-8 -*-
# !/usr/bin/env python

Худший ответ:
Здравствуйте. И у меня аналогичная проблема с Sublime Text. Опишу вкратце - первоначально при установке вчера русский выводился при исполнении программ. Но, затем при установке плагинов что -то пошло не так. В настройках я ковырялся. Потом решил удалить Sublime Text и поставить заново, но это проблему не решило. Причём в тексте программы с русским всё в порядке, а в выдаче через python получаются вместо русских букв ромбики с вопросительными знаками. Все вышеуказанные методы мне тоже не помогают. Пожалуйста, помогите разобраться. Sublime Text очень мне понравился, хотелось бы продолжить с ним работу.
Вопрос: Вы руководитель. Как вы отреагируете на то, что ваш подчиненный левачит в прямо на рабочем месте, но в свободное время?

Лучший ответ:
Реально программист пишет код 4-5 часов в день максимум, в остальное время он думает как лучше что-то сделать.
С учетом того, что человек может работать одновременно над ограниченным количеством проектов - получается что любой боковой проект сильно снижает продуктивность по основной работе.
Если сотрудник хочет разово что-то написать "для души" - в целом это не проблема.
Если сотрудник явно занимается разработкой на заказ за деньги - это путь к его скорейшему увольнению.

Худший ответ:
Если работнику платят за количество просиженных в офисе часов, то конечно же его уволят, ибо не по госту, не так в старой советской школе учили. А если работнику платят за его труд, то тут уволить попросту не могут (могут, но ещё должны останутся).
И как же это узнать? Необходимо прочитать трудовой договор.
Вопрос: Как формирует коллаж картинок vk.com при посте?

Лучший ответ:
collageplus.edlea.com
В качестве примера. Есть куча библиотек.

Худший ответ:
во-первых, при загрузке создается много миниатюр разных форматов
во-вторых, скриптом подбираются комбинации из этих миниатюр
Вопрос: Как сделать чтобы приходили письма от mail.ru?

Лучший ответ:
Лучше что можно сделать - никогда на связываться с мейл.сру. Удалить там все аккаунты и забыть как страшный сон.

Худший ответ:
В этой статье все объясняется.
Не подставляйте чужие адреса в поле From, подставляйте их в Reply-To.