Pull to refresh
9
-2
Михаил Подгорный @KindWizzard

Фронтэнд платформер

Send message

Continuous Integration для новичков

Reading time8 min
Views147K

Что такое CI


Continuous Integration — это практика разработки программного обеспечения, которая заключается в слиянии рабочих копий в общую основную ветвь разработки несколько раз в день и выполнении частых автоматизированных сборок проекта для скорейшего выявления потенциальных дефектов и решения интеграционных проблем. В обычном проекте, где над разными частями системы разработчики трудятся независимо, стадия интеграции является заключительной. Она может непредсказуемо задержать окончание работ. Переход к непрерывной интеграции позволяет снизить трудоёмкость интеграции и сделать её более предсказуемой за счет раннего обнаружения и устранения ошибок и противоречий. Основным преимуществом является сокращение стоимости исправления дефекта, за счёт раннего его выявления.


Если вы не знаете как настроить CI в своем проекте, я приглашаю вас "под кат"

Читать дальше →
Total votes 45: ↑43 and ↓2+41
Comments20

Как пенсионный фонд сливает персональные данные

Reading time2 min
Views72K
Для начала хотелось бы сделать небольшое лирическое отступление. Давным давно (хотя можно иногда до сих пор встретить), молоденькие девочки и мальчики на должности оператора ПК, различные продажники и пр. делали email рассылки своим клиентам довольно простым способом — одно письмо и все клиенты в получателях. Кто-то жаловался что его адрес таким образом светится, кто-то радовался живой базе конкурентов. Но тем не менее данные рассылки можно встретить значительно реже.

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



Самые сообразительные я думаю уже догадались что было во втором файле.

Важный UPD 3 под катом

Читать дальше →
Total votes 110: ↑109 and ↓1+108
Comments230

Типичные распределения вероятности: шпаргалка data scientist-а

Reading time11 min
Views125K

У data scientist-ов сотни распределений вероятности на любой вкус. С чего начать?


Data science, чем бы она там не была – та ещё штука. От какого-нибудь гуру на ваших сходках или хакатонах можно услышать:«Data scientist разбирается в статистике лучше, чем любой программист». Прикладные математики так мстят за то, что статистика уже не так на слуху, как в золотые 20е. У них даже по этому поводу есть своя несмешная диаграмма Венна. И вот, значит, внезапно вы, программист, оказываетесь совершенно не у дел в беседе о доверительных интервалах, вместо того, чтобы привычно ворчать на аналитиков, которые никогда не слышали о проекте Apache Bikeshed, чтобы распределённо форматировать комментарии. Для такой ситуации, чтобы быть в струе и снова стать душой компании – вам нужен экспресс-курс по статистике. Может, не достаточно глубокий, чтобы вы всё понимали, но вполне достаточный, чтобы так могло показаться на первый взгляд.
Читать дальше →
Total votes 86: ↑85 and ↓1+84
Comments28

Как лечат сумасшедших. 1.1 — Фармакотерапия: основы и шизофрения

Reading time18 min
Views148K
Приветствую тебя, %username%!



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

Disclaimer: я не психиатр, а псих. Препараты всех указанных групп я тестировал на себе и наблюдал их действия (когда лежал в психушке). Кроме того, у меня есть некоторый опыт подбора фармы, однако формального образования в этой области я не имею. В связи с этим, а также с тем, что ставить себе диагноз по научпопным статьям — штука крайне неправильная в своей основе, хочу предупредить читателя о том, что, прежде, чем принимать что-либо из описанного здесь, необходимо проконсультироваться со специалистом. Если в пост набегут настоящие сварщики и обоснуют неправильность заявленных тезисов, — буду только рад.

Если вышеизложенное вас не отпугивает, предлагаю окунуться в увлекательный мир психофармакологии. В посте много букв и картинок, предупреждаю сразу.
Total votes 119: ↑118 and ↓1+117
Comments280

Инфраструктура онлайн игры

Reading time19 min
Views36K

image


Здравствуйте, меня зовут Александр Зеленин, и я на дуде игрец веб-разработчик. Полтора года назад я рассказывал о разработке онлайн игры. Так вот, она немного разрослась… Суммарный объём исходного кода превысил «Войну и мир» вдвое. Однако в данной статье я хочу рассказать не о коде, а об организации инфраструктуры проекта.

Неужели всё так сложно?
Total votes 47: ↑45 and ↓2+43
Comments47

Умельцы взломали NES Classic, теперь игры можно заливать по USB

Reading time3 min
Views33K


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

Причем с новейшими консолями у японской компании дела идут не слишком хорошо. Может быть, именно поэтому в июле прошлого года Nintendo выпустила NES Classic, решив попробовать пойти по уже проторенному некогда пути. NES Classic — современная инкарнация NES, которая оснащена современными электронными компонентами и модулями. В частности, здесь есть HDMI-выход. В комплекте с приставкой компания решила поставлять и 30 старых игр.
Total votes 35: ↑35 and ↓0+35
Comments52

Спросите Итана №107: связана ли инфляция с тёмной энергией?

Reading time5 min
Views8.5K

Экспоненциальное расширение Вселенной происходит сейчас, а ещё одно происходило очень давно. Связаны ли они?


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

На каждой неделе, пока мы пишем про чудеса, интересные и сложные задачи и новые открытия в природе Вселенной, у вас есть возможность отправлять мне вопросы и предложения для еженедельного выпуска «Спросите Итана». И хотя на каждой неделе вопросов, кажется, всё больше, интересные среди них по-прежнему встречаются. На этой неделе честь достаётся Джону Пашкову (второй раз уже), который спрашивает:
Связаны ли каким-то образом силы расширения у инфляции и тёмной энергии? Очень странно было бы, если бы существовали две разные силы, причиняющие расширение Вселенной.

В случае с Вселенной многое из происходящего выглядит очень странным, это уж точно.

image
Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments1

Нейросеть Pix2pix реалистично расцвечивает карандашные наброски и чёрно-белые фотографии

Reading time4 min
Views40K

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

Многие задачи в обработке изображений, компьютерной графике и компьютерном зрении можно свести к задаче «трансляции» одного изображения (на входе) в другое (на выходе). Так же как один и тот же текст можно представить на английском или русском языке, так и изображение можно представить в RGB-цветах, в градиентах, в виде карты границ объектов, карты семантических меток и т.д. По образцу систем автоматического перевода текстов, разработчики из лаборатории Berkeley AI Research (BAIR) Калифорнийского университета в Беркли создали приложение для автоматической трансляции изображений из одного представления в другое. Например, из чёрно-белого наброска в полноцветную картинку.
Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments46

Невероятно громкий звук, обошедший Землю четыре раза

Reading time4 min
Views99K
image

27 августа 1883 года Земля породила звук, громкость которого с тех пор не была превзойдена.

Звук родился на острове Кракатау, расположенном между Явой и Суматрой в Индонезии, в 10:02 утра по местному времени. Его слышали в 2080 км на Андаманских и Никобарских островах («были слышны удивительные звуки, будто пальба из пушек»); в 3200 км в Новой Гвинее и западной Австралии («серия громких звуков, напоминающих артиллерию в направлении на северо-запад»); и даже в 4800 км в Индийском океане на острове Родригес недалеко от Маврикия («идущий с востока звук, будто отдалённый рёв тяжёлых пушек») [1]. В общей сложности его слышали люди в 50 различных географических точках, покрывающих 1/13 часть земного шара.

Задумайтесь о том, насколько это удивительно. Если в Нижнем Новгороде вам кто-нибудь скажет, что слышал звук из Москвы, вы посмотрите на него с подозрением. Но Нижний Новгород находится в 400 км от Москвы. А в описываемом случае всё было так, будто человек, находившийся в Чите, слышал звук, идущий из Москвы. Со скоростью передвижения 1233 км/ч, звуку на преодоление такого пути требуется около 4 часов. Это был самый далеко распространившийся звук в известной нам истории.
Читать дальше →
Total votes 110: ↑106 and ↓4+102
Comments71

Как мог бы работать инопланетный космический корабль?

Reading time21 min
Views70K

История создания фильма «Прибытие» (без спойлеров), рассказанная научным консультантом фильма, Стивеном Вольфрамом


image

Связываемся с Голливудом


«Интересный сценарий»,- сказал кто-то из нашей команды пиарщиков [в компании Wolfram]. Мы уже привыкли получать запросы от кинокомпаний на показ нашей графики или постеров или книг в фильмах. Но в этот раз всё было по-другому: нас спросили, можем ли мы по-быстрому создать реалистичные вещи для большого голливудского научно-фантастического кинопроекта, съёмки которого уже собираются начать?

В нашей компании необычные задачи обычно оказываются у меня во «входящих». Случилось так, что благодаря комбинации отдыха и профессионального интереса я видел практически все мейнстримовые НФ-фильмы за последние несколько десятилетий. Но на основе рабочего названия «История твоей жизни» я даже не мог понять, будет ли это НФ-фильм и о чём он будет.
Total votes 65: ↑60 and ↓5+55
Comments127

Использование ES6 генераторов на примере koa.js

Reading time11 min
Views16K

Автор: Александр Трищенко, Senior Front-end Developer, DataArt

Содержание:
• Итераторы. Генераторы.
• Использование генераторов (Redux, Koa)
• Зачем нам использовать koa.js
• Будущее. Async Await и koa.js 2.x

Генераторы — новая спецификация, новая возможность, которую мы можем использовать в ECMAScript 6. Статью я начну с рассказа об итераторах, без которых понять генераторы не получится, расскажу непосредственно про спецификацию и о том, что такое генераторы вообще, про их использование в реальных кейсах. Рассмотрим два примера: React + Redux как фронтненд-случай и koa.js в качестве бэкенда. Затем подробнее остановлюсь на koa.js, будущем JavaScript, на асинхронных функциях и koa.js 2.
Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments26

Выбираем html-парсер для Apache.JMeter

Reading time11 min
Views9.2K
Среднее качество полноты извлечения ссылок на встроенные ресурсы html-парсерами Apache.JMeter
Среднее качество работы парсеров (для семи сайтов)

Предлагаю:

  • посчитать среднее качество полноты извлечения ссылок на встроенные ресурсы html-парсерами Apache.JMeter;
  • проверить правда ли извлечение ссылок в Apache.JMeter 3.0 стало более полным;
  • испытать в деле плагин CsvLogWriter.

Как гласит народная мудрость: Верить верь, но…
проверь
Total votes 10: ↑10 and ↓0+10
Comments5

Как мы разрабатываем новый фронтенд Tinkoff.ru

Reading time10 min
Views95K

Tinkoff.ru


В апреле этого года мы перезапустили tinkoff.ru. Банк превратился в финансовый супермакет. Теперь не только клиент банка, но и любой посетитель оплатит мобильный, проверит налоги и оформит ипотеку — всё на одной платформе. В этой статье я поделюсь опытом и технологическими решениями, к которым мы пришли за год разработки.

Читать дальше →
Total votes 73: ↑59 and ↓14+45
Comments175

Все способы вертикального выравнивания в CSS

Reading time6 min
Views775K
image

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

Да, для вертикального выравнивания в CSS есть специальное свойство vertical-align с множеством значений. Однако на практике оно работает совсем не так, как ожидается. Давайте попробуем в этом разобраться.

Читать дальше →
Total votes 42: ↑40 and ↓2+38
Comments20

У нас проблемы с промисами

Reading time16 min
Views235K
Разрешите представить вам перевод статьи Нолана Лоусона «У нас проблемы с промисами», одной из лучших по теме из тех, что мне доводилось читать.

У нас проблемы с промисами


Дорогие JavaScript разработчики, настал момент признать это — у нас проблемы с промисами.

Нет, не с самими промисами. Их реализация по спецификации A+ превосходна. Основная проблема, которая сама предстала передо мной за годы наблюдений за тем, как многие программисты борются с богатыми на промисы API, заключается в следующем:

— Многие из нас используют промисы без действительного их понимания.

Если вы мне не верите, решите такую задачку:

Вопрос: В чем разница между этими четырьмя вариантами использования промисов?

doSomething().then(function () {
  return doSomethingElse();
});

doSomething().then(function () {
  doSomethingElse();
});

doSomething().then(doSomethingElse());

doSomething().then(doSomethingElse);

Узнайте решение задачи
Total votes 139: ↑136 and ↓3+133
Comments121

Обзор релиз-кандидата React v0.14

Reading time9 min
Views22K
Мы рады представить вам наш первый релиз-кандидат версии React 0.14! Мы опубликовали в июле анонс предстоящих изменениях, но сейчас мы еще больше стабилизировали релиз и нам бы хотелось, чтобы вы попробовали его до того, как мы выпустим финальную версию.

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

Подробности
Total votes 20: ↑18 and ↓2+16
Comments5

Как работают замыкания (под капотом) в JavaScript

Reading time11 min
Views76K
Привет, Хабр!

Мы в Хекслете используем JavaScript не только для очевидных задач во фронтэнде, но и, например, для реализации браузерной среды разработки (наш опен-сорсный hexlet-ide) на React'е. У нас есть практический курс по JavaScript, и один из уроков там посвящен замыканиям. Это важная тема не столько в рамках JS, сколько в программировании вообще. Мы освещаем ее и в других курсах.

В целом, статей и туториалов про использование замыканий в JS полно, но объяснений как это все работает внутри — мало. Сегодняшний перевод посвящен именно этой теме. Как и почему работают замыкания в JS, когда они создаются и уничтожаются и почему каждая функция в JS — это замыкание.


Я использую замыкания уже достаточно давно. Я научился их использовать, но не до конца понимал как они на самом деле работают, что происходит «под капотом». Что это вообще такое? Википедия не очень помогает. Когда замыкание создается и уничтожается? Как выглядит реализация?

"use strict";
 
var myClosure = (function outerFunction() {
 
  var hidden = 1;
 
  return {
    inc: function innerFunction() {
      return hidden++;
    }
  };
 
}());
 
myClosure.inc();  // возвращает 1
myClosure.inc();  // возвращает 2
myClosure.inc();  // возвращает 3
 
// Ага, круто. А как это реализовано?
// И что происходит под капотом?
Читать дальше →
Total votes 54: ↑47 and ↓7+40
Comments11

Умные и глупые компоненты React

Reading time2 min
Views33K
Делал перевод статьи The land of undocumented react.js: The Context, где сослался на статью Dan Abramov про умные и глупые компоненты, но почему-то думал что она есть на habrahabr. Думаю эта небольшая статья ни для кого лишней не будет.
Перевод статьи Smart and Dumb Components


Есть простой шаблон, который я нахожу чрезвычайно полезным, когда пишу приложения на React. Если Вы работали с React какое-то время, то, вероятно Вы уже поняли это. Это хорошо объяснено в этой статье, но я хочу добавить пару пунктов.

Вы найдете, что Ваши компоненты намного проще в реиспользовании и обсуждении, если Вы поделите их на две категории. Я называю их Умные (Smart) и Глупые (Dumb), но я так же слышал Fat и Skinny, Stateful и Pure, Screens и Components и так далее. Все это не абсолютно тоже самое но идея похожа.

Мои глупые компоненты:

  1. не зависят от остальной части приложения, например Flux actions или stores
  2. часто содержатся в this.props.children
  3. получают данные и колбэки исключительно через props
  4. имеют свой css файл
  5. изредка имеют свой state
  6. могут использовать другие глупые компоненты
  7. примеры: Page, Sidebar, Story, UserInfo, List


Мои умные компоненты:

  1. оборачивает один или несколько глупых или умных компонентов
  2. хранит состояние стора и пробрасывает его как объекты в глупые компоненты
  3. вызывает Flux actions и обеспечивает ими глупые компоненты в виде колбэков
  4. никогда не имеют собственных стилей
  5. редко сами выдают DOM, используйте глупые компоненты для макета
  6. примеры: UserPage, FollowersSidebar, StoryContainer, FollowedUserList

Я кладу их в разные папки, чтобы сделать их различие явным.
Читать дальше →
Total votes 12: ↑10 and ↓2+8
Comments9

История user-agent в браузерах

Reading time3 min
Views37K
imageВ начале был NCSA Mosaic, и Mosaic называл себя NCSA_Mosaic/2.0 (Windows 3.1), и Mosaic показывал картинки с текстом, и счастье пришло.



imageИ потом пришел новый веб-браузер, известный как «Mozilla», что сокращением было для «Mosaic Killer»(«Убийца Мозаики»), но Mosaic не понравилось это, так что имя было изменено на Netscape и Netscape называл себя Mozilla/1.0 (Win3.1), и не было больше счастья. И Netscape поддерживал фреймы и фреймы стали популярны в народе, но Mosaic не поддерживал фреймы, и поэтому пришло время вынюхивания user agent-ов, и для Mozilla вебмастеры посылали фреймы, но для других браузеров не посылали.
И что дальше случилось, подкат расскажет вам
Total votes 260: ↑200 and ↓60+140
Comments68

Дайджест игровой индустрии: июль

Reading time6 min
Views16K
Лето предлагает уйму вариантов времяпрепровождения: путешествия, вылазки, походы, чтение нашего дайджеста. Советуем успеть всё: насладиться солнечной погодой и быть в курсе новостей игровой индустрии.


Читать далее
Total votes 19: ↑14 and ↓5+9
Comments0

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Registered
Activity

Specialization

Program Manager, Руководитель отдела
Lead
Node.js
JavaScript
TypeScript
Web development