Как стать автором
Обновить
9
0
Лауд Алексей @kshshe

Frontend developer

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

Музыка для программиста

Время на прочтение6 мин
Количество просмотров48K
Я захожу в офис, поднимаюсь на третий этаж, подхожу к Жене, который выглядит, как зайчик-лапушка. Чтобы меня услышать, он достает наушник из уха, а я слышу, как из маленького динамика разносится какой-то дикий рёв и пронизывающий до костей ор! Ох, внешность, как же ты бываешь обманчива…

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


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

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

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

Привет! Недавно мои коллеги из hh.ru провели вебинар, где разбирали резюме разработчика. Я решил поделиться своей точкой зрения на этот счет.


image


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

Читать дальше →
Всего голосов 37: ↑31 и ↓6+25
Комментарии30

Оля, тесты и фабрика — путь к красивой архитектуре и чистоте кода

Время на прочтение17 мин
Количество просмотров9.9K
В автоматизации тестирования существует много разных подходов, решений и способов. Самый распространенный и незаменимый —  паттерн Page Object (Screen Object). Я столкнулась с двумя подходами при работе с этим паттерном: c фабрикой для своих page object-ов и без нее. В этой статье на примере наших автотестов сравним оба подхода, их плюсы и минусы. Покажу, как выглядит наша фабрика page object-ов. Также расскажу о проблемах, с которыми мы столкнулись в автотестах с фабрикой и как их решили.

Все примеры в статье буду приводить на языке Swift, но для Android автотестов все работает аналогично.

Всего голосов 15: ↑15 и ↓0+15
Комментарии10

Паралич анализа: вы знаете слишком много, чтобы просто писать код

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

Это перевод статьи Analysis Paralysis: Over-thinking and Knowing Too Much to Just CODE Скотта Хансельмана за 30 марта.

Прочитал сегодня пост на ArsTechnica «Я знаю слишком много чтобы программировать быстро. Что мне делать?» — это обзор вот этого вопроса на StackOverflow:

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

Простой пример: раньше я просто записывал данные в файл. Теперь я думаю о правах доступа, занятии файла другим приложением, многопоточности, атомарных операциях, фреймворках, разных файловых системах, количестве файлов в директории, предсказуемых названиях временных файлов, качестве моего ГПСЧ, отключении электричества во время любой операции, адекватном API для моего кода, нормальной документации и так далее.

Это просто бомба, прямо про меня. Я тоже недавно задумывался, а не от возраста ли появляются такие проблемы, но я просто не настолько стар. Проблему создаёт огромный опыт вкупе со слишком глубоким обдумыванием задачи. Я опытнее многих, но, очевидно, не настолько опытный, чтобы не страдать от паралича анализа.
Читать дальше →
Всего голосов 252: ↑240 и ↓12+228
Комментарии130

Полиграфистки сходят с ума по одной

Время на прочтение8 мин
Количество просмотров85K
Полиграф, он же детектор лжи – это прикольно. Как-нибудь обязательно попробуйте, хотя бы для расширения кругозора. В личной жизни там особо копаться не будут, только в некоторых ее аспектах.

Мне с полиграфом повезло вдвойне – была возможность поставить небольшой эксперимент над этим процессом, потому что проходил его дважды, на одной и той же работе, с одним и тем же полиграфологом. Даже, наверное, аппарат был тот же самый, хотя между процедурами был промежуток в 6 лет.

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

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

Короче, всё один к одному. Радостно потираю руки, а тётки улыбаются и говорят: тока надо полиграф пройти еще.
Читать дальше →
Всего голосов 190: ↑175 и ↓15+160
Комментарии143

Гаджеты для сна

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

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

На Хабре бурно обсуждают в комментариях «искусственные рассветы», умные автоматические шторы:


Под катом — краткий обзор новинок гаджетов для сна 2019 года.
Всего голосов 28: ↑24 и ↓4+20
Комментарии34

Я мотоцикл покупал, чтобы ездить, а не чтобы падать

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


Эта статья не совсем в формате Хабра, но, наблюдая какими темпами растет количество двухколесных на улицах столицы, в том числе и среди ИТ-шников, я всё же рискну — может это спасёт несколько жизней, что не так уж и плохо.

Когда лет 10 назад я купил себе первый мотоцикл, любая встреча двухколесных на дороге была целым событием. Последние же несколько лет ситуация изменилась кардинально — пробка из мототехники в междурядье уже каждодневная обыденность. Размышлять на тему, почему это происходит я не буду, а постараюсь просто поделиться опытом «выживания в большом городе» с теми, кто только купил или пока просто задумывается. Вполне возможно, что некоторые вещи будут полезны и любителям электротранспорта.
Читать дальше →
Всего голосов 266: ↑227 и ↓39+188
Комментарии1346

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

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


Я люблю находить на новостных ресурсах статьи о том, что программисты получают очень много денег. Я сразу пролистываю их до комментариев и с теплом в душе читаю гневные отзывы о том, что программисты ничего не делают и не заслуживают таких денег. Но после прочтения возникает мысль: знают ли они, кто такие программисты? Или они исходят в своих суждениях из неверного знания, даже не подозревая об этом. Например, мало кто знает, почему трава зеленая. Подумайте об этом. Следует ли из ваших объяснений зелености травы именно зеленый цвет?
Читать дальше →
Всего голосов 242: ↑202 и ↓40+162
Комментарии189

Прислушиваясь к информационному шуму: музыка и видео, которые никто не должен был найти

Время на прочтение4 мин
Количество просмотров36K
В популярном сериале «Рик и Морти» есть повторяющийся элемент — «Межпространственное ТВ». Это — специальная приставка к телевизору, с помощью которой герои получают доступ к всевозможным телевизионным каналам во всех параллельных вселенных. В нашей — этот прибор, к сожалению, не существует, но интернет позволяет нам наблюдать нечто очень похожее.

Если проанализировать «информационный шум», можно увидеть наш мир с новой точки зрения. И (скорее всего) он вам покажется незнакомым, непредсказуемым и даже немного инопланетным.

Расскажем, как все это осуществить.

Всего голосов 62: ↑59 и ↓3+56
Комментарии33

Четыре правила интуитивного UX

Время на прочтение12 мин
Количество просмотров36K
Это советы по улучшению UX ваших проектов БЕЗ многочасовых сессий по изучению пользовательского поведения, бумажного прототипирования или любых других модных словечек.

(Серьёзно, поищите «дизайн-мышление». 100500 результатов!)

Для кого эта статья?

  • Разработчики. Вы создали собственное приложение, но каждый пользователь мучается с ним. И вы знаете: если они говорят вам это в лицо, то дело действительно плохо.
  • Графические дизайнеры. Изучать UX по статьям в интернете — это какой-то… очень болезненный способ умереть.
  • Менеджеры проектов. Вы уже на четверть UX-дизайнер. Было бы неплохо освоить остальные навыки.
  • И остальные проходимцы. Все, кто корпит над своими проектами по вечерам и выходным. Вам тоже пригодится.
Всего голосов 23: ↑22 и ↓1+21
Комментарии22

Почему иностранный банк интересует источник происхождения ваших средств?

Время на прочтение6 мин
Количество просмотров23K
В конце десятых годов произошло множество негативных событий на рынке банковских услуг стран СНГ, заставляющих задуматься о необходимости иметь запасной счет в иностранном банке. Тем более, что законодательство большинства стран позволяет это делать без специальных разрешений.

image

Открыть счет в иностранном банке частному лицу или компании, в наше время, непросто, но — возможно. Тем более, что кроме валютных накоплений, счет в зарубежном банке позволяет начать собственную иностранную кредитную историю. Это будет хорошим началом для вашего международного бизнеса, получения диплома зарубежного ВУЗа или второго гражданства, на случай возникновения тех или иных проблем на родине.

Почему же сегодня не так просто открыть счет в иностранном банке жителю одной из стран СНГ?

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

Динамическое программирование в реальном мире: вырезание швов

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

В статье я покажу интересное реальное применение динамического программирования — задача вырезания швов (seam carving). Задача и методика подробно описаны в работе Авидана и Шамира «Вырезание швов для изменения размеров изображения с учётом контента» (статья в свободном доступе).

Эта одна из серии статей по динамическому программированию. Если хотите освежить в памяти методы, см. иллюстрированное введение в динамическое программирование.
Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии2

Использование Typescript с React – руководство для новичков

Время на прочтение6 мин
Количество просмотров186K
Друзья, в преддверии выходных хотим поделиться с вами еще одной интересной публикацией, которую хотим приурочить к запуску новой группы по курсу «Разработчик JavaScript».



Потратив последние несколько месяцев на разработку приложений на React и библиотек с использованием Typescript, я решил поделиться некоторыми вещами, которые узнал за это время. В этом руководстве я расскажу вам про шаблоны, которые я использую для Typescript и React в 80% случаев.

Стоит ли изучать Typescript для разработки приложений на React? Стоит, еще как стоит! Для себя я осознал на практике, что строгая типизация приводит к написанию гораздо более надежного кода, быстрой разработке, особенно в крупных проектах. Сначала вы, вероятно, будете разочарованы, но по мере работы вы обнаружите, что хотя бы минимальный шаблон действительно будет очень кстати.

И если вы застряли на чем-то, помните, что вы всегда можете типизировать что- нибудь как any. Any – ваш новый друг. А теперь перейдем непосредственно к примерам.
Читать дальше →
Всего голосов 33: ↑29 и ↓4+25
Комментарии7

Какой здесь this? Внутренняя работа объектов JavaScript

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


Фотография: "Любопытный" Liliana Saeb (CC BY 2.0)


JavaScript – это мультипарадигмальный язык, который поддерживает объектно-ориентированное программирование и динамическое связывание. Динамическое связывание — это мощная концепция, которая позволяет изменять структуру JavaScript кода во время выполнения, но эти дополнительные мощность и гибкость достигаются ценой некоторой путаницы, большая часть которой связана с поведением this в JavaScript.


Динамическое связывание


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


Давайте сыграем в игру. Я называю её "Какой здесь this?"

Читать дальше →
Всего голосов 14: ↑10 и ↓4+6
Комментарии3

Ускоряем WebGL/Three.js с помощью OffscreenCanvas и веб-воркеров

Время на прочтение5 мин
Количество просмотров14K
Ускоряем WebGL/Three.js с помощью OffscreenCanvas и веб-воркеров

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

Статья основана на личном опыте, когда я добавил вращающуюся 3D-землю на свой сайт и это забрало 5 очков производительности в Google Lighthouse — слишком много для лёгких понтов.
Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии11

Когда «Zoë» !== «Zoë», или почему нужно нормализовывать Unicode-строки

Время на прочтение6 мин
Количество просмотров20K
Никогда не слышали о нормализации Unicode? Вы не одиноки. Но об этом надо знать всем. Нормализация способна избавить вас от множества проблем. Рано или поздно нечто подобное тому, что показано на следующем рисунке, случается с любым разработчиком.
«Zoë» — это не «Zoë»
Читать дальше →
Всего голосов 62: ↑60 и ↓2+58
Комментарии40

Разработка простых современных JavaScript-приложений с использованием Webpack и прогрессивных веб-технологий

Время на прочтение19 мин
Количество просмотров31K
Думали ли вы о том, чтобы воспользоваться при разработке своего очередного веб-проекта простейшим из существующих набором технологий? Если это так — значит материал, перевод которого мы публикуем сегодня, написан специально для вас.

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

image

В этой статье мы поговорим о применении современных технологий при разработке веб-приложений, возможности которых не ограничены возможностями фреймворков. Кстати, если вам это нужно, то вы, с использованием описываемых здесь технологий, сможете создать собственный узкоспециализированный фреймворк. Чистый JavaScript и другие базовые веб-технологии дают разработчикам возможность делать то, что им нужно, не ограничивая себя рамками применяемых ими инструментов.
Читать дальше →
Всего голосов 33: ↑30 и ↓3+27
Комментарии9

Как сделать так, чтобы вашу англоязычную статью для Хабра прочитали десятки тысяч человек: 3 простых совета

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


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

В этом топике я собрал три простых совета по повышению читабельности хабрастатей и привлечению англоязычных читателей. Надеюсь, будет полезно.
Читать дальше →
Всего голосов 89: ↑83 и ↓6+77
Комментарии42

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

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



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

How to land a job in Germany for IT professionals

Время на прочтение3 мин
Количество просмотров8.7K
At my agency we work a lot with international candidates and German companies. So, I wanted to write a small essay about the visa issues because often they will influence your chances of landing a job heavily. Since I work mostly with German market, I will talk about the processes in Germany, the processes may and probably are different in other EU countries. Hopefully the information will be helpful and will give you some clarity.

As all of you know, nowadays there is a big demand for experienced IT professionals in almost all EU countries. When I say experienced I mean 3+ years of experience. Companies are adjusting their teams to accept English speaking colleagues from around the globe, coming up with different perks to smooth up the relocation process and in general the IT world is becoming predominantly English speaking. Germany government understanding the demand by the industry has made the process quite fast and straightforward. I expect even easier process to be implemented in the upcoming year or two.

Visa sponsorship


Companies in Germany do not sponsor visas like in other countries, there is no such a term here. Companies either hire non-EU candidates or not. The decision is strictly an internal decision and is not influenced by any quotas, permissions etc. If you get a job contract from a German company (be it a big conglomerate or a small startup) you have a right to apply for the work visa.

Do I need a university degree?


Read more →
Всего голосов 23: ↑21 и ↓2+19
Комментарии12

Информация

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

Специализация

Frontend Developer
Lead
JavaScript
React
TypeScript