Как стать автором
Обновить
38
0
Георгий Оганисян @Grox

Full Stack Web Developer

Отправить сообщение

«Ваша библиотека, как ваш ребёнок, может пойти в неожиданную для вас сторону»: интервью с создателем MobX

Время на прочтение15 мин
Количество просмотров7.8K


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

Мишель Уэстстрате хорошо знает обо всём этом: у его библиотеки MobX больше 17 000 звёзд на гитхабе, число её контрибьюторов давно перевалило за сотню. А скоро Мишель приедет в Россию выступить на HolyJS, поэтому ребята из программного комитета конференции (Дмитрий DmitryMakhnev Махнёв и Евгений bunopus Кот) подробно расспросили его: и об опенсорсе в целом, и конкретно о MobX, и о конференциях.
Читать дальше →
Всего голосов 38: ↑37 и ↓1+36
Комментарии6

Docker + Laravel = ❤

Время на прочтение10 мин
Количество просмотров81K

laravel-in-docker


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

В данной статье я расскажу о своём опыте "заворачивания" Laravel-приложения в Docker-контейнер да так, что бы и локально с ним могли работать frontend и backend разработчики, и запуск его на production был максимально прост. Так же CI будет автоматически запускать статические анализаторы кода, phpunit-тесты, производить сборку образов.


"А в чём, собственно, сложность?" — можешь сказать ты, и будешь отчасти прав. Дело в том, что этой теме посвящено довольно много обсуждений в русскоязычных и англоязычных комьюнити, и почти все изученные треды я бы условно разделил на следующие категории:


  • "Использую докер для локальной разработки. Ставлю laradock и беды не знаю". Круто, но как обстоят дела с автоматизацией и запуском на production?
  • "Собираю один контейнер (монолит) на базе fedora:latest (~230 Mb), ставлю в него все сервисы (nginx, бд, кэш, etc), запускаю всё супервизором внутри". Тоже отлично, прост в запуске, но как на счёт идеологии "один контейнер — один процесс"? Как обстоят дела с балансировкой и управлением процессами? Как же размер образа?
  • "Вот вам куски конфигов, приправляем выдержками из sh-скриптов, добавим магических env-значений, пользуйтесь". Спасибо, но как же на счёт хотя бы одного живого примера, который я бы мог форкнуть и полноценно поиграться?

Для нетерпеливых — ссылка на репозиторий, склонировав который ты сможешь запустить Laravel-приложение одной командой. Так же не составит труда его запустить на том же rancher, правильно "слинковав" контейнеры, или использовать продуктовый вариант docker-compose.yml как отправную точку.
Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии23

Эмиграция и всё о ней в телеграм-блогах

Время на прочтение6 мин
Количество просмотров70K

«Хорошо там, где нас нет» — думают многие и годами живут на одном и том же месте. Но мир слишком разнообразен, чтобы всю жизнь провести в одной стране.


image

Карта каналов об эмиграции


На помощь приходит Telegram, где в последние годы появилось уникальное сообщество авторов жанра «я — эмигрант».


Каждый день очередной эмигрант решает вещать из своей страны и заводит канал в телеграме. Ребята (а 90% из них работают в IT или около IT индустрии) делятся полезными советами, общаются с читателями в чатах, пропагандируют свободу перемещения, рассказывают о плюсах и минусах эмигрантской жизни, честно и без прикрас выдают информацию, которую не найти в поисковиках.


Какие на самом деле жители выбранной ими страны? Как найти жилье? Как устроится на работу? В чем отличия менталитета? Или даже Как проходят свидания? Как строится личная жизнь в другой стране? Такого нет в Google! :)


Я собрал максимально большой список таких блогов, отсортировал по странам и делюсь с вами.

Читать далее
Всего голосов 49: ↑44 и ↓5+39
Комментарии57

Обзор задач по алгоритмам для собеседований — генерация множеств

Время на прочтение7 мин
Количество просмотров61K

Привет, Хабр!


Этим постом начинается разбор задачек по алгоритмам, которые крупные IT-компании (Mail.Ru Group, Google и т.п.) так любят давать кандидатам на собеседованиях (если плохо пройти собеседование по алгоритмам, то шансы устроиться на работу в компанию мечты, увы, стремятся к нулю). В первую очередь этот пост полезен для тех, кто не имеет опыта олимпиадного программирования или тяжеловесных курсов по типу ШАДа или ЛКШ, в которых тематика алгоритмов разобрана достаточно серьезно, или же для тех, кто хочет освежить свои знания в какой-то определенной области.


При этом нельзя утверждать, что все задачи, которые здесь будут разбираться, обязательно встретятся на собеседовании, однако подходы, с помощью которых такие задачи решаются, в большинстве случаев похожи.



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

Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии15

Быстрый старт с ARM Mbed: разработка на современных микроконтроллерах для начинающих

Время на прочтение17 мин
Количество просмотров73K
Привет, Хабр.

Традиционным уникальным преимуществом платформы Arduino называлось (да и сейчас иногда называется, хотя это уже неверно — и мы поговорим, почему) опускание порога входа в микроконтроллерную разработку до уровня базовых знаний C/C++ и электроники в маштабе «подключить светодиод в нужной полярности».

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

Заслуги Arduino в снижении порога вхождения действительно трудно переоценить — эта платформа появилась на свет в середине нулевых годов, а после 2010 завоевала серьёзную популярность среди любителей. Особых альтернатив на тот момент ей не было — процессоры на ядрах Cortex-M только появились, по сравнению с AVR они были довольно сложны даже для профессиональных разработчиков, а отладочные платы у большинства вендоров стоили от сотни долларов и выше (и в общем в индустрии ценник за отладку на 5-долларовом контроллере в $500 никого сильно не удивлял).

Однако большая проблема Arduino в том, что её развитие за минувшие 10+ лет более всего напоминает некоторые модели АвтоВАЗа:


Так как дальше я планирую длинное вступление, то сейчас, чтобы вы представляли, в чём будет заключаться практическая часть, я приведу полный текст программы, включающий инициализацию процессора STM32 и мигание светодиодом. Программа написана для ОС ARM Mbed:

#include "mbed.h"
DigitalOut myled(LED1);

int main() {
    while(1) {
        myled = 1; // LED is ON
        wait(0.2); // 200 ms
        myled = 0; // LED is OFF
        wait(1.0); // 1 sec
    }
}

Похоже ли это на высокий входной порог? На функции с непонятными названиями? Бессонные ночи над даташитами? Нет? Ладно, давайте не будем забегать вперёд.
Читать дальше →
Всего голосов 114: ↑98 и ↓16+82
Комментарии463

Перевод вики проекта Svelto.ECS. ECS фреймворк для Unity3D

Время на прочтение27 мин
Количество просмотров8.1K

Привет, Хабр! Представляю вашему вниманию перевод вики проекта Svelto.ECS, написанного Себастьяно Мандала (Sebastiano Mandalà).

Svelto.ECS — результат многолетних исследований и применения принципов SOLID в разработке игр на Unity. Это одна из многих реализаций паттерна ECS, доступная для C# с различными уникальными функциями, введенными для устранения недостатков самого паттерна.
Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии0

Принцип SOLID в языке Go

Время на прочтение14 мин
Количество просмотров36K

Приветствую вас, хабровчане, решил поделиться с сообществом переводом довольно часто (по личным наблюдениям) упоминаемого поста SOLID Go Design из блога Dave Cheney, который выполнял для собственных нужд, но кто-то говорил, что нужно делиться. Возможно для кого-то это окажется полезным.


SOLID дизайн Go


Этот пост на основе текста из основного доклада GolangUK прошедшего 18-ого Августа 2016.
Запись выступления доступна в YouTube.

Читать дальше →
Всего голосов 31: ↑24 и ↓7+17
Комментарии63

С нуля до Upper Intermediate

Время на прочтение4 мин
Количество просмотров224K
image
В этом посте вы узнаете, как я сама, без репетиторов и курсов, не потратив ни копейки, выучила аглийский за год почти с полного 0 до Upper Intermediate.

Итак, все довольно просто: Мотивация! Именно она дала толчок к саморазвитию и жажде познания английских правил, слов и букв. Согласитесь, вас мало что остановит, если у вас есть мотивация…

У каждого мотивация может быть своя: у одних это уехать заграницу в поисках лучшей жизни/работы/учебы, у других смотреть фильмы в оригинале и получать удовольствие от голосов актеров, а не слушать наши крутые, ущербные переводы, у третьих, понимать англоязычные лекции, тем самым убивая двух зайцев: изучая английский, пополняя свой словарный запас, и, развиваясь в той области, которая вам интересна. (Чисто для справки, почти в каждой области, будь то анатомия, программирование, рисование или еще чего, полно разных курсов и материалов, и их еще больше на английском, они круче и качественнее. Т. е. у вас есть больше вариантов что посмотреть и почитать.
Читать дальше →
Всего голосов 58: ↑48 и ↓10+38
Комментарии100

Ричард Хэмминг: Глава 27. Недостоверные данные

Время на прочтение20 мин
Количество просмотров6.9K
«Цель этого курса — подготовить вас к вашему техническому будущему.»

imageПривет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2394 в закладки, 386k прочтений)?

Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, написанная по мотивам его лекций. Мы ее переводим, ведь мужик дело говорит.

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

Мы уже перевели 21 (из 30) главу. И ведем работу над изданием «в бумаге».

Глава 27. Недостоверные данные


(За перевод спасибо Валентину Пинчуку, который откликнулся на мой призыв в «предыдущей главе».) Кто хочет помочь с переводом, версткой и изданием книги — пишите в личку или на почту magisterludi2016@yandex.ru

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

Позвольте мне начать с испытаний на долговечность. Хорошим примером служит мой опыт, участия в испытаниях жизненного цикла вакуумных труб. Они предназначались к использованию в первых подводных кабелях для передачи голоса с ожидаемым сроком службы 20 лет (после 22 лет мы просто вывели кабель из эксплуатации, которая стала слишком затратной – и это дает хорошее представление о скорости технического прогресса в те дни).
Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии2

Как я год строил расширениe для браузера которое читает статьи голосом (с синхронизацией в подкаст)

Время на прочтение16 мин
Количество просмотров7K
Не один раз я пробовал использовать сторонние API для получения голоса из текста который мне интересно прочитать — можно переключить чтение на уши когда глаза устали, или слушать во время комьюта. Знаю я такой не один, даже люди далекие от айти бывает загружают куда-то текст и скачивают mp3. И подкасты/аудиокниги становятся все популярнее, и голосовые интерфейсы. Очевидно что аудитория есть, топовые экстеншены в маркете Хрома на эту тематику имеют сотни тысяч пользователей. Но голоса от Амазона обычно у них нет (лучший из доступных, лучше нового от Гугла), а где есть нет чего-то другого, например возможности слушать в экстеншене — а не только добавлять в свой подкаст. Предложил идею проекта внутри компании — был получен апрув — пошла разработка.
image
Всего голосов 19: ↑17 и ↓2+15
Комментарии25

Разбор предложений по шаблонам русского языка

Время на прочтение9 мин
Количество просмотров13K
Существует несколько парсеров, подходящих для русского языка. Некоторые из них могут даже выполнять синтаксический анализ, как SyntaxNet, MaltParser и AOT:
Мама мыла раму пластиковых окон

… или выявлять факты, как Tomita.

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

Чтобы понять, что же там такого сложного, мне захотелось сделать собственный парсер. Благо выходные оказались длинными.
Читать дальше →
Всего голосов 16: ↑14 и ↓2+12
Комментарии24

Уберизация эвакуаторов

Время на прочтение4 мин
Количество просмотров13K
imageПару месяцев назад мы запустили CarTaxi, первый глобальный сервис автомобильной эвакуации на blockchain. Коротко о сути продукта: платформа объединяет все эвакуационные компании в одной системе. Автовладельцы скачивают бесплатное приложение и с его помощью (как через Uber) заказывают эвакуатор. Чем больше растет охват проекта, тем более универсальным становится CarTaxi. За два месяца мы неплохо разогнались и охватили уже порядка 20 российских городов. Кроме Москвы и Петербурга CarTaxi работает в Казани, Екатеринбурге, Владикавказе, Краснодаре, Сочи, Новосибирске, Самаре, Ростове-на-Дону, Воронеже, Великом Новгороде, Волгограде, Ставрополе, Брянске, Калуге и Туле и постоянно расширяется.

Зачем мы создали CarTaxi и «что нам с этого будет»


Объем мирового рынка эвакуации автомобилей оценивается более чем в 26 млрд долларов. Глобальное увеличение числа автомобилей означает и рост аварий, поломок и потребностей в обслуживании этого гигантского рынка. К услугам автоэвакуации предъявляются высокие требования, чтобы обеспечить беспрепятственное дорожное движение, порядок, соблюдение правил и комфорт водителей.

Ещё до того, как появилась идея о CarTaxi, наш QA инженер Валера однажды заглох на своей Priora по пути из родного Воронежа в Петербург, где-то под поселком Тёплое.
Читать дальше →
Всего голосов 9: ↑8 и ↓1+7
Комментарии22

Разработка персонажей для игры «Аллоды Онлайн»

Время на прочтение25 мин
Количество просмотров193K
image

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

Всё, что говорится в правилах, основано на огромном опыте разработки. Тут каждая буква имеет значение, и если вам показалось, что где-то есть ошибка или недосказанность, то лучше семь раз переспросить, чем сделать абы как. Ниже расписаны правила успешной работы в игровой индустрии. Если их не соблюдать, то ваша работа будет или недолгая, или неуспешная, или мучительная и для вас, и для заказчика. А если станете создавать персонажей в полном соответствии с этим руководством, то вас ждёт успех!
Читать дальше →
Всего голосов 91: ↑88 и ↓3+85
Комментарии36

Пошаговый мануал как ввезти технику, на которую отсутствует нотификация ФСБ

Время на прочтение5 мин
Количество просмотров50K

Заметил, что на Хабре (да и в Рунете), практически нет инструкций о том, что делать, если на технику, заказанную из-за рубежа, отсутствует нотификация ФСБ. Хотел бы поделиться опытом, приобретенным в процессе доставки ноутбука из Америки. Инструкция под катом.

Читать дальше →
Всего голосов 79: ↑75 и ↓4+71
Комментарии167

Интересный этюд Factorio: симулятор завода

Время на прочтение5 мин
Количество просмотров85K
Эта игра — очередная очень интересная с точки зрения механики бета, представляющая заодно своеобразный язык программирования.



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

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

Первая задача — используя технологии бронзового века, получить прединдустриальные, а затем собрать жестяной радар, чтобы найти основную часть корабля. Затем — добраться туда на каком-то транспортном средстве. Там забрать ядро компьютера и получить доступ ко всем данным по тому, как правильно делать ракеты, бронебойные патроны, скафандры и прочую мелочь, важную для выживания.
Всего голосов 127: ↑120 и ↓7+113
Комментарии235

Кератопластика – последний вариант «починить» глаза, если всё плохо (и кое-что про современные методы)

Время на прочтение8 мин
Количество просмотров55K

Нейлон 10/0 (чтобы шить роговицу)

Для операции «последнего шанса» или пересадки роговицы нужны донорские ткани. Конкретно нас интересует ткань толщиной 500–600 микрон для сквозной кератопластики. Дальше с этой плёнкой нужно работать руками, шить тонкой нейлоновой нитью. Потом, когда роговица срастётся, снимать шов. Никаких биоразлагаемых материалов — их продукты распада начнут лизироваться и могут вызывать воспаление, что исключит положительный результат операции. Более того, трансплантат рекомендуется прошить по периметру дважды — это повышает шансы его правильной и равномерной фиксации. Второй слой нейлона чаще всего вообще не снимается, потому что пока он не мешает — не трогаем.

Но давайте начнём с самого начала. Конкретно — с ситуаций, когда человеку может потребоваться эта непростая для России, но совершенно привычная в Германии операция. Она бывает трёх видов:

  • Сквозная, то есть удаление всей роговицы пациента, например, диаметром от 7 до 8,5 мм и пришивание новой.
  • DALK, то есть пересадка роговичной ткани за исключением десцеметовой мембраны и эндотелия.
  • DMEK, то есть «установка» только слоя десцеметовой мембраны и эндотелиальных клеток вместо такого же слоя у пациента.

Кератопластика в Германии — операция очень распространенная. В нашей клинике в Марбурге я и мой заведующий отделением за прошлый год сделали 210 пересадок, за год до этого — 236 пересадок. С марта этого года в московской клинике SMILE EYES мы начали пересаживать роговичную ткань — и послойные, и сквозные пересадки.
Всего голосов 46: ↑45 и ↓1+44
Комментарии16

Gridcoin — криптовалюта призванная служить во благо человечества

Время на прочтение2 мин
Количество просмотров34K
image
Приветствую Вас, уважаемые пользователи Geektimes! В данном посте, речь пойдет о замечательной идее реализованной в проекте и скрывающейся под именем Gridcoin Research. Пост рассчитан в первую очередь для тех, кого интересует альтернативные пути развития криптовалют.
Читать дальше →
Всего голосов 24: ↑19 и ↓5+14
Комментарии68

Gorilla: быстрая, масштабируемая in-memory time-series база данных

Время на прочтение8 мин
Количество просмотров8.3K

Это перевод обзора статьи «Gorilla: A fast, scalable, in-memory time series database» Pelkonen et al. VLDB 2015


Чуваки из фейсбука сделали высокопроизводительный движок для мониторинговых данных. Мне понравился обзор этой статьи в блоге "The morning paper" — особенно про алгоритмы сжатия, и вот перевод.


Стиль — авторский.


Количество ошибок на одном из серверов Facebook зашкаливало.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии8

Почему женщин-программистов сильно меньше мужчин? Инфографика опроса от «Моего круга»

Время на прочтение6 мин
Количество просмотров71K
image

Среди 50 тыс. пользователей «Моего круга», указавших в своём профиле свою основную сферу деятельности, 29 тыс. приходится на разработчиков (бэкенд, фронтенд, разработка программного обеспечения и мобильная разработка). Из них женщины составляют только 7%.

А год назад группа студентов провела исследование, в котором изучила более 3 млн. предложений правок чужого кода (pull request) на GitHub, и обнаружила, что код, предлагаемый женщинами и мужчинами, одобряется примерно с равной вероятностью, в 75% случаев, и у женщин этот показатель даже на несколько процентов выше, чем у мужчин.

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

Чтобы разобраться с этим, Анна Каменева, студентка 4 курса факультета социологии СПбГУ, чуть более месяца назад на «Хабре» и «Моём круге» провела опрос среди женщин-программистов, в котором попросила их поделиться своим опытом разработки и профессиональной социализации. Всего было собрано более 800 анкет, Анна их обработала, визуализировала и прокомментировала. Мы публикуем часть её исследования.
Читать дальше →
Всего голосов 45: ↑33 и ↓12+21
Комментарии249

DNK | PRIME. Часть первая: Дизайн

Время на прочтение3 мин
Количество просмотров16K
image

При разработке нового дизайна для стандарта MINI-ITX, мы сделали акцент на строгом внешнем виде, добавили немного геймерской агрессивности, чуть-чуть винтажности и элегантности. Все это вылилось в симметричные линии в очень компактном размере. Мы сразу отказались от рамной конструкции, сделав дизайн монолитным, где каждая деталь вытачивается на станке с ЧПУ и являет собой жесткую основу, крепежные и декоративные элементы. Благодаря этому стало возможным применить более эффективный воздухообмен и замечательную финишную обработку. Такой дизайн обеспечивает отличную жесткость всей конструкции, защиту от вибраций и внешних воздействий, таких как попадание жидкостей и мелких металлических предметов внутрь, что полностью соответствует Европейскому стандарту для корпусов персональных компьютеров, в которых используются внутренние блоки питания.
Читать дальше →
Всего голосов 25: ↑21 и ↓4+17
Комментарии52

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность