Pull to refresh
1
0

Python разработчик

Send message

Конечные React Компоненты

Reading time7 min
Views20K

Чем мне нравится экосистема React, так это тем, что за многими решениями сидит ИДЕЯ. Различные авторы пишут различные статьи в поддержку существующего порядка и обьясняют почему все "правильно", так что всем понятно — партия держит правильный курс.


Через некоторые время ИДЕЯ немного меняется, и все начинается с начала.


А начало этой истории — разделение компонент на Контейнеры и неКонтейнеры (в народе — Тупые Компоненты, простите за мой франзуский).


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

Проблемные личности среди разработчиков

Reading time22 min
Views103K


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

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

Но с такими возможностями часто приходит полное отсутствие уважения к участникам проекта других профессий. Это отсутствие уважения может оказаться настолько глубоким, что порождает в уме разработчика твёрдую уверенность, что он не только самый ценный участник программного проекта, но и необходим компании в целом. К сожалению, хотя лишь малое число разработчиков способны накапливать что-либо напоминающее богатство, многие ведут себя так, словно они следующие Марк Цукерберг, Билл Гейтс или Стив Джобс; хотя это очень далеко от истины. Это приводит к личностным проблемам, которые так же увлекательно наблюдать со стороны, как страшно созерцать в себе.
Читать дальше →
Total votes 93: ↑74 and ↓19+55
Comments179

Элегантные паттерны современного JavaScript: Ice Factory

Reading time8 min
Views32K
Предлагаем вашему вниманию перевод очередного материала Билла Соро, который посвящён шаблонам проектирования в JavaScript. В прошлый раз мы рассказывали о паттерне RORO, а сегодня нашей темой будет шаблон Ice Factory. Если в двух словах, то этот шаблон представляет собой функцию, которая возвращает «замороженный» объект. Это — очень важный и мощный паттерн, и разговор о нём мы начнём с описания одной из проблем JS, на решение которой он направлен.

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

Взгляд на Tokio: как устроен этот асинхронный обработчик событий

Reading time7 min
Views12K

И для чего он используется в фреймворке для приватных блокчейнов Exonum


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

И хотя Tokio критикуют за излишнюю сложность в освоении, он уже используется в продакшн-средах, поскольку код, написанный на Tokio, легче поддерживать. Например, его уже интегрировали в hyper, tower-grpc и сonduit. Мы тоже обратились к этому решению при разработке нашей платформы Exonum.

Работа над Exonum началась в 2016 году, когда Tokio еще не существовал, поэтому сперва нами использовалась библиотека Mio v0.5. С появлением Tokio стало ясно, что используемая библиотека Mio устарела, более того, с её помощью было сложно организовывать событийную модель Exonum. Модель включала несколько типов событий (сетевые сообщения, таймауты, сообщения из REST API и др.), а также их сортировки по степени приоритетности.

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

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

Читать дальше →
Total votes 33: ↑32 and ↓1+31
Comments31

Как задавать вопросы в IRC

Reading time5 min
Views4.1K
Опубликовал RurouniJones 17 марта 2009 года

Приветствую. Если вы попали на эту страницу по собственному желанию и намерению, то имейте в виду, что это сокращённая, немного более современная версия статьи Эрика Рэймонда «Умный способ задавать вопросы» — отличного, но длинноватого текста.

С другой стороны, если вас отправил на эту страницу кто-то другой и вы хотите быстро понять, что тут происходит, то читайте дальше.

Как правильно задавать вопросы


Вкратце:

  • Не спрашивайте разрешения
  • Расскажите подробности
  • Задавайте уместные вопросы
  • Будьте вежливым
  • Ждите
Читать дальше →
Total votes 13: ↑11 and ↓2+9
Comments12

Найдена крупнейшая БД украденных паролей: что следует знать

Reading time7 min
Views76K
В декабре компания 4iq, занимающаяся предотвращением нелегального использования персональных данных и несанкционированного доступа к пользовательским аккаунтам, обнаружила файл с БД на 1,4 млрд украденных «учеток». Находка стала возможной благодаря сканированию даркнета и дипвеба на предмет подобных «сливов», которыми могут воспользоваться злоумышленники.

Это «самая объемная» база данных такого рода на сегодняшний день. В этой статье мы поговорим об особенностях найденной базы, вспомним похожие утечки пользовательских данных и расскажем о том, что делать в ситуации, если вы «нашли себя» в такой БД.

Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments30

Ой, у меня задержка. Часть 2

Reading time4 min
Views8.9K
В предыдущей статье мы говорили о сокращении задержки в трансляции видео. С отправкой разобрались, теперь поговорим о доставке.


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

Проектор на коленке

Reading time6 min
Views169K
Бывает у меня такое — просыпаешься посреди ночи и думаешь: «Интересно, до утра еще долго? Нужно попытаться заснуть или уже смысла нет?». В этот момент взглянуть бы на часы, но:

  1. Я близорукий, поэтому любые настольные часы с размером символов меньше 20 см бесполезны;
  2. Спать в наручных часах неудобно, да и ночью на аналоговых стрелочных часах все равно ни черта не видно;
  3. Телефон бесконечно далеко (расстояние более 1м) от кровати, а вставать, чтобы решить, нужно ли еще поспать, как-то не логично.

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

И тут случилось так, что у меня сломался телефон Huawei P1, так что телефоном он быть перестал, а вот все остальное в нем, в общем-то, работало. Продать не получится, а выкинуть жалко, и воспаленный таким противоречием мозг начал искать место приложения полурабочего девайса.
image
Что случилось дальше — под катом.
Читать дальше →
Total votes 100: ↑97 and ↓3+94
Comments47

Живительная флешка

Reading time10 min
Views516K
На данный момент в сети имеется целая куча различных инструкций по созданию дежурной рабочей сисадминской флешки, но, к сожалению, многие из них уже устарели и просто не подходят под современные задачи.

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


Читать дальше →
Total votes 97: ↑80 and ↓17+63
Comments96

Стартап: «Идея», «Реализация», «Продажи»…

Reading time37 min
Views46K


Тема «стартапинга» IT-продуктов была весьма популярна пару лет назад… Сегодня «стартап» не делал только ленивый. Сколько их — «проваленных» проектов? Тысячи, десятки тысяч?..
Стартаперы «забывают» о простой истине: «Идея ничего не стоит без реализации. Реализация ничего не стоит без продаж.» Что нужно для «успешной» реализации? «Хорошая» команда? «Правильная» методология управления проектом? А что нужно для продаж?..

Об этом и о многом другом рассказано в данной публикации, причем не голословно, а на примере конкретного «стартапа».

Внимание! Под хаброкатом ОЧЕНЬ длинная статья...
Читать дальше →
Total votes 51: ↑42 and ↓9+33
Comments22

Прослушивание мобильных телефонов и их защита

Reading time5 min
Views236K
Какие существуют варианты прослушивания разговоров по мобильному телефону, как можно обеспечить защиту от атак такого рода, и как абоненту определить, что, возможно, его телефон прослушивается? Из-за возникшей в последнее время целой волны скандалов шпионского характера, эти вопросы стают вновь актуальными. Журналисты обратились к операторам украинской мобильной связи с просьбой объяснить, как вести себя абоненту в таких случаях.

Поразительным оказалось то, что практически все операторы, куда обращались журналисты — просто не смогли дать ответы на поставленные вопросы. Единственной компанией, которая согласилась помочь, оказались представители «МТС Украина». Оператор Life :) — вообще не дал ответа на направленный запрос, а в «Киевстар» ответили, что не являются экспертами в таких вопросах, и что с такими вопросами нужно обращаться в специальные госслужбы (читайте, МВД, СБУ, и т.д.) В статье ниже была так же использована информация о прослушивании мобильных телефонов, полученная из публичных источников.
Читать дальше →
Total votes 31: ↑20 and ↓11+9
Comments21

Умный дом — дешево и сердито

Reading time3 min
Views176K
Всю свою сознательную жизнь мечтал сделать если уж не весь мир, то хотя бы свое собственное жилище похожим на дома из фантастических фильмов. Чтобы, заходя после тяжелого трудового дня домой, мне заботливо включали свет, вежливо здоровались, сообщали о происшествиях, а на выходе предупреждали о погоде за бортом и закрывали за мной дверь. Чтобы мне не приходилось идти, запинаясь, в темноте к кровати, а можно было бы лечь, и только потом выключить свет со своего гаджета, который всегда под рукой.

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

На данный момент мой умный дом полностью закончен: серверная часть, web-интерфейс, приложение с виджетами под Android, контроллеры, датчики и исполнительные устройства, алгоритмы, даже собственный скриптовый язык программирования для них.

Но для начала я бы хотел вам рассказать про аппаратную часть «рабочей лошадки» дома – RC-2(room controller). Я давно пишу прошивки под AVR МК, поэтому в качестве мозга нашего контроллера будет известная Atmega 8-16PU, которая есть во всех магазинах радиодеталей. Да, ее старший брат используется в уже надоевшей всем Arduino Uno, но мы будем держаться от нее подальше.
Читать дальше →
Total votes 57: ↑44 and ↓13+31
Comments89

Cellebrite Touch — телепорт для телефона

Reading time15 min
Views84K


Привет Хабр! Несколько дней назад ко мне в руки попало необычное и очень крутое устройство. Наверное, по заглавной картинке можно догадаться о его назначении, однако, это лишь вершина айсберга. Меня больше всего впечатлил уровень реализации. Естественно, все подробности под катом, но для начала, раз уж это подробная статья, будет небольшая вводная — бизнес кейс, так сказать.

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

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

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

И вот после пары дней поиска вы уже с удивлением читаете про устройство Cellebrite, которое умеет все, что вам надо и даже больше. Давайте почитаем вместе.
Читать дальше →
Total votes 150: ↑144 and ↓6+138
Comments39

Как нам построить маленькую радиостанцию в большой сети

Reading time9 min
Views20K
В этой статье не будет описываться, как можно быстро настроить icecast в различных Linux системах для разных задач. Нет. В этой статье хотелось бы осветить маленькую историю одного небольшого проекта по выводу эфирной радиостанции в глобальную сеть. С какими проблемами пришлось столкнуться и как мы их решали.

Итак. Маленькая предистория — есть радио-холдинг из нескольких эфирных музыкальных радиостанций с головным офисом в столице нашей родины Москве. Сами радиостанции вещают себе в FM диапазоне столицы, имеют свою аудиторию и вполне себе счастливы своим слушателем. Но вот незадача — на дворе 2012 год, а направление интернет вещания развивается не шатко не валко. Дальше будет много слов и маленьких историй в рамках одной основной, если заинтересовало, добро пожаловать под кат.
Читать дальше →
Total votes 41: ↑38 and ↓3+35
Comments41

Information

Rating
Does not participate
Registered
Activity