Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Приобретение подержанного Mac: где осуществить, к чему приглядываться, какие общие рекомендации?

Лучший ответ:
что приобретать? Какое из устройств позволит при наименьшей цене комфортно работать в XCode?
Я редко работаю в XCode, но мне кажется, что в 2012 году не стоит тратить деньги на компьютеры с процессором Core 2 Duo. Берите подержанные Mac на Core i7/i5/i3. 
Забудьте про все модели iMac с диагональю экрана 20" и 24" (то есть все модели до конца 2009 года), потому что они тормозные, греются, и на мониторах часто возникают проблемы с подсветкой. Я бы также не советовал брать MacBook unibody 13" MB466 (2008 г., потому что греется) и iMac 27" 2009 года (потому что монитор желтит).
Не стоит забывать, что на старых Mac также может не завестись Mountain Lion.
В условиях минимального бюджета я бы сейчас выбрал Mac Mini (2011). В магазинах он стоит 23 000 р., то есть подержанный должен стоить хотя бы 19000 р. Если вы собираетесь через некоторое время еще купить ноутбук, то посмотрите в сторону MacBook Air, чтобы «убить двух зайцев».где приобретать?
ЖЖшные барахолки мне кажутся неудобными — я предпочитаю барахолки на форумах. Например, форум DeepApple.есть ли общие советы?на что обращать внимание?
Макинтошники, особенно не технари, весьма жадный народ. Большое влияние на цены вторичного рынка оказывает тот факт, что Mac по многу лет выпускаются с одним и тем же дизайном. То есть люди, прежде чем продать свой трехлетний агрегат, приходят в магазин Apple, видят на витрине точно такие же по виду компьютеры, и бегут подавать объявление с ценой чуть меньшей от увиденной. Самое интересное, что у них таки покупают. 
Главный совет, если хотите сэкономить денег: торгуйтесь. И поэтому обращать внимание стоит на все.
Прежде чем идти на встречу, попросите выслать скриншоты из System Profiler'а («Информация о системе»), чтобы убедиться, что это именно интересующая вас модель Mac. (Нужно нажать яблоко в верхнем углу > «Об этом Mac» и там нажать еще одну кнопку, называющуюся по-разному в зависимости от версии системы. Выглядит System Profiler вот так). Также вы можете пробить серийник на сайте Apple на всякий случай.
Имейте в виду, что во все Mac (кроме Mac Pro, да и то) подходит обычная память. Продавцы любят повысить цену на 5000 р. только за то, что они доставили памяти за 1500 р. из ближайшего компьютерного магазина.При встрече:
1) Если Мак с монитором, то обязательно проверяйте монитор на битые пиксели. На белом цвете проверьте равномерность подсветки.
2) Всегда проверяйте работоспособность дисковода (даже если вам он не нужен), потому что они часто ломаются. Обязательно смотрите наличие/работоспособность Firewire, Ethernet, WiFi, Bluetooth. Информацию обо всем можно найти в том же System Profiler'е или в Системных настройках > Сеть.
Если Мак еще на гарантии (скажем, остался месяц), то очень рекомендую продлить гарантию на еще два года (называется AppleCare). Если Мак был куплен зарубежом и еще на гарантии, то требуйте чек — без него в России могут возникнуть проблемы с сервисом.

Худший ответ:
Обратить внимание нужно на внешние повреждения, возможно, некоторые разъемы расшатаны или еще что. Обязательно проверить SMART винчестера перед покупкой.
Вопрос: Чего достаточно чтобы организовать песочницу в Windows?

Лучший ответ:
Я бы запускал виртуалки в hyper-v, vmware, virtualbox.
в случае ESXI /hyper-v core mode влезть в гипервизор вообще не получится.
Опять же, в случае чего — откат на снапшот где чистенькая/готовенькая система за вменяемое время — и игры с новыми билдами.

Худший ответ:
Виртуалки или откаты бэкапами / теневыми копиями к заведомо чистому состоянию. Руками все проверять нецелесообразно.
Вопрос: Сайт на wordpress выдает ошибку 500 на некоторых страницах. Как исправить?

Лучший ответ:
Перезапиши пути prntscr.com/5y7yav туда-обратно

Худший ответ:
в логах сервера должны быть все ошибки.
Спрашивай у техподдержки как можно получить логи работы сайта на сервере и разбирайся
Вопрос: Как заставить на битриксе работать bitrix:breadcrumb при включенном Ajax в комплексном компоненте bitrix.catalog?

Лучший ответ:
надо у блока  с навигацией  добавить id="navigation"
Подправил ) надо писать navigation

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

Лучший ответ:
Это называется аутентификация. Способов её реализации - тьма.

Худший ответ:
куки?
Вопрос: Где найти документы по финансовым потерям (прибылям) из-за ui?

Лучший ответ:
Хотите убедить клиента или работодателя?

Будьте осторожны, если это работодатель, он может найти статистику повышения эффективности сотрудников при отрубании интернета.

Худший ответ:
Я думаю такого документа нет, все случаи индивидуальны и оценки косвенные. Нужно проводить эксперименты и обрабатывать данные.

Можете сами посчитать, например, сократили загрузку компьютеров в офисе на 1/2 минуты. Следовательно в офисе 100 человек со средней зп 500р в час… компания экононосит в месяц 100*(1/2/60)*500*22 =~9167, а в год 110тр, страшно подумать сколько можно сэкономить за год (т.е. получается дополнительной работы на эти деньги)
Вопрос: Как создается gif-анимация показ сайта, навигация по странице?

Лучший ответ:
да просто захват экрана и конвертация в gif.
AE тут и не нужен.

Худший ответ:
Создать gif-анимацию в том виде, что вы указали, легко можно с помощью ScreenToGif.
Вопрос: Есть ли смысл покрывать тестами контроллер?

Лучший ответ:
Имеет смысл покрывать функциональными тестами, элементарно на статус 200 например.

Худший ответ:
Да, имеет.
Вопрос: Можно ли пользоваться магнитыми отвертками при работе с электроникой?

Лучший ответ:
не вращайте вокруг них эту отвертку со скоростью выше 1500 оборотов секунду и проблем не будет.

Худший ответ:
Не встречал элементов на которые бы мог воздействовать  стабонамагниченная ответка, если конечно у вас не редкоземельный мощный магнит стоит.
Вопрос: Почему функция вызывается независимо от события?

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

Худший ответ:
Вот этот кусок вызывает сомнения..mousemove(limiter(function ()
Ты навешиваешь на #target событие mousemove, после чего вызывается безымянная callback функция:$(function(){
$('#target').on("mousemove", function (){
// some actions here...
console.log('fire');
});

}
Вопрос: Crystal, Elixir, Golang. Куда ехать рельсовику?

Лучший ответ:
Я честно говоря его пока не вижу, этого "будущего мэйнстрима".
Ясно что Ruby on Rails потихоньку устаревает.
Почти весь мэйнстримный вспомогательный инструментарий сейчас разрабатывается под Node.js: gulp, bower, babel, postcss (ещё не мэйнстрим но видимо будет). Опять же почти весь вспомогательный инструментарий RoR, который когда-то был либо мэйнстримом (SCSS, Compass), либо задавал тон в индустрии (Sporckets, Coffeescript) сейчас начинают выглядеть анахронизмом на фоне тех же gulp, postcss и babel + ES6. То есть по части инструментария однозначно рулит Node.js. Но это инструментарий.
В ту же копилку вэбсокеты, по части которых нода - эаталон, а RoR всё никак их толком не внедрит (вроде в 5 версии хотят). Есть Faye, штука неплохая, но слишком заметно что чужеродная для RoR.
Ещё один плюс ноды - возможность изоморфного рендернига контента для SPA. Но тут уже вопрос в языке, понятно что ни на чём другом кроме JS это не реализуешь.
В общем RoR конечно большинство основных новых веяний в индустрии благополучно прозевал и постепенно превращается в резервацию со своей атмосферой. Нода на передовой НО только по всякой вспомогательной части, сопоставимого по масштабу фреймворка на ней как не было, так и нет.
Всё остальное (Go и т.д.) ещё настолько сыро, что даже обсуждать по-моему нечего.

Худший ответ:
рельсовики - пускают слюни, рубисты - думают.
Вопрос: Web сервер на C#, как сделать API для клиента?

Лучший ответ:
Читайте про Restfull сервисы. Статей миллион, все очень просто... Писать за вас api никто не будет, а примеров с реализацией под .NET море.

Худший ответ:
Спасибо за ответы. 
Я почитал про перечисленные технологии и в итоге выбрал WCF - он показался самым легким для реализации (msdn.microsoft.com/ru-ru/library/ms734712%28v=vs.1...).
Вопрос закрыт.
Вопрос: Партицирование таблицы MySql по двум полям?

Лучший ответ:
https://dev.mysql.com/doc/refman/5.6/en/partitioni...PARTITION BY RANGE(YEAR(updated))
SUBPARTITION BY HASH(status)
SUBPARTITIONS 4 (
        PARTITION p0 VALUES LESS THAN (2000),
        PARTITION p1 VALUES LESS THAN (2010),
        PARTITION p2 VALUES LESS THAN MAXVALUE
);
Количество SUBPARTITIONS (в примере 4) равно количеству различных значений поля status.

Худший ответ:
Спасибо.
Вопрос: Как через DragDrop передать объект по ссылке?

Лучший ответ:
Не очень понял.
Напрямую ссылку с объекта из процесса в процесс не передать. У процессов память разная. Процессы объекты друг друга не видят.
  Если вам нужно только состояние объекта: например, в одном процессе тем или иным способом инициализировали и передаете во второй процесс. То тут достаточно, чтобы в процессы были загружены сборки с типом вашего объекта, и  через сериализацию склонировать ваш объект. 
Но поскольку вы пишите, что вам сериализация не подходит, могу предположить, что вы хотите из одного процесса обращаться к методам и свойствам объекта другого процесса, чтобы это вызывало некий отклик в первом процессе (ну допустим через события генерирующие при изменении состояния объекта). Тогда во втором процессе нужен некий прокси-объект, который, когда обращаются к его методам и свойствам, будет посредством некой системы сообщений обращаться к методам и свойствам исходного объекта. Это похоже на .NET Remoting или WCF.

Худший ответ:
Передать "объект" из одного приложения в другое нельзя, ибо память у каждого своя и нельзя просто так "отдать" другому процессу кусок своей памяти "на попользоваться". В вашем случае я вижу решение только через сериализацию. Не вижу проблем сериализовать инициализированый объект, обычно именно такие объекты и сериализуют. Не ясно также что это за объект перетаскивается, возможно достаточно передать его "параметры" а на другом процессе просто создать его снова.
Вопрос: NodeJS: растет потребление heapTotal. Утечка памяти?

Лучший ответ:
Не является.
heapTotal это общая память, выделенная V8. Эта память, в основном, освобождается только при выходе. Выделение памяти происходит медленно, поэтому V8 не возвращает ее, предполагая, что она снова может понадобиться. Если на сборщик мусора приходится большая нагрузка, V8 пытается увеличить память, чтобы запускать его реже.

Худший ответ:
Вариантов почему происходит утечка  много. Возможно косяк в коде, когда из какой то структуры данных элементы не удаляются а только добавляются, возможно в самом NodeJS где то косяк. Попробуйте локализовать проблему более конкретно, т.е. нужно глянуть какая именно структура данных постоянно увеличивается в объеме. И потом можно либо менять свой код, либо сказать авторам NodeJS о баге.
А можно просто перезапускать NodeJS с определенным интервалом.
Еще как вариант возможно поможет Как избежать утечки памяти в nodejs?
Вопрос: По каком алгоритму надо изучать код браузера?

Лучший ответ:
Нужно учесть, что это очень объёмная тема.
Для введения есть хорошая статья Как работает браузер или что происходит за кулисам...
Можно изучать работу браузеров на более простых примерах:Проект NetSurfNetSurf is a free, open source web browser. It is written in C and released under the GNU Public Licence version 2. NetSurf has its own layout and rendering engine entirely written from scratch. It is small and capable of handling many of the web standards in use today.Hubbub HTML parser  LibDOM DOM LibCSS CSS parser JavaScript support Framebuffer port Let's build a browser engine!Продвинутый этапДвижок servoServo is a prototype web browser engine written in the Rust language. It is currently developed on 64bit OS X, 64bit Linux, Android, and Gonk (Firefox OS).

Худший ответ:
Начните, для начала, с изучения C/C++ на уровне, достаточном для написания простейшего парсера html.
Вопрос: Параллельная загрузка скриптов с последовательным выполнением?

Лучший ответ:
Если действительно хочется решения на чистом JS без использования каких-либо библиотек, то можно скачивать скрипты при помощи XMLHttpRequest и вставлять в DOM тело скрипта.
Пример::function fetch(url,callback){
    var req = new XMLHttpRequest();
    req.open("GET",url);
    req.onload = function(){
      callback(req.responseText);
   }
   req.send();
}

function insertScript(scriptBody){
   var script = document.createElement('script');
   script.innerText = scriptBody;
   document.body.appendChild(script);
}

var scripts = ["/first.js","second.js"];
var bodies = new Array(scripts.length);

scripts.forEach(function(script,index){
    fetch(script,function(body){
        bodies[index]=body;
        if(bodies.every(function(el){return el})) {
             bodies.forEach(insertScript);
        }
    });
})

Худший ответ:
Вот такая штука у меня в подвале, помимо синхронной загрузки скриптов из массива scripts, после загрузки вызываются  функции из массива scripts_cbvar scripts = ['/style/jquery-1.7.1.min.js','/style/jquery.boxy.min.js','/style/smspilot.js?v2.3'];
var scripts_head = document.getElementsByTagName('head')[0] || document.documentElement;

var scripts_cb = [];
function scripts_ready( callback ) {
	scripts_cb[ scripts_cb.length ] = callback;
}
function scripts_loaded() {
	
	scripts.splice(0,1);
	
	if (scripts.length > 0) {
		scripts_load();
	} else {
		for( var i = 0; i<scripts_cb.length; i++) {
			scripts_cb[i]();
		}
	}
}
function scripts_load() {
	var script = document.createElement('script');
	script.type = 'text/javascript';
	script.async = true;
	script.src = scripts[0];
	script.onload = scripts_loaded;
//	script.onerror = onerror;
	script.onreadystatechange = function () {
		var state = this.readyState;
		if (state === 'loaded' || state === 'complete') {
			script.onreadystatechange = null;
			scripts_loaded();
		}
	};
    scripts_head.insertBefore(script, scripts_head.firstChild);
}
window.setTimeout('scripts_load()', 50);
Вопрос: Что быстрей file_get_contents | Sockets | cURL?

Лучший ответ:
разница в пределах погрешности, все три варианта используют сокеты так или иначе и упретесь вы I/O тех  самых сокетов.

Худший ответ:
Если основная задача это получение данных по сети, то, как уже сказали выше, все равно все будет идти через сокеты. Так что скорость тут реально в пределах погрешности. Поэтому выбирать нужно исходя из удобства использования и задачи. file_get_contents с заданием контекста довольно высокоуровневый, подходит в принципе только для задачи "что-то получить из сети, таймаут на действия такой-то". Sockets напротив низкоуровневый. Позволяет очень многое, но требует хорошего понимания работы с сетью. cURL по середине. Он достаточно высокоуровневый что бы сказать ему "возьми вот этот тут" не погружаясь в тонкости установления соединения, но при этом позволяет подкручивать низкоуровневые места в случае надобности.
Т.е. принцип выбора достаточно прост: 1) нужно что-то получить из сети с возможность задать таймаут и результат "ответ получен ок"/"возникла проблема" и нужно запилить в одну строку, то file_get_contents; 2) нужно больше возможностей при установлении соединения, то cURL; 3) если точно известно, почему cURL не подходит, то начинаем использовать Sockets.
Вопрос: Умеет ли PHPStorm распознавать возвращаемый объект через статический метод?

Лучший ответ:
у метода getSingleton() надо коммент /** return singleton */
/**
 * @return singleton
 */
public function getSingleton(){

// и даже по цепочке должно работать
/**
 * @return singleton
 */
public static function getInstance() {


Худший ответ:
у метода getSingleton() надо коммент /** return singleton */
/**
 * @return singleton
 */
public function getSingleton(){

// и даже по цепочке должно работать
/**
 * @return singleton
 */
public static function getInstance() {
Вопрос: Выбор кабеля для rs485 arduino?

Лучший ответ:
Для домашних расстояний подойдет банальная лапша телефонная. 
Для унификации, можете и витую пару положить, только это дороже.
Соблюдайте топологию - никаких ответвлений, только шина!

Худший ответ:
Если не дальше дома и скорость не более 9600 - можно любой лапши с ответвлениями и с чем угодно, будет работать. Ну а если капитально - 4 провода из витой пары, 2 сигнал и 2 питание.
Вопрос: Зачем нужны однородные координаты?

Лучший ответ:
По большому счёту, однородные координаты нужны с единственной целью - чтобы при получении экранных координат точки не нужно было различать ортогональную и перспективную проекции. В остальных ситуациях их полная поддержка была бы только лишней тратой ресурсов.
Сразу надо сказать, что матрицей 3*3 вы не обойдётесь. Такие матрицы описывают только поворот, а в перемещениях объекта и камеры в 3D есть ещё сдвиги. Поэтому нужна матрица, по меньшей мере, 3*4 (в конвенции компьютерной графики, когда вектор это строка а не столбец).
В терминах линейной алгебры пользоваться такими матрицами неудобно, поэтому к ним добавляют столбец (0,0,0,1), а к координатам точки - четвёртую координату 1. Де-факто мы при этом получаем проективное пространство, представленное однородными координатами. Но при любых операциях над матрицами и точками у нас последний столбец всегда будет (0,0,0,1), а последняя координата точки - 1. 
Если знать это, то можно хорошо сэкономить: для хранения матрицы хватит 12 чисел вместо 16, для перемножения двух матриц - 36 умножений вместо 64, а для умножения матрицы на точку - 9 умножений вместо 16. Надеюсь, что в реальных проектах так и делают. 
Но есть одно место, где последний столбец не равен (0,0,0,1), и четвёртая координата точки может отличаться от 1 - это перспективная матрица для вывода на экран (ссылку вам уже дали). Для вывода точки (x,y,z) результат её применения может быть, условно, (x,y,z,1) - тогда имеет место ортогональная проекция, и выведется точка (x,y), а может - (x,y,-1,z) - тогда координаты точки окажутся (x/z,y/z), и проекция будет перспективной. Хватило бы одного бита - как интерпретировать точку, делить ли на z. Но разработчики компьютерной графики решили, что матрица 4*4 и однородные координаты - это более эффективно. Им виднее.

Худший ответ:
Однородные координаты нужны чтобы изучать проективные преобразования. На самом деле, я точно не знаю, где в компьютерной графике применяются именно трехмерное проективное пространство, но проективная плоскость действительно возникает часто. 
Например, пусть на столе лежит вырезанный из бумаги плоский многоугольник. Тогда, если Вы сделаете фотографию, то совершите отображения плоскости стола на плоскость фотографии, а Ваш многоугольник отобразится в некоторый другой многоугольник. Такое преобразование нельзя описать матрицей 2x2, хоть Вы и совершили преобразование "плоскости" на себя. Поэтому, чтобы адекватно изучать такого рода преобразования нужны однородные координаты. 
Это важно в задаче распознавания. Например, у Вас есть фотография какого-то объекта в базе данных. Затем Вы хотите найти этот объект на другой фотографии. Т.к. при фотографировании Вы совершаете проективные преобразования, то нужно искать какие-то характеристики, которые не меняются при таких преобразованиях, т.е. инварианты. Затем можно написать программу, которая считала бы эти инварианты, и таким образом сравнивала объекты на снимках между собой.
Вопрос: Какой настольный ПК выбрать для работы?

Лучший ответ:
у вас нормальный камень. если менять, то придется еще и материнку новую брать.
добейте памяти до 16/32 гб, поставьте ssd, 64-битную ОС и спокойно пользуйтесь им еще несколько лет как минимум.

Худший ответ:
а вообще вам надо оперативы гб 12 (лучше 16), не менее 8 это 100%
и ссд нормальный (intel, crucial)
процессора под это все должно хватать
Вопрос: Можно ли с помощью микротика отключить всю рекламу в домашней сети?

Лучший ответ:
Можно ли с помощью микротика отключить всю рекламу в домашней сети?
Запросто - реклама лезет через протокол http, заблокируйте его.

Худший ответ:
Спасибо одному человеку (статья на хабре "Чистим интернет от назойливой рекламы (AD Blocker для MikroTik)", уже можно.
Вопрос: Чем лучше кешировать в php?

Лучший ответ:
Возможно, вам поможет nginx с его proxy_store?

Худший ответ:
А membase не то, не? nosql, тот же api, что memcache.
Вопрос: Как отправить сигнал на внешнее устройство из Chrome?

Лучший ответ:
Можно. Для этго можно создать расширение, которое использует NaCl.

Худший ответ:
Естественно нет. Давайте еще разрешим произвольный доступ к файлам и посылку произвольных пакетов по сети.

Так что пока общатсья можно только с фиксированным набором устройств: колонками, мышкой, клавиатурой, монитором, микрофоном, камерой…
Вопрос: Почему востребован Java?

Лучший ответ:
>причина популярности Java
Как-то так:
- простой синтаксис, без лишних сложностей - я лет 8 на С++ не програмил, но в последнее время, бывает гляну на С++ код и просто тихий ужас :) А альтернатив С++ просто нет, только Java. Нет, конечно есть всякие Rust, D, но это пока для гиков поиграться.
- удобная организация библиотек и качественные инструменты для управления зависимостями (остальные только-только начинают догонять) => без головняков собирать большие проекты и подключать сторонние либы
- проработанная и шустрая многопоточность, в том числе так называемые goroutine, особенно в последних версиях (7-8)
- JVM, на которой можно легко програмить на Scala, Groovy, Python, Ruby, JavaScript, Kotlin, Ceylon и т.д. и т.п. Если не нравится синтаксис Java. При этом то, что запрограмил на Python будет доступно из Java, и наоборот. Это очень круто. Но все еще высок порог входа, чтобы управлять всем этим хозяйством. Я вот, как раз пилю кое-что в данном направлении, чтобы обрушить этот порог :)
- Android
- (Инди) игры (Minecraft, Delver, Lineage - тысячи их)
На десктопах Java нет, лишь из-за C# и Windows, а так посмотрите InteliJ IDEA 13 это пример насколько может быть сексуальным десктопный интерфейс на Java.
И еще, те кто пытался писать на Ruby, затем переделывали на Java/Scala, т.к. 1 сервер на Java, проще, чем 10 серверов на Ruby при той же нагрузке.
>скорость выполнения программ крайне низкая
Это миф, тянущийся из бородатых 90-х. Современные HTTP серверы построенные на Java по производительности на уровне C/C++ реализаций. Но памяти конечно жрут больше, но это отдельная тема и в наше время это не такая уж и проблема.

Худший ответ:
хотя в реальной жизни Java-приложений я не встречал 
У гугла сервисы написаны на java, тот же гугл+ и гмаил
Вопрос: Как сделать номер телефона ссылкой для набора номера на мобильных?

Лучший ответ:
<a href="tel:+79119112233">Позвонить</a>

Худший ответ:
Это называется URL Sheme. Конкретно по набору номера не скажу. Но например открыть ссылку в маркете - market:///your.app.bundle. Погуглите что есть такого для набора номера, может какой то call://
Вопрос: Как из jquery перекинуть в php переменную?

Лучший ответ:
Нужно отправлять методом POST или GET. Я бы выбрал POST, код будет выглядеть так:$("#radio").click(function(){
    $.post("doc.php", {cokie:$("#radio").val()});
});
То есть, он берёт значение input с id=radio и отправляет его методом POST в документ doc.php. PHP код должен быть таким:<?php
    $radio = htmlspecialchars(strip_tags($_POST['radio']));
?>
Сразу написал небольшую проверку, чтобы слишком просто пролезть на твой сервер не было)

Худший ответ:
Отправить Ajax запрос
Вопрос: Проблема при переходе с MySQL на MySQLi

Лучший ответ:
Может, вы вызываете метод как функцию, а нужно как метод?$this->mysqli_result(...);

Худший ответ:
Простите, но в Вашем оригинале нет вызова функции mysqli_result. Приведите полный фрагмент нового кода.