Как стать автором
Обновить

Все потоки

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

Как закопать и найти клад на Solidity

Solidity *

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

Читать далее
Рейтинг 0
Просмотры 34
Комментарии 0

Новости

Запись и воспроизведение голоса, а также отмена записи свайпом вправо с анимацией и изменением иконки на React Native

Разработка мобильных приложений *
Из песочницы

Всем привет! Меня зовут Хатам. Я работаю в компании Neti. Когда-то я был верстальщиком сайтов, но мне хотелось развиваться дальше. Поэтому я освоил React и научился делать веб-приложения, а затем решил попробовать свои силы в мобильной разработке. В этой статье я делюсь примерами решений, к которым пришел, работая над задачей одного из наших клиентов. Надеюсь, что мой опыт будет кому-то полезен.

Читать далее
Рейтинг 0
Просмотры 131
Комментарии 0

ЗаPython'ил ЕГЭ на сотку или почему Python поможет на ЕГЭ

Python *Читальный зал
Tutorial

Доброго времени суток каждому жителю Хабрвилля! Давненько я не писал статей! Пора это исправить!

В сегодняшней статье поговорим о насущной для многих выпускников школ теме - ЕГЭ. Да-да-да! Я знаю, что Хабр - это сообщество разработчиков, а не начинающих айтишников, но сейчас ребятам как никогда нужна поддержка именно сообщества. Ребят опять посадили на дистант. Пока не ясно на какой период, но уже сейчас можно сказать, что ЕГЭ по информатике будет на компьютерах и его можно зарешать при помощи языка Python.

Вот я и подумал, чтобы не получилось как в песне, стоит этим заняться. Я расскажу про все задачи первой части и их решения на примере демо варианта ЕГЭ за октябрь.

Всех желающих - приглашаю ниже!

Погнали!
Всего голосов 4: ↑2 и ↓2 0
Просмотры 1.1K
Комментарии 0

Handler vs RX vs Kotlin. Наглядный пример использования корутин

Разработка мобильных приложений *Разработка под Android *Kotlin *
Из песочницы

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

Каждый, даже начинающий, Android-разработчик знает, что основной поток(MainThread) приложения отвечает только за отрисовку экрана и рендеринг view’шек. Остальные операции такие как выгрузка данных с сервера, из файловой системы, базы данных и т.д. должны выполняться в отдельно потоке дабы не перегружать основной поток, ускорить работу приложения, избежать всякого рода крэшей и т.д.. Для этих целей существует множество способов такие как корутины, handler, AsyncTask, RX и т.д.. В данной статье мы не будем говорить про deprecated методы такие как например AsyncTask, а рассмотрим только 3: корутины, handler и RX.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 409
Комментарии 2

Установка Google сервисов на Windows Subsystem for Android

Разработка под Android *

Энтузиаст смог установить Google сервисы и приложения на WSA. Оригинал тут.

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

Внимание, после установки WSA, перестает запускаться эмулятор Android Studio. С этой проблемой еще не разобрался! И не говорите потом, что я вас не предупреждал :)

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 855
Комментарии 0

Тест батареек CR2032 «Panasonic» и «Sony» с Aliexpress

Блог компании LampTest Энергия и элементы питания
По просьбам читателей я заказал на Али и протестировал батарейки CR2032 «Panasonic» и «Sony». Названия брендов пишу в кавычках потому, что это подделки.

Читать дальше →
Всего голосов 13: ↑13 и ↓0 +13
Просмотры 3.4K
Комментарии 7

Как я создал Spring Boot startup analyzer

Блог компании Luxoft Программирование *Java *

Ни для кого не секрет, что приложения на Spring могут задумываться на старте. Особенно это заметно с развитием проекта: новый сервис стартует быстро и радует отзывчивостью, потом начинает обрастать функционалом, появляются всё новые и новые зависимости, а итоговый дистрибутив распухает на десятки мегабайт. И вот, для того чтобы просто запустить этот сервис локально, приходится ждать полминуты, минуту, две… В такие моменты ожидания у разработчика могут возникнуть вопросы: почему же так долго? что там такого происходит под капотом? может, не нужно было добавлять ту библиотеку?

Всем привет, меня зовут Алексей Лапин, я ведущий разработчик в Luxoft. В статье расскажу про инструмент в виде веб-приложения для анализа фазы старта сервисов на Spring Boot, использующий данные actuator startup endpoint. Это может помочь ответить на вопросы выше.

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Просмотры 1.2K
Комментарии 0

Ретроспектива: детские педальные автомобили и их характеристики

Блог компании Timeweb Читальный зал Старое железо
Сегодня мы поговорим о транспорте — автомобилях, но не бензиновых, а педальных. И более того — детских. Да-да, речь о тех самых советских педальных машинках, настоящей детской мечте тех времен. К слову, на сегодняшний день стоимость педального автомобиля в хорошем состоянии может составлять до двухсот тысяч рублей. Иронично, ведь в то время вряд ли кто мог подумать, что стоимость детской машинки сравняется с обычным полноценным автомобилем.

image
Читать дальше →
Всего голосов 28: ↑25 и ↓3 +22
Просмотры 4.1K
Комментарии 35

Психология языкового барьера, или Какого черта нельзя просто взять и заговорить на английском

Блог компании EnglishDom Изучение языков

63% россиян учили английский в школе или университете, но при этом только около 5% граждан могут похвастаться свободным владением языка. Это один из самых низких показателей в Европе по рейтингу EF English Proficiency Index.

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

Сегодня мы говорим о языковом барьере. Что это, от чего зависит и как его преодолеть.

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Просмотры 5.9K
Комментарии 9

Как натянуть сыр на страницу, или MVI Paging3 в Android

Блог компании 65apps Разработка под Android *Kotlin *

Привет! Меня зовут Георгий Бердников. Я разработчик в компании 65apps, занимаюсь созданием мобильных приложений на Android. Сегодня расскажу о том, как совместить приятное с полезным, поймать двух зайцев и журавля с неба инженеру, перед которым встала сложная задача реализовать постраничную загрузку в приложении.

Библиотека Paging3 упрощает работу с пагинацией. Она всё делает сама: вам не нужно заниматься ручной передачей данных по заветам популярных архитектур, таких как MVI, MVVM и MVP. Снаружи задумка кажется хорошей, но она  может стать ложкой дёгтя в бочке мёда. Инструменты, взаимодействующие с общим состоянием (к таким относятся, например, средства отладки в фреймворке MVIKotlin), не смогут контактировать с Paging3.

В статье я покажу, как решить эту проблему.  В качестве плацдарма для модификаций был выбран небезызвестный сэмпл от Google, в который мы и внедрим подставьте сюда фреймворк своей мечты (в статье используется вышеупомянутый MVIKotlin). Наш взор падёт только на Paging3,  функциональность вставки и удаления предметов оставим в стороне.

Читать далее
Рейтинг 0
Просмотры 287
Комментарии 0

9 ошибок прошлого: почему разорились 2 000 американских автопроизводителей

Блог компании НПП ИТЭЛМА Научно-популярное Транспорт
Перевод
image

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

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

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

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

Продажа надёжных двигателей — не панацея


На заре автомобилестроения отказ двигателя был обычным явлением; и водитель, и пассажиры могли регулярно оказываться в затруднительном положении за много миль от дома. Большинство автопроизводителей пытались улучшить качество своих двигателей. Но только не Говард Картер.
Читать дальше →
Всего голосов 15: ↑12 и ↓3 +9
Просмотры 3.8K
Комментарии 3

Modula-3 — Исторический контекст

Системное программирование *
Recovery mode
Перевод

6 ноября 1986 года Морис Уилкс написал Никлаусу Вирту с предложением пересмотреть и стандартизировать язык Modula-2 + в качестве преемника Modula-2. Вирт благословил этот проект, и так родился комитет Модула-3.

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

Modula-3 поддерживает интерфейсы, объекты, универсальные шаблоны, легкие потоки управления, изоляцию небезопасного кода, сборку мусора, исключения и подтипы. Некоторые из наиболее проблемных функций Modula-2 были удалены, например, вариантные записи и встроенный числовой тип данных без знака. Modula-3 существенно проще других языков с сопоставимой мощностью.

Modula-3 во многом основан на Modula-2 +, который был разработан в Системном исследовательском центре Digital Equipment Corporation и использовался для создания системы Topaz [ McJones89 , Rovner86 ]. Дизайн Modula-3 был совместным проектом Digital и Olivetti. Определение языка было опубликовано в августе 1988 года, и сразу после этого обе компании начали внедрять его. В январе 1989 года комитет пересмотрел формулировку, чтобы отразить опыт этих групп по внедрению. К публикации этой книги было внесено несколько окончательных исправлений.

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Просмотры 840
Комментарии 2

Style transfer для сериала «Друзья»

Блог компании OTUS Big Data *Машинное обучение *Искусственный интеллект

В данном посте мы, с помощью методов автоматической обработки текстов (Natural Language Processing или просто NLP), исследуем стиль речи 6 главных героев знаменитого сериала “Друзья”, проведем мультиязычный анализ для русского и английского языков, а также обучим большие GPT-based языковые модели общаться в в стиле главных героев Друзей.

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 1.7K
Комментарии 7

Как повысить безопасность Docker-контейнеров

Блог компании OTUS DevOps *
Перевод

Контейнеры Docker уже довольно давно стали неотъемлемой частью инструментария разработчика, позволяя собирать, распространять и развертывать приложения стандартизированным способом.

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

Читать далее
Всего голосов 8: ↑7 и ↓1 +6
Просмотры 1.7K
Комментарии 0

Ещё одна «засада» на уровне изоляции Read Uncommitted

Microsoft SQL Server *
Перевод

По материалам статьи Craig Freedman: Query Failure with Read Uncommitted

Опубликовано 23 марта 2019 г., впервые опубликовано в MSDN 12 июня 2007 г.

В предыдущих статьях были рассмотрены практически все уровни изоляции, за исключением Read Uncommitted или NOLOCK. Эта статья завершает серию обсуждением того, что может приключиться, если читать данные ещё не зафиксированных транзакций. О вреде NOLOCK написано уже немало. Например, вы могли об этом почитать у Любора Коллара (Lubor Kollar) из «SQL Server Development Customer Advisory Team» и в (ныне уже недоступном) блоге Тони Роджерсона (Tony Rogerson).

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

Читать далее
Всего голосов 5: ↑1 и ↓4 -3
Просмотры 647
Комментарии 0

Чтобы учиться быстрее, мозг постоянно ломает свою ДНК

Блог компании SkillFactory Читальный зал Научно-популярное Мозг Здоровье
Перевод

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

Открытие позволяет понять природу пластичности мозга и показывает, что разрыв ДНК — это важная часть обычных клеточных процессов. Кроме того, оно заставляет учёных изменить своё отношение к старению, болезням и геномным событиям: обычно их объясняли неудачным стечением обстоятельств. За подробностями приглашаем под кат, пока у нас начинается флагманский курс Data Science.

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Просмотры 3.3K
Комментарии 3

Насколько законно увольнение после постов в соцсетях

Блог компании Digital Rights Center IT-компании

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

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

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

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

Читать далее
Всего голосов 11: ↑8 и ↓3 +5
Просмотры 3.2K
Комментарии 16

Программирование в модуле «СПДС» для инженеров: инструмент «Универсальный маркер»

Блог компании Нанософт
Tutorial

Универсальный маркер – инструмент модуля «СПДС» Платформы nanoCAD, с которым каждый инженер может почувствовать себя программистом и создать объект для автоматизации процесса проектирования.

Самая любимая часть моей работы – общение с инженерами, которые уже работают в Платформе nanoCAD. Как правило, таким пользователям недостаточно работы с примитивами и блоками, и они ищут возможности для автоматизации своей работы и повышения скорости и качества выпускаемых чертежей. Они часто задают вопросы типа: «А есть ли функционал для …?», «А можно ли в nanoCAD сделать так, чтобы…?» и важнейший вопрос: «Как можно автоматизировать свою работу?».

Мой ответ на последний вопрос в отношении Платформы nanoCAD состоит из двух частей. Первая часть – о классических инструментах автоматизации САПР-среды: загрузка приложений, технология полей и т.д. Вторая часть – о средствах автоматизации, которые есть только в nanoCAD: автоматическое извлечение свойств объектов в таблицу nanoCAD (создание отчета), создание взаимосвязи между выноской nanoCAD и данными с объекта[1].

Если у пользователя nanoCAD активирован модуль «СПДС», то мой ответ, касающийся средств автоматизации, дополняется описанием Мастера объектов и Универсального маркера. Мастер объектов – замысловатый инструмент для создания объектов с «интеллектуальностью». Чтобы его освоить, потребуются навыки программирования. Более доступным и достаточно эффективным для этих целей является инструмент Универсальный маркер.

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

Читать далее
Рейтинг 0
Просмотры 184
Комментарии 0

Практическое руководство по методу максимального правдоподобия

Блог компании OTUS Математика *Машинное обучение *

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

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

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

Читать далее
Всего голосов 3: ↑2 и ↓1 +1
Просмотры 901
Комментарии 0

CQRS на golang

Блог компании Karuna Программирование *Go *Микросервисы *

Сегодня рассмотрю архитектурный паттерн CQRS и его возможное место в вашей архитектуре. Также осуществим его реализацию на языке golang.

Читать далее
Всего голосов 5: ↑3 и ↓2 +1
Просмотры 1.8K
Комментарии 6