Pull to refresh
17
0
Евгений Писарев @Myrddin

User

Send message

Анализ и оптимизация React-приложений

Reading time 22 min
Views 36K
Люди, вроде меня, которые борются за высокую производительность сайтов, часто тратят на это много времени. Поэтому сейчас я собираюсь раз и навсегда решить проблему низкого быстродействий веб-ресурсов, интерфейс которых написан на React. А именно, я предлагаю всем, кто это читает, сегодня же прекратить пользоваться React.



Автор материала, перевод которого мы сегодня публикуем, конечно же, шутит. Здесь речь пойдёт о том, как оптимизировать производительность React-приложений. Кстати, прежде чем начать, подумаем о том, зачем вообще нужна оптимизация сайтов. Пожалуй, можно сказать, что нужна она для того, чтобы сайтом могло бы пользоваться больше людей, чем до оптимизации.
Total votes 34: ↑32 and ↓2 +30
Comments 4

Ликбез по запуску Istio

Reading time 9 min
Views 44K


Istio Service Mesh


Мы в Namely уже год как юзаем Istio. Он тогда только-только вышел. У нас здорово упала производительность в кластере Kubernetes, мы хотели распределенную трассировку и взяли Istio, чтобы запустить Jaeger и разобраться. Service mesh так здорово вписалась в нашу инфраструктуру, что мы решили вложиться в этот инструмент.


Пришлось помучиться, но мы изучили его вдоль и поперек. Это первый пост из серии, где я расскажу, как Istio интегрируется с Kubernetes и что мы узнали о его работе. Иногда будем забредать в технические дебри, но не сильно далеко. Дальше будут еще посты.

Читать дальше →
Total votes 19: ↑19 and ↓0 +19
Comments 1

Из хаоса в порядок, или «создаем структуру проекта в Unity и не только...»

Reading time 5 min
Views 17K
При создании нового проекта он такой чистый, понятный, нет лишнего хлама… он пуст. Чем дольше идет разработка, тем больше в нем появляется лишнего мусора, непонятных папок, файлов, иногда туда могут попасть префабы для других проектов и вся организация летит в Тартар.

Выясняется что организации никогда не было, проекту три года, порядок наводить уже поздно, работать не удобно и вообще…

Добро пожаловать в хаос, вы оказались именно тут потому что:

  • никогда не задумывались зачем нужна структура проекта в Unity
  • в ваших проектах вечный бардак и вы хотите от этого избавиться
  • в поисках новых способов организации
  • потеряли надежду навести порядок в своем проекте

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



Добро пожаловать под кат.
Читать дальше →
Total votes 6: ↑3 and ↓3 0
Comments 14

10 причин [не] использовать k8s

Reading time 18 min
Views 50K
Сегодня мы поговорим про Kubernetes, про грабли, которые можно собрать при его практическом использовании, и про наработки, которые помогли автору и которые должны помочь и вам. Постараемся доказать, что без k8s в современном мире никуда. Противникам k8s также предоставим отличные причины, почему не стоит на него переходить. То есть в рассказе мы будем не только защищать Kubernetes, но и ругать его. Отсюда в названии появилось это [не].

Эта статья основана на докладе Ивана Глушкова (gli) на конференции DevOops 2017. Последние два места работы Ивана так или иначе были связаны с Kubernetes: и в Postmates, и в Machine Zone он работал в инфракомандах, и Kubernetes они затрагивают очень плотно. Плюс, Иван ведет подкаст DevZen. Дальнейшее изложение будет вестись от лица Ивана.


Читать дальше →
Total votes 46: ↑43 and ↓3 +40
Comments 55

Где больше платят программистам. Сравниваем 22 страны

Reading time 3 min
Views 139K
Пару месяцев назад я постила сводную таблицу-сравнение под названием «Лучшая страна для программиста». В ней было 9 стран. Статья была горячо воспринята и в силу некоторых ошибок в ней, и в силу желания читателей получить сходные данные по другим странам. Я обещала доделать таблицу. Сказано – сделано.

В этой статье 22 страны сравниваются по следующим параметрам:

1. Зарплаты программистов
2. Налоги
3. Стоимость жизни (аренда жилья, коммунальные услуги, продукты, транспортные расходы)
4. Развитость рынка IT
5. Социальное обеспечение
Читать дальше →
Total votes 68: ↑55 and ↓13 +42
Comments 251

Дизайнер игр: модель для сборки

Reading time 13 min
Views 58K


Привет, меня зовут Александр Мишулин, я работаю креативным директором в Allods Team, подразделении Mail.Ru Group, которое занимается разработкой клиентских игр. Под термином «креативный директор» может скрываться многое. В моем случае это руководство направлением игрового дизайна в Allods Team, в первую очередь – на проекте Skyforge. Достаточно часто нам задают вопросы «Что такое дизайнер игр?», «Как им стать?», «Что вы ждете от кандидата в дизайнеры?», и сегодня я хотел бы ответить на часть таких вопросов и рассказать об этой профессии.
Читать дальше →
Total votes 54: ↑49 and ↓5 +44
Comments 9

Вирусы. Вирусы? Вирусы! Часть 2

Reading time 30 min
Views 86K


Как и обещал в прошлой части, продолжим рассмотрение вирусных движков. На этот раз речь пойдет о полиморфизме исполняемого кода. Полиморфизм для компьютерных вирусов означает, что каждый новый зараженный файл содержит в себе новый код вируса-потомка. Чисто теоретически, для антивируса это должно было бы означать настоящий кошмар. Если бы существовал вирус, который в каждом новом поколении на 100% менял бы свой код, причем по настоящему случайным образом, никакой сигнатурный анализ не смог бы его детектировать.

Возможно, где-то есть супер-программист, который действительно написал такой код, и именно поэтому мы про него ничего не знаем. Мне не очень в это верится, и даже кажется, что математики, занимающиеся математическим обоснованием работы вычислительных систем, могли бы доказать, что не существует такого определенного алгоритма полиморфизма, результат работы которого нельзя было бы стопроцентно детектировать при помощи другого определенного алгоритма. Но мы — люди простые, нам просто интересна идея кода, который сам себя изменяет, а в свете «алгоритм против алгоритма», рассмотрение противостояния методов сокрытия исполняемого кода методам детектирования для программиста должно быть весьма интересным.
Читать дальше →
Total votes 77: ↑71 and ↓6 +65
Comments 41

Организация работы с помощью Google Wave

Reading time 4 min
Views 2.7K
Мы ― небольшой коллектив (30 человек) который ведет один немаленький и достаточно успешный проект. У нас, как и у многих IT-фирм, были проблемы с документацией, планированием и организацией нашей работы. Вот уже полгода для коллективной работы мы используем Google Wave, который помог значительно продвинуться в решении вышеперечисленных проблем. И это несмотря на то, что продукт даже еще не в бета-версии.
Читать дальше →
Total votes 183: ↑168 and ↓15 +153
Comments 66

Как я ставил AndroidOS на iPhone3G (краткая история-инструкция)

Reading time 2 min
Views 7K

После того, как стало известно, что энтузиасты смогли запустить Android на iPhone2G, а потом и на 3G, я решил непременно попробовать проделать тоже самое над своим iPhone 3G.

Начал я по инструкции на сайте idroidproject.org. Я прошел все круги ада из той инструкции, а именно:
  • Хождение по посторонним сайтам типа marvell.com в поисках файлов драйверов
  • Скачивание кучи разных файлов из разных мест, переименование, перемещение этих файлов туда-сюда
  • Хождение на айфон через ssh и выполнение загадочных действий типа
    ioreg -l -w 0 | grep '"Calibration Data" =' | cut -d '<' -f2 | cut -d '>' -f1 | xxd -r -ps - zephyr2_cal.bin
  • Даунгрейд прошивки до 2.2.1, потому как предыдущие шаги были бессмысленными на 3.1.3! (потоки нецензурной брани)
  • Монтирование образов прошивки, внесение туда собранных непосильным трудом файлов
  • Компилирование openiboot из исходников
И прочие ужасные вещи.

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

Итак, нам понадобятся:

Читать дальше →
Total votes 145: ↑117 and ↓28 +89
Comments 110

Компьютер вашей мечты. Часть 2: Реальность и фикция

Reading time 19 min
Views 18K
Продолжению быть!
Часть 1


Задачи поставлены, и вроде бы самое время перейти к чтению различных обзоров и тестов, но…
С чего начать? В какую сторону вообще смотреть?
image

Вторая часть опуса будет посвящена ключевым компонентам современной системы — центральному процессору, оперативной памяти и видеокарте. В том, что эти компоненты основные, вряд ли кто-то сомневается, вопрос стоит в другом — кто из них главнее? На что следует обратить внимание в первую очередь при сборке машины под определенные задачи? На какой девайс и какие его характеристики?
Читать дальше →
Total votes 124: ↑103 and ↓21 +82
Comments 127

Готовим пользовательское соглашение своими руками

Reading time 8 min
Views 73K
Пользовательское соглашение или как его еще принято называть Соглашение об использовании сервиса, является ключевым документом, на котором строится юридическая защита интернет-сервиса.

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

Особую актуальность вопросы защиты интернет-сервиса приобретают в связи с принятием так называемого «антипиратского закона», которым возлагается ответственность на информационного посредника за размещение или предоставление доступа к материалам, нарушающим интеллектуальные права третьих лиц. Закон вступает в силу с 01 августа 2013 г., в связи с чем пользовательские соглашения и схему взаимодействия с пользователем необходимо привести в соответствие с ужесточившимися требованиями.
Читать дальше →
Total votes 58: ↑55 and ↓3 +52
Comments 17

Легкий способ публикации картинок в FCKeditor + IMCE + Lightbox2

Reading time 3 min
Views 702
Drupal очень гибок, именно поэтому он нравиться мне. Любую проблему можно решить несколькими путями.

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

В качестве редактора я выбрал FCKeditor, в качестве загрузчика картинок и браузера файлов IMCE.

Теперь о самой проблеме.


Представим, что вы загрузили картинку на сервер, создали её thumbnail и теперь хотите вставить этот thumbnail в ваш пост. Thumbnail при клике на него должен открывать картинку в оригинальном размере, используя для этого модуль Lightbox2.

Делать вручную — неудобно и долго.
На страницах drupal.ru я нашел решение. Решение заключалось в правке FCKeditor. Так что при каждом обновлении пришлось бы заново править все эти файлы.
Поэтому я решил написать свой велосипед, маленький и не очень гибкий. Но подходящий для моего сайта.
Читать дальше →
Total votes 4: ↑3 and ↓1 +2
Comments 3

10 юзабилити-преступлений, которых вы не должны совершать

Reading time 2 min
Views 4.4K
На стадии дизайна и разработки мы должны учитывать прописные истины и основные концепции для улучшения юзабилити сайта. В этой статье описываются классические, но непростительные ошибки в области веб-дизайна и способы их решения.

Преступление #1: В формах метки не связаны с полями ввода


crime1
Использование атрибута «for» позволит пользователям кликать по метке, для выбора соответствующего поля формы. Это особенно важно для чекбоксов и радиокнопок — увеличить область клика.
Читать дальше →
Total votes 325: ↑289 and ↓36 +253
Comments 160

«Китайский» способ умножения

Reading time 1 min
Views 4.5K
Случайно наткнулся в сети на такой ролик:



Очень удивился, а потом сел и разобрался. Всё просто и похоже на умножение столбиком. Сначала рисуем пересекающиеся группы линий для обоих чисел. Для каждого разряда рисуется одна группа из линий. Количество линий совпадает со стоящем в этом разряде числом (если в разряде будет стоять ноль — можно нарисовать пунктирную линию чтобы не потерять разряд). А затем по диагоналям подсчитываем кол-во пересечений и собираем результат. Способ по сравнению с умножением в стобик получается более наглядным, на мой взгляд.

Правда умножать им длинные числа и числа, в разрядах которых много девяток, как заметили в коментариях, не очень удобно — слишком уж много линий. :)
Total votes 85: ↑41 and ↓44 -3
Comments 35

Хорошо ли живется сисадминам?

Reading time 4 min
Views 1.1K
«Строили мы строили, и, наконец, построили!» (с)
Готовы результаты исследования рынка труда системных администраторов. Сами админы кропотливо заполняли анкеты с вопросами о работе. зарплате и специализации. На основании полученных данных родилось вот такое исследование.
Актуальность — ноябрь 2009.
Под катом — текущее состояние рынка труда сисадминов, средние зарплаты по городам, уровень безработицы среди ИТ-специалистов, а также секретные данные о том, что нужно изучать, чтобы больше зарабатывать :)
Читать дальше →
Total votes 19: ↑18 and ↓1 +17
Comments 21

Вкусные гаджеты для Google Wave

Reading time 2 min
Views 1.5K
image
Не так давно удалось раздобыть инвайт на Google Wave (еще раз спасибо gxcreator). Вещь разносторонняя и многообещающая, о чем уже неоднократно писалось/говорилось, особенно в плане коллективной работы — поддержка ботов и гаджетов. Информацией о наиболее интересных представителях последней группы я бы и хотел поделиться.
Читать дальше →
Total votes 104: ↑84 and ↓20 +64
Comments 121

О размерах Вселенной

Reading time 1 min
Views 4.6K
Очень интересное видео, которое показывает какие мы крошечные в нашей Вселенной. По порядку показывает размеры некоторых планет и звезд.
И в пример приводится диаметр красного гиганта он составляет 28 * 10^8 км. Трудно представить этот размер? Ну на примере, если вы летите на самолете со скоростью 900 км\ч то вам бы пришлось пролететь 1100 лет, чтобы облететь эту звезду по окружности.
Total votes 126: ↑87 and ↓39 +48
Comments 128

Теория покупки из-за рубежа

Reading time 12 min
Views 16K

Преамбула


Примерно месяц назад решил наконец купить себе нетбук, через интернет. Почему именно через интернет? Да просто решил получить опыт покупки, на будущее, плюс немного сэкономить. Информацию о покупках из-за рубежа собирал в своем личном блоге (ссылку по понятным причинам не даю) как с Хабра, так и с других ресурсов. Преимущественно она касается покупки через eBay, но в целом верна для любого онлайн-магазина.
Читать дальше →
Total votes 130: ↑125 and ↓5 +120
Comments 168

Твинботы: первый опыт

Reading time 1 min
Views 845
imageВот тут человек рассказывает о первом опыте путешествия твинбота по городу.

Твинбот — это примитивный робот, который добирается из пункта А в пункт Б с помощью окружающих людей. Сам он может двигаться только вперед, а направление зависит от того, куда его повернут. Цель робота указана на прикрепленном к нему флажке.

Читать дальше →
Total votes 116: ↑112 and ↓4 +108
Comments 98
1

Information

Rating
Does not participate
Location
Одесса, Одесская обл., Украина
Date of birth
Registered
Activity