Социальные сети Рунета
Воскресенье, 28 апреля 2024

[Из песочницы] Генератор мемов на Ruby для привлечения интереса к языку По моему мнению язык Ruby перестал быть популярным как в 2012 — 2014 году и поэтому у меня возникло желание пока про язык совсем не забыли, попробовать его снова донести в массы, ведь Ruby по моему мнению самый удобный и практичный язык для веб разработки. Я с неделю назад ...

[Перевод] Самая популярная мобильная игра: как создавалась «Змейка» для телефонов Nokia Танели Арманто не любит рассказывать людям, что изменил мир. На самом деле я уверен, что если вы не являетесь другом его семьи, то ничего о нём не слышали. Обычно он никогда не рассказывает о своём величайшем достижении, но его дети не упускают случая им похвастаться. В кон...

[Из песочницы] Extension в Dart (Flutter) В недавном релизе языка Dart 2.6 в языке появилась новая функция, static extension или статические методы расширения, который позволяет вам добавить новые методы к существующим типам. Зачем вообще нужны extension? Как их использовать и на что они годятся? Введение Начнём ...

Не очередной язык программирования В последнее время на рынке появилось огромное количество новых языков программирования: Go, Swift, Rust, Dart, Julia, Kotlin, Hack, Bosque – и это только из числа тех, которые на слуху. Ценность того, что эти языки привносят в мир программирования, тяжело переоценить, но,...

[Перевод] Cython: более чем 30-кратное ускорение Python-кода Python — это язык, который любят многие программисты. Этим языком невероятно легко пользоваться. Всё дело в том, что код, написанный на Python, отличается интуитивной понятностью и хорошей читабельностью. Однако в разговорах о Python часто можно слышать одну и ту же жалобу н...

[Перевод] Биография Терри Дэвиса, «величайшего из когда-либо живших программистов» Наиболее полный источник информации о жизни создателя TempleOS Терри Дэвиса Легко заклеймить Терри Дэвиса параноидальным, нарциссическим, душевнобольным и психически нестабильным расистом, 12 лет своей жизни проведшим за созданием бесполезной операционной системы TempleOS, п...

Официальный сайт JetBrains теперь доступен на русском языке Как технологическая компания, мы в JetBrains стараемся поддерживать самые популярные языки и технологии программирования. А как международная компания, мы хотим, чтобы представители разных культур, говорящие на разных языках, могли легко получить информацию о продуктах JetBr...

[Перевод] Python как предельный случай C++. Часть 2/2 Продолжение. Начало в «Python как предельный случай C++. Часть 1/2». Переменные и типы данных Теперь, когда мы окончательно разобрались с математикой, давайте определимся, что в нашем языке должны означать переменные. В С++ у программиста есть выбор: использовать автоматичес...

Субъективное видение идеального языка программирования Дальнейший текст — моя точка зрения. Возможно, она позволит кому-то по-новому взглянуть на дизайн языков программирования или увидеть какие-то преимущества и недостатки конкретных фич. Я не буду лезть в частные подробности типа "в языке должна быть конструкция while", а прос...

[Перевод] Тесты или типы Привет, Хабр. На днях я искал, как сделать что-то в Idris, и наткнулся на неплохой пост, вольный перевод которого выглядит вполне уместным. Вольности и отсебятину, где необходимо, я буду обозначать ⟦вот такими закорючками в начале и в конце⟧. Когда стоит использовать тесты, ...

[Перевод] Питон, пожирающий мир: как побочный проект одного разработчика стал популярнейшим языком программирования Разочаровавшись в недостатках существовавших языков программирования, Гвидо Ван Россум создал язык Python. Сейчас этот язык используют миллионы людей, и Ник Хит беседует с ван Россумом о прошлом и будущем языка. Гвидо Ван Россум в штаб-квартире Dropbox в 2014 году В конце ...

[Перевод] Современная игра для NES, написанная на Lisp-подобном языке What Remains — это повествовательная игра-адвенчура для 8-битной видеоигровой консоли NES, выпущенная в марте 2019 года как бесплатный ROM, запускаемый в эмуляторе. Она создавалась небольшой командой Iodine Dynamics на протяжении двух лет с перерывами. В настоящий момент игр...

Всё, кроме Kotlin: Андрей Бреслав о гендерном балансе в IT, эмоциях и не только Андрей Бреслав (abreslav) известен прежде всего как человек, возглавляющий работу над языком Kotlin. Но в последнее время он стал выступать с докладами совсем о другом: весной говорил о важности эмоций при работе в IT, а в августе на TechTrain представит доклад «Это выгодн...

Опыт перевода большого проекта с Flow на TypeScript JavaScript – это один из языков с динамической типизацией. Такие языки удобны для быстрой разработки приложений, но когда несколько команд берутся за разработку одного большого проекта, лучше с самого начала выбрать один из инструментов для проверки типов. Можно начать р...

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

Как продвинуть инкрементальную игру? Бесплатно, быстро и эффективно* Если вы когда-либо сделали игру, вероятно, вы столкнулись с той же проблемой, что и многие другие разработчики до вас: никто не знает о вашей игре. Под катом я расскажу, как рассказать миру о вашей инкрементальной** игре бесплатно, быстро и эффективно (в какой-то степени). Ч...

Немного о лексическом анализе Давным-давно, когда небо было голубым, трава зеленее и по Земле бродили динозавры… Нет, забудьте про динозавров. Ну, в общем, когда-то тогда пришла в голову мысль отвлечься от стандартного web-программирования и заняться чем-то более безумным. Можно было, конечно, чем угод...

[Из песочницы] Как создать 2D игру с Python и аркадной библиотекой Привет, Хабр! представляю вашему вниманию перевод статьи How to create a 2D game with Python and the Arcade library автора Paul Vincent Craven Как создать 2D игру с Python и аркадной библиотекой Узнайте, как начать работу с Arcade, простой в использовании библиотеки Python д...

Психология Звукового Зрения. Светлана Лебедева рассказала, как учат людей новому способу восприятия «Темнота тоже бывает красивой – когда в ней прячется свет» (с) Сергей Лукьяненко «Мальчик и Тьма» Выучить незнакомый язык под силу каждому, будь то иностранный, жестовый или какой-нибудь язык программирования. Кто-то будет осваивать его несколько месяцев, кому-то потребует...

Как слепоглухой профессор в шлемофоне покорил Хакатон-2019 Два дня и одна ночь потребовалась разработчикам, чтобы не имея ничего, кроме идеи, создать первое в мире виброслуховое средство реабилитации – шлемофон для слепоглухого профессора психологии Александра Суворова. Но победой москвичам пришлось поделиться с разработчиками мобил...

Неопределённое поведение в C++ Ситуация, когда код на языке C++ синтаксически валиден, однако его поведение не определено в Стандарте, в русскоязычной литературе часто называют просто неопределённым поведением. В самом же Стандарте для таких ситуаций существуют целых 3 термина: undefined behavior, unspec...

Make Your Database Dream of Electric Sheep: Designing for Autonomous Operation Как вы думаете, кто лучше настроит PostgreSQL — DBA или ML алгоритм? И если второй, то пора ли нам задуматься, чем заняться, когда нас заменят машины. Или до этого не дойдет, и важные решения все-таки должен принимать человек. Наверное, уровень изоляции и требования к устойч...

Не блокчейн Чуть больше 10 лет назад, 3 января 2009 года был создан genesis block Биткойна. Так началась история блокчейна, обещавшая перевернуть мир, создать новую экономику, сделать существующие банки реликтами прошлого. 10 лет — достаточно долгий срок, чтобы подвести итоги, поговор...

[Из песочницы] Как создать игру, если ты ни разу не художник В жизни каждого программиста бывали моменты, когда он мечтал сделать интересную игру. Многие программисты эти мечты реализовывают, и даже успешно, но речь сейчас не о них. Речь о тех, кто любит играть в игры, кто (даже не имея знаний и опыта) и сам пытался их когда-то созда...

Arend – язык с зависимыми типами, основанный на HoTT (часть 1) В данном посте мы поговорим о только что выпущенном JetBrains языке с зависимыми типами Arend. Этот язык разрабатывался JetBrains Research на протяжении последних нескольких лет. И хотя репозитории уже год назад были выложены в открытый доступ на github.com/JetBrains, полноц...

C++ против C# Всем известно, что нет ничего глупее споров «какой язык лучше». Например, лучше для чего? Разные языки успешны в разных нишах — и бессмысленно делать категоричные выводы, не учитывая это. Но что получится, если обратиться к опытным специалистам, которые сами всё это поним...

[Из песочницы] Почему мы пишем бизнес-логику на Lua Привет, Хабр. В этом посте мы хотим рассказать о том, как и почему мы в IPONWEB используем язык программирования с красивым названием Lua. Lua — скриптовый встраиваемый язык программирования со свободно распространяемым интерпретатором и открытыми исходными текстами на C. О...

[Перевод] Как без особенных усилий создать ИИ-расиста Предостерегающий урок. Сделаем классификатор тональности! Анализ тональности (сентимент-анализ) — очень распространённая задача в обработке естественного языка (NLP), и это неудивительно. Для бизнеса важно понимать, какие мнения высказывают люди: положительные или отрицате...

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

[Перевод] Забудьте про Walkman: всё дело в наушниках Сорок лет назад в августе в Японии был запущен новый продукт, влияние которого на рынок потребительской электроники оказалось настолько серьёзным, что мы и по сей день используем его потомков. Говорят, что один из основателей Sony любил слушать музыку в деловых поездках, и...

В анализаторе все должно быть прекрасно: и функциональность, и интерфейс… Изучаем новый интерфейс Solar appScreener 3.1 Как говаривал Генри Форд, все можно сделать лучше, чем делалось до сих пор. Вот и мы так подумали, когда приступили к работе над версией 3.1 нашего анализатора защищенности приложений. Нам ОООЧЕНЬ хотелось сделать наш продукт не только самым крутым по функциональности: напри...

Ученые создали самую детальную модель Вселенной в истории Полюбуйтесь на самую масштабную модель Вселенной, когда-либо созданную человеком.

Установка Windows через Windows Deployment Services и Microsoft Deployment Toolkit Как было написано в одной умной книге — если в вашем IT-отделе нет автоматизированной установки операционной системы, то её создание может быть самой важной задачей, которую вы когда-либо выполняли. Читать дальше →

Не очередной язык программирования. Часть 3: Физика Третья и заключительная часть серии статей о языке lsFusion (ссылки на первую и вторую части) В ней речь пойдет о физической модели: всем том, что не связано с функционалом системы, а связано с ее разработкой и оптимизацией производительности, когда данных становится слиш...

«Анализ данных на Python» в двух частях Курсы по анализу данных в CS центре читает Вадим Леонардович Аббакумов — кандидат физ.-мат. наук, он работает главным экспертом-аналитиком в компании Газпромнефть-Альтернативное топливо. Лекции предназначены для двух категорий слушателей. Первая — начинающие аналитики, кот...

[Перевод] Три простых приема для уменьшения Docker-образов Когда дело доходит до создания Docker-контейнеров, лучше всегда стремиться к минимизации размера образов. Образы, которые используют одни и те же слои и весят меньше — быстрее переносятся и деполятся. Но как контролировать размер, когда каждое выполнение оператора RUN созд...

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

ТЕСТ: Что вы знаете о Великой Отечественной войне? В ночь с 8 на 9 мая в берлинском предместье Карлсхорсте был подписан окончательный акт о капитуляции Германии. Закончилась самая страшная и кровопролитная война в истории Советского Союза. Проверьте, что вы знаете о главных битвах, человеческих потерях и отважных героях, кот...

Server Side Rendering для React App на Express.js На написание этой статьи меня сподвигло отсутствие какого-либо более-менее полного мануала, как же сделать Server Side Rendering для React приложения. Когда я столкнулся с этой проблемой, у меня было 2 варианта это сделать, либо Next.js фреймворк, либо используя Express.js....

Язык Bosque — новый язык программирования от Microsoft Буквально несколько дней назад компания Microsoft представила публике новый язык программирования. Языку дали название Bosque. Главная миссия дизайна языка — лучше быть богатым и здоровым, чем бедным и больным чтобы он был прост и понятен как для человека, так и для компьюте...

Я застрял! Или как преодолеть эффект плато в изучении английского Изучение иностранного языка — это комплексный процесс, который зависит от многих факторов. Сложность в том, что мозг не может поддерживать эффективность обучения постоянно. Поэтому возникают периоды «учебного застоя», когда вы прикладываете такое же количество усилий, что и ...

[Перевод] Оттенки значений в английском языке: как использовать глаголы Advise, Recommend, Suggest Английский язык часто воспринимается как нечто не столь сложное, как некоторые другие языки – взять тот же немецкий. Но на самом деле в нем есть достаточное количество трудностей и тонких моментов («Пишется Ливерпуль, а читается Манчестер» ). Один из них, вызывающий личн...

Разработка ТамТам-бота на Python Привет, Хабр! Позвольте представиться: меня зовут Сергей Агальцов, и я "программист по жизни". Это значит, что я давно уже IT-менеджер, а вовсе не программист по профессии, но программирование использую постоянно, как в своей основной деятельности, так и как хобби. Как част...

Глеб Ницман: «Я застал самый конец эпохи, когда люди еще не гонялись за золотом, содержащимся в радиоэлементах» Глеб Ницман работает в DataArt более 20 лет и последние годы занимается в основном автоматизацией внутренних бизнес-процессов компании. Он также остается главным вдохновителем и идеологом Музея DataArt. Еще учась в девятом классе, он решил собрать свой первый компьютер. Та...

[Перевод] JavaScript-движки: как они работают? От стека вызовов до промисов — (почти) всё, что вам нужно знать Вы когда-нибудь задумывались, как браузеры читают и исполняют JavaScript-код? Это выглядит таинственно, но в этом посте вы можете получить представление, что же происходит под капотом. Начнём наше путешествие в язык с экскурсии в удивительный мир JavaScript-движков. Читать...

Создать главный в мире пиратский сайт и жить с него, как рок-звезда. Биография Кима Доткома Стать миллионером благодаря пиратству? Ким Дотком провернул это с лёгкостью. Причём, сам он даже не был тем самым “пиратом”, а просто разрешил обычным пользователям делиться файлами большого объёма. Файлохранилищем начали пользоваться крупнейшие облюбовали различные “варезны...

[Перевод] Полная история Гарольда и дерева Боба-Герберта в Fallout Гарольд родился в 2072 году и ему было всего 5 лет, когда началась Великая Война в 2077. От ужасов ядерной войны его закрыли в Убежище 29. [1] Читать дальше →

[Перевод] Чему я научился у ведущего программиста Год назад я начал работать на полную ставку в Bloomberg. И тогда же задумал написать эту статью. Я думал, что буду полон идей, которые смогу выплеснуть на бумагу, когда придёт время. Но уже через месяц понял, что всё будет не так просто: я уже начал забывать то, чему научил...

[Перевод] 9 советов по созданию инди-игр от разработчика-одиночки Разработка игр в одиночку предоставляет удивительную свободу творчества и ставит невероятно сложные задачи. Любой, кто работал в соло над проектом (по собственному выбору или ещё по каким-либо причинам), знает как трудно сделать всю работу самостоятельно. Планировать всё и с...

Ностальгия по Half Life — создаем приставку для радиостанции для получения голоса и звука окончания в стиле комбайнов Когда-то давным-давно, когда деревья были большие, был такой шутер Half-Life, продолжение которого ждут до сих пор — это уже притча во языцах. Были там такие противники как Combines (Combine Soldiers) — измененные захватчиками люди. Во время игры можно было слышать их пер...

Как мы «очеловечили» бухгалтерию в мобильном банке Если ты создаешь «Мобильный банк», будь готов к тому, что когда-нибудь придется заняться нетривиальной задачкой – сделать сервис мобильной бухгалтерии. Что в нем сложного? То, что это должно быть приложение, в котором нет ничего, напоминающего обычный бухгалтерский интерфейс...

[Перевод] Что такое Zero Trust? Модель безопасности Zero Trust («нулевое доверие») – это модель безопасности, разработанная бывшим аналитиком Forrester Джоном Киндервагом в 2010 году. С тех пор модель «нулевого доверия» стала наиболее популярной концепцией в сфере кибербезопасности. Недавние массовые утечки данных только по...

[Из песочницы] Как научиться учиться Привет, Хабр! Представляю вашему вниманию перевод статьи «HOW TO LEARN HOW TO LEARN». Заметки и наблюдения о том, как лучше организовать свой учебный процесс. Мы, IT-шники, обречены на постоянное обучение до конца жизни. Еще 10-15 лет назад знания Java и JSP-серверлетов б...

Фотополимерный 3D-принтер из бытового видеопроектора создает объекты без слоев Принципиально иной подход к фотополимерной 3D-печати, разработанный в Калифорнийском университете в Беркли, позволяет создавать 3D-принты за несколько минут и дополнять 3D-печатными деталями существующие объекты. Читать дальше →

[Перевод] Создание калькулятора чаевых на Kotlin: как это работает? Рассказываем, как создать простое приложение для расчета чаевых на языке Kotlin. Если точнее, то Kotlin 1.3.21, Android 4, Android Studio 3. Статья будет интересной, в первую очередь, для тех, кто начинает свой путь в разработке Android-приложений. Она позволяет понять, ч...

[Из песочницы] Матрёшка Си. Слойная система языка программы Попробуем представить химию без Периодической системы Менделеева (1869). Сколько же элементов надо было держать в голове, причём в произвольном порядке… (Тогда — 60.) Для этого достаточно подумать об одном или нескольких сразу языках программирования. Те же чувства, тот же...

[Из песочницы] Реализация горячей перезагрузки С++ кода в Linux * Ссылка на библиотеку в конце статьи. В самой статье изложены механизмы, реализованные в библиотеке, со средней детализацией. Реализация для macOS еще не закончена, но она мало чем отличается от реализации для Linux. Здесь в основном рассматривается реализация для Linux. Г...

[Из песочницы] Новый язык программирования Mash На протяжении нескольких лет я пробовал свои силы в разработке своего языка программирования. Мне хотелось создать на мой взгляд максимально простой, функциональный и удобный язык. В этой статье я хочу осветить основные этапы своей работы и для начала описать созданный конц...

У дизайнера новая идея? Что может быть проще Привет, хабровчанин! Дизайнеры люди идейные, а заказчики с их бизнес-требованиями, тем более. Представь, что ты сваял свой самый лучший UIkit на свете на самом крутом %вставить свое% JS фреймворке. Казалось бы, там есть все, что нужно проекту. Теперь-то ты сможешь пить коф...

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

Что не так с GraphQL В последнее время GraphQL набирает всё большую популярность. Изящный синтаксис запросов, типизация и подписки. Кажется: "вот оно — мы нашли идеальный язык обмена данными!"... Я разрабатываю с использованием этого языка уже больше года, и скажу вам: всё далеко не так гладко. ...

[Из песочницы] Nil не всегда nil Nil не всегда nil "Что? Что вообще здесь написано?" спросите вы. Сейчас все разложу. Когда начинал изучать язык — не думал что зайду в этот узкий случай. Это также не рационально как и изменять итерируемую коллекцию. Читать дальше →

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

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

Energizer представит смартфон с аккумулятором на 18 000 мАч Компания Energizer представит 26 смартфонов на выставке MWC, эта будет новая линейка Energizer Ultimate. Среди них будет смартфон с аккумулятором на 18 000 мАч, это самой большой из когда-либо существующих аккумуляторов на телефоне. Также Energizer представит свой первый...

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

Блеск и нищета переводной литературы — Лучше вообще не читать, чем такое. Часто ли вы читаете техническую литературу? Именно литературу, а не мануалы на хабре или багрепорты на гитхабе? А когда читаете, на каком языке предпочитаете это делать (если есть возможность выбирать, конечно)? Какую версию предпочтёт...

[Из песочницы] Не учите паттерны, учите концепции Добрый день (или вечер, или утро, в зависимости от того, когда выйдет этот пост). Я хочу высказаться о элитарной части программирования, и донести, в общем-то, очевидную мысль до начинающих в back-end(и не только) разработке, попутно используя попытку начать писать на Хабре...

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

Распознаём дату и время в естественной речи Задача Привет, Хабр! Увлёкся я навыками для Алисы и стал думать, какую пользу они бы могли принести. На площадке много разных прикольных игр (в том числе мои), но вот захотелось сделать рабочий инструмент, который действительно нужен в голосовом исполнении, а не просто копи...

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

[Перевод] AWS показал Open Source средний палец От переводчика: мне кажется, заголовок слегка неточный и на самом деле средний палец показали ребятам из MongoDB, которая теперь не очень то и Open Source. Сегодня, Amazon AWS запустил продукт DocumentDB — новую базу данных, совместимую с API MongoDB. Компания описывает Doc...

Yii 2.0.16 Команда PHP-фреймворка Yii выпустила версию 2.0.16, содержащую более сотни исправлений и немного улучшений. Исправлены несколько проблем с безопасностью. Ветка Yii 2.0 достигла заморозки более чем год назад, что означает что в неё принимаются главным образом исправления. Сд...

Вся мощь IntelliJ IDEA на примере одного языка (в картинках) Классическая модель разработки любых приложений подразумевает наличие хорошей документации по пользовательскому интерфейсу и API, а также, при необходимости, хорошего покрытия исходного кода комментариями. В этом случае, доработка системы начинается с изучения документации, ...

Пссс, хотите немного ужасных IT-историй? Боитесь ли вы темноты? Может быть, зомби-апокалипсиса или чудовища под кроватью? Мы знаем, что нет. У нас, айтишников, свои источники ужаса: криворукие пользователи, далёкие от IT начальники, упавшие сервера, пропавшие или не сделанные бэкапы, легаси код и Agile-митинги, ког...

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

[Перевод] SVG или canvas? SVG и canvas — это технологии, которые можно использовать для рисования чего-либо на веб-страницах. Поэтому их стоит сравнить и разобраться в том, когда стоит применять SVG, а когда — canvas. Даже весьма поверхностное понимание сути этих технологий позволяет сделать вполне...

[Перевод] Python становится самым популярным языком программирования в мире Еще летом на The economist вышла статья о том, что Python все активнее завоевывает рынок. Но завирусилась она только сейчас. Вероятно, так произошло из-за того, что она очень неоднозначная. Ведь несмотря на такой заголовок, автор заявляет, что Python, теоретически, может пов...

В AMD считают, что PlayStation нового поколения предложит нечто особенное В прошлом месяце компания Sony раскрыла первые подробности о своей будущей консоли PlayStation 5, что вызвало массу обсуждений, причём не только среди рядовых пользователей. Например, несколько слов о новинке сказала на днях и Лиза Су (Lisa Su), президент и генеральный дирек...

[Из песочницы] xenvman: Гибкие окружения для тестирования микросервисов (и не только) Всем привет! Я бы хотел немного рассказать о проекте, над которым я работал последние полгода. Проект я делаю в свободное время, но мотивация к его созданию пришла из наблюдений, сделанных на основной работе. На рабочем проекте мы используем архитектуру микросервисов, и одна...

Опровергаем четыре стереотипа о языке программирования Rust Язык программирования Rust, созданный и поддерживаемый корпорацией Mozilla, позволяет обычным программистам писать одновременно и безопасные и быстрые системы: от калькуляторов до высоконагруженных серверов. За своё относительно короткое время существования данный язык уже ...

Разработка простейшей «прошивки» для ПЛИС, установленной в Redd. Часть 2. Программный код Итак, в прошлой статье мы разработали простейшую процессорную систему, с помощью которой планируем провести тест микросхемы ОЗУ, подключённой к ПЛИС комплекса Redd. Сегодня же мы сделаем для этой аппаратной среды программу на языке С++, а также разберёмся, как эту программу ...

WWDC 2019: главное с презентации Keynote по версии роботов В противовес прошлой WWDC, где основной фокус был на быстродействие и небольшие улучшения, сегодня представили все и сразу: новый Mac Pro, новые сервисы и давно желаемые функции для разработчиков. Кто-то говорит, что это лучший WWDC с 2014 года, когда представили новый язы...

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

Как реализовать язык программирования на JavaScript. Часть 1: Парсер Здравствуйте! Представляю вам любительский перевод руководства реализации своего языка программирования на JavaScript — PL Tutorial. От переводчика Мы создадим свой язык программирования — λзык (в оригинале — λanguage). В процессе создания мы будем использовать достаточно мн...

Возможности языка Q и KDB+ на примере сервиса реального времени О том, что такое база KDB+, язык программирования Q, какие у них есть сильные и слабые стороны, можно прочитать в моей предыдущей статье и кратко во введении. В статье же мы реализуем на Q сервис, который будет обрабатывать входящий поток данных и высчитывать поминутно разли...

pudge встраиваемая база данных в 500 строк на golang pudge — встраиваемая key/value база данных, написанная на стандартной библиотеке Go. Остановлюсь на принципиальных отличиях от существующих решений. Stateless pudge.Set("../test/test", "Hello", "World") Пудж автоматически создаст базу данных test, включая вложенные дире...

[Перевод] 10 самых влиятельных языков программирования последних 50 лет и их создатели В IT-вселенной существует множество языков программирования. С каждым годом их становится всё больше и больше. Например, сравнительно недавно появились языки Scala, Kotlin, Go и Closure. Но история говорит нам о том, что выживут лишь немногие из них. Языки, о которых пойдёт...

[Из песочницы] Generic Recycler View или как не писать шаблонный код Все мы пишем приложения и у всех нас есть списки. И самое очевидное решение это RecyclerView. Сама по себе реализация не сложна и писать гайд по RecyclerView уже не актуально. Но есть одно но. Каждый раз когда нам нужен список мы создаем класс, в нем прописываем шаблонный ме...

[Перевод] Великий исход из индустрии видеоигр История о том, как Фрэнк Д'Анджело попал в индустрию видеоигр, трогательна и типична одновременно. Когда ему было десять лет, он писал письма разработчикам и издателям любимых видеоигр. В них Фрэнк рассказывал о том, как любит их игры и просил совета, чтобы стать создателе...

[Из песочницы] Опыт вывода программной реализации социального проекта «Вспомнить каждого» в опенсорс В прошлом году, нашей команде повезло принять участие в разработке программного обеспечения для социально значимого проекта – системы ввода архивных данных военных комиссариатов Хабаровского края времен Великой Отечественной войны. Кратко говоря, когда был призван, куда убыл...

[Перевод] Как реализовать язык программирования на JavaScript. Часть 3: CPS-интерпретатор Здравствуйте! Представляю вам третью часть моего перевода руководства реализации своего языка программирования на JavaScript — PL Tutorial. От переводчика Мы создадим свой язык программирования — λзык (в оригинале — λanguage). В процессе создания мы будем использовать достат...

[Перевод] Как опубликовать консольную утилиту на PyPI за 1 минуту Разработав консольную утилиту, вы решаетесь опубликовать её на PyPI. Ну правда, что может быть лучше, чем сделать её доступной через pip install? Погуглив, что для этого надо, вы, возможно, наткнётесь на единственный найденный мной пост по теме, который мало того что от 201...

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

[Из песочницы] Как мы сделали движок и игру на нем за полтора года Всем привет, дорогие друзья! Вот сижу, смотрю на бесконечную простыню кода, провожу ревью с баночкой ред була. Прошел год. Год, блин, всего лишь год — так много и так мало одновременно. На этот год у нас были наполеоновские планы, и сейчас кажется, что мы мало что успели. С ...

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

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

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

[Перевод] Тайная история Donkey Kong: от аркадных автоматов до NES Donkey Kong — это, вероятно, один из величайших аутсайдеров игрового мира. Он нарушил все правила, потому что его создатель, теперь уже легендарный Сигэру Миямото, этих правил не знал. Он не только стал началом одного из ярчайших умов отрасли видеоигр, но и зародил жанр «бе...

[Перевод] Создаём kubernetes-платформу в Pinterest За годы существования Pinterest 300 миллионов пользователей сервиса создали более 200 миллиардов пинов на более чем 4 миллиардов досок. Чтобы обслуживать эту армию пользователей и обширную контент-базу, портал разработал тысячи сервисов, начиная от микросервисов, с которыми ...

[Перевод] Ложнопромышленный комплекс фальшивого искусственного интеллекта Как шумиха вокруг ИИ обогатила инвесторов, обманула СМИ и запутала всех остальных Статья за авторством Майка Малаццо, выложенная им на сайте Medium, и по неизвестным причинам пропавшая оттуда спустя месяц. Когда появились новости о том, что McDonalds покупает израильскую ...

Создаем отдел джунов в помощь основным командам, используя лишь Slack, Jira и синюю изоленту Почти вся команда разработки Skyeng, состоящая из более чем 100 человек, работает удаленно и требования к специалистам всегда были высоки: мы искали синьоров, fullstack-девелоперов и мидлов. Но в начале 2019 года мы впервые наняли трех джуниоров. Сделано это было по нескол...

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

[Перевод] Краткая история детектора лжи Создать "лассо истины" в реальной жизни неожиданно сложно Это правда: этот полиграф из 1960-х, выставляющийся в научном музее Лондона, был разработан не как детектор лжи, а как диагностическая машина и хирургический монитор Когда Чудо-женщина ловко захватывает кого-либо св...

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

Причины внедрить в процесс разработки статический анализатор кода PVS-Studio PVS-Studio – это инструмент для поиска ошибок и потенциальных уязвимостей в исходном коде программ, написанных на языках C, C++, C# или Java. PVS-Studio относится к классу инструментов статического тестирования защищённости приложений (Static Application Security Testing, S...

Новые ключевые слова в Java В ближайшем будущем в языке Java появятся новые фичи, над которыми сейчас идет работа в рамках проектов Valhalla, Panama и Loom. Расширение языка — дело непростое, тем более — языка, в котором акцент делается на обратную совместимость; поэтому для того, чтобы их интеграция в...

[Перевод] Наследование в JavaScript с точки зрения занудного ботаника: Фабрика Конструкторов Это история об одной очень специальной части JavaScript, самого используемого искусственного языка в мире в настоящее время (2019). В статье представлен своего рода философский взгляд на Наследование в JavaScript, и я смею лишь надеяться, что он основан на самом впечатляюще...

[Перевод] Dex-Net 4.0 позволяет роботам-амбидекстрам выбирать наилучший из захватов Возможность выбрать захват помогает двуруким роботам поднимать объекты быстрее, чем когда бы то ни было Мы несколько лет следим за прогрессом проекта Dex-Net, пытающегося разработать универсальный захват для роботов, и в середине января вышла новая работа в журнале Science...

[Перевод] 9 советов по использованию библиотеки Cats в Scala Функциональное программирование в Scala может быть нелегко освоить из-за некоторых синтаксических и семантических особенностей языка. В частности, некоторые средства языка и способы реализации задуманного с помощью основных библиотек кажутся очевидными, когда ты с ними знако...

Запускаем OpenVPN в Докере за 2 секунды Привет, хабровчане! Сталкивались ли вы когда-либо с ситуацией, когда очень хотелось бы виртуально перенестись в другой город, страну или на другой континет? У меня такая необходимость возникает достаточно часто, поэтому возможность иметь свой VPN сервер, который можно запуст...

[Перевод] Сравнение одинакового проекта в Rust, Haskell, C++, Python, Scala и OCaml В последнем семестре университета я выбрал курс компиляторов CS444. Там каждая группа из 1-3 человек должна была написать компилятор из существенного подмножества Java в x86. Язык на выбор группы. Это была редкая возможность сравнить реализации больших программ одинаковой фу...

[Из песочницы] Как мы тушили велосипед техподдержки — Привет! — Привет! — Скажи, а каково это — делать техническую поддержку? — Ну-у-у, представь себе велосипед… и он горит… и ты горишь… и дорога горит… и вообще, ты в аду…(с) автор не известен Не важно кто вы, новичок или опытный менеджер, каждый из нас сталкивался с сит...

Будущий марсианский вертолет впервые поднялся в воздух Свыше полувека человечество изучает Красную планету с орбиты или поверхности, но еще ни разу не посылало на Марс летательный аппарат. Летом следующего года это, однако, изменится — в июле 2020 с космодрома на мысе Канаверал взлетит ракета Atlas V, созданная специалистами Uni...

[Из песочницы] Изучая go: пишем p2p мессенджер со сквозным шифрованием Yet another P2P Messenger Читать отзывы и документацию о языке не достаточно, чтобы научиться на нем писать более менее полезные приложения. Обязательно для закрепления нужно создать что-то интересное, чтобы наработки можно было бы использовать в других своих задачах. Стать...

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

Как играть в Speedgate, первый вид спорта, созданный AI Американское рекламное агентство AKQA представило спидгейт (speedgate) — первый вид спорта, правила которого созданы искусственным интеллектом. Алгоритм, написавший правила игры, основан на рекуррентной нейросети, которая обучалась на текстовой информации о 400 уже существ...

Парадокс Питона (The Python Paradox) В последнем выпуске подкаста "Цинковый прод" помимо всего прочего обсуждался так называемый парадокс Питона (The Python Paradox). Как ни странно, на Хабре нет практически ни одного упоминания об этом парадоксе. При том, что, несмотря на свою простоту, мысль очень интересная...

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

Программирование для детей. Пять самых крутых игр на HTML и JavaScript Привет, Хаброжители! Хотите сделать отличный подарок ребёнку, желающему научиться программировать, или научить взрослого, далёкого от мира кодов? Тогда книга-героиня нашего поста Вам подойдет. Эта книга научит писать код веб-игр на языках HTML и JavaScript и даже поможет чи...

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

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

[Из песочницы] Анализ языка VKScript: JavaScript, ты ли это? TL;DR VKScript — это не JavaScript. Семантика этого языка кардинально отличается от семантики JavaScript. См. заключение. Читать дальше →

Секционирование в SQL Server Секционирование («партицирование») в SQL Server, при кажущейся простоте («да чего там – размазываешь таблицу и индексы по файловым группам, получаешь профит в администрировании и производительности») – достаточно обширная тема. Ниже я попробую описать как создать и применить...

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

Секция Backend на DUMP Казань: архитектура облачных приложений, общительные микросервисы, DDD и не только Что делать, если секция Backend на конференции одна, а языков программирования несколько? Получается, либо каждому по докладу, и тогда что делать все остальное время? Либо больше внимания одному-двум языкам, а все остальные не в удел. Кажется, мы нашли выход. В Backend на DU...

[Перевод] Управление памятью в Python Задумывались ли вы когда-нибудь о том, как данные, с которыми вы работаете, выглядят в недрах Python? О том, как переменные создаются и хранятся в памяти? О том, как и когда они удаляются? Материал, перевод которого мы публикуем, посвящён исследованиям глубин Python, в ходе ...

Loli — новый высокопроизводительный язык В этой статье мы поговорим о новом интерпретируемом языке Loli, рассмотрим синтаксис и сравним с языками C и Python. Читать дальше →

[Перевод] Учёные нашли самое старое живое позвоночное на Земле Сложно представить какое-либо существо, родившееся в 1505 году, и всё ещё живое. Это был год, когда Мартин Лютер стал монахом, а король Генрих VIII отменил свою помолвку с Екатериной Арагонской… в общем, безумно давно. Но учёные считают, что они нашли именно такое безумн...

[Перевод] О декораторах в Python Всем привет! Перевод статьи подготовлен для студентов курса «Web-разработчик на Python». Интересно развиваться в данном направлении? Запишитесь на День Открытых Дверей курса и пообщайтесь вживую с преподавателем: онлайн-трансляция 23 июля в 20:00 по мск.! Когда вы упражняли...

[Перевод] Ричард Хэмминг: Глава 13. Теория информации Мы это сделали! «Цель этого курса — подготовить вас к вашему техническому будущему.» Привет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2588 в закладки, 429k прочтений)? Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) ес...

[Из песочницы] Учимся стандарту проектирования — Entity Relationship Здравствуйте. Данная статья посвящена одной из самых популярных, а также и многим знакомой, модели проектирования — ER(Entity Relationship), которая была предложена учёным, в области информатики — Питером Ченом, в 1976 году. По ходу статьи простым языком на простых примера...

Самое лучшее важнейшее приложение за 8 500 рублей стало бесплатным для Windows 10 Операционная система Windows 10 была выпущена на рынок еще летом 2015 года, а с тех самых пор для нее выпустили более шести крупных обновлений, которые сделали данное ПО ощутимо лучше, чем когда-либо раньше. Тем не Сообщение Самое лучшее важнейшее приложение за 8 500 рублей...

Введение в программирование: простой 3Д шутер с нуля за выходные, часть 2 Продолжаем разговор про 3Д шутер за выходные. Если что, то напоминаю, что это вторая половина: Часть первая: отрисовка стен Часть вторая: населяем наш мир + оконный интерфейс Как я и говорил, я всеми силами поддерживаю желание в студентах делать что-то своими руками. В ча...

Самые главные особенности Xiaomi Mi Band 5 повергли всех в шок Спрос на фитнес-браслеты и прочую носимую электроинку растет с рекордной скоростью. За один только 2018 год подобные гаджеты стали покупать жители России в три раза чаще, чем когда-либо раньше до этого самого момента. Уже в Сообщение Самые главные особенности Xiaomi Mi Band...

[Перевод] Зачем нужны дженерики? Эта статья о том, что будет означать добавление дженериков в Go, и почему я считаю, что нам это следует сделать. Также я коснусь возможного изменения архитектуры языка ради добавления дженериков. Go вышел 10 ноября 2009-го. Меньше чем через сутки появился первый комментари...

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

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

[Из песочницы] Как я ускорил обработку изображений на Android в 15 раз Как оптимизировать обработку изображений в рантайме, когда необходимо создать 6 изображений, каждое из которых состоит из последовательно наложенных 15-16 PNG, не получив OutOfMemoryException по дороге? Читать дальше →

[Перевод] Amazon знает о тебе всё Когда сеть центров физиотерапии города Сиэтл захотела привлечь новых пациентов, она нацелила онлайн-рекламу на людей, живущих или работающих возле своих офисов, которые недавно купили наколенники на Amazon. Когда поставщик финансовых услуг захотел продвигать свой бизнес по...

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

Андрей Терехов (продолжение): «Когда говорят, что мы отстали от американцев навсегда, я отвечаю: „Не дождетесь!“» Вторая часть интервью с завкафедрой системного программирования Матмеха СПбГУ, доктором физмат наук, профессором, президентом компании «Ланит-Терком». Андрей Николаевич Терехов рассказал о создании кафедры матобеспечения ЭВМ и своих многочисленных учениках, языке PADLA, ра...

Bixby «заговорит» на новых европейских языках Компания Samsung Electronics объявляет о запуске поддержки новых языков в интеллектуальной платформе Bixby. В дополнение к уже существующим американскому английскому, корейскому и китайскому языкам – виртуальный помощник теперь сможет понимать британский английский, немецкий...

Как устроен фреймворк tiOPF для delphi/lazarus. Шаблон «Посетитель» От переводчика Есть две причины, по которым я взялся перевести несколько материалов по разработанному двадцать лет назад для не самой популярной ныне среды программирования фреймворку: 1. Несколько лет назад я, познав многие прелести работы с Entity Framework как ORM для пл...

[Перевод] Visual Studio for Mac: 5 новых крутых функций За прошедший год команда Visual Studio for Mac обновила редакторы в среде IDE, чтобы они стали быстрее, плавнее и продуктивнее. Мы сделали это, создав нативный интерфейс редактора macOS на основе того же самого бэкенда редактора, что и Visual Studio в Windows. В версии 8.1 м...

[Перевод] Почему вам стоит использовать язык Ада для программирования вашей системы Язык программирования Ада родился в середине 1970-х, когда министерство обороны США и министерство обороны Британии решили заменить сотни специализированных языков программирования для встроенных вычислительных систем, всё чаще использовавшихся в военных проектах. Язык Ада...

Джони Айв покинет Apple в этом году Главный дизайнер Apple Джонатан Айв покинет компанию до конца этого года. Об этом говорится в официальном пресс-релизе корпорации. В планах легендарного дизайнера — создание собственной студии дизайна LoveFrom. В рамках этого проекта Айв продолжит сотрудничать с Apple...

Мониторинг срока действия сертификатов в Windows на NetXMS Недавно у нас встала задача мониторинга срока действия сертификатов на серверах с Windows. Ну как встала, после того, как сертификаты несколько раз превращались в тыкву, в то самое время, когда ответственный за их продление бородатый товарищ находился в отпуске. После этого ...

[Перевод] История и наследие jQuery jQuery — это самая популярная в мире JavaScript-библиотека. Сообщество веб-разработчиков создало её в конце 2000-х, что привело к возникновению богатой экосистемы сайтов, плагинов и фреймворков, использующих под капотом jQuery. Но в последние годы её статус главного инстру...

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

С чего начать изучать веб-разработку в 2019 году или HTML Academy VS Codecademy VS FreeCodeCamp Привет, Хабр! Хочу поделиться своими мыслями о самых популярных площадках для изучения веб-разработки HTML Academy, Codecademy, FreeCodeCamp (мне бы хотелось прочитать подобную статью, когда я только начинала учиться веб-разработке самостоятельно). *Данный обзор является мо...

[Из песочницы] Микросервисы или монолит: ищем решение Когда задумывается большой продукт или маленький софт начинает вырастать в левиафана, какой путь развития выбрать? Стоит ли все переписывать с нуля или продолжать «исторически сложившиеся» традиции? Да и вообще, стоит ли пересматривать саму концепцию архитектуры? Здравству...

Голос за геймдев: как мы разработали голосовой квест «Мир Лавкрафта» Пока Google готовил глобальное обновление для русскоязычного Ассистента – с новыми голосами, блэкджеком и встроенными оплатами, мы решили создать для него собственную игру. Мы экспериментировали с жанрами, сюжетом, пасхалками, озвучкой и внутриигровыми платежами. В итоге пол...

Как не дать идее погибнуть и собрать команду, которая ее не убьет Когда наше digital-агентство только открылось, возник вопрос: как все начать и не запороть. Мы хотели создать что-то большое. Что-то, вокруг чего объединились бы единомышленники. Здесь мы расскажем, как не дать идее умереть и как собрать команду, которая ее не убьет. В са...

Книга "{Вы не знаете JS} Типы и грамматические конструкции" Каким бы опытом программирования на JavaScript вы ни обладали, скорее всего, вы не понимаете язык в полной мере. Это лаконичное руководство исследует типы более глубоко, чем все существующие книги: вы узнаете, как работают типы, о проблемах их преобразования и научитесь пол...

Знакомимся с языком Swift на примере игры Snake Всем привет! В преддверии запуска курса «iOS-разработчик. Базовый курс» мы организовали очередной открытый урок. Этот вебинар рассчитан на людей, которые имеют опыт разработки на любых языках и платформах, однако желают ещё изучить язык Swift и освоить разработку под iOS. ...

Как и зачем работать медленнее? Метод Сергея Королёва Будущий «отец» советской космонавтики Сергей Королёв — по центру. Страсть к авиации у него зародилась в юности, когда он записался в планерный кружок. На его долю ещё выпадут тяжёлые испытания, но юношеский запал у него останется на всю жизнь. Примечание: фотография раскраш...

[Из песочницы] Простой способ добавить несколько языков на сайт Введение В рамках своего проекта я столкнулся с задачей сделать текущий сайт компании мультиязычным. Более точно: создать возможность быстро и просто перевести сайт на английский, польский, итальянский и т.д. Поиск в интернете показал, что существующие варианты создания му...

Применение смарт-аккаунтов Waves. Часть 1: от аукционов до бонусных программ Блокчейн часто ассоциируется лишь с криптовалютами, но области применения технологии DLT значительно шире. Одно из самых перспективных направлений для применения блокчейна – смарт-контракт, выполняющийся автоматически и не требующий доверия между сторонами, его заключившим...

Avalonia первая встреча Когда мы встречаем новый язык, мы пишем «Hello word», а когда встречаем новый UI, то создаем блокнот. Здесь же я хочу показать простейший пример дружбы с корссплатформенным GUI Framework AvaloniaUI. Читать дальше →

[Перевод] WolframClientForPython | Новая клиентская библиотека Wolfram Language для Python Оригинал перевода в моём блоге Получение полного доступа к языку Wolfram Language из языка Python Язык Wolfram (Wolfram Language) дает программистам в руки уникальный язык с огромным множеством сложных алгоритмов, а также встроенных знаний об окружающем мире. На протяжении...

[Перевод] Расцвет и упадок Visual Basic Мне нужно сделать признание. До того, как я стал респектабельным разработчиком, работающим с такими современными языками, как C# и Java (и тем бурлящим хаосом, который известен нам под именем JavaScript), я был увлечённым фанатом невероятно популярного и неуклюжего Visual Ba...

Укрощение Горыныча, или Декомпиляция eBPF в Ghidra Автор статьи Nalen98 Добрый день! Тема моего исследования в рамках летней стажировки «Summer of Hack 2019» в компании Digital Security была «Декомпиляция eBPF в Ghidra». Нужно было разработать на языке Sleigh систему трансляции байткода eBPF в PCode Ghidra для возможност...

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

.NET Core на Linux, DevOps на коне Мы развивали DevOps как могли. Нас было 8 человек, и Вася был самым крутым по Windows. Внезапно Вася ушел, а у меня появилась задача вывести новый проект, который поставляет Windows-разработка. Когда я высыпал на стол весь стек Windows-разработки, то понял, что ситуация — бо...

[Перевод] Пять вопросов о проектировании языков программирования Руководящая философия 1. Языки программирования для людей Языки программирования это то, как люди говорят с компьютерами. Компьютер будет рад поговорить на любом языке, который не будет двусмысленным. Причина почему у нас есть высокоуровневые языки — потому что люди не мо...

Надёжный JavaScript: в погоне за мифом JavaScript нередко называют «самым популярным языком», но, кажется, никто не отзывается о JS-разработке как о «самой безопасной», и количество подстерегающих проблем в экосистеме велико. Как эффективно их обходить? Илья Климов задумался об этом, когда ошибка обошлась очен...

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

Квантовые вычисления в играх, или сходим с ума по-серьезному Если живешь среди сумасшедших, надо и самому научиться быть безумным Вы когда-нибудь пробовали «научиться быть безумным»? Нетривиальная задачка. Даже нормальной методики не найдешь, ибо каждый сходит с ума по-своему. Моя первая попытка: теория заговора. Теория не предполага...

[Перевод] Создана основа для обобщённой теории нейросетей Огромные возможности нейросетей иногда сравнимы с их непредсказуемостью. Теперь математики начинают понимать, как форма нейросети влияет на её работу Когда мы проектируем небоскрёб, мы рассчитываем, что он в итоге будет удовлетворять всем спецификациям: что башня сможет в...

Microsoft представляет новый Surface Pro X с процессором Microsoft SQ1 Как и ожидалось, Microsoft представила новый Surface Pro X, устройство с ARM-процессором Microsoft SQ1, работающее под управлением полноценной версии Windows 10. Новый Surface X поставляется с 13-дюймовым дисплеем, упакованным в ультратонком корпусе, который также имеет подс...

Зарождение термоакустики. Поющее пламя Хиггинса. Трубка Рийке Термоакустический эффект был открыт стеклодувами несколько веков назад. Когда стеклодувы надували разогретый до высокой температуры стеклянный шар, расположенный на конце трубки, то со стороны открытого конца трубки самопроизвольно появлялся монотонный звук. Первую научную р...

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

Профилирование со сверхсветовой скоростью: теория и практика. Часть 1 Привет! Из заголовка вы уже поняли, о чём я собираюсь рассказать. Тут будет много хардкора: мы обсудим Java, С, С++, ассемблер, немного Linux, немного ядра операционной системы. А ещё разберём практический кейс, поэтому статья будет в трёх больших частях (достаточно объёмных...

День, когда Dodo IS остановилась. Асинхронный сценарий Привет, Хабр! Каждый SRE в нашей команде когда-то мечтал спокойно спать по ночам. Мечты имеют свойство сбываться. В этой статье я расскажу про это и про то, как мы достигаем производительности и устойчивости своей системы Dodo IS. Читать дальше →

[Перевод] Бесплатная библиотека Wolfram Engine для разработчиков программного обеспечения Оригинал перевода в моём блоге Пара видео о Wolfram Language Почему вы до сих пор не используете технологии Wolfram? Что ж, такое случается, и довольно часто. В процессе общения с разработчиками программного обеспечения, они достаточно лестно отзываются о наших технология...

Митап по PHP в Иванове Привет, Хабр! Мы рады сообщить, что уже в эту субботу в офисе компании Инвольта состоится митап на тему: “PHP: Неправильный путь. Почему важно знать инструменты Native PHP сегодня. Личный опыт разработчика Rambler.” Как уже понятно из темы, на митапе мы будем говорить про ...

Новые возможности С# 8: switch expressions В конце января группа разработчиков .NET Core выпустила новую версию фреймворка .NET Core 3 preview 2. В нем были реализованы некоторые новые возможности языка С#. Что мне кажется довольно интересным, это switch expressions. Хотя это добавление кажется простым, я думаю, что ...

[Перевод] Обзор новых функций NestJS 6 Мы в TestMace активно используем NestJS для разработки наших сервисов. Сегодня вашему вниманию представляется перевод статьи, посвященной обзору фич новой мажорной версии NestJS. Сегодня я рад представить официальный релиз Nest 6 — прогрессивного Node.js фреймворка для со...

[Из песочницы] Кодогенерация при помощи Roslyn Время от времени, когда я читал о Roslyn и его анализаторах, у меня постоянно возникала мысль: "А ведь этой штукой можно сделать nuget, который будет ходить по коду и делать кодогенерацию". Быстрый поиск не показал ничего интересного, по этому было принято решение копать. Ка...

Тысячи вещей, которые в Java стоило бы поправить с первой версии: большое интервью с Сергеем Куксенко из Oracle Сергей Куксенко — перформанс-инженер, видевший Java еще версии 1.0. За это время успел поучаствовать в разработке мобильных, клиентских, серверных приложений и виртуальных машин. Производительностью Java занимается c 2005 года и в данный момент в Oracle работает над улучшен...

[Из песочницы] Диагностическая медицинская экспертная система на Prolog Вступление Как то мне посчастливилось выбирать тему дипломной работы по специальности программная инженерия, и я выбрал написание экспертной системы, причем именно на языке Пролог. Хоть в промышленном программировании он почти не используется, он интересен в теоретическом пл...

Bitmap-индексы в Go: поиск на дикой скорости Вступительное слово Я выступил с этим докладом на английском языке на конференции GopherCon Russia 2019 в Москве и на русском — на митапе в Нижнем Новгороде. Речь в нём идёт о bitmap-индексе — менее распространённом, чем B-tree, но не менее интересном. Делюсь записью высту...

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

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

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

[Из песочницы] О целесообразности Selenium WebDriverWait Чем ближе я знакомлюсь с Selenium WebDriver, тем больше у меня возникает вопросов, почему тот или иной функционал выполнен так, а не иначе. В своем выступлении «Заморочки в Selenium WebDriver» Алексей Баранцев проливает свет на тонкости реализации этого инструмента автоматиз...

Больше статистики сайта в своём маленьком хранилище Анализируя статистику сайта, мы получаем представление о том, что происходит с ним. Результаты мы сопоставляем с другими знаниями о продукте или сервисе и этим улучшаем наш опыт. Когда анализ первых результатов завершён, прошло осмысление иформации и сделаны выводы, начинае...

Какой серверный язык выбрать…мобильному разработчику Вы скажете, какое вообще дело мобильному разработчику до того, на чем написан бэкенд. Главное, чтобы API туда был удобный, понятный, гибкий. А нам так не кажется. Мы в AppsConf думаем, что всем нам необходимо иногда выходить за пределы мобильной разработки и прокачивать шля...

Топ Лучших JRPG для ПК Не так давно было немыслимо, что японские ролевые игры будут перенесены на ПК, тем более что некоторые из лучших когда-либо созданных JRPG нашли свой путь к нашей платформе.

[Перевод] Монады за 15 минут Вступление На конференции YOW! 2013 один из разработчиков языка Haskell, проф. Филип Вадлер, показал, как монады позволяют чистым функциональным языкам осуществлять императивные по сути операции, такие, как ввод-вывод и обработку исключений. Неудивительно, что интерес аудито...

[Перевод] Чеклист готовности к продакшну Перевод статьи подготовлен специально для студентов курса «DevOps практики и инструменты», который стартует уже сегодня! Вы когда-нибудь выпускали новый сервис в продакшн? Или может занимались сопровождением таких сервисов? Если да, то чем вы руководствовались? Что для п...

[Перевод] Зачем в JavaScript нужен строгий режим? Строгий режим (strict mode) — это важная часть современного JavaScript. Именно этот режим позволяет разработчикам пользоваться более ограниченным, чем стандартный, синтаксисом. Семантика строгого режима отличается от традиционного нестрогого режима, который иногда называют ...

Julia NLP. Обрабатываем тексты Анализ и обработка текстов на естественном языке является постоянно актуальной задачей, которая решалась, решается и будет решаться всеми доступными способами. На сегодня хотелось бы поговорить о средствах решения для решения этой задачи, именно, на языке Julia. Безусловно,...

[Перевод] AMP: будущее электронной почты Динамическое электронное письмо, созданное с использованием технологии AMP, российскими разработчиками из ecwid.ru Проект AMP задумывался, чтобы улучшить пользовательский опыт в сети, а это значит и работу с электронной почтой, когда она происходит в вебе. Для большинства и...

[Перевод] Маркетинг в движении: год производства гифок Когда Банди с другом начинали работать над динамичным рогаликом Wizard of Legend, они понимали, что главная проблема — это недостаток опыта. У них не было связей, бюджета на маркетинг или экспертизы, которую могли бы использовать ветераны индустрии. Поэтому было важно начать...

Универсальный DSL. Возможно ли это? Язык предметной области. Не перегружен конструкциями языка общего назначения. При этом позволяет всего несколькими строчками реализовать весьма сложную логику. Все это — DSL. Однако создание DSL требует от разработчика соответствующей квалификации. Регулярное использование...

[Перевод] Откуда появился лозунг «Don’t Be Evil» Сергей Брин. Стейси Салливан. Хироси Ямаути. Пол Бухейт. Амит Патель. Марисса Майер. Google. Nintendo. Пагуошская студенческая конференция. Дорогой Quote Investigator, Google был основан в 1998 году и спустя несколько лет один из работников предложил этой компани...

Как фантаст Артур Кларк чуть не закрыл журнал «Техника — молодежи» Когда я стал самым-самым маленьким начальником в газете, мой тогдашний главный редактор — дама, ставшая матерым волком журналистики еще в советское время, сказала мне: «Запомни, раз уж ты расти начал — руководство любым медиа-проектом сродни бегу по минному полю. Не потому ч...

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

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

[Перевод] Новый курс по Python от Microsoft [на английском] Вероятно, самое большое препятствие при изучении любого нового языка программирования — просто знать, с чего начать. Что важно? Что нужно знать, чтобы стать профи? Трудно исследовать документы, когда даже нет уверенности, что читаешь то, что нужно. Возможно, вы присматривае...

[Перевод] HTML — это и есть веб Что нынче с HTML во фронтенде? В последнее время я разговаривал со многими разработчиками. Похоже, что некоторые даже не разбираются в HTML. В смысле, кое-что они понимают. Они понимают, что такое div и что такое span, и когда всё выглядит хорошо и работает по щелчку, им это...

[Перевод] Отец создал бионический протез руки для сына с помощью 3D-принтера и X-Box Сол Смит-Райан в студии ITV News. Статья ITV News переведена для вас Top 3D Shop. Отец ребёнка, руку которого пришлось ампутировать, сделал решительный шаг и создал бионическую конечность для сына, применив с помощью консоли XBox и 3D-принтера. Когда родился Сол Смит-Райа...

Самый лучший смартфон Xiaomi поступил в продажу за пределами Китая Еще осенью 2018 года компания Xiaomi создала и запустила в продажу самый продвинутый смартфон из всех, которые она когда-либо выпускала. Новинка получила название Xiaomi Mi Mix 3, а обладает она выдвижной конструкцией, благодаря которой дисплей Сообщение Самый лучший смартф...

Почему не SQL? Без преувеличения можно сказать, что SQL — один из самых распространенных в мире языков. Информационные системы могут быть написаны на Java, Python, JavaScript, C#, PHP и десятке других языков, но SQL база в том или ином виде будет в абсолютном большинстве таких систем. Ср...

[recovery mode] Сервим всё Не так чтобы очень давно, в довольно недалекой галактике, на одной провинциальной планетке жили известные потомки обезьян, которые настолько обленились, что решили изобрести искусственный интеллект. «Ну а что?» — подумали они. Хорошо же иметь в советчиках Сверхразум «надмозг...

Medium Weekly Digest #5 (9 – 16 Aug 2019) Мы постоянно слышим фразу «национальная безопасность», но когда государство начинает следить за нашим общением, фиксируя его без веских подозрений, юридического основания и без какой-либо видимой цели, мы должны задать себе вопрос: они и в самом деле защищают национальную бе...

[Перевод] Глючный код на Python: 10 самых распространенных ошибок, которые допускают разработчики О Python Python — это интерпретируемый, объектно-ориентированный язык программирования высокого уровня с динамической семантикой. Встроенные структуры данных высокого уровня в сочетании с динамической типизацией и динамическим связыванием делают его очень привлекательным для...

Холивар. История рунета. Часть 3. Поисковики: Яндекс vs Рамблер. Как не делать инвестиции Холивар. История рунета. Часть 1. Начало: хиппи из Калифорнии, Носик и лихие 90-е Холивар. История рунета. Часть 2. Контркультура: пАдонки, марихуана и Кремль «Я ж не сразу поддамся, ты хоть нажимай». Программисты Дмитрий Крюков и Сергей Лысаков создали Rambler.ru — гла...

[Из песочницы] Инкапсуляция для настоящих самураев, или нюансы, связанные с ключевым словом internal в C# Пролог: internal is new public Каждый из нас мечтал о проекте, где всё будет сделано правильно. Это кажется вполне естественным. Как только ты узнаёшь о самой возможности писать хороший код, как только слышишь легенды о том самом коде, который можно легко читать и изменять, ...

Архитектура, сертифицированная по SQL Server Data Warehouse Fast Track (DWFT): что это значит и как устроено Крупные производители популярного софта заботятся о своих заказчиках по-разному. Один из способов — создать программу сертификации. Чтобы, когда заказчики в раздумьях блуждают между аппаратными конфигами для конкретного софта, производитель этого софта мог подойти и с уверен...

[Перевод] Обзор инструментов для безопасности GitHub репозиториев Введение Когда вы начинаете создавать репозиторий на GitHub, одной из первых вещей, о которых вы должны подумать, является безопасность. В случае, если вы создаете свой собственный репозиторий GitHub или часто контрибьютите в репозиторий, вам необходимо знать, содержит ли...

[Из песочницы] Синтез регулятора методом обратной задачи динамики В задачах управления бывают случаи, когда закон движения управляемого объекта известен и необходимо разработать регулятор с определенными характеристиками. Порой задача осложняется тем, что уравнения, описывающие управляемый объект, оказываются нелинейными, что осложняет пос...

Сколькими способами можно записать факториал на Scheme? Злые языки утверждают, что функциональные языки программирования — «языки для написания факториалов». Чаще всего так определяют язык Haskell, мы же начнем с того функционального языка, который сильно повлиял и на Haskell, и на подмножество средств для функционального програм...

[Из песочницы] Почему вы должны думать о функциональном программировании Привет, Хабр! Представляю вашему вниманию перевод своей статьи «Why you should think about functional programming», посвященной функциональному программированию. Почему вы должны думать о функциональном программировании? Давайте ответим на следующие вопросы: всегда ли в...

Революция откладывается. Никакого Xiaomi Mi Mix Alpha до конца года Когда компания Xiaomi представила свой концептуальный смартфон Mi Mix Alpha по цене 2800 долларов, главный вопрос был в том, когда он начнёт продаваться. По слухам и сообщениям инсайдеров, смартфон могли выпустить в октябре. Теперь представитель компании внёс ясность в ...

[Перевод] PHP дженерики уже сегодня (ну, почти) Если спросить PHP-разработчиков, какую возможность они хотят увидеть в PHP, большинство назовет дженерики. Поддержка дженериков на уровне языка была бы наилучшим решением. Но, реализовать их сложно. Мы надеемся, что однажды нативная поддержка станет частью языка, но, вероятн...

Конспект по книге Марка Гаулстона “Я слышу вас насквозь” Хорошая книга о коммуникации между людьми. Немного теории о взаимопонимании (с которой вы, возможно, ознакомились благодаря другим книгам этого автора). У каждого есть мозг рептилии (бей или беги), мозг млекопитающего (эмоции и набор условных рефлексов) и мозг человека (раци...

Как оформить ДТП через Госуслуги без участия ГИБДД Правительство РФ вот уже как много лет работает над тем, чтобы сделать жизнь всех россиян лучше, чем когда-либо раньше, а для этого внедряются самые разные новшества. Сегодня, 5 сентября 2019 года, наконец-то случилось то, чего Сообщение Как оформить ДТП через Госуслуги без...

Когда «стены» недостаточно. Как защитить конечные точки Думаете, самое важное в компании — обеспечить безопасность корпоративного сетевого периметра и серверной инфраструктуры? Это правда лишь отчасти: создать защищенный периметр сейчас в принципе невозможно, только если в компании не применяются строжайшие правила ИБ, «белый с...

[Перевод] Погружение в Move — язык программирования блокчейна Libra от Facebook Далее мы рассмотрим в деталях основные характеристики языка Move и в чем его ключевые различия с другим, уже популярным языком для смарт-контрактов — Solidity (на платформе Ethereum). Материал основан на изучении доступного он-лайн 26-страничного whitepaper-а. Введение Move...

Как быть дизайнером своей жизни: советы от Билла Бернетта, руководителя программы дизайна Стэнфорда и ветерана Apple Когда Билл Бернетт совместно с коллегой-профессором Дэйвом Эвансом создал курс «Дизайн своей жизни» (Designing Your Life) для студентов Стэнфорда, все что он хотел — это чтобы молодые люди и девушки смогли применить принципы дизайн-мышления для создания после выпуска той жи...

[Из песочницы] За что я ненавижу Eloquent ORM Всем привет. Хочу перед вами исповедаться и рассказать немного о том, что я чувствую, когда разрабатываю на Laravel. Нет, не подумайте, я обожаю этот фреймворк и безумно благодарен команде, которая его создала и поддерживает, они делают крайне крутое дело и, на мой взгляд, ...

Самые популярные модели часов Casio G-Shock Casio представила список трех самых популярных моделей часов G-Shock по всему миру. Линейка часов G-Shock была представлена ​​в 1983 году и была разработана инженером Casio Кикуо Ибе, который хотел, чтобы часы были неразрывными. Вдохновение для этого пришло, когда его часы с...

Kotlin DSL, Fixtures и элегантные UI тесты в Android Когда познакомился с Kotlin DSL, подумал: отличная штука, жалко в продуктовой разработке она не пригодится. Однако, я был неправ: он нам помог сделать очень лаконичный и элегантный способ написанная End-to-end UI тестов в Android. Читать дальше →

ООП в языке R (часть 1): S3 классы R это объектно ориентированный язык. В нём, абсолютно всё является объектом, начиная от функций и заканчивая таблицами. В свою очередь каждый объект в R должен относится к какому либо классу. На самом деле в окружающем нас мире ситуация примерно такая же. Мы окружены объекта...

Вред макросов для C++ кода Язык C++ открывает обширные возможности для того, чтобы обходиться без макросов. Так давайте попробуем использовать макросы как можно реже! Сразу оговорюсь, что я не являюсь фанатиком и не призываю отказываться от макросов из идеалистических соображений. Например, когда р...

Туториал по Oracle Application Express. Обзор IDE Недавно я с удивлением обнаружил, что, оказывается, толковых туториалов по Oracle Application Express (он же APEX, он же апекс, но не путать с языком apex, который используется в Salesforce) в природе не существует. Это не самая распространенная технология, конечно, но, тем ...

Xiaomi Mi Band 4 получил скрытую особенность, о которой никто не знает Когда какая-либо компания анонсирует новое электронное устройство, она стремится сделать так, чтобы оно было максимально продвинутым во всех отношениях. Иногда новшеств оказывается насколько много, что рассказать обо всех таких во время какой-либо презентации или конференци...

LG нескоро развернёт обновление Android Pie для своих смартфонов В прошлом году LG создала подразделение Software Upgrade и заявила, что будет инвестировать значительные ресурсы в расширение периода актуальности своих смартфонов с помощью выпуска постоянных и стабильных обновлений. Многие надеялись, что это внимание к программном...

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

С сожалением об отсутствии в C++ полноценного static if или… … как наполнить шаблонный класс разным содержимым в зависимости от значений параметров шаблона? Когда-то, уже довольно давно, язык D начали делать как "правильный C++" с учетом накопившегося в C++ опыта. Со временем D стал не менее сложным и более выразительным языком, чем C...

[Перевод] Как улучшить стиль письма на английском: 5 советов При написании текстов на любом языке важно не только избегать грамматических и синтаксических ошибок, но и в целом следить за стилем изложения. Читатели мгновенно видят, когда текст написан хорошо. Я наткнулся на интересный материал с пятью советами, которые призваны помо...

Автоматизация трёх гвоздей Пока я работал программистом, все было хорошо. Когда я стал руководителем программистов, появились определенные трудности, но их удалось преодолеть. Когда меня поставили руководить стратегическими изменениями, все стало плохо. Я начал упускать. Читать дальше →

Custom instruments: когда signpost недостаточно Instruments для Xcode компании Apple — это инструменты для анализа производительности iOS-приложения. Их используют для сбора и отображения данных, которые необходимы в отладке кода. В прошлом году Apple презентовала Custom Instruments. Это возможность расширить стандартный ...

[Перевод] Haxe: большой секрет кросс-платформенной разработки Современный язык программирования Haxe хорошо известен в определенных кругах, но многие из читающих данный материал возможно никогда о нем и не слышали. Но не позволяйте его нишевому статусу обмануть вас. С тех пор, как он впервые появился в 2005 году, его испытали в бою его...

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

[Из песочницы] Язык программирования, помещающийся на почтовой открытке Источник Ральф Джонсон, один из членов "Банды четырёх", однажды показал, как синтаксис языка Smalltalk-80 можно уместить на почтой открытке. Сейчас, спустя почти 30 лет после появления первой версии Smalltalk, самым быстроразвивающимся диалектом Smalltalk является...

EFORTH для МК-161: Структуры данных Эта статья — окончание цикла статей про eForth на программируемом калькуляторе. Начало здесь: habr.com/ru/post/452398 Команды входного языка «Электроники МК-161» занимают только половину файла eForth0.mkl. Вторую половину занимают таблицы, разработать которые был не меньший...

Сети кабельного телевидения для самых маленьких. Часть 10: Поиск и устранение неисправностей на сети КТВ Заключительная, самая скучная статья-справочник. Читать её для общего развития смысла наверное нет, но когда это случится — она вам очень поможет. Читать дальше →

Взгляд со стороны EcmaScript на общую теорию ООП Привет, Хабр! До сего дня я занимался лишь переводами интересных, на мой взгляд, статей англоязычных авторов. И вот настала пора самому что-то написать. Для первой статьи я выбрал тему, которая, я уверен, будет полезна junior-разработчикам, стремящимся дорасти до «мидлов»,...

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

Как мы внедряли Agile-testing Привет! Меня зовут Алёна Исакова, я ведущий тестировщик в Авито, и я хочу рассказать вам про свой опыт введения Agile-тестирования в команду. Когда я читала доступные на русском языке статьи про Agile-тестирование и ATDD, у меня сложилось впечатление, что я «не модная», «не ...

Разработан метод шумоизоляции, гасящий до 94% шумов — рассказываем, как он работает Американские инженеры предложили способ шумоизоляции. Он отличается от привычных звукопоглощающих панелей. Это — напечатанное на 3D-принтере пластиковое кольцо. Читать дальше →

[Перевод] Самые быстрые Python веб-фреймворки в 2019 В 2018 году Python укрепил свои позиции популярности среди программистов и вошел в Top 3 самых популярных языков на github. Все больше и больше людей переходит на светлую сторону…то есть Python. Появилось еще большее количество разработчиков, которые интересуются данным яз...

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

FreePBX. Настройка Asterisk для e-mail уведомлений о пропущенных входящих вызовах в очереди IP ATC Asterisk — это мощный комбайн в области IP-телефонии. А web-интерфейс FreePBX, созданный для Asterisk, значительно упрощает настройку и снижает порог вхождения в систему. Если вы можете придумать какую-либо задачу, связанную с IP-телефонией, то почти наверняка это мо...

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

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

[Перевод] Алан Кей: Что можно назвать самым удивительным, что компьютеры сделали возможным Quora: Что можно назвать самым удивительным, что компьютеры сделали возможным? Алан Кей: Все еще пытаюсь научиться мыслить лучше. Я думаю, что ответ будет очень похож на ответ на вопрос «что является самым удивительным, что письменность (а затем и печатный станок) сделал...

История одного лендинга: привлек много клиентов и был скопирован под сотню раз Привет, Хабр! Я Руслан Кокин, UX-дизайнер в компании UXhot, и у меня есть необычная история про лендинг, а также состояние копирайта в России. Среди созданных нами продуктов есть по-настоящему легендарный лендинг пейдж, ставший донором для зарождающегося в интернете сегме...

Суровая сибирская JVM: большое интервью об Excelsior JET Недавно мы писали о том, на какие ухищрения пошла Alibaba, чтобы сделать себе жизнь с OpenJDK более приемлемой. Там были комментарии вроде «оказывается, пока мы тут страдаем с обычной джавой, китайцы уже сделали себе свою особенную». Alibaba, конечно, впечатляет — но и в Рос...

Знакомство с Python для камрадов переросших «язык A vs. язык B» и другие предрассудки Для всех хабравчан, у которых возникло ощущение дежа-вю: Написать этот пост меня побудили статья "Введение в Python" и комментарии к ней. К сожалению, качество этого "введения" кхм… не будем о грустном. Но ещё грустнее было наблюдать склоки в комментариях, из разряда "C++ бы...

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

[Перевод] Почему я отказался от работы в AWS Когда я говорю об AWS, то стараюсь быть объективным. Если они сделали что-то хорошее, я рассказываю об этом — и люди мне верят, потому что я обязательно дам знать, когда они сотворят какую-то фигню. Сегодня такой случай. 26 июля 2019 года Amazon подала в суд на бывшего м...

Приятное с полезным или разработка под ASIO на C++ Будучи потенциальным программистом и любителем электрогитар, я не мог остаться в стороне от разработки музыкального ПО. Все кто когда-либо пытался подключить электрогитару к компьютеру на ОС Windows, используя какой-либо гитарный процессор, знают, что зачастую для этих цел...

«Универсал» в команде разработки: польза или вред? Всем привет! Меня зовут Людмила Макарова, я менеджер разработки в УБРиР и треть моей команды – «универсалы». Признайте: каждый Tech Lead мечтает о кросс-функциональности внутри своей команды. Ведь это так круто, когда один человек способен заменить трех, да еще и сделать ...

[Из песочницы] Мой подход к реализации делегатов в C++: вызов функции с неизвестными параметрами во время выполнения Предыстория Мне нравится язык C++. Я бы даже сказал, что это мой любимый язык. Кроме того, для своих разработок я использую технологии .NET, и многие идеи в нём, по моему мнению, просто восхитительны. Однажды мне пришла в голову идея – как реализовать некоторые средства рефл...

[Перевод] Как работает Zig? От переводчика: этот пост был опубликован в блоге автора 15 марта 2018 года. Так как язык развивается, в настоящее время его синтаксис может отличаться. Всё описанное относится к Zig 0.2.0, текущая версия языка — Zig 0.3.0. Я связался с автором поста, и он любезно предостави...

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

Анатомия акустических систем: металлокерамика и композиты — о диффузорах Monitor Audio Если речь заходит о высокой верности воспроизведения в акустических системах, то приходится признавать, что многие технические решения являются компромиссом между КПД системы и способностью точно воспроизводить записанный звук. При этом существуют производители, которые не п...

[Перевод] Как Baldur’s Gate спас компьютерные RPG Искусство может быть делом вкуса, но не подлежит сомнению следующий вывод: 1998 год стал лучшим годом для видеоигр, создавшим непревзойдённую линейку революционных игр, оставивших неизгладимое наследие и породивших серии и субкультуры, существующие и по сей день. На протяже...

[Перевод] Памяти Дэнни Коэна, специалиста по информатике, двигавшего вперёд цифровую эру Дэнни Коэн был пилотом, специалистом по информатике, и помогал разрабатывать авиационные тренажёры Дэнни Коэн, выдающийся специалист по информатике, помогавший разработать первый цифровой визуальный авиационный тренажёр для тренировки пилотов, ранние цифровые голосовые кон...

Бизнес, я люблю тебя Я хотела бы начать этот пост очень пафосно. Например, так: «Я работаю в бизнесе уже 10 лет, получила железное сердце и обросла панцирем». Или так: «Да-да, Хабр, я работник коммерческой службы: когда-то аналитик, потом продажник, потом маркетолог. Я тот самый, кого вы все не ...

Xbox Scarlett будет в 4 раза мощнее Xbox One X Microsoft наконец-то анонсировала Xbox Scarlett на E3 2019: самую мощную консоль из когда-либо созданных… снова.Xbox Scarlett создается точно такой же командой, что и Xbox One X. В партнерстве с AMD Scarlett использует современный SoC, созданный с нуля для консоли. Основанна...

[Перевод] JavaScript — лучший язык программирования для начинающих. Так это или нет? JavaScript, несмотря на его многочисленные недостатки, возможно, является самым лучшим языком программирования для начинающих разработчиков, и лучшим языком, с которым могут повозиться дети. Шёл 2007 год. Отличное издательство технических книг O’Reilly Media обратилось ко ...

Как выпускник Физтеха открыл самую большую школу программирования в Армении Карен Шарафян родился и вырос в Армении, окончил факультет общей и прикладной физики МФТИ, поступил в магистратуру Сколтех и МФТИ, но решил вернуться в Армению, где с партнерами открыл крупнейшую в стране школу программирования. Поговорили с Кареном об IT-образовании в Армен...

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

Используем mcrouter для горизонтального масштабирования memcached Разработка высоконагруженных проектов на любом языке требует особого подхода и применения специальных инструментов, но когда речь заходит о приложениях на PHP, ситуация может обостриться настолько, что приходится разрабатывать, к примеру, собственный сервер приложений. В д...

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

Из Apple уходит ведущий дизайнер Главный дизайнер Apple Джонатан «Джони» Айв (Jonathan "Jony" Ive, на фото он в центре) покинет компанию в конце этого года. Он откроет собственную дизайнерскую фирму, одним из заказчиков которой будет Apple. Как утверждается, к Айву присоединится М...

Виртуальный Джинн на 8 марта — или как удивить своих сотрудниц в самый весенний день Завтра по всему миру мы будем отмечать самый женский день в году. И это прекрасно! Но это значит, что сегодня — день, когда мы поздравляем наших дорогих сотрудниц. И каждый год мы (мужская часть трудового коллектива) думаем, как бы сделать это по-особенному… Цветы, вечерни...

Google заплатит $170 млн за сбор данных несовершеннолетних на YouTube Google заплатит штраф в размере $170 млн за незаконный сбор видеохостингом YouTube информации о несовершеннолетних без согласия их родителей. Об этом сообщается на сайте Федеральной торговой комиссии США (FTC). Это самый большой штраф, который когда-либо выплачивали за наруш...

[Из песочницы] Довериться Кодду или своим объектам? Хранимые объекты без головной боли: простой пример работы с объектами Caché на языках ObjectScript и Python Замок Нойшванштайн В июне 2020 года ровно 50 лет табличным хранилищам данных или говоря формально — реляционной модели данных. Вот официальный документ – та самая зн...

Видео: Полный обзор туалетной бумаги Xiaomi Wuro Xiujia. Реальный ТЕСТ! Парни с Channel Next конкретно прикололись и в самом деле заказали туалетную бумагу, произведенную дочерней компанией Xiaomi — Wuro Xiujia. Ну и, разумеется, сделали обзор с тестированием, приближенным к реальной «боевой» обстановке.Отдельно стоит отметить, что стоит туалетн...

[Перевод] Заложники COBOL и математика. Часть 1 Посмотрим правде в глаза: никто не любит дробные числа — даже компьютеры. Когда речь заходит о языке программирования COBOL — первый вопрос, который всплывает у всех в голове, всегда выглядит так: «Почему человечество всё ещё использует этот язык во множестве жизненно важны...

[Перевод] История 3dfx Voodoo1 Это вторая статья из серии «3D-карты конца 90-х, на которых работал Quake». В первой части мы рассмотрели Rendition Vérité 1000 конца 1996 года и специальный порт игры для неё под названием vQuake. Rendition удалось победить всех на рынке Quake. На короткий промежуток време...

Человек сделал себе третье ухо, чтобы им пользовался весь мир — ради искусства Фото: Stelarc.org На прошедших выходных в Москве состоялся фестиваль GeekPicnic. Одним из его хедлайнеров был Стеларк — 73-летний художник, автор множества перформансов и почетный профессор искусств и робототехники университета Карнеги-Меллона. Он стал известен в 70-е, ко...

[Из песочницы] Wolfram Function Repository: открытый доступ к платформе для расширений языка Wolfram Привет, Хабр! Представляю вашему вниманию перевод поста Стивена Вольфрама "The Wolfram Function Repository: Launching an Open Platform for Extending the Wolfram Language". Предпосылки состоятельности языка Wolfram Сегодня мы стоим на пороге великих свершений вмест...

[Из песочницы] Рендеринг 3D графики с помощью OpenGL Введение Рендеринг 3D графики — непростое занятие, но крайне интересное и захватывающее. Эта статья для тех, кто только начинает знакомство с OpenGL или для тех кому интересно, как работают графические конвейеры, и что они из себя представляют. В этой статье не будет точных ...

Книги, которые стоит прочитать каждому продакт-менеджеру Никогда не читайте книги для самообразования просто так, без практики. Это самое плохое, когда человек прочитывает кучу книг, а затем пытается устроиться работать продакт-менеджером, размахивая книжными знаниями. Таких соискателей сразу видно. И замечательно, если человек ...

Mozilla починила веб-браузер Firefox, который сломался у всех пользователей в мире Не так давно случилось то, о чем когда-либо раньше никто не мог даже подумать. Злоумышленники нашли способен сделать так, чтобы веб-браузер Firefox, один из самых крупных и известных в мире, перестал в один момент времени Сообщение Mozilla починила веб-браузер Firefox, кото...

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

[Перевод] Как в 1995 году писали игры для Sega Saturn Это документ, написанный мной в 1995 году, когда я работал над первой игрой студии Neversoft: Skeleton Warriors. Это была первая игра, в которой я не использовал язык ассемблера 68K. Фото сделано примерно в то время. Комплект разработчика (dev kit) («Small Box» и ICE) стоит...

Российская разработка повысит эффективность эксплуатации космической техники на треть В России разработан передовой композитный каркас для солнечных батарей космической техники, о чём сообщает государственная корпорация Ростех. Новинка демонстрируется на выставке Space Tech Expo Europe-2019 в Бремене (Германия). Фотографии Роскосмоса Изделие создано специалис...

В Edge Canary тестируется встроенный переводчик сайтов на базе Microsoft Translator Многие пользователи социальной сети Reddit неожиданно обнаружили новую функцию в предварительной версии Edge на Chromium из ветки Canary, которая позволяет автоматически переводить сайты на другие языки при помощи сервиса Microsoft Translator. Соответствующая иконка появляе...

Самые редкие и самые дорогие языки программирования. Часть II Недавно для читателей Habr я провела небольшое исследование языков программирования, таких как Rust, Dart, Erlang, чтобы выяснить, насколько они являются редкими на российском рынке IT. В ответ на мое исследование посыпалось больше количество комментариев и вопросов касате...

C++ Russia 2019. Небольшой отчет с места событий и анонс следующей конференции в Санкт-Петербурге Конференция C++ Russia — пока что самая суровая и одновременно ламповая конференция за последнее время. Она проходила в Конгресс-парке гостиницы «Украина» в Москве и собрала аудиторию более чем в шесть сотен человек. Как сказал один из товарищей на афтепати: «Я со школы пыта...

[Перевод] Руководство по аннотациям TestNG для Selenium WebDriver Мир, труд, май, хабровчане! Для тех, кто также как и мы ворвался в межпраздничную рабочую неделю, мы подготовили перевод, который хотим приурочить к старту набора на курс «Java QA Engineer», запуск которого запланирован на 28 мая. TestNG — это тестовый фреймворк, созданн...

Как создать крутых боссов. Опыт разработчиков Shadow Fight 3 Где искать вдохновение, как построить процесс между командами, какую механику выбрать и как добиться WOW-эффекта — рассказывает геймдизайнер Banzai Games Дмитрий Аборилов. Вы сталкивались с задачей сделать финального босса игры? Такого, чтобы он надолго запомнился много...

Гарвардский астроном: «Первый контакт с инопланетянами станет настоящим шоком» Декан факультета астрономии Гарвардского университета Ави Лоеб уже долгое время озабочен вопросом о том, одни ли мы во Вселенной. В своих более ранних заявлениях ученый выносил предположение о том, что быстрые радиовсплески могут являться свидетельством активности инопланет...

[Перевод] Смогут ли роботы когда-нибудь по-настоящему осознать себя? Учёные движутся в этом направлении В центре понятия «человек» находится способность осознавать себя. Без неё мы не могли бы ориентироваться, взаимодействовать, сочувствовать или выживать в постоянно меняющемся, сложном мире вместе с другими людьми. Нам необходимо осознавать себя, когда мы делаем что-то, или...

[Перевод] Jetpack Compose Jetpack Compose это отдельный набор инструментов разработанный для упрощения разработки UI. Он соединяет модель реактивного программирования с лакончностью и лёгкостью использования языка программирования Kotlin ПРИМЕЧАНИЕ: Jetpack Compose в настоящее время находится в ст...

[Перевод] Как работает FaceID в iPhone X: алгоритм на Python Одна из самых крутых фишек iPhone X – это метод разблокировки: FaceID. В этой статье разобран принцип работы данной технологии. Изображение лица пользователя снимается с помощью инфракрасной камеры, которая более устойчива к изменениям света и цвета окружающей среды. Исп...

Идиоматичное программирование GPU на Rust: Библиотека Emu Введение Emu — это высокоуровневый язык программирования видеокарт, способный встраиваться в обычный код на системном языке программирования Rust. В данной статье речь пойдёт о синтаксисе Emu, его особенностях, а также будут показаны несколько наглядных примеров его использ...

Netramesh – легковесное service mesh решение В процессе перехода от монолитного приложения к микросервисной архитектуре мы сталкиваемся с новыми проблемами. В монолитном приложении обычно достаточно просто определить, в какой части системы произошла ошибка. Скорее всего, проблема в коде самого монолита, либо в базе дан...

На мобильных вышла красивая головоломка  BonVoyage! BonVoyage — это головоломка, в которой вам нужно будет переставлять плитки, из которых состоят локации, чтобы прокладывать путь для главного героя. Разработчик приготовил более 70 уровней, а еще 20 будут доступны в виде бесплатного дополнения. Для тех, кому и этого мало, пр...

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

Если у Вас нет Питона, но есть Керас-модель и Джава Всем привет! В построении ML-моделей Python сегодня занимает лидирующее положение и пользуется широкой популярностью сообщества Data Science специалистов [1]. Также, как и большинство разработчиков, Python привлекает нас своей простотой и лаконичным синтаксисом. Мы использу...

[Перевод] Анонс веб-интерфейса Kubernetes Web View (и краткий обзор других web UI для Kubernetes) Прим. перев.: Автор оригинального материала — Henning Jacobs из компании Zalando. Он создал новый веб-интерфейс для работы с Kubernetes, который позиционируется как «kubectl для веба». Почему новый Open Source-проект появился и каким критериям не удовлетворили уже существующ...

Байки сервисной службы. Несерьёзный пост о серьёзной работе Сервисные инженеры бывают на АЗС и космодромах, в IT-компаниях и на автозаводах, на ВАЗе и в Space X, в небольшом бизнесе и в международных гигантах. И все, абсолютно все они когда-то слышали классический набор про «оно само», «я тут изолентой обмотал и оно работало, а потом...

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

[Перевод] Будущее PHP Это мертвый язык программирования или нет? У PHP наверняка были лучшие времена. Но действительно ли он мертв? На форумах, подобных StackOverflow, люди предполагают, что PHP мертв. У них есть верная точка зрения, или может быть, они просто не любят PHP? Давайте посмотрим ...

[Из песочницы] Чипы Intel Myriad X и их масштабируемость в инференсе нейронных сетей Нейростики Intel NCS2, чипы Myriad X, решения сторонних производителей — компания Intel продвигает решения на базе Myriad X в самых различных вариантах. Чем же так хороши эти ускорители? Во-первых, стоимостью одного FPS. Во-вторых, полной совместимостью с OpenVINO, где можно...

Эта странная черная роза, на самом деле — сверхэффективный водяной фильтр Профессор Донглей Фан вместе со своей командой из Университета Техаса разработала необычный пассивный очиститель воды, в основу которого легла известная технология «солнечной дистилляции». Для этого Фан использовал полимер полипиррол — вещество радикально черного цвета...

Админ без рук = гиперконвергенция? Это миф, достаточно распространённый в сфере серверного железа. На практике же гиперконвергентные решения (когда всё в одном) нужны много для чего. Исторически сложилось, что первые архитектуры были разработаны Amazon и Google под свои сервисы. Тогда идея была в том, чтоб...

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

[Перевод] Пишем API на Python (с Flask и RapidAPI) Если вы читаете эту статью, вероятно, вы уже знакомы с возможностями, которые открываются при использовании API (Application Programming Interface). Добавив в свое приложение один из многих открытых API, вы можете расширить функциональность этого приложения либо же допол...

Полезная help-ссылка для работы с данными Хабр, привет. Представляю вам главную help-ссылку для работы с данными. Материал в Гугл-доке подойдет как профессионалам, так и тем, кто только учится работать с данными. Пользуйтесь и прокачивайте скиллы сами + делитесь с коллегами. Дальнейшее описание поста — это содержан...

[Перевод] Зачем ЯОП? Зачем Racket? Это продолжение статьи «Зачем Racket? Зачем Lisp?», которую я написал примерно через год после того, как открыл для себя Racket. Будучи новичком, я не мог понять дифирамбов, которые со всех сторон сыпались в адрес Lisp. Я не знал, что и думать. Как понимать, что Lisp в конце...

Анализ данных на Scala — суровая необходимость или приятная возможность? Традиционными инструментами в сфере Data Science являются такие языки, как R и Python — расслабленный синтаксис и большое количество библиотек для машинного обучения и обработки данных позволяет достаточно быстро получить некоторые работающие решения. Однако бывают ситуации...

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

Главная арена страны. Как обновлялись «Лужники» перед Чемпионатом мира по футболу Пришло время рассказать, как мы готовили стадион «Лужники» к Чемпионату мира по футболу. Команде «ИНСИСТЕМС» и «ЛАНИТ-Интеграции» достались слаботочные, противопожарные, мультимедийные и IT-системы. Вообще-то еще рано писать мемуары. Но, боюсь, когда для этого настанет время...

[Перевод] Введение в Example Mapping Прежде чем взяться за работу над user story, очень важно определить для себя критерии приемки. Это можно сделать, когда вы детализируете бэклог или планируете  ближайший спринт. Некоторые команды для этого проводят специальные встречи, которые называются 3 Амиго (подробнее о...

BGP hijacking с помощью добавления AS жертвы в AS-SET атакующего Статья поделена на три части части. В первой содержится общая информация о том что такое BGP hijacking и его традиционный вариант. Для тех кто знаком с этим явлением, рекомендуется перейти сразу ко второй части. Во второй части будет описан метод анонсирования чужих префиксо...

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

[Перевод] Улучшаем письменный английский: как понять, когда использовать пассивный залог Один из наиболее часто встречаемых в интернете советов по улучшению письменного английского звучит так: «Не используйте пассивный залог» (passive voice). Об этом пишут в различных блогах, такие конструкции в 100% случаев подчеркивают многие инструменты для проверки граммат...

[Перевод] Книга Алана Тьюринга и загадочная записка — Научный детектив Оригинал перевода в моём блоге Как ко мне попала эта книга? В мае 2017 года я получил электронное письмо от моего старого учителя средней школы по имени Джордж Раттер, в котором он писал: «У меня есть копия большой книги Дирака на немецком языке (Die Prinzipien der Quanten...

[Из песочницы] Конфигурация приложений на Angular. Лучшие практики Как управлять файлами конфигурации среды и целями Когда вы создали angular приложение с помощью Angular CLI или Nrwl Nx tools у вас всегда есть папка с фалами конфигурации окружения: <APP_FOLDER>/src/environments/ └──environment.ts ...

В Сеть «утекли» изображения смартфона с гибким дисплеем Motorola Razr (2019) Многие крупные производители смартфонов готовятся к выходу устройства с гибким дисплеем, либо уже сделали это. Ярким примером изделий, открывающих новую категорию устройств, можно считать смартфоны Samsung Galaxy Fold и Huawei Mate X. Одним из долгожданных устройств со склад...

ARM Assembler Editor: Если гора не идет к Магомеду, Магомед идет к горе… Если кто не знает мне интересно программирование на ассемблере для микроконтроллеров STM32… И все бы хорошо, да только программировать особо негде… Те среды которые есть в настоящий момент заточены больше для языка Си и программирование в них на ассемблере не сильно отличае...

Облачные платформы для мобильного тестирования И вот настало то время, когда нашим нуждам тестирования стало тесно на рабочем столе тестировщика. Душа попросилась в облака. На самом деле нет. Не совсем. Читать дальше →

[Перевод] Внутри Quake: определение видимых поверхностей Ветеран программирования трёхмерной графики Майкл Абраш на примере разработки первого Quake рассказывает о необходимости творческого мышления в программировании. Много лет назад я работал в теперь уже не существующей компании-производителе видеоадаптеров Video Seven. Там я...

[Перевод] Семь лет работы разработчиком: какие уроки я извлёк Время летит, правда? Моя карьера началась в 2012 году, с первой стажировки по C++. Честно говоря, я понятия не имел, что делаю (на самом деле, ничего не изменилось). Однако я извлёк несколько уроков. Отказ от ответственности: в этом сообщении не будет никакого кода. Вопр...

[Из песочницы] Ретрогейминг: PAL vs NTSC. Или почему PAL не нужен Многие из вас знают про форматы видео как PAL, NTSC и, конечно же, SECAM. Скорее всего эти аббривеатуры вы слышали, когда речь шла о видеотехнике. Толком никто не знал в чем была между ними разница и почему они отличались. Что касательно видеоигровой индустрии, то тут уж точ...

[Из песочницы] 5 причин посетить EPAM INSIDER в Казахстане 19 октября Алматы впервые примет одну из самых больших и важных конференций EPAM – EPAM INSIDER Kazakhstan. Это попытка соединить растущие амбиции и IT-потенциал Казахстана с опытом лидеров индустрии: создать открытую платформу для обмена успешными практиками, реальными ке...

Как устроены сервисы управляемых баз данных в Яндекс.Облаке Когда ты доверяешь кому-то самое дорогое, что у тебя есть, – данные своего приложения или сервиса – хочется представлять, как этот кто-то будет обращаться с твоей самой большой ценностью. Меня зовут Владимир Бородин, я руководитель платформы данных Яндекс.Облака. Сегодня я ...

[Перевод] Профилирование и трейсинг с perf Учимся дебажить с perf — целых 18 страниц про основные подкоманды, фичи и устройство инструмента. Джулия рекомендует; “Я даже использовала его несколько раз для профилирования Ruby программ!” Уровень сложности — для суперпродвинутого администратора. Когда нужно отыскать пр...

[Из песочницы] Особенности атрибута inputmode для мобильных ОС и браузеров Привет, Хабр! Представляю вашему вниманию перевод статьи «Everything You Ever Wanted to Know About inputmode» Christian Oliff. Примечание переводчика: Первоначальное название статьи «Всё, что вы когда-либо хотели знать об inputmode» изменено на «Особенности атрибута inputmo...

Как глубока кроличья нора? CLRium #5: Garbage Collector Мир несется вперед, движимый прогрессом и конкуренцией. Нам с вами нереально повезло: ведь для нас работают величайшие умы, создавая поистине серъезные механизмы: компиляторы, IDE, базы данных. Делают их так, что мы получаем истинное удовольствие, используя их. Один из этих ...

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

Созданы «умные» очки для управления курсором движениями головы Компания GWD Bio Intelligence разработала «умные» очки, которые могут заменить мышь или тачпад для управления компьютером. Это удобно, когда руки в чём-то испачканы или заняты.

Улучшаем работу Wi-Fi. Часть 3. Размещение точек доступа Обычно, когда говорят, что можно повысить качество работы чего-либо, то имеют в виду внедрение каких-либо новинок, обновлений, в общем всего того, что связано с приобретением новой техники. Однако в погоне за техническими новинками иногда упускаются такие важные вещи как ус...

[Из песочницы] Три относительно честных способа создания Flutter проекта Итак, с презентацией Google первой стабильной версии Flutter, которая случилась 4 декабря 2018 г. начался процесс изменения ландшафта на полях мобильного программирования. Появился новый игрок, способный изменить правила самой игры. Теперь из одной базы кода можно создават...

Мнение: Telegram — идеальный мессенджер 6 сентября 2013 года вышла первая версия Telegram, разработчиками которой выступил Павел Дуров и его команда. На момент выхода он отличался сквозным шифрованием с криптографическим протоколом MTProto. Уже через 3 года мессенджером пользовались 100 млн человек — это ог...

Дата презентации Samsung Galaxy Note 10 и цена самого лучшего смартфона на Android Каждый производитель электроники, когда он работает над флагманской моделью, стремится сделать ее максимальной привлекательной во всех отношениях, но получается это далеко не всегда. Впрочем, южнокорейская корпорация Samsung практически всегда создает самые продвинутые смар...

Как выбрать Open Source лицензию для RAD фреймворка на GitHub В этой статье мы немного поговорим об авторском праве, но в основном о выборе свободной лицензии для RAD фреймворка IONDV. Framework и для опенсорсных продуктов на его основе. Мы расскажем о разрешительной лицензии Apache 2.0, о том, что привело нас к ней и с какими решениям...

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

Epson WorkForce Enterprise – полтора года спустя. Компиляция кейсов и интересные факты В прошлый раз, когда я впервые рассказал в блоге о «Принтере 80-го уровня» – Epson WorkForce Enterprise – что печатает цветные документы со скоростью до 100 страниц в минуту и идет с запасом чернил аж до 100 000 отпечатков, во время обсуждения устройства в комментариях и лич...

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

[Из песочницы] TON: рекомендации и лучшие практики Эта статья является переводом документа, опубликованного на странице блокчейна TON: smc-guidelines.txt. Возможно кому-то это поможет сделать шаг в сторону разработки для этого блокчейна. Также, в конце я сделал краткое резюме. Читать дальше →

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

[Перевод] Вышел ML.NET 1.0 RC. Что нового? ML.NET — это кроссплатформенная среда машинного обучения с открытым исходным кодом (Windows, Linux, macOS) для разработчиков .NET. Работая с ML.NET, разработчики могут использовать существующие инструменты и навыки для разработки и внедрения AI в свои приложения, создавая по...

[Из песочницы] Первая игра на unity или на что у меня ушло полгода Привет, Хабр. Я разработчик игр на Unity (как-то низко прозвучало) и хотел бы рассказать об этапах разработки моей первой игры. История берёт начало 2 года назад, когда я решил попробовать делать игры. Начинал с гайдов на ютубе. После, создав пару примеров, приложений и мини...

[Перевод] Как написать смарт контракт на WebAssembly в сети Ontology? Часть 1: Rust Технология Ontology Wasm снижает стоимость переноса смарт контрактов dApp со сложной бизнес- логикой на блокчейн, тем самым значительно обогащая dApp экосистему. В настоящее время Ontology Wasm одновременно поддерживает разработку как на языке Rust, так и на языке C++. Яз...

GPS часы на Arduino Здравствуйте меня зовут Дмитрий сегодня я расскажу как я создал GPS часы. В конце статьи будет ссылка на прошивку и CAD 3D модель. Читать дальше →

[Перевод] Когда исчезнут JavaScript-фреймворки? Автор материала, перевод которого мы сегодня публикуем, веб-разработчик, говорит, что он старается регулярно пересматривать набор инструментов, которыми пользуется. Делает он это для того, чтобы понять, может ли он без некоторых из них обойтись, решая свои обычные задачи. Не...

Делаем крутой sticky-эффект для слайдера на React Есть много разных библиотек для реализации слайдера со всеми возможными эффектами. Для React одни из лучших это: ReactSlick и Swiper. Но когда для моего проекта потребовался горизонтальный sticky-эффект, то ничего подходящего не нашлось. В этой статье мы попробуем поэтапно...

Как не позориться на митапах, или разработчик учит выступать разработчиков. Интервью Александра Шушунова Обычно, когда заявку на доклад на DUMP присылает Software Engineer, она (заявка) предназначена в одну из технических секций: Backend, Devops или Mobilе, к примеру. А вот на DUMP Казань мы получили заявку в секцию Менеджмент, да еще с темой “Хорошие слайды”. Так-так, интересн...

Russian AI Cup 2018, история 9 места Итак Меня, как и в прошлом году, зовут Андрей Рыбалка, только в этот раз мне 33. И, раз уж я оказался в десятке лучших, я решил снова поделиться своим подходом к написанию игрового бота для Russian AI Cup 2018. В этот раз заданием был футбол. Сама задача несколько напоминала...

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

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

А не фигню ли я опять делаю? Как и зачем внедрять метрики качества Привет, Хабр! Когда-то мы использовали метрику «Вроде бы стало лучше» для оценки качества наших релизов. Но потом мы решили довериться чему-то более надёжному. В этой статье я расскажу о том, как искал гайд по метрикам, не нашёл и создал свой. Читать дальше →

[Из песочницы] Автоматика для дома своими руками Моя статья будет полезна тем, кто только задумывается над подобного рода системой, поможет определиться делать ли самому и ориентирована в основном на энтузиастов-колхозников. Изначально пишу “автоматика” а не умный дом, потому что на данном этапе умных функций в моей систем...

Устанавливаем Vmware ESXi на Mac Pro 1,1 В статье описываю свой опыт установки VMware ESXi на старинный Apple Mac Pro 1,1. От заказчика поставлена задача – расширить файловый сервер. Как создавался файловый сервер компании на PowerMac G5 в 2016, и какого было обслуживать созданное legacy достойно отдельной стать...

Видишь данные? Нет. Вот и я не вижу, а они есть. Уничтожаем данные на SSD-накопителях, да ещё и скорость восстанавливаем Любой из нас сталкивался с ситуацией, когда требовалось восстановить данные, будь то что-либо не особо важное или же, наоборот, критически необходимое для достижения определённых целей. Но немногие пользователи задавали себе вопрос: «А что, если кто-то восстановит мои личные...

[Перевод] Указатели в Python: в чём суть? Если вы когда-нибудь работали с такими низкоуровневыми языками, как С или С++, то наверняка слышали про указатели. Они позволяют сильно повышать эффективность разных кусков кода. Но также они могут запутывать новичков — и даже опытных разработчиков — и приводить к багам упр...

[Перевод] Кто он — убийца JavaScript? Некоторые языки программирования — это языки, которые любят разработчики. Некоторые языки программирования лишь терпят. Для многих программистов JavaScript попадает в последнюю категорию, являясь языком, который нужно понимать каждому, кто пишет клиентские части веб-проектов...

Как правильно увольняться (инструкция) В понедельник обычно всё плохо и хочется уволиться. Вдруг вы сегодня поругались с боссом и вам предложили написать по собственному. Если всё так, смело читайте статью. Привет! У всех у нас был этот опыт. Вас вызывает начальник. Вызывает в тот самый момент, когда вызывать н...

[Перевод] Почему, зачем и когда нужно использовать ValueTask Этот перевод появился благодаря хорошему комментарию 0x1000000. В .NET Framework 4 появилось пространство System.Threading.Tasks, а с ним и класс Task. Этот тип и порождённый от него Task<TResult> долго дожидались, пока их признают стандартами в .NET в роли ключевых а...

[Из песочницы] HTML, который мы потеряли Привет, Хабр! Представляю вашему вниманию перевод статьи "The HTML we never had" автора Сергея Кучерова. В этом году исполняется 30 лет с тех пор, как Бернерс-Ли начал разрабатывать язык HTML. С тех пор мы прошли долгий путь, начиная с восхищения новой технологией,...

Amazon запускает доставку дронами. Как это будет работать Вчера Amazon впервые представила собственный дрон для доставки – на своей первой конференции Re:Mars в Лас-Вегасе. Это на самом деле уникальное устройство, доверху напичканное сенсорами и алгоритмами. К тому же, это дрон-трансформер. Он умеет лететь вертикально, как вертол...

Япония: страна настолько здравого смысла, что он для нас местами иррационален С того момента, когда у вас появляется подруга-анимешница, вы только и слышите, что о Японии. Какие там все странные. Как там круто. Как вас зарежут за невежливое слово. И так далее. Для меня это всегда были ниндзя, самураи, якудза, аниме, богиня Кэнон для фотоаппарата, эл...

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

Изобретаем библиотеку vusb Введение После прочтения названия может возникнуть закономерный вопрос: зачем в наше время изучать программную реализацию low-speed USB, когда существует куча дешевых контроллеров с аппаратным модулем? Дело в том, что аппаратный модуль, скрывая уровень обмена логическими уро...

AliExpress андроид 2019 Скачать ФАЙЛ Алиэкспресс андроид приложение на русском языке цены в рублях - AliExpress Discount 2019 Достоинства андроид приложения Алиэкспресс : 1. Разрешает приложению изменять IP адрес и номер порта для присоединению к интернету. (эта функция ...

Как мы делали платежную систему для криптовалюты: пять основных проблем Привет, Хабр! На связи компания B2Broker, провайдер ликвидности и технологических решений для брокерской и биржевой индустрии. Один из наших продуктов — трейдинговая платформа B2BX.exchange. Когда летом 2017 года мы запускали платформу, то задумались о том, как принимать кри...

HyperX Alloy CORE – когда мембранка может в игры Стыдно за громкую, хрустящую от крошек и дорогущую механику? Дома не прижилась — родные недовольны, а на работе — коллеги, да и кофе этот пролитый… Что ж, специально для таких случаев HyperX создал Alloy Core. Читерский гибрид классической мембранки и ощущений, как от механи...

Усложнение C++ неизбежно. И не только C++ Давно хотел написать подобный текст, но все никак не доходили руки. А вот после завершившегося летнего заседания комитета по стандартизации C++ и поднявшегося воя о том, что сложность языка еще больше увеличилась, пришлось таки изыскать время и зафиксировать собственные мысл...

[Перевод] Конференция DEFCON 19. Три поколения DoS-атак (с участием аудитории в качестве жертв). Часть 2 Конференция DEFCON 19. Три поколения DoS-атак (с участием аудитории в качестве жертв). Часть 1 Но что еще хуже… Я попытался разработать проект для своих студентов, и получалось забавно, но проблема заключалась в том, что нельзя было посмотреть «убиваемые» адреса, так как эт...

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

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

Разработчики назвали самые востребованные языки программирования Самыми популярными языками программирования для освоения в этом году у разработчиков будут Open Source-язык …

Композитный «datasource»-объект и элементы функционального подхода Как-то раз я (ну ладно, даже не я) столкнулся с задачей добавить в UICollectionView с определенным типом ячеек одну ячейку совершенно другого типа, причем делать это лишь в особенном случае, который обрабатывается «выше» и никак не зависит от UICollectionView напрямую. Задач...

[Перевод] Unreal Engine 4 — шейдер горения Это небольшой шейдер, который появился, когда я думал о различных методах применения flowmap. Существуют много эффектов перехода/растворения, но большинство из них выглядит довольно статично, так как они используют статические текстуры. Данный шейдер далек от совершенства, н...

Analogue Pocket позволит запускать старые игры для Game Boy – более 2700 наименований Компания Analogue известна тем, что она создаёт стильные и современные модели классических игровых консолей. И теперь компания анонсировала устройство Analogue Pocket, которое, по сути, является самым совершенным из когда-либо созданных вариантов Game Boy. Новинка имеет форм...

Обзор методов сегментации изображений в библиотеке scikit-image Thresholding Это самый простой способ отделить объекты от фона, выбрав пиксели выше или ниже определенного порога. Это обычно полезно, когда мы собираемся сегментировать объекты по их фону. Вы можете прочитать больше о пороге здесь. Люди, знакомы с фильмом «Терминатор», нав...

Доменные имена с валидным SSL для локальных Docker-контейнеров Использование Docker в процессе разработки стало уже стандартом де-факто. Запускать приложение со всеми его зависимостями, используя всего одну команду — становится всё более и более привычным действием. Если приложение предоставляет доступ используя web-интерфейс или какое...

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

[Из песочницы] Хранение настроек в памяти Базового устройства Привет! Если Вам посчастливилось подержать в руках микроконтроллер ESP32 (мне посчастливилось больше и у меня в руках M5Stack) от китайской компании ESPRESSIF, то этот пост, возможно, будет полезен. Бывает ситуация, когда необходимо сохранить какие-то параметры в энергонеза...

Древности: три истории о компании Palm Эта компания сменила десяток названий, но давайте просто будем использовать самое первое, оригинальное. Palm Computing обычно вызывает самые теплые чувства у любителей компьютерной старины, а когда-то ее карманные компьютеры были, в некотором смысле, выбором по умолчанию. Ис...

DataArt примет открытую лекцию Андрея Терехова, завкафедрой системного программирования Матмеха СПбГУ 5 декабря — это будет четверг — в центре разработки DataArt в Санкт-Петербурге пройдет лекция доктора физмат наук, профессора, члена правления РУСОФТ Андрея Николаевича Терехова. Он расскажет о самых популярных советских ЭВМ, о работе над транслятором языка Алгол-68 для ни...

[recovery mode] Вертикальное письмо в современном IT Привет, Хабр! Двунаправленным письмом в наше время никого не удивить. Оно поддерживается управляющими символами Уникода, для него создан HTML-тег <bdo>. Но горизонтальные письменности – не единственные существующие и применяемые для записи человеческой речи. Кроме обыч...

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

[Перевод] Y Combinator: Как закрыть компанию Вполне обосновано то, что основатели и инвесторы тратят так много времени на разговоры о вещах, которые идут хорошо. Если бы мы тратили всё свое время, вникая в суть компаний, которые потерпели неудачу, у нас бы не хватало его на многое другое. Когда люди говорят о провал...

«Черное зеркало» или реклама Picooc? Рекламные ролики. Нормальный человек переносит их в одном случае: когда ему срочно надо сделать перерыв в видео-марафоне. К сожалению, сарафанное радио и соцсети не всегда работают эффективно, так что компании вынуждены прибегать к видеорекламе до сих пор. Мы всегда старал...

[Перевод] Как мы сделали Vivaldi для Android Когда вы устанавливаете Vivaldi Beta для Android, вы получаете модифицированную нашей командой разработчиков версию Chromium, аналогичную десктопной, обладающую теми же функциями, что вы привыкли видеть на своих персональных компьютерах. Но почему мы сделали так, а не ста...

[Перевод] Конференция DEFCON 18. Практический шпионаж с помощью мобильного телефона. Часть 2 Конференция DEFCON 18. Практический шпионаж с помощью мобильного телефона. Часть1 Мы хотим применить определённые методы, чтобы ускорить захват телефонов фальшивой сетью. На данный момент у нас есть простой перехватчик IMSI, вы можете попробовать позвонить и услышать запи...

Sony, Microsoft, подвиньтесь. Грядёт игровая консоль Mad Box от разработчиков Project CARS Пока многие аналитики твердят, что следующее поколение «больших» консолей Sony и Microsoft будет последним, на рынке, похоже, вскоре появится новый игрок. Основатель и глава студии Slightly Mad Studios Иан Белл (Ian Bell) неожиданно посредством новосозданно...

WebComponents как фреймворки, взаимодействие компонентов Когда разговор заходит о веб компонентах, часто говорят: «Ты что хочешь без фреймворков? Там же все готовое». На самом деле есть фреймворки созданные на основе реализаций стандартов входящих в группу веб компонентов. Есть даже относительно неплохие, такие как X-Tag. Но сегод...

Как мы распределяем заказы между водителями в Яндекс.Такси Одна из главных задач в Яндекс.Такси — как сделать так, чтобы к пользователю быстро приезжала машина, а у водителя сокращалось время «холостого пробега» (то есть время, когда он на линии без пассажира). Казалось бы, всё просто: пользователь выбирает тариф, указывает дополн...

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

Алиэкспресс андроид приложение для поиска скидок Скачать ФАЙЛ Алиэкспресс андроид приложение на русском языке цены в рублях - AliExpress Discount 2019 Достоинства андроид приложения Алиэкспресс : 1. Разрешает приложению изменять IP адрес и номер порта для присоединению к интернету. (эта функция полезна для тех...

[Перевод] Автоматические размеры хедера и футера UITableView с AutoLayout В этой статье я попытаюсь раскрыть некоторые причуды класса UITableView и покажу вам простой и самый простой способы реализовать представления верхнего и нижнего колонтитулов изменяемой высоты. Для меня простота, это когда дело доходит до написания кодом пользовательского ...

Плагины томов для хранилищ в Kubernetes: от Flexvolume к CSI Во времена, когда Kubernetes был ещё v1.0.0, существовали плагины для томов (volume plugins). Нужны они были для подключения к Kubernetes систем для хранения персистентных (постоянных) данных контейнеров. Количество их было невелико, а в числе первых — такие провайдеры хра...

HL 2018. Конспект доклада «Make passwords great again! Как победить брутфорс и оставить хакеров ни с чем» Картинка: источник Привет, Хабр! Меня зовут Ахмадеев Ринат, я Sr. PHP developer. Представляю вашему вниманию конспект доклада Make passwords great again! Как победить брутфорс и оставить хакеров ни с чем от Алексея Ермишкина из Virgil Security с HighLoad++ 2018. Когда я шел...

Где же начинается программирование Давным давно мы разработали высокоуровневую платформу для разработки бизнес-приложений lsFusion. Оставалось дело за малым: найти того, кто будет на ней писать. Было решено разместить на сайтах по поиску работу соответствующую вакансию. Но возник вопрос: что указывать в кач...

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

[Из песочницы] Искры Большого Взрыва Эта статья также переведена на английский и опубликована на Medium. Когда в Чикаго приходит лето, побережье озера Мичиган превращается в картинку с открытки. Километры волейбольных сеток, велосипедных дорожек, бейсбольных полей и песчаных пляжей. Белоснежные облака в высоко...

[Перевод] Operon: ускоряет производительность Ansible Я очень рад наконец представить Operon, высокопроизводительную замену Ansible Engine. Operon разработан для крупных установок и распространяется по подписке. Он запускает существующие плейбуки, модули, плагины и сторонние инструменты без модификации, использующей усовершенс...

[Из песочницы] Использование примесей во Flutter приложениях Я работаю в компании, занимающейся разработкой игр, но как домашнее хобби мне последнее время стала интересна разработка мобильных приложений. Поэтому, когда друг пригласил меня съездить на митап, посвященный разработке мобильных приложений с помощью фреймворка Flutter, я ...

Гид по книгам Харуки Мураками: что в них особенного и почему их стоит читать Харуки Мураками исполняется 70 лет. Лайфхакер рассказывает, что это за писатель, чем уникальны его книги и почему он является одним из главных авторов современности.

[Перевод] Соскучились по КПК? Сделайте его сами! Устройство выполнено на микроконтроллере STM32F4 и работает под управлением специально разработанной для него ОС. Приложения для неё можно писать на скриптовом языке и помещать на карту памяти. В режиме ожидания зарядки хватает примерно на пять дней, пр...

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

Искусственный интеллект на примере простой игры. Часть 2 В этот раз выбрана игра «Змейка». Создана библиотека для нейросети на языке Go. Найден принцип обучения, зависимый от «глубины» памяти. Написан сервер для игры между разработчиками. Читать дальше →

«Игры на деньги вне блокчейна должны умереть» Дмитрий Пичулин, известный под ником «deemru», стал победителем игры Fhloston Paradise, разработанной Tradisys на блокчейне Waves. Победу Дмитрию принес созданный им бот Patrollo. Дмитрий сделал всего восемь ставок по одному WAVES и в итоге выиграл 4700 WAVES (836300 руб.)...

Книга «Безопасный DevOps. Эффективная эксплуатация систем» Привет, Хаброжители! Приложение, запущенное в облаке, обладает множеством преимуществ, но в то же время подвержено особенным угрозам. Задача DevOps-команд — оценивать эти риски и усиливать защиту системы от них. Книга основана на уникальном опыте автора и предлагает важнейш...

Как все начиналось: оптические диски и их история В общем доступе оптические компакт-диски появились в 1982 году, прототип увидел свет еще раньше — в 1979. Изначально компакты разрабатывали в качестве замены виниловым дискам, как более качественный и надежный носитель. Считается, что лазерные диски являются результатом с...

Полит-электротехника. Моделирование социально-политических процессов электрическими цепями Электротехника и политика. Наука развивается однобоко, например электротехника имеет фундаментальную базу и удобные прикладные инструменты моделирования, а политика лишена всего этого. Когда-нибудь человечество создаст полит-технику (вначале полит-физику) и все полит-процес...

[Перевод] Квантовые вычисления могут изменить все, и IBM соревнуется с Microsoft, Intel и Google, с целью овладеть ими Джим Кларк, директор по квантовому оборудованию Intel, с одним из квантовых процессоров компании. Фото; Intel Квантовые компьютеры — чрезвычайно захватывающая технология, подающая надежды на создание мощных вычислительных возможностей для решение ранее неразрешимых пробле...

Великой Heroes of Might & Magic III исполнилось 20 лет Ровно 20 лет назад, 28 февраля 1999 года, компанией The 3DO Company была выпущена культовая стратегия Heroes of Might & Magic III, разработанная компанией New World Computing

Необычный дизайн смартфона с разворачивающимся экраном: патент LG LetsGoDigital Патент был замечен нидерландским порталом LetsGoDigital, который на базе документа сделал рендеры описываемого устройства. Как можно заметить, когда дисплей полностью свернут, аппарат представляет собой один лишь корпус, без видимого экрана; дисплей — дово...

Xamarin.Forms — декоративное отображение QRCode с помощью SkiaSharp Для вывода/чтения штрихкодов есть популярная библиотека ZXing. Она умеет выводить и считывать много разных форматов: QRCode, Aztec и другие, более 2 десятков. Для считывания кодов в ней есть готовый контрол ZXingScannerView. Требуется минимум кода, чтобы добавить этот функ...

[Перевод] Dropbox Paper: как оставаться бодрячком Как мне и моей команде Всё время быть на драйве? Если Вы когда-либо работали в небольшой команде с ограниченными ресурсами, то, скорее всего, знакомы с этим ощущением драйва. Некий зуд, что заставляет двигаться вперёд, когда нечто изо всех сил тащит назад. Необычайно силь...

[Из песочницы] Как научиться программировать в 9 лет самостоятельно Многие считают, что в 9-10 лет можно программировать максимум на Scratch’е. Но это не так. В 9 лет можно и на C# Windows Forms программки пилить. Главное – желание. С чего все началось Все началось тогда, когда я захотел сделать полноценный компьютер в Minecraft. Я устроил...

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

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

Новый сотрудник — dead or alive Всем привет! Продолжаю рассказывать об опыте управления в IT. Сегодня поговорим о вводе нового сотрудника в команду. Вы взяли инженера в штат. Когда он станет полноценной боевой единицей? Что делать, чтобы ускорить его адаптацию? Как оптимизировать этот процесс? В конце конц...

Интервью с Zabbix: 12 откровенных ответов В IT есть такое суеверие: «Работает, не трогай». Это можно сказать и про нашу систему мониторинга. В Southbridge мы используем Zabbix — когда мы его выбирали, он был очень крут. И, по сути, альтернатив у него не было. Со временем наша экосистема обросла инструкциями, дополн...

[Перевод] Доступное объяснение гипотезы Римана Посвящается памяти Джона Форбса Нэша-младшего Вы ведь помните, что такое «простые числа»? Эти числа не делятся ни на какие другие, кроме самих себя и 1. А теперь я задам вопрос, которому уже 3000 лет: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, p. Чему равно p? 31. Каким будет сл...

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

[Перевод] PEG парсеры Несколько лет назад меня кто-то спросил имеет ли смысл превести Python на PEG-парсер (или на грамматику PEG; я не помню точно кто и когда это было). Тогда я немного посмотрел на него, но так и не пришёл к какому-либо выводу, а потому и отбросил эту тему. Недавно я узнал боль...

О анонимности в интернете, жизни и её относительности Warning! Дабы заранее предупредить различные вопросы, а также обеспечить удобство чтения, далее — небольшой дисклеймер: всё, что будет написано далее — основано на личном и субъективном опыте, выражает личное мнение автора и ни в коем случае не является призывом к каким либо...

Более дюжины рекордов. DisplayMate объявила экран Samsung Galaxy S10 лучшим среди смартфонов в истории Эксперты компании DisplayMate Technologies протестировали флагманский Samsung Galaxy S10 и объявили его экран лучшим дисплеем среди когда-либо выпускавшихся для смартфонов.  DisplayMate отметила более дюжины параметров, по которым 6,1-дюймовый экран Super AMO...

C++ Enterprise Edition. Возможно ли? C++ Enterprise Edition Что такое "enterprise edition" Удивительно, но за все время моей работы в IT, я ниразу не слышал, чтобы кто-то говорил "enterprise edition" относительно языка программирования, кроме как для Java. Но ведь приложения для корпоративного сегмента люди пи...

Зачем вам учить Go Источник картинки Go — относительно молодой, но популярный язык программирования. По данным опроса Stack Overflow, именно Golang получил третье место в рейтинге языков программирования, которые хотели бы освоить разработчики. В этой статье мы попробуем разобраться в причина...

[Перевод] Какого цвета ваша функция? Не знаю как вам, но для меня нет лучшего начала дня, чем потрепаться о программировании. Кровь кипит при виде удачной критики одного из "жирных" языков, которым пользуются плебеи, мучаясь с ним на протяжении рабочего дня между стыдливыми посещениями StackOverflow. (Тем време...

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

Изготовлена самая большая в мире микросхема Молодая компания Cerebras Systems, специализирующаяся на системах искусственного интеллекта выпустила самый крупный полупроводниковый чип, из когда-либо созданных.

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

Изоляция не нужна никому! Когда говорят про изоляцию Рунета, все сразу вспоминают Китай. Нередко звучат истории про Великий китайский файервол …

Гибридный накопитель Intel Optane Memory H10 — приводим характеристики Когда в январе мы анонсировали принципиально новый продукт Intel под названием Optane Memory H10, объединяющий в себе кэш Optane и накопитель QLC 3D NAND, то не смогли побаловать читателей спецификациями и подробностями — тогда их просто еще не было. Известно, что любая тай...

[Перевод] Руководство для начинающих по SELinux Перевод статьи подготовлен для студентов курса «Безопасность Linux» SELinux или Security Enhanced Linux — это улучшенный механизм управления доступом, разработанный Агентством национальной безопасности США (АНБ США) для предотвращения злонамеренных вторжений. Он реализует ...

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

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

Умные алгоритмы обработки строк в ClickHouse В ClickHouse постоянно возникают задачи, связанные с обработкой строк. Например, поиск, вычисление свойств UTF-8 строк или что-то более экзотическое, будь то поиск типа учёта регистра или поиск по сжатым данным. Всё началось с того, что руководитель разработки ClickHouse Лёш...

Рецензия на фильм «Королевы криминала» / The Kitchen На первый взгляд, фильм «Королевы криминала» (The Kitchen) кажется очередной голливудской вариацией бандитского триллера с узнаваемыми актрисами для привлечения внимания. На самом деле это адаптация комиксов, выпускавшихся DC Vertigo в 2015 году. В ней нет супергероев, зато ...

Telegram X навсегда удалили из App Store. В чем дело? Приложение Telegram X, обеспечивавшее доступ к одноименному мессенджеру, было навсегда удалено из App Store. Об этом на официальной странице в Твиттере написали представители Telegram. Удаление не связано с нарушением правил размещения в каталоге, а произошло по инициативе ...

VBA и Python для автоматизации Excel и MS Office Поводом для заметки послужила статья на Хабре, в которой автор описывал, как он решал на Python задачу сбора и анализа метаданных из файлов Excel. Эта заметка более подробно раскрывает всем известный тезис: Под конкретную задачу надо выбирать наиболее подходящий инструмент п...

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

Работа с датами на языке R (базовые возможности, а также пакеты lubridate и timeperiodsR) Получить текущую дату в любом языке программирования, операция эквивалентная "Hello world!". Язык R не является исключением. В этой статье мы разберёмся с тем, как устроена работа с датами в базовом синтаксисе языка R, а также рассмотрим несколько полезных пакетов, расширяющ...

this и ScopeChain в EcmaScript Привет, Хабр! В предыдущей статье мы рассматривали общую теории ООП в применении к EcmaScript и популярное заблуждение начинающих разработчиков относительно отличия ООП в JS и классических языках. Сегодня мы поговорим о двух других не менее важных концепциях EcmaScript, а...

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

[Перевод] XML практически всегда применяется не по назначению Язык XML был изобретен в 1996 году. Едва он успел появиться, как возможности его применения уже начали понимать неправильно, и для тех целей, к которым его пытались адаптировать, он был не лучшим выбором. Не будет преувеличением сказать, что подавляющее большинство схем XM...

[Из песочницы] GameBoy на C# Когда я только начинал программировать, думаю, как и многим, мне хотелось делать игры. Но передо мной стояло множество архитектурных вопросов, которые я не знал как решить, про двойную буферизацию я даже не слышал, а получить результат хотелось как можно скорее. Поэтому неда...

Владимир Воробьев: «Михаил Ботвинник был счастлив, что машина не нашла решение, которое он нашел за доской» Когда 1974 году в Ленинграде был создан научно-исследовательский вычислительный центр (ныне — СПИИРАН: Санкт-Петербургский институт информатики и автоматизации Российской академии наук), в группу математического обеспечения ЭВМ вошел Владимир Воробьев. В 1978 году на ее ба...

Как уход Джони Айва повлиял на устройства Apple Джони Айв, бесспорно, великий дизайнер, но без него устройства Apple становятся лучше Этим летом стало известно, что Джонатан Айв, главный дизайнер Apple, решил уйти со своего поста. В Купертино дали понять, что, во-первых, Айв уже и так давно не занимался проектированием но...

[Перевод] Гниение программного обеспечения В книге «Электромагнитная эпоха: работа, любовь и жизнь, когда роботы правят миром» Робин Хэнсон кратко обсуждает программную гниль: Программное обеспечение изначально было разработано для одного набора задач, инструментов и ситуаций. Но оно медленно изменяется, чтобы справ...

Джеф Безос: «Отправляемся в Космос на благо Земли» Это самое лучшее видео, которое я посмотрел за 2019 год. Жаль, что я его не посмотрел в мае, а только сейчас, когда вышел перевод на русский. В первой части Джеф Безос рассказывает про свои детские мечты о космосе и о своем способе мышления о будущем (горизонт планирования ...

[Перевод] Смартфоны Samsung в скором времени получат 1 ТБ внутренней памяти Надоела нехватка дискового пространства на вашем телефоне, заполненном приложениями, фотографиями и видео? Когда-нибудь в ближайшем будущем смартфоны будет поставляться с более чем одним терабайтом внутренней памяти которая будет работать в 10 раз быстрее, чем SD-карточка. ...

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

Java REPL вам не ScriptEngine Привет, Хабр! Меня зовут Дима, я разработчик в команде “Архитектура” в hh.ru. Среди прочего, я занимаюсь тем, что делаю разработку проще для коллег. Выполнение кода в продакшене является типовой задачей. Поэтому когда я услышал, что с этим есть проблемы, я решил заняться и...

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

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

WebAssembly в продакшне и «минное поле» Smart TV: интервью с Андреем Нагих Интерес к WebAssembly велик, но пока что нечасто встретишь людей, использующих эту технологию в рабочем проекте. Разработка приложений под Smart TV — тоже «нетипичный JavaScript», когда все слышали о чём-то, но немногие лично пробовали. А у Андрея andreynagih Нагих есть о...

Google в очередной раз попытается сделать умные часы с Wear OS удобнее Компания Google не так давно уже достаточно серьёзно переделала интерфейс операционной системы Wear OS, однако этого, похоже, поисковому гиганту показалось мало. Вчера Google представила Tiles — новый элемент системы, который должен сделать управление умными часам...

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

[Перевод] На какие языки переводить свою игру в 2019 «Игра хорошая, но без русского языка ставлю единицу» – частый отзывов в любом сторе. Учить английский, конечно, хорошо, но может помочь и локализация. Перевел статью, на какие языки ориентироваться, что переводить и стоимости локализации. Сразу ключевые тезисы: План-мин...

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

Джулия и параллельные вычисления С момента выхода в августе 2018, язык Julia активно набирает популярность, войдя в топ 10 языков на Github и топ 20 самых популярных профессиональных навыков по версии Upwork. Для начинающих стартуют курсы и выпускаются книги. Julia используется для планирования космических...

Google точно не будет менять Android на Fuchsia. ... Вот уже несколько лет Google работает над новой операционной системой Fuchsia, которая должна объединить в себе все лучшее, что есть в Android и Chrome OS. Причем это будет отдельный проект, существующий параллельно и не посягающий на территорию Android. На прошедшей конфере...

Близкие контакты ADL-ной степени Как навсегда вписать своё имя в историю? Первыми слетать на Луну? Первым встретиться с инопланетным разумом? У нас есть способ проще — можно вписать себя в стандарт языка C++. Хороший пример показывает Эрик Ниблер — автор C++ Ranges. «Запомните это. 19 февраля 2019 года — д...

Windows в браузере без регистрации и СМС — обзор RDP-клиентов HTML5 Когда-то давно, когда деревья были высокими, а я был молодым и зеленым системным администратором, довелось мне внедрять терминальный сервер на Windows 2000. Я тогда думал, что хорошо бы, если бы для подключения к серверу не нужен был никакой отдельный клиент. Шло время, дер...

PG12: Дюжина патчей от Postgres Professional Приятно видеть знакомые фамилии в списке Acknowledgments официального релиза PostgreSQL 12. Мы решили свести вместе попавшие в релиз новшества и некоторые багфиксы, над которыми трудились наши разработчики. 1. Поддержка JSONPath (В Release Notes это звучит как Add support f...

Аппликативные парсеры на Haskell Мотивация Когда я только начинала осваивать Haskell, меня очень раздражало повсеместное использование сложных абстракций вместо каких-то конкретных решений. Мне казалось, что гораздо лучше всегда следовать принципу KISS и писать велосипеды с использованием элементарных конс...

Возможности контейнерных ЦОД: готовый коммутационный узел в Мьянме за 50 дней Построение телекоммуникационной инфраструктуры – сложная задача, когда для этого нет ни условий, ни опыта, ни специалистов. Однако в этом случае можно использовать готовые решения, такие как контейнерные ЦОД. В этом посте мы рассказываем, как создавался ЦОД компании Campan...

MVCC-3. Версии строк Итак, мы рассмотрели вопросы, связанные с изоляцией, и сделали отступление об организации данных на низком уровне. И наконец добрались до самого интересного — до версий строк. Заголовок Как мы уже говорили, каждая строка может одновременно присутствовать в базе данных в не...

Разговорный BERT — учим нейросеть языку соцсетей Одним из главных событий в области компьютерной лингвистики и машинного обучения в 2018 году был выпуск BERT от Google AI, который признан лучшим докладом года по мнению североамериканского отделения Ассоциации компьютерной лингвистики (NACL). В этой статье мы расскажем об э...

Какая зарплата у Junior QA? Представь ситуацию: ты приходишь на финальный этап собеседования. Технические вопросы уже заданы, работодатель настроен тебя нанять. И наконец задают этот неловкий вопрос: “Какую зарплату хотите?” Когда спрашивают тестировщика со стажем, то ему просто, он уже знает, сколько...

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

[Перевод] Тёмные времена наступают Или о чем следует помнить при разработке тёмного режима приложения или сайта 2018 год показал: тёмные режимы на подходе. Теперь, когда мы уже на полпути в 2019, мы можем с уверенностью сказать: они здесь, и они везде. Пример старого монитора «зеленым-по-чёрному» Начнем с тог...

[Перевод] Создаем бота для несложной отчетности при помощи Python и Google BigQuery Есть ли у вас задачи, которые повторяются изо дня в день, из недели в неделю? Например, написание отчетов. Вы запрашиваете данные, проводите анализ, визуализируете (делаете графики, диаграммы), а затем отправляете начальнику. Но что, если все это автоматизировать? В это...

Как создать приложение для сферы финансов: 5 API в помощь разработчику Всем привет! Продолжаю свое исследование сферы финансов с точки зрения технологий. В прошлом материале мы изучали существующие торговые терминалы и их особенности, а сегодня предлагаю поговорить, собственно, о разработке финансовых приложений. Для нового топика я подобра...

NASA показало «видео» процесса сближения космического аппарата New Horizons с астероидом Ultima Thule В начале месяца космический аппарат New Horizons пролетел мимо астероида Ultima Thule, сделав последний самым отдалённым объектом в Солнечной системе, до которого когда-либо добиралась человеческая техника. Чуть позже нам показали фотографии астероида, а теперь ...

Обзор смартфона INOI kPhone Лето, к сожалению, подходит к концу, скоро наступление очередного учебного года. Для многих родителей – это сигнал о том, что пора вновь оснастить ребёнка каким-то новым смартфоном, потому что уже дорос до того момента, когда можно дать в руки подобное устройство, либо пот...

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

Итоги HolyJS 2019 Piter В конце мая прошла седьмая HolyJS — по нашему субъективному мнению, лучшая из всех. А теперь, когда уже собран и проанализирован весь фидбек, можно подвести итоги. Вот прошедшая конференция в числах: 900+ человек, 2 дня докладов, 3 потока 30 докладов, 2 воркшопа 36 спике...

Мнение: Почему Google Play по подписке не нужен На прошлой неделе стало известно, что Google тестирует новый сервис под названием Google Play Pass. Он станет составной частью каталога Google Play, но при этом позволит пользователям получать доступ к премиум-версиям сотен приложений и игр без встроенных покупок за 5 долла...

noexcept-ctcheck или несколько простых макросов, чтобы компилятор помогал при написании noexcept кода При разработке на C++ время от времени приходится писать код, в котором исключения не должны возникать. Например, когда нам нужно написать не бросающий исключений swap для собственных типов или определить noexcept move-оператор для своего класса, или вручную реализовать нетр...

[Из песочницы] [Пятничное] Как пожарить курицу с точки зрения физики Еще из школьного курса физики мы знаем, что энергия не возникает сама по себе и не исчезает в ничто. Её нельзя просто так создать или уничтожить, можно лишь преобразовать из одной формы в другую. В этой небольшой статье я хотел прояснить, как поступать в ситуации, когда у ва...

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

[Перевод] Апгрейд для ленивых: как PostgreSQL 12 повышает производительность PostgreSQL 12, последняя версия «лучшей в мире реляционной базы данных с открытым исходным кодом», выходит через пару-тройку недель (если все пойдет по плану). Это соответствует обычному расписанию — новая версия с уймой новых возможностей выходит раз в год, и, честно говор...

Программист-защитник сильнее энтропии © Dragon Ball. Goku. Программист-защитник в любой момент и в любом месте кода ожидает появления потенциальных проблем и пишет код таким образом, чтобы заранее от них защититься. А если от проблемы нельзя защититься, то хотя бы сделать так, чтобы её последствия и влияние на ...

Книга «GraphQL: язык запросов для современных веб-приложений» Привет, Хаброжители! У нас вышла книга по языку запросов GraphQL. Мы решили поделиться переводом главы «Анатомия запросов GraphQL» «Снежный клык» (Snowtooth) — выдуманный горнолыжный курорт. Ради примеров в данной главе мы сделаем вид, что это настоящая гора и мы там работ...

Apple iPhone и iPad 2019 будут оснащены новыми антеннами Сейчас то самое время, когда начинает появляться все больше слухов и утечек, касательно будущих моделей iPhone и iPad. И сегодня стало известно, что Apple планирует оказаться от антенн, созданных на базе технологии LCP (жидкокристаллического полимерного материала), в пользу ...

[Перевод] Как русский миллиардер, ищущий инопланетян, помогает раскрыть одну из величайших загадок Вселенной Более десяти лет астрономы терялись в догадках насчёт космических вспышек, энергия которых сравнима с 500 солнцами. Сегодня они объединились с охотниками за пришельцами, чтобы раз и навсегда разгадать эти далёкие загадки Весной 2007 года Дэвид Наркевич, студент-физик из унив...

[Из песочницы] Создаем прототип для Sentiment Analysis с помощью Python и TextBlob Что важно для команды разработчиков, которая только начинает строить систему, базирующуюся на машинном обучении? Архитектура, компоненты, возможности тестирования с помощью интеграционных и юнит тестов, сделать прототип и получить первые результаты. И далее к оценке трудоем...

Как мы поженили две банковские CRM-системы Всем привет! Я – Николай Аксенов, начальник отдела поддержки и развития CRM-систем «Росбанк Дом» (ипотечный филиал Росбанка). Исторически так сложилось, что у нас в ипотечном банке «ДельтаКредит» (летом мы присоединились к Росбанку и теперь называемся «Росбанк Дом») было дв...

Видео дня: самый маленький игровой ноутбук, который вы когда-либо видели На нём можно играть в «Змейку», «Тетрис» и другие классические аркады.

На 3D-принтере напечатали самый крупный объект за всю историю В США на 3D-принтере напечатали корабль весом в 2,2 тонны. Это самый крупный объект, который когда-либо печатали.

Фанат Fallout 76 прислал Тодду Говарду коробку с заколками «Самое креативное письмо, которое я когда-либо получал».

Как установить macOS Catalina на неподдерживаемые Mac 3 июня Apple представила новую настольную операционную систему — macOS Catalina. В этом обновлении компания отказалась от тяжкого наследия в виде iTunes, анонсировала кроссплатформенный проект «Project Catalyst», улучшили совместную работу с iPad и Apple Pencil, а так...

Использование бинарного дерева в swift с помощью enum на примере OCR Была цель создать приложение на mac, которое может распознавать текст кода с изображений и видео. Хотелось сделать так, чтобы даже при большом объеме кода, текст распознавался менее, чем за секунду. Проблема облегчается тем, что язык на котором пишут код всегда английский ...

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

[recovery mode] Искусственный интеллект, великий и ужасный. Часть вторая Как и предыдущая, эта заметка представляет собой обзор статей и комментариев к ним здесь, на Хабре, сгруппированный по нескольким темам. Законы робототехники Азимова Пожалуй, самая смешная, но, как ни странно, до сих пор широко обсуждаемая тема. Собственно, говорить тут про...

[Из песочницы] Философия деления на… или исповедь сумасшедшего Вступление Сразу следует указать что в данной статье не будет глубокой математики. Будет лишь рассуждение на указанную в заголовке тему. Всё далее описанное лишь мнение автора. Не более того. Почти. Особенность математики Математика, как наука, окончательно углубилась в с...

Kotlin puzzlers, Vol. 2: новая порция головоломок Можете предсказать, как поведёт себя такой Kotlin-код? Скомпилируется ли он, что выведет и почему? Как бы хорош ни был язык программирования, он может подкинуть такое, что останется только в затылке чесать. Kotlin не исключение — в нём тоже встречаются «паззлеры», когда д...

[Из песочницы] Многорукий бог дедлайна или Широкое Использование Возможностей Аналитика Ни для кого не секрет, что аналитики — одна из самых свободно и многогранно трактуемых профессий. И, несмотря на наличие аж двух профессиональных стандартов, каждая компания индивидуально очерчивает круг задач, возлагаемых на специалиста, занимающего эту должность. В своей с...

Swift under the hood: Generic implementation Generic code enables you to write flexible, reusable functions and types that can work with any type, subject to requirements that you define. You can write code that avoids duplication and expresses its intent in a clear, abstracted manner. — Swift docsКаждый, кто писал на ...

Все материалы на данном сайте взяты из открытых источников или присланы посетителями сайта и предоставляются исключительно в ознакомительных целях. Права на материалы принадлежат их владельцам. Администрация сайта ответственности за содержание материала не несет. (Правообладателям)