Pull to refresh
81
0

Пользователь

Send message

Приключения в отдельном потоке. Доклад Яндекса

Reading time11 min
Views6.7K
Как работать с изображениями на клиенте, сохраняя плавность UI? Разработчик интерфейсов Павел Смирнов рассказал об этом на основе опыта разработки поиска по фотографиям на Маркете. Из доклада можно узнать, как правильно использовать Web Workers и OffscreenCanvas.



— На протяжении этого получаса мы поговорим о приключениях. Я расскажу о своем приключении и очень надеюсь, что мой доклад вдохновит вас и вы возьмете и сделаете то же самое у себя.

Читать дальше →

Черное Зеркало своими руками — обучаем бота на базе своей истории чатов

Reading time4 min
Views17K

В "Черном Зеркале" была серия (S2E1), в которой создавали роботов, похожих на умерших людей, используя для обучения историю переписок в социальных сетях. Я хочу рассказать, как я попробовал сделать что-то подобное и что из этого получилось. Теории не будет, только практика.


image


Идея была простая — взять историю своих чатов из Telegram и на их основе обучить seq2seq сеть, способную по началу диалога предсказывать его завершение. Такая сеть может работать в трех режимах:


  • Предсказывать завершение фразы пользователя с учетом истории разговора
  • Работать в режиме чат-бота
  • Синтезировать логи разговоров целиком

Вот что получилось у меня


Бот предлагает завершение фразы


image


Бот предлагает завершение диалога


image


Бот общается с живым человеком


User: привет
Bot: привет
User: как ты?
Bot: собираюсь
User: баг пофиксил?
Bot: нет
User: почему?
Bot: да не получается
User: ты сегодня когда дома будешь?
Bot: не знаю пока
User: ты занят?
Bot: в магазин еду 

Дальше я расскажу, как подготовить данные и обучить такого бота самому.

Читать дальше →

Я бросил работу мечты, потому что не переношу продуктовую разработку

Reading time5 min
Views52K


На днях друг хвастался мне, что завернул на собесе чувака, который работал только в аутстафах. Друг работает в продуктовой компании и твердо убежден — от придурков с галер нет никакой пользы. Там работают бездушные наемники, профессиональные проходимцы собеседований и лентяи. Говорит, продукт загнется раньше, чем они подберут себе цветовую тему в IDE.

Мой друг категоричен, и ненавидит аутстафы даже больше, чем они заслуживают. Он считает, аутстафы убивают саму суть разработки. Берут плохих разрабов, натаскивают проходить собесы, продают подороже в корпорации, где все устаканено, и вопрос выживания вообще не стоит, и просто живут спокойно на попиле денег и имитации работы. В общем, ненавидит их как трудяга-коммунист биржевых брокеров.

А я всю жизнь работал в аутстафах, и, конечно же, считаю по-другому. И я хотел осудить друга, но вспомнил как сам отказывался брать продуктовых разрабов на собеседованиях.
Читать дальше →

Как начать программировать в Adobe Illustrator. Часть первая

Reading time8 min
Views12K

Сразу хочу предупредить, что эта серия постов не для матёрых программистов и даже не для программистов вообще. Понимаю, что это звучит крайне вызывающе, учитывая IT-тематику ресурса, и все же позвольте объяснить… В качестве аудитории, я вижу обычных дизайнеров, которые хотели бы начать программировать в среде Adobe, но по каким-то причинам (из-за страха перед неизвестным, неуверенности в своих возможностях или незнания языка) не могут сделать первые шаги в данном направлении. Свою скромную задачу вижу в том, чтобы помочь им понять, что "не боги горшки обжигают" и любой, достаточно мотивированный человек, может научится писать работающий программный код. Вполне возможно, некоторые из них так увлекутся этой игрой, что решат стать настоящими разработчиками. Чем код не шутит?


В этом посте будет рассказано о том, как посредством написания небольшой программы (скрипта на JavaScript) создать свой уникальный инструмент в Adobe Illustrator, который позволит не только сократить ваше время, но и улучшить взаимодействие с этим замечательным графическим редактором. Сначала я сформулирую задачу, затем покажу код, который ее решает и, далее, подробно расскажу о том, как он создавался. Здесь не будут обсуждаться основы Javascript, особенности объектной модели Illustrator или различные редакторы для написания/отладки кода. Эту информацию вы сможете при желании найти сами. Главное, на мой взгляд, это понимание базовых принципов написания программ, на что и делается основной упор в этой статье. Если вы готовы прыгнуть чуть выше своей головы, добро пожаловать под кат!


Читать дальше →

Excelsior JET прекращает разработку своего AOT-компилятора после 18 лет работы

Reading time1 min
Views21K
Те, кто следит, что происходит с платформой Java, вероятно, в теме, что есть очень интересный AOT-компилятор для Java, разработанный российской компанией из Новосибирска. Это один из тех проектов, которыми можно гордиться.
Читать дальше →

Интеграция Jira с GitLab

Reading time2 min
Views55K

Цель


При коммите в git упоминаем в комментарии какую-либо задачу из Jira по имени, после чего происходит две вещи:

  • в GitLab название задачи превращается в активную ссылку на нее в Jira

  • в Jira к задаче добавляется комментарий со ссылками на коммит и пользователя, его совершившего, а также добавляется сам текст упоминания
Читать дальше →

Про одну девушку

Reading time9 min
Views70K
Не знаю почему, но вам понравилась история про одного парня. Если помните, он ушел.

Куда ушел, чем занимается, каковы успехи – не скажу, ибо не имею от него на то разрешения. Но его история получила неожиданное продолжение.

Я, как вы поняли, с ним знаком. И не просто знаком – мы вместе учились на приборостроительном факультете. На носу День Радио, и он прилетел обратно в нашу дыру на встречу выпускников. Позвал меня выпить пива, и рассказал мне одну историю. Про одну девушку.
Читать дальше →

Нужно ли чистить строки в JavaScript?

Reading time6 min
Views79K
Что? Строки могут быть «грязными»?

Да, могут.

//.....Какой-то код
console.log(typeof str); // string
console.log(str.length); // 15
console.log(str); // "ччччччччччччччч"

Вы думаете, в этом примере строка занимает 30 байт?

А вот и нет! Она занимает 30 мегабайт!
Читать дальше →

Изготовление плазменных двигателей в России

Reading time5 min
Views83K


Гигантские звездолеты с призрачно светящимися двигателями стали одним из постоянных атрибутов космической фантастики. В то же время плазменные двигатели уже полвека успешно используются в настоящей космонавтике, и российские разработчики являются одними из мировых лидеров. Мне удалось посетить калининградское предприятие «ОКБ Факел» и увидеть, как создаются стационарные плазменные двигатели.

Гранд Экспресс: первый частный поезд в России

Reading time8 min
Views73K


Привет! Вы просили меня рассказать про особенные поезда. Ближе всего было добраться до №5 по рейтингу (по нашим отзывам) — «Гранд Экспресс» Москва — Петербург. Выше него ничего в Москву не заезжает. Собственно, мы попросились в отстойник, где состав обслуживается между рейсами, и поговорили там с начальником поезда.

Поезд считается «люкс», то есть не просто везёт вас из Москвы в Петербург и обратно, а делает это с особым шиком и с кучей дополнительных услуг, удобных также для бизнес-путешественников. Наверное, это самый шикарный поезд из тех, что есть в нашей стране. Во втором вагоне есть отдельный бар, большинство купе двухместные, в части вагонов у пассажиров собственные туалеты, души и умывальники. С 2018 года есть тариф «Эконом Базовый», где из услуг нет ничего, кроме белья, ТВ и Wi-Fi, а всё остальное вроде тапочек и завтрака можно докупить. Цель — предоставить свободу выбора услуг, без необходимости оплачивать неиспользуемое.

Заходите смотреть на ресторан и нормальные туалеты в поездах. В целом «Гранд Экспресс» можно рассматривать как пилот для того, что будет входить лет через 5-7 в купе по дефолту. Давайте расскажу, как можно провести ночь между городами в бизнес-классе.
Читать дальше →

Вы не сможете решить эту задачу на собеседовании

Reading time5 min
Views131K
Привет, Habr. Хочу поделиться с вами одной интересной задачей, которую многие из нас получали на собеседовании, но, вероятно, даже и не догадывались о том, что решаем ее неправильно.

Прежде всего — немного истории. Работая на должностях тимлида и техлида мне порой приходилось проводить собеседования, соответственно нужно подготовить несколько теоретических вопросов, ну и пару несложных задач, на решение которых не должно было бы уйти больше 2х-3х минут. Если с теорией все просто — мой любимый вопрос это: «чему равен typeof null?», по ответу сразу можно понять, кто сидит перед тобой, джун — просто правильно ответит, а претендент на сеньера, еще и объяснит почему. То с практикой — сложнее. Я долго не мог придумать нормальное задание, не изъезженное, типа fizz-buzz, а что-нибудь свое. Поэтому я на собеседованиях давал задания, которые сам проходил, устраиваясь на текущую работу. О первом из них и пойдет речь.
Читать дальше →

Сергей Зонов: «Первый „Спектрум“ я сделал потому, что мне было интересно»

Reading time12 min
Views48K


Музей DataArt существует 10 лет, некоторые экспонаты мы уже представляли в виде постеров. Коллекция продолжает расширяться, но теперь мы решили дополнить ее интервью с людьми, повлиявшими на историю ИТ. Это первый из серии исторических материалов, которые будут выходить в нашем блоге регулярно.

В первой половине 1980-х популярным компьютером в Европе был ZX Spectrum. Когда он пришел в СССР, местные умельцы начали его копировать, перерабатывать и улучшать. Одним из тех, кто сделал свой вариант «Спектрума», был Сергей Зонов. По его схемам собраны десятки тысяч компьютеров.
Читать дальше →

Способы тестирования программного обеспечения

Reading time6 min
Views45K
Всем привет! Уже на следующей неделе мы запускаем новый поток по курсу «Автоматизация веб-тестирования». Этому и будет посвящен сегодняшний материал.

В этой статье рассматриваются различные способы тестирования программного обеспечения, такие как модульное тестирование (unit testing), интеграционное тестирование (integration testing), функциональное тестирование (functional testing), приемочное тестирование (acceptance testing) и т.д.



Есть множество разных типов тестов, которые вы можете применить, чтобы убедиться, что изменения в вашем коде работают по сценарию. Не все типы тестирования идентичны, хотя здесь мы рассмотрим, насколько основные практики тестирования отличаются друг от друга.

Тестирование: ручное или автоматизированное?

Сначала надо понять различия между ручными и автоматизированными тестами. Ручное тестирование проводится непосредственно человеком, который нажимает на кнопочки в приложении или взаимодействует с программным обеспечением или API с необходимым инструментарием. Это достаточно затратно, так как это требует от тестировщика установки среды разработки и выполнения тестов вручную. Имеет место вероятность ошибки за счет человеческого фактора, например опечатки или пропуска шагов в тестовом сценарии.
Читать дальше →

Король разработки

Reading time15 min
Views212K


Я знаю одного человека — он хороший разработчик, но полнейшая скотина. Когда он начинает говорить, хочется набить ему морду, заткнуть как угодно, лишь бы не слышать, насколько он прав. И эту сумасбродную самоуверенную сволочь еще кто-то слушает, ему поддакивают. Видимо, люди любят сволочей, и им стоит как следует поразмыслить почему.

Полбеды, если он просто шутит, вроде, «разработка приносит мне столько бабок, что поработаю два часа и найму трех нищих врачей стричь мне лужайку». Хуже, когда говорит серьезно: «Ты зря стал писать код. Вся ирония этой индустрии в том, что став хорошим разработчиком, ты обретаешь навыки, которые приводят тебя к выводу, что разработчиком быть плохо».

Недавно у него дела пошли в гору, и там где нормальные люди радуются и расцветают, этот парень, кажется, совсем съехал с катушек. Мы с ним как следует выпили, и он рассказал мне много искреннего дерьма, которое, честно, я бы хотел расслышать обратно.
Читать дальше →

Простой москвич Levelord: интервью с создателем Duke Nukem

Reading time18 min
Views27K
RUVDS совместно с Хабром продолжают проект, состоящий из серии интервью с интересными, на наш взгляд людьми в IT-среде. В прошлый раз мы познакомились с главным «по мозгам» Алисы в Яндексе Борисом Янгелем.

Сегодня представляем вашему вниманию интервью с Ричардом (Levelord) Греем. Levelord — дизайнер легендарных игр Duke Nukem, American McGee’s Alice, Heavy Metal F.A.K.K.2, SiN, Serious Sam, автор знаменитой фразы «You’re not supposed to be here». Ричард родился и провел большую часть жизни в США, но несколько лет назад переехал в Москву к русской жене и дочери.

В интервью принимали участие редактор Хабра Николай Землянский и управляющий партнер RUVDS Никита Цаплин.


→ Англоязычная версия текста и видео здесь

8 приемов работы с CSS: параллакс, «липкий» футер и другие

Reading time4 min
Views64K


От переводчика: перевели для вас статью Брета Кэмерона о хитростях в работе с CSS. Многие моменты пригодятся не только новичкам, но и опытным разработчикам.

Эта статья о приемах работы в CSS, узнав о которых, я восклицал: «Агаааа!». Надеюсь, вы тоже сделаете пару открытий.

CSS — специфическая технология. На первый взгляд она кажется очень простой. Но некоторые эффекты, которые в теории кажутся простыми, не являются таковыми на практике.

Я покажу несколько приемов и расскажу о принципах их использования в CSS. Сама по себе статья не о сложностях. Наоборот, она призвана сделать вашу работу более комфортной.

Как были устроены паровозы

Reading time6 min
Views54K


Так выглядит кабина паровоза «Серго Орджоникидзе» (это СО17-1137). Множество трубок сверху — это пароразборная колонка, к каждому потребителю отходит своя труба. А потребителей в уже достаточно зрелом технически паровозе много: две паровые машины слева и справа для движения колёс, свисток, механический углеподатчик, инжекторы для закачки воды, электрический генератор для освещения, насос для воздушной магистрали и так далее.

До электрических ламп использовали керосиновые фонари прямо впереди паровоза и ацетиленовые химические прожекторы. Потом примерно в начале двадцатого века «люксовые» вагоны обзавелись электрическим светом, а потом и паровоз стал освещаться яркими лампами, в частности, чтобы видеть, что происходит с колёсами и осями. Потому что помощнику машиниста иногда нужно было выйти на ходу и постучать кувалдой по кулисе, так как снег забился и смёрзся в лёд.
Читать дальше →

Introscope: ну очень ленивое unit-тестирование

Reading time2 min
Views3.3K

Мы на работе пишем много часто меняющейся бизнес-логики на JS (стартап же). Даже слишком много. И всё это хочется по старой привычке тестировать, но как-нибудь побыстрее, чтобы тесты особо не мешали говнокодить, когда это нужно, и не подгонять под тесты особенно сильно структуру модулей. В какой-то момент пришла мысль, что можно это еще и автоматизировать как-то с помощью простенького babel-плагина, чтобы он для начала все приватные переменные и методы выворачивал в тестовой среде, а в продакшене не трогал. Это оказалось довольно просто и увлекательно. Так появился Introscope, которым мы теперь тестируем всё более-менее сложное.

Читать дальше →

Браузерный сетевой шутер на Node.js

Reading time17 min
Views24K
Разработка многопользовательских игр сложна по множеству причин: их хостинг может оказаться дорогим, структура — неочевидной, а реализация — трудной. В этом туториале я постараюсь помочь вам преодолеть последний барьер.

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


Поиграть в готовую игру можно здесь! При нажатии клавиш W или «вверх» корабль приближается к курсору, при щелчке мыши — стреляет. (Если никого нет онлайн, то чтобы проверить, как работает мультиплеер, откройте два окна браузера на одном компьютере, или одно из них на телефоне, ). Если вы хотите запустить игру локально, то полный исходный код выложен на GitHub.
Читать дальше →

Нил Стивенсон: голод инноваций, большие проекты и научная фантастика

Reading time11 min
Views24K
«Седой ветеран из NASA как-то сказал мне, что посадка на Луну корабля серии «Аполлон» было самым великим достижением коммунизма.»
«Это же вы, вы ослабили хватку!» – объявил Майкл Кроу, президент университета штата Аризона. Конечно же, он обращался к писателям Научной Фантастики. Он как будто бы говорит, что ученые и инженеры в боевой готовности и ищут, чем бы таким себя занять. Пришло время писателям НФ начать выполнять свою часть работы и подпитывать нас большими мечтами, полными смысла.
image

Я успел застать тот период, когда у Соединенных Штатов Америки появилась возможность отправлять людей в космос. У меня сохранились самые ранние воспоминания о том, как я сидел на плетеном коврике перед гигантским черно-белым телевизором и смотрел первые запуски кораблей серии «Джемини». Этим летом, в возрасте 51 года (прим. пер. статья 2011 года), совсем даже не преклонном, я смотрел по телевизору с плоским экраном как последний коспический корабль «Шаттл» покинул пусковую площадку. Видя, как программа по освоению космоса приходила в упадок, меня одолевали печаль и горечь. Где моя космическая станция тороидальной формы? Где мой билет на Марс? Хотя, до недавнего момента, я держал свои чувства при себе. У программы исследования космоса всегда были свои противники, но жалобы на спад активности в данной сфере означают поставить себя под удар, чем незамедлительно воспользуются те, в ком нет сострадания к состоятельному, белому американцу средних лет, детские мечты которого так и не воплотились в жизнь.

Тем не менее, я обеспокоен тем, что наша неспособность соответствовать достижениям программы по освоению космоса 60-х годов может быть симптомом общей несостоятельности нашего общества доводить до ума крупные проекты. Мои родители, бабушки и дедушки были свидетелями создания самолета, автомобиля, ядерной энергии, и компьютера – вот лишь несколько примеров.
Читать дальше →

Information

Rating
7,756-th
Location
Россия
Registered
Activity