Habrahabr лучшее

Лучшие публикации за последние 24 часа
Подписка на Лента Habrahabr лучшее Habrahabr лучшее
Автор статьи, перевод которой мы сегодня публикуем, говорит, что TypeScript — это просто потрясающе. Когда он только начал пользоваться TS, ему страшно нравилась та свобода, которая присуща этому языку. Чем больше сил программист вкладывает в свою работу со специфичными для TS механизмами — тем значительнее получаемые им выгоды. Тогда он использовал аннотации типов лишь периодически. Иногда он пользовался возможностями по автодополнению кода и подсказками компилятора, но, в основном, полагался лишь на собственное видение решаемых им задач.

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



В итоге он пришёл к выводу о том, что лучше так не делать. Он подружился с компилятором, начал обращать внимание на его подсказки. Компилятор находит проблемы в коде и сообщает о них задолго до того, как они могут нанести реальный вред. Автор статьи, глядя на себя как на разработчика, понял, что компилятор — это его лучший друг, так как защищает его от него самого. Как тут не вспомнить слова Альбуса Дамблдора: «Требуется большая храбрость, чтобы выступить против своих врагов, но не меньше ее требуется и чтобы выступить против своих друзей».

Каким бы хорошим другом ни был компилятор, ему не всегда легко угодить. Иногда избежать использования типа any очень непросто. А порой кажется, что any — это единственное разумное решение некоей проблемы.

Этот материал посвящён двум ситуациям. Избежав использования в них типа any можно обеспечить типобезопасность кода, открыть возможности по его повторному использованию и сделать его интуитивно понятным.
Читать дальше →


После появления первого электротранспорта в XIX веке и второго всплеска популярности в 70-х годах XX века электробусы вновь вышли на улицы городов. О том, что повлияло на их развитие и как изменились технологии: от создания ёмких аккумуляторов до развития зарядной инфраструктуры — можно узнать в нашей новой статье.
Читать дальше →
Привет!

С начала года мы провели около 10 хакатонов и воркшопов по всей стране. В мае мы вместе с AI-community организовывали хакатон по направлению «Цифровизация производства». До нас хакатон про data science на производстве ещё не делали, и сегодня мы решили подробно рассказать о том, как это было.



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

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

В чём главная ценность таких задач? Правильно, в максимальном приближении к настоящим бизнес-кейсам, а не к абстрактным проектам. Первая задача уже подробно описана на Хабре одним из участников (спасибо, cointegrated Давид!). А второй задачей, вынесенной на хакатон, стала необходимость оптимизировать процесс совмещения плановых ремонтов ж/д-вагонов логистического парка. Это взяли прямо из нашего текущего бэклога, немного адаптировав для участников, дабы сделать её понятнее.

Итак, описание задачи.
Читать дальше →


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

Мишель Уэстстрате хорошо знает обо всём этом: у его библиотеки MobX больше 17 000 звёзд на гитхабе, число её контрибьюторов давно перевалило за сотню. А скоро Мишель приедет в Россию выступить на HolyJS, поэтому ребята из программного комитета конференции (Дмитрий DmitryMakhnev Махнёв и Евгений bunopus Кот) подробно расспросили его: и об опенсорсе в целом, и конкретно о MobX, и о конференциях.
Читать дальше →
Кибернетики в течение 60 лет не могли полноценно осмыслить тему сходства людей и роботов. Они даже придумали надуманный и переусложнённый Критерий Тьюринга: «можно считать, что создан настоящий ИИ, если нельзя отличить чат-бота от человека в сетевом общении».

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

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

28 сентября в штате Калифорния был принят закон о запрете чат-ботов, побуждающих к покупке товаров и услуг, или продвигающих политические партии, если эти чат-боты не сообщают собеседникам, что не являются людьми.
Читать дальше →
Что я узнал об аркадном автомате Bomb Jack в процессе создания его эмулятора


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

Как я узнал намного позже, встреча на летней ярмарке в моём родном городе с аркадными автоматами наподобие Bomb Jack стала одним из тех моментов, которые переменили мою судьбу. Обычным летним днём, потратив весь свой запас монет на аркадные автоматы, я возвращался домой, и голова моя была заполнена цветами и звуковыми эффектами. Я пытался понять, как работали эти игры. А затем до конца года я тратил всё своё время после школы на создание довольно блеклых копий этих аркадных игр на домашнем компьютере. Я походил на поклонника карго-культа с островов Тихого океана, желавшего создать американскую военную радиостанцию из палок.

Сначала я думал над идеей создания эмулятора Pengo, потому что мой подростковый мозг эта игра впечатлила гораздо сильнее, чем Bomb Jack (кстати, вот моя карго-культовая версия Pengo). Но аркадное оборудование Pengo потребовало бы создания эмуляторов новых чипов для звука и видео, а для Bomb Jack оказалось достаточно уже имевшихся у меня частей (Z80 в качестве ЦП и AY-3-8910 для звука), поэтому первым я взялся за Bomb Jack.
Читать дальше →
Судя по всему, переговоры «Яндекса» с «Газпром-медиа» и другими правообладателями дали результат. Поисковые системы вынуждены подчиниться. В России разработают новые поправки к законодательству, согласно которым поисковики будут обязаны удалять пиратские ссылки из выдачи в досудебном порядке по требованию правообладателей, сообщают «Ведомости».

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

Такие поправки в законодательство предлагались и раньше, и тогда «Яндекс» их резко критиковал, но после недавнего конфликта с «Газпром-медиа» кажется, что инициатива перешла в руки правообладателей.
Читать дальше →
Мы не особо любим социальные сети, но вынуждены их почитывать: мониторить упоминания, отслеживать мнения, ближе знакомиться со своей аудиторией. Что удивительно, о CRM говорят много, часто безапелляционно и квази экспертно, реже — разумно и профессионально. Но все эти люди проявляют к CRM-системам интерес, а значит, интересны нам. Мы погуляли по Facebook, собрали кучу высказываний пользователей за 2018 год и готовы скопом ответить на их претензии, мнения, вопросы в области CRM-систем. Как минимум, формат получился занятным, как максимум весьма полезным. Ведь «экспертиза» просто зашкаливает.


Типичный «эксперт» в социальной сети
Читать дальше →


Тема идеального кода нередко вызывает полемику в среде матерых программистов. Тем интереснее было заполучить мнение директора по разработке Parallels RAS Игоря Марната. Под катом его авторский взгляд по заявленной теме. Enjoy! Читать дальше →
Сегодня рассказываем об обновлении Windows 10 October 2018 Update. Кроме того, представляем инновации в Office 365, To-Do и Outlook.com. Эти обновления были разработаны, чтобы помочь вам наиболее эффективно использовать ваше время на работе, дома и во все остальные моменты. Подробнее под катом!

Читать дальше →


Для моториканца «киборг» — это широкое понятие. Киборги — это не только пользователи высокотехнологичных протезов руки как я или люди с протезами ног. Люди с любого рода аугментацией — нейростимуляторами, кохлеарными и сердечными имплантами, инсулиновыми помпами, кардиостимуляторами — все они киборги. Наша команда уже научилась делать киборгов, дополняя людей активными и высокотехнологичными протезами рук, и мы будем продолжать совершенствовать это направление. Но теперь добавляем новое — инвазивная микроэлектроника.
Читать дальше →
— Куды? – грозно спросила бабка, встав спиной к двери.

— Куды надо. – передразнил неопрятный парень, с красными глазами, взъерошенными волосами и в черной футболке с надписью «Король и Шут».

— Ну-ка, не пущай его! – встала со скамейки другая бабка. – Ишь, вумные, без очереди лезут! Мы тут с шости утра стоим!

— Не стоите, а сидите. – ответил парень. – Дайте пройти, я по делу.

— Знаем мы, по какому ты делу! – вступила симпатичная девушка лет тридцати. – Только спросить?

— Да что с вами такое, а? – возмутился парень. – Работаю я здесь! Я – программист! Читать дальше →
На прошедшей «GitHub Universe» компания анонсировала много разного, но меня больше всего «зацепило» их собственное CI/CD решение. Основано на Docker, может собирать и выполнять контейнеры по пушу в репозиторий, появлению нового тикета, созданию релиза. здесь можно оставить заявку на участие в публик бете, Microsoft будет выдавать инвайты небольшими пачками. Под катом — мои спекуляции чем такая штука может быть нам полезна при живых GitLab и CircleCI.
Читать дальше →

В MongoDB несколько обижены тем, что некоторые облачные провайдеры, особенно в Азии, используют их открытый код и предлагают коммерческую версию их базы данных в облаке своим пользователям, не играя по правилам открытого ПО. Чтобы бороться с этим, MongoDB сегодня объявила о выпуске новой лицензии на программное обеспечение — Server Side Public License (SSPL), которая будет использоваться во всех новых релизах их MongoDB Community Server, а также во всех патчах к предыдущим версиям.

Читать дальше →

Павел Селиванов — основной спикер на интенсивах по Кубернетес (Слёрм-2 для тех, кто только знакомится с технологией и МегаСлёрм для тех, кто уже работает с Кубернетес).
25–27 октября — Слёрм-2
29–31 октября — МегаСлёрм


Если вы зарегистрируетесь до 18 октября, скажите менеджеру «я с вебинара», и вам сделают скидку 10%.


Слёрм-3 намечен на июнь '19.


TL;DR вебинара:


1. Если вы рассчитываете на волшебную таблетку, которая сама по себе решит ваши проблемы, то Kubernetes вам не нужен. На этом можно закончить просмотр/чтение.

Читать дальше →


Сегодня стало известно о судьбе проекта Telegram Open Network (TON), анонсированного Павлом Дуровым в этом году. О ходе разработки компания Telegram рассказала в специальной рассылке в начале сентября. Подлинность информации подтвердили два инвестора, которые получили рассылку, о чем рассказали «Ведомости».

Стоит напомнить, что TON — блокчейн-платформа, над созданием которой работает команда Telegram. Инвесторы предоставили около $1,7 млрд, причем процесс инвестирования был закрытым, средства принимали не у всех. Тем счастливчикам, деньги которых были приняты, обещали, что TON сможет обрабатывать транзакции в своей сети быстрее, чем Bitcoin и Ethereum. Скорость работы последних вызывает нарекание со стороны пользователей и адептов блокчейн-технологии.
Читать дальше →


Компания Badoo существует уже более 12 лет. У нас очень много PHP-кода (миллионы строк) и наверняка даже сохранились строки, написанные 12 лет назад. У нас есть код, написанный ещё во времена PHP 4 и PHP 5. Мы выкладываем код два раза в день, и каждая выкладка содержит примерно 10—20 задач. Помимо этого, программисты могут выкладывать срочные патчи — небольшие изменения. И в день таких патчей у нас набирается пара десятков. В общем, наш код меняется очень активно.

Мы постоянно ищем возможности как для ускорения разработки, так и для повышения качества кода. И вот однажды мы решили внедрить статический анализ кода. Что из этого получилось, читайте под катом.
Читать дальше →
Всем привет, я снова выхожу на связь и посмотрите с чем! На фото — очень редкий (на 1989г. было выпущено 56 штук) сканирующий электронный микроскоп производства компании TESLA, выставленный в техническом музее г. Брно. Сверхвысоковакуумная колонна, катод с холодной полевой эмиссией позволили достичь гарантированного разрешения в 5нм и увеличения 500000x.



Мне удалось заполучить в свой гараж точно такой же микроскоп, пролежавший с 1990 года в нераспакованном виде. Обзор и все подробности процесса распаковки — под катом.
Читать дальше →
Вступление

Многие начинающие веб-разработчики сталкиваются с необходимостью создания меню, каталогов или рубрикаторов для своего проекта на Yii2, которые бы имели иерархическую структуру, но при этом поддерживали мультиязычность. Задача довольно простая, но не совсем очевидная в рамках данного фреймворка. Есть большое количество готовых расширений для создания древовидных структур (меню, каталогов итд.), но довольно сложно найти решение, которое бы поддерживало полноценную работу с несколькими языками. Причём речь тут идёт не о переводе интерфейса штатными средствами фреймворка, а про хранение данных в базе на нескольких языках. Также достаточно сложно найти удобный и полностью работоспособный виджет для управления деревом, который мог бы также работать с многоязычным контентом без сложных манипуляций с кодом.


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

Читать дальше →
Наверное, у каждого из нас есть гаджет или устройство, которые мы не используем: тренажёр, плеер, кухонный инвентарь, всякие странные штуки для автомобиля, шнуры, хабы и проч. Лежат они, новенькие, с гарантийниками и годами ждут своего часа, которому чаще всего уже не дано случиться — слишком быстро движется научно-технический прогресс. Так и формируется на полках и в шкафах наш личный музей современной техники. Который в последнее время пополнился ещё одним экспонатом — 3D-принтером. Или нет?

Кто-то 3D-принтер использует и так
Читать дальше →

Страницы

Последние публикации

Новые комментарии