Как стать автором
Обновить
-1
0

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

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

Не наступил ли у React момент переписывания Angular.js на Angular?

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров14K

В 2012 году Angular.js серьёзно поменял frontend-разработку. Фреймворку от Google тогда очень быстро удалось снискать популярность у разработчиков.

И вот уже буквально через два года его разработчики решили объявить о выходе новой версии под именем Angular 2. Версия оказалось написанной полностью с нуля и не имела совместимости с предыдущей даже близко. Большинство разработчиков, не исключая и вашего покорного слугу, идея переписывать их приложения явно не прильщала. Писать приложения на старой версии, которая с припиской JS, тоже было так себе вариантом. Конкурирующие фреймворки уже были ничуть не хуже.

Одним из них мы и воспользовались, переведя в 2015 году нашу фронтенд-разработку на React. У него была простая архитектура, основанная на компонeнтном подходе и рассчитанная на то, чтобы не терять в производительности труда с ростом кодовой базы.

Сообщество Реакта с тех пор значительно выросло и вот недавно команды React и Next.js показали нам Server Components, новый способ разработки веб-приложений, который со стандартным React-приложением совместим примерно никак.

Это такое же серьёзное изменение как и переход с Angular.js на Angular 2? React сейчас проходит через ту же фазу, что и Angular.js когда-то?

Замечание: В этой статье я буду обсуждать фичи как от команды React так и от Next.js. Работают они сейчас очень тесно, так что зачастую трудно сказать, кто из них за что ответственен. Так что буду писать просто, "React" имея в виду обе команды.

Читать далее
Всего голосов 17: ↑17 и ↓0+17
Комментарии24

Как мы ведём документацию рядом с кодом

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

В Альфа-Банке мы уже больше 5 лет ведём документацию рядом с кодом. Но она используется не для всех проектных документов. Дело в том, что документация у нас делится по слоям: фронт, миддл и бэкенд. Если с миддлом — слоем микросервисов — всё хорошо, то вот с переводом фронт- и бэк-документации в Bitbucket возникает трудность в необходимости хранения бинарников с примерами пользовательского интерфейса. 

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

Читать далее
Всего голосов 16: ↑14 и ↓2+12
Комментарии25

Карьера программиста. Часть 7. Последние 7 лет

Время на прочтение8 мин
Количество просмотров14K
Продолжение рассказа «Карьера программиста».

Пришло время поставить точку в этом рассказе, или как минимум многоточие. В последней части этой мини-книги, я хочу рассказать вам про все знаковые события в моей карьере программиста за последние 7 лет. А также, для полноты картины, добавлю советы от коллег гораздо опытнее меня. Некоторым из них уже за 70, кому-то 45, кому-то 50.

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

image
Читать дальше →
Всего голосов 17: ↑14 и ↓3+13
Комментарии32

Избегайте токсичного молчания: как дают фидбэк сотрудники Netflix

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


— Часто я предпочитаю просто токсично молчать.
— Может, тактично?
— Может.


Вот что пишет CEO Netflix в книге «Никаких правил. Уникальная культура Netflix» про «тактичное молчание»:

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

Фидбэк в Netflix дают по следующим правилам:

1. Стремись помочь.
2. Предлагай конкретные меры.
3. Будь благодарен.
4. Прими или отклони.

В Netflix никто не плакал от того, что начальник спросил твоё мнение. До открытия офиса в Японии. Так что 5-ое правило, Netflix поняли только после выхода на международный рынок:

5. Учитывай культурные различия.

Под катом я привела кейсы работников Netflix про фидбэк, рассказала про «360 градусов» в компании, а еще прикрепила культурную карту Netflix и расписала, по каким параметрам топ-менеджеры её составляли.

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

Еще одна статья в копилку канала с полезными конспектами клевых книг.
Читать дальше →
Всего голосов 32: ↑24 и ↓8+27
Комментарии62

Структура смартфона — иллюзия контроля

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

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

1. “Процессор приложений”. Это устройство, на котором работает Android или iOS. С этой частью смартфона вы и взаимодействуете. Здесь запускаются и работают ваши приложения. Скорее всего, когда вы думаете о своём смартфоне, вы думаете о процессоре приложений.

2. “Baseband-процессор”. Это устройство управляет сотовой радиосвязью телефона. И под сотовой связью мы подразумеваем действительно сотовые технологии, такие как LTE, 5G и т.д., а не Wi-Fi. Процессор основной полосы частот отвечает за подключение и сброс телефонных звонков, сеансов передачи данных, обрабатывает СМС и выполняет другие функции сотовой связи, порой невидимые для пользователя, такие как “Управление мобильностью”.

3. SIM-карта. СИМ-карта представляет собой полную компьютерную систему (с процессором, памятью и файловой системой), работающую под управлением набора приложений и собственной ОС. Когда вы устанавливаете СИМ-карту, она становится неотъемлемой и активной частью вашего смартфона. 

Как у пользователя смартфона, у вас могла возникнуть иллюзия, что именно вы управляете своим телефоном. Но на самом деле, функциями вашего телефона управляет ПО этих трех систем, из которых только одна доступна вам напрямую.

Читать далее
Всего голосов 26: ↑17 и ↓9+12
Комментарии27

Распутывание микросервисов или балансировка сложности в распределенных системах

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

Эта статья является переводом материала «Untangling Microservices, or Balancing Complexity in Distributed Systems».

Расцвет микросервисов закончился. Uber преобразовывает тысячи микросервисов в более управляемое решение [1]; Келси Хайтауэр предсказывает, что будущее за монолитами [2]; и даже Сэм Ньюман заявляет, что микросервисы никогда не должны быть выбором по умолчанию, а скорее крайним средством [3].

Что происходит? Почему так много проектов стало невозможно поддерживать, несмотря на обещание микросервисов простоты и гибкости? Или все-таки монолиты лучше?

В этом посте я хочу ответить на эти вопросы. Вы узнаете об общих проблемах проектирования, которые превращают микросервисы в распределенные большие комки грязи (distributed big balls of mud), и, конечно же, о том, как их избежать.

Читать далее
Всего голосов 18: ↑16 и ↓2+18
Комментарии8

Как избавиться от position: absolute в CSS

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

Пару месяцев назад автора этого материала спросили о проблеме, которая возникла именно из-за этой строки CSS. В решении свойства position не оказалось вообще.

Пока у нас стартует новый поток курса по фронтенду, рассказываем о случаях, когда position: absolute вполне заменим современным CSS.

Читать далее
Всего голосов 23: ↑20 и ↓3+22
Комментарии13

Про злые угри и чёрные точки и добрые сальные нити (не путайте их)

Время на прочтение8 мин
Количество просмотров71K
Чёрные точки = что-то не так с обменом в коже. Это устья волосяных фолликулов, закупоренные окислившейся смесью отмерших частиц эпидермиса и кожного сала. Чёрными они становятся из-за контакта сала с кислородом и последующего окисления. Чаще всего пациенты не воспринимают чёрные точки как что-то серьёзное, ищут себе простую косметическую линейку, которая им за неделю поможет, и очень расстраиваются, когда выясняется, что это не так.

image
Так выглядит механизм образования комедонов изнутри

Потому что это симптом, а проблема начинается чуть раньше. Например, с ДНК или неправильного питания. Обычно чёрные точки появляются из-за избыточной секреции сальных желёз, закупорки фолликулов секретом сальных желёз и кератиноцитами или колонизации фолликулов Propionibacterium acnes (этот анаэроб, кстати, входит в состав нормальной микрофлоры человека (сейчас cutibacterium acnes)). Упрощённо говоря, когда в волосяной фолликул набивается всякое типа мёртвой кожи, сала и грязи, начинается закупорка пор изнутри. А гигиена и косметика действуют снаружи. И сразу развею пару мифов: это не из-за сладкого и не из-за молока.

А вот сальные нити — обязательный и полезный элемент нашей кожи. Выглядят они иногда страшнее, но решение очень и очень простое.
Читать дальше →
Всего голосов 66: ↑45 и ↓21+35
Комментарии24

Архитектура приложения моего защищенного чата

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

В этой статье я хочу описать архитектуру своего приложения. Здесь будут представлен как графический клиент, так и сервер.

Оба приложения написаны на C. Это мой любимый язык и на нем я бы хотел писать код, если смогу когда нибудь устроиться на работу программистом. Попользовавшись ubuntu я понял что старые версии софта, это не хорошо. Например у меня несколько источников звука и микрофонов. И в ubuntu при каждой новой загрузке нужно переключать источник от наушников в источник телевизор. Также и микрофон. Как я обрадовался, что в opensuse нет с этим проблемы и доступна библиотека gtk4, которую я так давно ждал. Я мог писать приложение в gnome builder, что я иногда делаю, но в gnome builder мне не удалось сделать так, чтобы заработала библиотека ffmpeg. И как обычно я пишу в vim.

Итак. Я уже привык к объектной философии gobject и чувствую себя кофмортно в разработке. В gtk4 много изменений произошло. Например я раньше в gtk3 в text_view в сигнале "draw" выполнял функцию gtk_widget_queue_resize ();. и так получалось что это подгоняло размер под нужный, перед рисованием текста, но в gtk4 нельзя подключиться к методу отрисовки. И тогда я решил сделать свой виджет. Но свой виджет не нужно делать прям с нуля. В документации ясно сказано, что gtk_drawing_area как раз предназначен для custom виджетом.

Вот список файлов, которые учавствуют в проекте gui secure chat.

Читать далее
Всего голосов 9: ↑7 и ↓2+8
Комментарии9

35 инструментов для веб-разработчика на каждый день

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

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

Краткое содержание: проверка кода по стандартам, проверка вёрстки и стилей, работа с кодом, работа с графикой (SVG, фавиконки, конвертеры и сжималки), работа с текстом (типографы и конвертеры всего во всё).

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

Читать далее
Всего голосов 23: ↑21 и ↓2+23
Комментарии18

Способы обмена знаниями в компаниях

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

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

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

Читать далее
Всего голосов 50: ↑48 и ↓2+52
Комментарии11

Как мы планируем работу над проектами в R&D

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

В этой статье ребята из отдела Research and Development расскажут, как они планируют работу над проектами.

Читать далее
Всего голосов 2: ↑1 и ↓10
Комментарии1

Как я получил 4 оффера в FAANG в Европе или из Воронежа в Лондон

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


Очередная история успеха после череды неудач. Расскажу, чего мне стоило получить офферы от Facebook*, Google, Amazon, JP Morgan в Европе, как я готовился, сколько собесов зафейлил перед тем, как удача повернулась ко мне правильной стороной.


TL;DR. Послал сотни резюме. Прорешал около 100 задач на Leetcode. Прочел книжку по архитектуре (не той, которая про дома, а той, которая system design). Прошел 9 интервью. Получил 4 оффера. Принял 1. Жил, пока что, не очень долго, но, вполне себе, счастливо в Лондоне.
Читать дальше →
Всего голосов 53: ↑43 и ↓10+49
Комментарии65

Сделай себе книгу для изучения языка с нейросетевыми иллюстрациями

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

Lingtrain books


Upd. 04.12.2021. Наш телеграм канал


Upd 10.09.2021. Добавил ещё одну подборку Colab'ов для генерации картинок


Upd 21.09.2021. Добавил пару иллюстраций к Дюне для примера


Статья будет интересна всем любителям программирования, иностранных языков и красивых книг. Сначала мы сделаем параллельную книгу, имея на руках два обычных текста. Затем мы проиллюстрируем ее картинками в стиле pixel art на основе лишь текстовых подсказок.


Книгу можно сделать более чем на сотне языков с восстановлением и подсветкой связей между предложениями:


Lingtrain


А теперь давайте сделаем такую книгу сами.

Смотреть демо
Всего голосов 53: ↑53 и ↓0+53
Комментарии56

Пишем генератор API тестов и данных для них

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

Привет, Хабр. Меня зовут Дмитрий Гусаков. Я тимлид команды QA в компании Arenadata. Наша команда занимается тестированием компонентов Arenadata Enterprise Data Platform, в том числе тестированием оркестратора гибридного data-ландшафта Arenadata Cluster Manager. Каждый день мы пишем и актуализируем большое количество тестов для API. Поэтому сегодня я хочу обсудить тему автоматической генерации таких тестов и поделиться с сообществом нашими решениями и опытом.

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии4

Хватит клепать псевдопрограммистов, или «Горшочек — не в IT!»

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

Дисклеймер: все события являются вымышленными, а совпадения - случайными

Все они были мертвы. Последний выстрел поставил жирную точку в этой истории. Я снял палец с курка — всё было кончено.

Макс Пэйн

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

Моё путешествие в IT наконец-то дошло до несгораемой суммы. Я, как и тысячи других до меня, кинувший работу ради мечты, добился-таки своего. Мама смотрела на меня с гордостью, а друзья — с завистью! Недоброжелатели же захлёбывались от желчи, ведь стало понятно, что я неиллюзорно переиграл и уничтожил всех дешёвок :) А сам стал иметь VIP-статус недешёвки, ведь мой работодатель уже побежал насыпать мне 100500 килорублей в секунду на мой швейцарский счёт.

Красивая история, правда? Хотите так же? Тогда переходите по этой ссылке и приобретайте курс от <default_school_name>, и через Х дней мы будем трудиться вместе!

Если вы дочитали до этого места, то наверняка поняли, о чём мы сегодня поговорим. Рекламой различных интенсивов и онлайн-курсов сейчас завален весь интернет:

Читать далее
Всего голосов 209: ↑196 и ↓13+243
Комментарии603

БСД для финансистов: попробуем посложнее?

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

 

О своем трепетном отношении к Байесовским сетям доверия (БСД) я уже написал в предыдущей статье. Там же детально разобрана очень простая модель анализа решений инвестора об исполнении опциона колл на акцию. На этот раз предлагаю углубиться в тему и построить БСД, которая уже может послужить основой более серьезной модели поддержки принятия решений о покупке/продаже акции нефтяной компании.

Заранее отмечу, что я не придумывал этот пример, и даже укажу источник [1]. Однако в источнике, как это часто бывает, упущено множество подробностей, что оставляет осадок неудовлетворенности, а у студентов – просто непонимание, которое приводит к тому, что они перешагивают этот материал, так и не разобравшись в нем до конца. А задача стόит того, хотя бы потому, что в ней умело использованы почти все основные «хитрости» БСД, и если разобрать её «до винтика», то можно уверенно двигаться дальше.

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии1

Сговор и жульничество в академических кругах

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

«Он не публиковался» © Mischa Richter

На Хабре много говорилось о проблеме "publish or perish" (публикуйся или умри), фейковых журналах и конференциях, накрутке числа публикаций и индекса цитируемости, фальшивых «соавторах», даже о генераторах псевдонаучных текстов. Но в 2021 году выявилось ещё одно очень неприглядное явление: круговое голосование рецензентов. Когда статьи выбирают не по значимости, а по именам авторов, то это подрывает основы взаимного доверия и цельность всей научной области.

Конечно, тут ничего нового и «все всё знали». Просто нарыв наконец-то вскрылся…

На одной из конференций раскрыли попытку жульничества в системе отбора публикаций. К сожалению, «отличилась» наша отрасль — информатика (computer science).
Читать дальше →
Всего голосов 68: ↑66 и ↓2+85
Комментарии113

Первое масштабное регулирование европейского рынка интеллектуальных технологий: ИИ с человеческим лицом

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

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

Основными лидерами по критике применения ИИ являются США и Китай. В 2010-2011 году более 206 учителей в штате Вашингтон были уволен на основании сомнительных результатов работы интеллектуальной системы IMPACT. В 2016 году при независимом анализе использующейся в США ИИ-системы прогноза криминального рецидива COMPAS было установлено, что в качестве входных параметров система учитывала расу: осужденным афроамериканского происхождения в результате анализа она рекомендовала назначить более длительные сроки наказания. В Китае ИИ-системы используются для контроля над поведением граждан.

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

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии1

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

Время на прочтение13 мин
Количество просмотров7K
Сегодня я хочу поговорить об очень распространенной проблеме, с последствиями которой столкнулись мои клиенты. Из отдела продаж уволился менеджер и «унес» с собой копию базы клиентов. В результате руководство компании всерьез заинтересовалось, что такое коммерческая тайна и как на практике пользоваться этим понятием. К сожалению, очень часто в нашей стране так и происходит, защитой информации начинают интересоваться только тогда, когда хищение уже произошло. Потому я хочу подробнее поговорить об организации труда и разобраться, какие меры нужно применять, чтобы максимально снизить вероятность утечки важных данных.

Все мы понимаем, что живем не в Японии, где существуют пожизненные контракты. Любой сотрудник может уволиться и сменить место работы в любое удобное для него время. Но в процессе работы этот человек получает служебный доступ к ценностям компании. Во многих случаях без этого доступа невозможна эффективная работа специалиста. Но как при этом избежать злоупотреблений?
Читать дальше →
Всего голосов 5: ↑4 и ↓1+6
Комментарии9

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность