Pull to refresh
-6
-0.5
Send message

Как я собрал красивое ведро для гидропоники

Level of difficultyEasy
Reading time10 min
Views21K

Несколько лет назад я писал пост о том, как вырастить на гидропонике крайне острый Trinidad Scorpion CARDI. Он, при его живительных 1.2 миллионах единиц Сковилла, на неподготовленных перцеедов производит впечатление эквивалентное облизыванию паяльника.

Пока Монстр плодоносил и радовал в течение нескольких лет, я продумывал более удобный вариант гидропонной установки, который было бы не стыдно показывать в приличном интерьере гостям. Классический вариант “юного гидропониста” из канализационных труб, алюминиевого скотча и вороха булькающих трубочек был с негодованием забракован женой. Я разработал и протестировал несколько прототипов с 3D-печатными элементами, но потом проект был поставлен на паузу.

Окончательно доделать его получилось после того, как внезапно выяснилось, что коллеги тоже фанаты острого. Мы собрались в нашей виртуальной “курилке”, запилили проект со всеми положенными milestone в Asana и начали тестировать. Садитесь поудобнее, сегодня будет лонгрид-оффтопик, про то, как толпа DevOPS из WiseOPS пилила совместный хобби проект для украшения офиса. Да, мы заняты не только работой) А еще я поделюсь подробной инструкцией и файлами для 3D-печати.

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

Читать далее
Total votes 96: ↑106.5 and ↓-10.5+117
Comments148

Event Loop в деталях

Level of difficultyMedium
Reading time7 min
Views44K

В данной статье поговорим о том, почему Event Loop вообще был создан, как с ним работать и почему про него спрашивают на собесах.

JS был спроектирован как однопоточный язык программирования. Это значит, что он может выполнять только одну операцию одновременно. Тем не менее у JavaScript есть такой механизм как Event Loop, который как раз и позволяет выполнять "асинхронные" операции. Почему "асинхронные" в кавычках? Да просто потому что JavaScript тоже выполняет их синхронно, асинхронности в самом JavaScript как таковой нет. Вперед под кат, будем разбираться)

Promise.then()
Total votes 25: ↑22 and ↓3+19
Comments13

Крыша поехала: как понять, что пора к психотерапевту, и как его найти

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

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

image
Читать дальше →
Total votes 39: ↑25 and ↓14+11
Comments68

25 и 26 сентября — открытые дни на Frontend Live

Reading time7 min
Views3.1K
В эти дни принять участие в конференции может любой желающий. Но нужно зарегистрироваться. Смотрите, что вам будет по душе в полном расписании Frontend Live.

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

Что нового есть во Frontend и что мы можем сделать лучше?



Читать дальше →
Total votes 37: ↑37 and ↓0+37
Comments1

Думал, что добьюсь большего к своим 35

Reading time3 min
Views115K


Уже два часа дня? Ничего за сегодня не сделал. Проснулся, потянулся, видел 6 голосовых сообщений — проигнорировал, принял душ, съел 3 вафли и улегся с мыслями, что мне 35, а я так и не выучил французский. Стоп, я не был в душе, это было вчера.


Попытался купить себе новые конверсы (кроссовки), но не смог выбрать между серым и обсидиановым, оба цвета мне не нравятся. Затем я отвлекся на лайфхаки на Medium, залип там минут на 90. Мне 35! Я думал, что уже давным-давно куплю себе крутую обувь и снимусь в фильме. Мой друг Сэнджей и то снялся в инди фильме. Все время рассказывает об этом.

Читать дальше →
Total votes 166: ↑131 and ↓35+96
Comments666

Надо помолчать

Reading time3 min
Views56K
Нет, не пРомолчать, просто помолчать. Недолго, максимум — несколько минут. Нет, не чтобы собраться с мыслями. И не всем. Сейчас объясню.

Надо помолчать

UPD. Перевел этот текст на английский.

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

Почему я так делаю? Потому что со временем я заметил, что иначе я мешаю остальным
Читать дальше →
Total votes 232: ↑226 and ↓6+220
Comments126

Двоичное‌ ‌кодирование‌ ‌вместо‌ ‌JSON

Reading time6 min
Views14K
Кодируйте‌ ‌одни‌ ‌и‌ ‌те‌ ‌же‌ ‌данные‌ ‌гораздо‌ ‌меньшим‌ ‌количеством‌ ‌байт.‌ ‌

image

Почему‌ ‌меня‌ ‌это‌ ‌должно‌ ‌волновать ‌


Данные‌ ‌хранятся‌ ‌в‌ ‌памяти‌ ‌в‌ ‌виде‌ ‌структур‌ ‌данных,‌ ‌таких‌ ‌как‌ ‌объекты,‌ ‌списки,‌ ‌массивы‌ ‌и‌ ‌т.д.‌ ‌Но‌ ‌если‌ ‌вы‌ ‌хотите‌ ‌отправить‌ ‌данные‌ ‌по‌ ‌сети‌ ‌или‌ ‌в‌ ‌файле,‌ ‌вам‌ ‌нужно‌ ‌закодировать‌ ‌их‌ ‌в‌ ‌виде‌ ‌последовательности‌ ‌байтов.‌ ‌Перевод‌ ‌из‌ ‌представления‌ ‌в‌ ‌памяти‌ ‌в‌ ‌последовательность‌ ‌байтов‌ ‌называется‌ ‌кодированием,‌ ‌а‌ ‌обратное‌ ‌преобразование‌ ‌–‌ ‌декодированием.‌ ‌Со‌ ‌временем‌ ‌схема‌ ‌данных,‌ ‌обрабатываемых‌ ‌приложением‌ ‌или‌ ‌хранящихся‌ ‌в‌ ‌памяти,‌ ‌может‌ ‌эволюционировать,‌ ‌туда‌ ‌могут‌ ‌добавляться‌ ‌новые‌ ‌поля‌ ‌или‌ ‌удаляться‌ ‌старые.‌ ‌Следовательно,‌ ‌используемая‌ ‌ кодировка‌ ‌должна‌ ‌иметь‌ ‌как‌ ‌обратную‌ ‌(новый‌ ‌код‌ ‌должен‌ ‌быть‌ ‌способен‌ ‌читать‌ ‌данные,‌ ‌написанные‌ ‌старым‌ ‌кодом),‌ ‌так‌ ‌и‌ ‌прямую‌ ‌(старый‌ ‌код‌ ‌должен‌ ‌быть‌ ‌способен‌ ‌читать‌ ‌данные,‌ ‌написанные‌ ‌новым‌ ‌кодом)‌ ‌совместимость.‌ ‌

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

Типы‌ ‌форматов‌ ‌кодирования‌


Существует‌ ‌два‌ ‌типа‌ ‌форматов‌ ‌кодирования:‌ ‌

  • Текстовые‌ ‌форматы‌ ‌
  • Двоичные‌ ‌форматы‌
‌ ‌
Читать дальше →
Total votes 27: ↑19 and ↓8+11
Comments41

Десять заповедей React компонентов

Reading time11 min
Views11K

the-10-component-commandments


Написано Kristofer Selbekk, в сотрудничестве с Caroline Odden. Основано на лекции с таким же названием и с теми же людьми, состоявшейся на встрече ReactJS в Осло в июне 2019 года.

От переводчика — оригинальное название The 10 Component Commandments не упоминает React, но большинство примеров и рекомендаций относятся именно к реакту, к тому же статья выложена под react тэгом и написана реакт разработчиками.


Не легко создавать компоненты которыми будут пользоваться многие разработчики. Вы должны очень тщательно продумать какие пропсы использовать, если эти пропсы будут частью общедоступного API.


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

Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments0

Как использовать Инверсию Управления в JavaScript и в Reactjs для упрощения работы с кодом

Level of difficultyMedium
Reading time11 min
Views12K

Как использовать Инверсию Управления в JavaScript и в Reactjs для упрощения работы с кодом


Инверсия Управления это довольно простой для понимания принцип программирования, который, при этом, может заметно улучшить ваш код. В данной статье будет показано как применять Инверсию Управления в JavaScript и в Reactjs.


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


  1. Вы создаете многократно используемый фрагмент кода (это может быть функция, React компонент, React хук и тд) и делитесь им (для совместной работы или публикуя в опенсорс).
  2. Кто-то обращается к вам с просьбой добавить новый функционал. Ваш код не поддерживает предложенный функционал, но мог бы, если бы вы сделали небольшое изменение.
  3. Вы добавляете новый аргумент/проп/опцию в свой код и в связанную с ним логику для поддержания работы этого нового функционала.
  4. Повторите стадии 2 и 3 несколько раз (или много-много раз).
  5. Теперь ваш повторно используемый код тяжело использовать и поддерживать.

Что именно делает код кошмаром для использования и поддержки? Есть несколько аспектов, которые могут сделать ваш код проблемным:

Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments6

Повышаем эффективность взаимодействия дизайнеров и frontend-разработчиков

Reading time9 min
Views5K
Когда к списку ключевых услуг нашего аутсорс-продакшена добавился дизайн, мы решили, что не хотим работать по общепринятым стандартам. Мы стали искать особый подход к дизайну: максимально качественно, максимально оперативно, максимально экономно. И мы его нашли — просто поменяв местами дизайнеров и верстальщиков.


Читать дальше
Total votes 6: ↑5 and ↓1+4
Comments18

Использование микрофона для создания произведений искусства, реагирующих на звук, на Javascript

Reading time5 min
Views3.3K
Несколько приёмов для создания произведений процедурального (генеративного) искусства.

image

Настройка объекта для микрофона – вещь достаточно лёгкая, хоть и сначала может показаться сложной. Не надо волноваться. Даже если вы это не очень понимаете, то и не нужно. Потому что когда всё настроено и работает, вам больше никогда не придётся проделывать это всё снова…
Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments3

12 советов по внедрению TypeScript в React-приложениях

Reading time9 min
Views36K
TypeScript — стандарт современной фронтенд-разработки. Согласно исследованиям State of JavaScript, TS вызывает явный интерес у программистов. По данным опроса за 2019 год, почти 60% респондентов пробовали TS и продолжают использовать, 22% не пробовали и желают изучить.

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


Читать дальше →
Total votes 60: ↑60 and ↓0+60
Comments43

5 ловушек на пути к личной эффективности

Reading time5 min
Views13K
Если вы научились держать все сферы жизни под контролем, прочитайте другой материал. Но если работа из дома заставила вас задуматься о повышении личной эффективности, этот разбор – для вас. На основании личного опыта и общения с коллегами Кирилл Белобородько, проектный и people-менеджер в харьковском офисе EPAM, собрал типичные ошибки, которые могут загнать новичка в прокрастинацию, вместо того, чтобы помочь успевать больше.

Кирилл – давний адепт инструментов для повышения личной эффективности. Он активно внедряет их не только в свою работу, но и практически во все сферы жизни. Этой весной, когда карантин потребовал от большинства IT-профессионалов работать удаленно, они помогли ему оставаться продуктивным дома и удерживать здравый work-life balance. По нашей просьбе Кирилл делится своим опытом и рекомендациями с вами.


Читать дальше →
Total votes 6: ↑5 and ↓1+4
Comments10

«Покинуло сортировочный центр»: как устроена логистика Почты России

Reading time7 min
Views294K
Если вы отправляли письмо из Москвы в Москву, то могли обратить внимание, что оно сделало непонятный крюк. К примеру, письмо из Алтуфьево в Ясенево может проехать через подмосковный Ногинск. Вот трекинг тестового письма, отправленного из Тверского района Москвы в Лефортово. Его маршрут выглядит так:



Давыдково — это крупный сортировочный центр во Внуково. Прежде чем попасть к получателю, письмо пройдёт три сортировки. Расстояние, которое оно проезжает, почти в десять раз больше очевидной удаленности по карте.
Читать дальше →
Total votes 54: ↑50 and ↓4+46
Comments114

Как уберечь свои данные от воровства, перепить Левелорда и построить карьеру в IT, если у вас шиза

Reading time5 min
Views12K
За фото благодарим imater
На самом деле, на КДПВ не рабочее место на балконе, это обман зрения. Там пляж, шашлычки на природе и вот это все...

Привет, Хабр! На июнь мы подготовили для вас целых 5 новых спикеров, будем говорить:

  • Об утечках данных с Ашотом Оганесяном
  • О фронтенде Яндекс.Денег с тимлидом Ильей Кашлаковым
  • О том, как отучить целую страну качать фильмы с торрентов с CTO Okko Алексеем Голубевым
  • Как строить карьеру в IT, если у вас психическое расстройство с маркетологом RUVDS Санией Галимовой

Есть и супербонус: вы сможете сыграть на выпивание с Ричардом Левелордом Греем на zoom-посиделке и попытаться его обыграть.
Читать дальше →
Total votes 40: ↑39 and ↓1+38
Comments22

Как мы создаем свой продукт. Часть первая, исследовательская

Reading time11 min
Views3.7K
image
Мир IT разнообразен донельзя. Кто каких только технологий и решений не создает, что только не разрабатывает! Компании творят продукты каждая по-своему, но многие процессы схожи, а потому могут оказаться полезным опытом для заимствования. Вот мы и подумали: а почему бы не рассказать вам о том, как мы создаем наш флагманский продукт Solar Dozor? Команда у нас очень опытная и энергичная. Каждый день нам приходится решать нетривиальные задачи, искать киллер фичи и увязывать пожелания заказчиков с собственным роудмапом. Вдруг наш опыт кому-то пригодится?

В общем, решили – запускаем серию статей о том, как, где и при каких обстоятельствах рождается наша DLP-система. Все откровенно, по-честному, с фото и, может, даже видеопруфами. А сегодня вы узнаете, с чего начинается создание нашего продукта. Знакомьтесь – discovery-лаборатория Dozor Research Lab.
Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments0

Как стать долларовым миллионером за 30 лет, лежа на диване

Reading time12 min
Views239K


На Хабре недавно вышел пост ״Новичкам фондового рынка: честные разговоры о трейдинге״. Этот пост, опубликованный в одном из самых читаемых блогов Хабра, вводит людей в заблуждение и создает у них ложное представление о том, что игра на бирже — хороший способ заработка. Это вынудило меня написать комментарий, постепенно переросший в целую статью, с детальным разбором того, почему трейдинг — это не способ разбогатеть, а способ потерять деньги, и о том, как на самом деле заработать на инвестициях.
Поехали!
Total votes 308: ↑291 and ↓17+274
Comments557

Single sign-on для SSH своими руками

Reading time13 min
Views18K
TL;DR В этот статье мы установим single sign-on для SSH от Google. За кулисами мы воспользуемся OpenID Connect (OICD), краткосрочными SSH сертификатами, несколькими хитростями конфигурации SSH, и опенсорсными пакетами step-ca и step от Smallstep. Мы настроим SSH Certificate Authority и воспользуемся им, чтобы загрузить в нашей системе нового пользователя и новый хост. Этот метод привносит много преимуществ помимо single sign-on, так как отпадает нужда в сборе, передаче и контроле файлов authorized_keys, хоть и требует больше подготовительной работы по сравнению с настройкой типичной пары открытого/секретного SSH ключей.

Как не следует пользоваться SSH


Еще в далеком 2004 году кто-то научил меня копипастить открытый ключ в файл authorized_keys. С тех пор я продолжал невинно копировать один и тот же старый публичный ключ на каждый сервер, с которым мне приходилось работать, и у меня постоянно не получалось сделать это с первого раза, потому что я забывал корректно настраивать chmod.
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments4

Не решать за дизайнера задачу дизайнера

Reading time26 min
Views19K
Привет, Хабр.

Последние 3 месяца около 40% моего рабочего времени занимает общение с дизайнерами. Спасибо, но жалеть не нужно. Шучу. Нужно. Дизайнеров.

Про то, что дизайн — это не про нарисовать, а про спроектировать, мне уже показали. А о том, почему это так, нашла доступное объяснение от Кости Горского, в прошлом артдира Яндекса. Видео доступно по ссылке.


Читать дальше →
Total votes 30: ↑27 and ↓3+24
Comments40

Топ-5 классических книг для улучшения финансовой грамотности и подготовки к первым шагам на бирже

Reading time3 min
Views28K

Изображение: Unsplash

Карантин – отличное время для того, чтобы улучшить финансовую грамотность и разобраться в вопросах инвестирования. Мы подготовили список из пяти классических книг, переведенных на русский язык, прочтение которых позволит вам понять философию ведущих мировых инвесторов и изучить факторы, на которые они опираются при принятии решений.
Читать дальше →
Total votes 16: ↑13 and ↓3+10
Comments4

Information

Rating
Does not participate
Registered
Activity