Pull to refresh
9
0
Лауд Алексей @kshshe

Frontend developer

Send message

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

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

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


Читать дальше →
Total votes 38: ↑31 and ↓7+24
Comments81

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

Reading time9 min
Views26K

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


image


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

Читать дальше →
Total votes 31: ↑25 and ↓6+25
Comments30

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

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

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

Total votes 15: ↑15 and ↓0+15
Comments10

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

Reading time3 min
Views98K

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

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

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

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

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

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

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

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

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

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

Короче, всё один к одному. Радостно потираю руки, а тётки улыбаются и говорят: тока надо полиграф пройти еще.
Читать дальше →
Total votes 150: ↑135 and ↓15+160
Comments143

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

Reading time6 min
Views41K
image

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

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


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

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

Reading time8 min
Views166K


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

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

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

Reading time6 min
Views156K


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

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

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

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

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

Total votes 62: ↑59 and ↓3+56
Comments33

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

Reading time12 min
Views36K
Это советы по улучшению UX ваших проектов БЕЗ многочасовых сессий по изучению пользовательского поведения, бумажного прототипирования или любых других модных словечек.

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

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

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

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

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

image

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

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

Читать дальше →
Total votes 31: ↑23 and ↓8+15
Comments30

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

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

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

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

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

Reading time6 min
Views189K
Друзья, в преддверии выходных хотим поделиться с вами еще одной интересной публикацией, которую хотим приурочить к запуску новой группы по курсу «Разработчик JavaScript».



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

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

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

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

Reading time4 min
Views9K


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


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


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


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


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

Читать дальше →
Total votes 14: ↑10 and ↓4+6
Comments3

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

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

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

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

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

Reading time6 min
Views20K
Никогда не слышали о нормализации Unicode? Вы не одиноки. Но об этом надо знать всем. Нормализация способна избавить вас от множества проблем. Рано или поздно нечто подобное тому, что показано на следующем рисунке, случается с любым разработчиком.
«Zoë» — это не «Zoë»
Читать дальше →
Total votes 62: ↑60 and ↓2+58
Comments40

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

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

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

image

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

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

Reading time3 min
Views9.7K


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

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

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

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



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

How to land a job in Germany for IT professionals

Reading time3 min
Views8.8K
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 →
Total votes 23: ↑21 and ↓2+19
Comments12

Information

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

Specialization

Frontend Developer
Lead
JavaScript
React
TypeScript