Как стать автором
Обновить
2
0
Алексей Штокало @ashtokalo

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

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

Как заговорить на английском через месяц. 9 простых и проверенных шагов

Время на прочтение 8 мин
Количество просмотров 386K
Хабр, привет!

Меня зовут Марина Могилко, я кофаундер онлайн-платформы LinguaTrip.com.

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

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

Итак, начинаем! Осторожно: под катом мини-словарик на все случаи жизни.

image
Всего голосов 99: ↑64 и ↓35 +29
Комментарии 184

Терминальный сервер для админа; Ни единого SSH-разрыва

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


Если ваша работа требует держать множество SSH-сессий к разным серверам, вы наверняка знаете, как они легко ломаются при переключении на другой Wi-Fi или при временной потере интернета. Но что, если я скажу вам, что все эти проблемы давно решены и можно забыть про сломанные сессии и постоянные переподключения?

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

Читать дальше →
Всего голосов 58: ↑56 и ↓2 +54
Комментарии 63

Восстановленные смартфоны: выгода или обман?

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


По оценкам, глобальный рынок отремонтированных смартфонов сейчас около $20 млрд, и ожидается, что он вырастет в два раза к $40 млрд к 2025-му. В развитых странах таких девайсов продают по 150 млн штук в год. Это примерно 10% от рынка всех смартфонов.


Процесс особенно развит в США. Один из пяти смартфонов, проданных американцам в 2018-м, был восстановленным. При этом в то время как продажи обычных смартфонов падают седьмой квартал подряд, рынок отремонтированных девайсов растет (данные CounterPoint Research).


Но покупатели, особенно из России, к таким предложениям по-прежнему относятся настороженно. Давайте посмотрим, что на самом деле собой представляют такие «восстановленные» девайсы, у кого их берут, и насколько это рискованно.

Читать дальше →
Всего голосов 51: ↑49 и ↓2 +47
Комментарии 84

Что показывает вольтметр, или математика розетки

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


О чем эта статья


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

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

Скорее всего, это статья будет интересна тем, кто начинает творить свои устройства. Но, возможно, поможет и кому-то опытному освежить память.

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

Кому не интересно читать про интегралы, ГОСТы и фазы — могут сразу переходить к заключению.
Читать дальше →
Всего голосов 138: ↑135 и ↓3 +132
Комментарии 161

Python + OpenCV + Keras: делаем распознавалку текста за полчаса

Время на прочтение 12 мин
Количество просмотров 197K
Привет Хабр.

После экспериментов с многим известной базой из 60000 рукописных цифр MNIST возник логичный вопрос, есть ли что-то похожее, но с поддержкой не только цифр, но и букв. Как оказалось, есть, и называется такая база, как можно догадаться, Extended MNIST (EMNIST).

Если кому интересно, как с помощью этой базы можно сделать несложную распознавалку текста, добро пожаловать под кат.


Читать дальше →
Всего голосов 37: ↑35 и ↓2 +33
Комментарии 27

Время высокой точности: как работать с долями секунды в MySQL и PHP

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


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


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


Я буду использовать термин «время высокой точности». В документации MySQL вы увидите термин “fractional seconds”, но его дословный перевод звучит странно, а другого устоявшегося перевода я не нашёл.

Читать дальше →
Всего голосов 60: ↑59 и ↓1 +58
Комментарии 24

Какие проекты имеет смысл начинать и что нужно промышленности от ИТ сейчас

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

Одна из главных задач ИТ сейчас в производственном секторе — уменьшить количество аварий.

Что сейчас меняется на производствах?


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

Всё идёт к тому, что через десять лет все сотрудники производств будут «под колпаком». Сейчас уже есть пилоты, но до массового распространения технологий ещё пара лет. Будет интерфейс руководителя производства, подозрительно напоминающий компьютерную игру. Там положение каждого сотрудника, свойства и состояния каждого станка, очередь задач, самочувствие каждого, тип исполняемых операций. Смысл в том, чтобы оцифровать всё и контролировать правильность исполнения процессов. И ещё вспомогательный AI будет оптимизировать задачи сотрудников — уже есть примеры, где работа распределяется по оптимальной загрузке станков и навыкам рабочих, правильно кластеризуется и выстраивается в оптимальной последовательности.
Читать дальше →
Всего голосов 29: ↑28 и ↓1 +27
Комментарии 12

Скучный технологический стек интернет-компании из одного человека

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

Поисковая выдача на ListenNotes.com

Listen Notes — это поисковая система и база данных подкастов. Технология на самом деле очень скучная. Никакого ИИ, глубокого обучения или блокчейна. «Если вы должны объявлять о внедрении ИИ, то вы не используете Настоящий ИИ» :)

После прочтения этой статьи вы сможете повторить мой проект или легко сделать нечто подобное. Не придётся нанимать много разработчиков. Помните, когда Instagram привлёк $57,5 млн и отошёл к Facebook за $1 млрд, у них было всего 13 сотрудников — и это не только разработчики. Покупка Instagram произошла в начале 2012-го. Сейчас 2019 год, и сегодня как никогда просто создать что-то значимое с крошечной инженерной командой — даже из одного человека.
Всего голосов 71: ↑69 и ↓2 +67
Комментарии 54

«Ужасные» трёхцентовые MCU – краткий обзор микроконтроллеров стоимостью менее $0,1

Время на прочтение 6 мин
Количество просмотров 40K
Я, в числе прочих, поразился прошлогоднему известию в блоге EEVblog о том, что какие-то микроконтроллеры продаются всего по $0,03 за штуку. Как это было возможно? Многие предположили, что это распродажа или старые остатки. Покопавшись в истории, я пришёл к выводу о существовании целого сегмента рынка сверхдешёвых микроконтроллеров. Почти все они произведены малоизвестными компаниями из Китая или Тайваня. В данной статье я свёл результаты своих изысканий в этой довольно необычной нише.

Мы уже знаем, что существует довольно большой спектр очень мощных микроконтроллеров стоимостью по $1.00, но что насчёт MCU по $0,1? Так ли они «ужасны», как о них пишут?

Методология


Как определить микроконтроллер стоимостью в $0,1? Да как хотите; выбор определения произволен. Я решил пойти напрямик, используя стоимость 100 штук в магазине LCSC. Я обнаружил шесть производителей, предлагавших один или несколько чипов стоимостью менее $0,1, и все они были из Азии. Если чипы предлагались в различных корпусах, я выбирал вариант SOP8. У некоторых производителей было несколько кандидатов, поэтому мне пришлось ограничиться выбором типичных устройств для финального списка из 8 кандидатов.
Читать дальше →
Всего голосов 67: ↑62 и ↓5 +57
Комментарии 61

Исповедь docker хейтера

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

Я должен признаться. Я ненавижу docker. Всей своей душой. Это самая ужасная софтина, которую я видел за последние 10 лет.


С одной стороны, я очень уважаю одноименную компанию. Ребята из Docker Inc. реально популяризировали контейнеризацию. Теперь о ней не знает только ленивый. С другой стороны, ничего принципиально нового они не изобрели — контейнеризация на момент, когда Docker "выстрелил", уже существовала более 30 лет (начиная от chroot, вспомним еще jails и zones, ну, и наконец-то — namespaces & cgroups).


Круто, что docker реально ускоряет разработку во множество раз. Если вести ее правильно, то даже без потери в качестве. В любом случае, docker здесь, от него не деться и приходится им пользоваться.


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


Disclaimer: все написанное ниже является личным мнением автора и может как отражать реальность, так и не отражать реальность. Материал строго провокационного характера и основной целью является не унизить или обидеть кого бы то ни было, а скорее заставить людей включить голову и осознать масштабы глубин (с).

Читать дальше →
Всего голосов 220: ↑203 и ↓17 +186
Комментарии 539

Проблемы безопасности Docker

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


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


В Docker уже встроено несколько замечательных средств обеспечения безопасности:


  • Docker-контейнеры минимальны: один или несколько работающих процессов, только необходимое программное обеспечение. Это снижает вероятность пострадать от уязвимостей в ПО.


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


  • Docker-контейнеры изолированы как от хоста, так и от других контейнеров. Этого удается добиться благодаря способности ядра Linux изолировать ресурсы с помощью cgroups и namespaces. Но есть серьезная проблема — ядро приходится делить между хостом и контейнерами (мы еще вернемся к этой теме чуть позже).


  • Docker-контейнеры воспроизводимы. Благодаря их декларативной системе сборки любой администратор может легко выяснить, из чего и как был сделан контейнер. Крайне маловероятно, что у вас в итоге окажется неизвестно кем настроенная legacy-система, которую никому не хочется конфигурировать заново. Знакомо, не правда ли? ;)

Однако в основанных на Docker системах есть и слабые места. В этой статье мы как раз о них и поговорим, рассмотрев 7 проблем безопасности Docker.

Читать дальше →
Всего голосов 27: ↑26 и ↓1 +25
Комментарии 1

Sampler. Консольная утилита для визуализации результата любых shell команд

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

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


Sampler


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


Код доступен на гитхабе. Инструкции по установке — для Linux, macOS и (экспериментально) Windows.

Читать дальше →
Всего голосов 298: ↑297 и ↓1 +296
Комментарии 54

Инструментарий тимлида от e-mail до канбан-доски

Время на прочтение 8 мин
Количество просмотров 12K
В этот раз на TeamLead Conf мы решили собрать докладов на целый поток больше. В сентябре в Питере впервые будет три параллельных трека докладов для тимлидов и про тимлидов. С одной стороны это связано с тем, что мы растём и развиваемся, с другой стороны — тематика конференции нам это позволяет, а разнообразие направлений работы и развития тимлида рекомендуют как можно более широко и глубоко освещать эту деятельность.

Итак, по доброй традиции у нас будет 6 основных направлений нанесения пользы. Ниже их «говорящие» названия:

  • Личное развитие. 
  • Работа с командой. 
  • Инструментарий тимлида.
  • Развитие осознанности.
  • Трансформационные изменения в процессах и людях.
  • Выстраивание технологического процесса. 

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



Инструментарию тимлида в этот раз будет посвящено больше десяти докладов. С моей точки зрения это вполне соответствует положению дел в индустрии. Поскольку лиды в большинстве своём инженеры, то методы решения даже не инженерных задач у них всё равно близки к инженерным.
Читать дальше →
Всего голосов 31: ↑29 и ↓2 +27
Комментарии 5

Слуховой аппарат на базе open source — как он устроен

Время на прочтение 4 мин
Количество просмотров 8.7K
Инженеры из университета Пердью с коллегами представили Tympan — слуховой аппарат на базе открытого программного обеспечения. Рассказываем, из чего он состоит и что о нем думают люди.

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

Продуктовая разработка на Go: история одного проекта

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


Всем привет! Меня зовут Максим Рындин, я тимлид двух команд в Gett – Billing и Infrastructure. Хочу рассказать про продуктовую веб-разработку, которую мы в Gett ведем преимущественно на языке Go. Я расскажу, как в 2015-2017 годах мы переходили на этот язык, почему вообще его выбрали, с какими проблемами столкнулись во время перехода и какие решения нашли. А о текущей ситуации расскажу уже в следующей статье.

Для тех, кто не знает: Gett — это международный сервис заказа такси, который был основан в Израиле в 2011 году. Сейчас Gett представлен в 4 странах: Израиль, Великобритания, Россия и США. Основные продукты нашей компании — это мобильные приложения для клиентов и водителей, веб-портал для корпоративных клиентов, где можно заказать машину, и еще куча внутренних админок, через которые наши сотрудники настраивают тарифные планы, подключают новых водителей, мониторят случаи мошенничества и многое другое. В конце 2016 года в Москве открылся глобальный офис R&D, который работает в интересах всей компании.
Читать дальше →
Всего голосов 46: ↑41 и ↓5 +36
Комментарии 24

Как правильно мерять производительность диска

Время на прочтение 14 мин
Количество просмотров 335K
abstract: разница между текущей производительностью и производительностью теоретической; latency и IOPS, понятие независимости дисковой нагрузки; подготовка тестирования; типовые параметры тестирования; практическое copypaste howto.

Предупреждение: много букв, долго читать.

Лирика



Очень частой проблемой, является попытка понять «насколько быстрый сервер?» Среди всех тестов наиболее жалко выглядят попытки оценить производительность дисковой подсистемы. Вот ужасы, которые я видел в своей жизни:
  • научная публикация, в которой скорость кластерной FS оценивали с помощью dd (и включенным файловым кешем, то есть без опции direct)
  • использование bonnie++
  • использование iozone
  • использование пачки cp с измерениема времени выполнения
  • использование iometer с dynamo на 64-битных системах


Это всё совершенно ошибочные методы. Дальше я разберу более тонкие ошибки измерения, но в отношении этих тестов могу сказать только одно — выкиньте и не используйте.

Как мерять правильно
Всего голосов 151: ↑145 и ↓6 +139
Комментарии 164

Балансировка нагрузки: основные алгоритмы и методы

Время на прочтение 11 мин
Количество просмотров 175K
балансировка нагрузки

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

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

Балансировка нагрузки может осуществляться при помощи как аппаратных, так и программных инструментов. Об основных методах и алгоритмах и балансировки мы бы хотели рассказать в этой статье.
Читать дальше →
Всего голосов 36: ↑31 и ↓5 +26
Комментарии 15

Как собрать бинарный deb пакет: подробное HowTo

Время на прочтение 15 мин
Количество просмотров 216K
Сегодня я расскажу на абстрактном примере как правильно создать *.deb пакет для Ubuntu/Debian. Пакет мы будем делать бинарный. Пакеты, компилирующие бинарники из исходников здесь не рассматриваются: осилив изложенные ниже знания, в дальнейшем по готовым примерам можно понять суть и действовать по аналогии :)

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

В качестве бонуса в конце статьи будет пример быстрого создания собственного локального репозитория: установка пакетов из репозитория позволяет автоматически отслеживать зависимости, и конечно же! — устанавливать всё одной консольной командой на нескольких машинах :)

Для тех, кто не хочет вдаваться в мощную систему установки софта в Linux, рекомендую посетить сайт проги CheckInstall: она автоматически создаёт deb-пакет из команды «make install» ;) А мы вместе с любопытными —
поехали дальше!
Всего голосов 73: ↑63 и ↓10 +53
Комментарии 40

Что должен делать тимлид: роли, обязанности и навыки

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


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


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


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

Читать дальше →
Всего голосов 73: ↑71 и ↓2 +69
Комментарии 28

10 лучших JavaScript библиотек для визуализации данных на графиках и диаграммах

Время на прочтение 9 мин
Количество просмотров 141K
Есть в графиках что-то магическое. Изгиб кривой мгновенно раскрывает всю ситуацию — историю развития эпидемии, паники или периода процветания. Эта линия просвещает, пробуждает воображение, убеждает.
Генри. Д. Хаббард
Объемы данных, с которыми нужно работать, постоянно увеличиваются. И чем больше информации, тем сложнее ее обрабатывать. Вот почему сейчас стала особенно популярна тема визуализации данных — в виде графиков, диаграмм, дашбордов, желательно интерактивных. Визуальное представление данных позволяет нам, людям, тратить меньше времени и сил на их просмотр, анализ и осмысление, а также на принятие правильных, информированных решений на основе этого.

Вряд ли кто-то станет отрицать, что в современном HTML5 вебе JavaScript — самая универсальная и простая технология для визуализации данных. Так что, если вы занимаетесь фронтенд-разработкой, то вы, скорее всего, либо уже имели дело с созданием JS чартов, либо столкнетесь с этим в (скором) будущем.

Существует множество JavaScript библиотек для построения графиков и диаграмм, каждая из которых (как и любые другие инструменты) имеет свои плюсы и минусы. Чтобы облегчить вам жизнь, я решил рассказать о тех из них, которые нравятся мне больше всего. Я считаю, десять следующих библиотек — это лучшие JS библиотеки для создания графиков, и они действительно способны помочь решить практически любую задачу по визуализации данных. Давайте вместе пройдемся по списку и убедимся, что они вам известны хотя бы базово и вы не упустили из виду какую-нибудь хорошую библиотеку, которая может оказаться полезной в текущих или будущих больших проектах.

Заглавная картинка: визуализация данных на графиках и диаграммах

Что ж, приступим: вот лучшие JS библиотеки для визуализации данных!
Читать дальше →
Всего голосов 31: ↑27 и ↓4 +23
Комментарии 29

Информация

В рейтинге
Не участвует
Откуда
Краснодарский край, Россия
Зарегистрирован
Активность