Search
Write a publication
Pull to refresh
2
0
Send message

Объектно-ориентированное программирование в Java и Python: сходства и отличия

Reading time21 min
Views55K

Привет, Хабр! Представляю вашему вниманию перевод статьи “Object-Oriented Programming in Python vs Java” автора Джона Финчера.


Реализация объектно-ориентированного программирования (ООП) в языках Java и Python отличается. Принцип работы с объектами, типами переменных и прочими языковыми возможностями может вызвать затруднение при переходе с одного языка на другой. В данной статье, которая может быть полезной как для Java-программистов, желающих освоить Python, так и для Python-программистов, имеющих цель лучше узнать Java, приводятся основные сходства и отличия этих языков, применительно к ООП.


Подробнее – под катом.

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

Мошенники и ЭЦП — всё очень плохо

Reading time5 min
Views238K

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

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

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

Reading time12 min
Views67K


Вот так раньше выглядела одна из визиток Игоря Михайлова, специалиста Лаборатории компьютерной криминалистики Group-IB. На ней — аппаратные ключи программ, которыми пользовался эксперт при проведении криминалистических экспертиз. Стоимость только этих программных продуктов превышает 2 миллиона рублей, а ведь есть еще бесплатное программное обеспечение и другие коммерческие продукты. Какой инструментарий выбрать для работы? Специально для читателей «Хабра» Игорь Михайлов решил рассказать о лучших программных и аппаратных средствах для компьютерной криминалистики.
Читать дальше →

Аппаратное ускорение глубоких нейросетей: GPU, FPGA, ASIC, TPU, VPU, IPU, DPU, NPU, RPU, NNP и другие буквы

Reading time28 min
Views95K


14 мая, когда Трамп готовился спустить всех собак на Huawei, я мирно сидел в Шеньжене на Huawei STW 2019 — большой конференции на 1000 участников — в программе которой были доклады Филипа Вонга, вице-президента по исследованиям TSMC по перспективам не-фон-неймановских вычислительных архитектур, и Хенга Ляо, Huawei Fellow, Chief Scientist Huawei 2012 Lab, на тему разработки новой архитектуры тензорных процессоров и нейропроцессоров. TSMC, если знаете, делает нейроускорители для Apple и Huawei по технологии 7 nm (которой мало кто владеет), а Huawei по нейропроцессорам готова составить серьезную конкуренцию Google и NVIDIA.

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

Только в прошлом году в тему было вложено больше 3 миллиардов долларов. Google уже давно объявил нейросети стратегическим направлением, активно строит их аппаратную и программную поддержку. NVIDIA, почувствовав, что трон зашатался, вкладывает фантастические усилия в библиотеки ускорения нейросетей и новое железо. Intel в 2016 году потратил 0,8 миллиарда на покупку двух компаний, занимающихся аппаратным ускорением нейросетей. И это при том, что основные покупки еще не начались, а количество игроков перевалило за полсотни и быстро растет.


TPU, VPU, IPU, DPU, NPU, RPU, NNP — что все это означает и кто победит? Попробуем разобраться. Кому интересно — велкам под кат!
Читать дальше →

Топ ошибок со стороны разработки при работе с PostgreSQL

Reading time21 min
Views53K
HighLoad++ существует давно, и про работу с PostgreSQL мы говорим регулярно. Но у разработчиков все равно из месяца в месяц, из года в год возникают одни и те же проблемы. Когда в маленьких компаниях без DBA в штате случаются ошибки в работе с базами данных, в этом нет ничего удивительного. В крупных компаниях тоже нужны БД, и даже при отлаженных процессах все равно случаются ошибки, и базы падают. Неважно, какого размера компания — ошибки все равно бывают, БД периодически обваливаются, рушатся.



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


О спикере: Алексей Лесовский (lesovsky) начинал системным администратором Linux. От задач виртуализации и систем мониторинга постепенно пришел к PostgreSQL. Сейчас PostgreSQL DBA в Data Egret — консалтинговой компании, которая работает с большим количеством разных проектов и видит много примеров повторяющихся проблем. Это ссылка на презентацию доклада на HighLoad++ 2018.
Читать дальше →

Алексей Савватеев и теория игр: «Какова вероятность, что в ближайшие пять лет будет скинута атомная бомба?»

Reading time9 min
Views48K
image

Расшифровка видеозаписи лекции.

Теория игр — дисциплина, которая прочно зависла между математикой и социальными науками. Одним канатом к математике, другим канатом — к социальным наукам, прочно прикреплена.

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

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

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

  • Теория игр в Талмуде.
  • Теория игр в русской классике.
  • Телеигра или задача о парковочных местах.
  • Люксембург в Евросоюзе.
  • Синдзо Абэ и Северная Корея
  • Парадокс Брайеса в Метрогородке (Москва)
  • Два парадокса Дональда Трампа
  • Рациональное безумие (снова Северная Корея)

(В конце поста — опрос про бомбу.)

N+7 полезных книг

Reading time6 min
Views71K
Привет! Это очередной традиционый список книг, оказавшихся полезными за год. Сугубо субъективный, конечно. Но я серьёзно рассчитываю, что вы подскажете ещё классных штук почитать.



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

Реальные сроки изучения слепой печати при низкой мотивации

Reading time4 min
Views79K
В статье я опишу свой сугубо субъективный пример того, сколько времени занимает обучение методу комфортной слепой печати. Это с учётом того, что мне данный навык не был критически важен, но иметь его давно хотелось.


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

Java Native Image: проверка возможности использования

Reading time14 min
Views13K


Не так давно Oracle выпустил первый релиз проекта GraalVM (https://www.graalvm.org/). Релизу был сразу присвоен номер 19.0.0, видимо, для того чтобы убедить, что проект зрелый и готов к использованию в серьезных приложениях. Одна из частей этого проекта: Substrate VM — фреймворк, который позволяет превращать Java-приложения в нативные исполняемые файлы (а также нативные библиотеки, которые можно подключать в приложениях, написанных, например, на С/С++). Эта возможность пока объявлена экспериментальной. Также стоит отметить, что у нативных приложений на Java есть некоторые ограничения: необходимо перечислять все используемые ресурсы, чтобы включить их в нативную программу; нужно перечислить все классы, которые будут использоваться с помощью reflection и другие ограничения. Полный список указан тут Native Image Java Limitations. Изучив этот список, в принципе понятно, что ограничения не такие значительные, чтобы нельзя было разработать более сложные приложения, чем хелловорлды. Мною была поставлена такая цель: разработка небольшой программы, которая имеет встроенный web-сервер, использует базу данных (через ORM библиотеку) и компилируется в нативный бинарник, который может запускаться на системах без установленной Java машины.
Читать дальше →

О проектировании гибкой системы способностей персонажей в играх

Reading time3 min
Views11K
Система способностей персонажа пожалуй самая требовательная к гибкости в игре. Невозможно на этапе проектирования предсказать какие заклинания появятся в финальной версии или последующих обновлениях. Этот пост будет о том, как я абстрагировал процесс исполнения способностей.

Сама по себе способность есть ни что иное, как набор действий. Минимальный интерфейс способности состоит из одного метода: «применить», но не всё так просто и о сложностях под катом.

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

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

Reading time4 min
Views25K
Вы пока не разбираетесь, почему ReLU лучше сигмоиды, чем отличается Rprop от RMSprop, зачем нормализировать сигналы и что такое skip connection? Зачем нейронной сети нужен граф, и какую он совершил ошибку, что она распространяется обратно? У вас есть проект с компьютерным зрением или, может быть, делаете межгалактического робота для борьбы с грязными тарелками, и хотите, чтобы он мог сам решать, отмывать или и так сойдет?

Мы запускаем открытый курс «Нейронные сети и компьютерное зрение», который адресован тем, кто в этой области делает первые шаги. Курс разработан экспертами Samsung Research Russia: Исследовательского центра Samsung и Центра искусственного интеллекта Samsung в Москве. Сильные стороны курса:

  • авторы курса знают, о чем говорят: это инженеры московского Центра искусственного интеллекта Samsung, Михаил Романов и Игорь Слинько;
  • есть как теория с задачками, так и практика на PyTorch
  • приступаем к практике сразу после освоения минимальных теоретических знаний.
  • лучшие студенты будут приглашены на собеседование в Samsung Research Russia!


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

Рейтинг площадок дополнительного образования в ИТ: по результатам исследования «Моего круга»

Reading time6 min
Views118K


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

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

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

Витамин Д. Пить или не пить, вот в чем вопрос. (Или рассказ о том, как я сдавал анализ, который мне не назначали)

Reading time7 min
Views449K

Предыстория


В ноябре 18 года я случайно сдал анализ на витамин Д. (Проверять его мне не назначали, дело в том, что в лаборатории была скидка на пакет анализов, куда входили нужные мне, плюс еще пара довеском.) Результат меня несколько удивил. Нужные анализы были в норме, а вот витамин Д оказался в дефиците.



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

Space Invaders: теперь и в 512 байт (Assembler x86)

Reading time1 min
Views8.3K
image

Казалось бы, ещё совсем недавно Space Invaders умещали в 1 килобайт, а теперь смогли уместить в один загрузочный сектор (512 байт). Автор программы — Оскар Толедо, пятикратный победитель IOCCC (International Obfuscated C Code Contest) и регулярный участник JS1K, также известный как создатель шахмат, которые занимают всего 392 байта.

Исходный код игры можно посмотреть в репозитории на Github: github.com/nanochess/Invaders

Для запуска вам потребуется nasm (Netwide Assembler), который можно скачать на официальном сайте. Игру можно собрать, выполнив команду:

nasm -f bin invaders.asm -Dcom_file=1 -o invaders.com

На самом деле, это всё ещё в 4 раза больше, чем весь размер оперативной памяти Atari 2600 — но уже с легкостью поместилось бы на её картридж, который предоставлял 2 килобайта памяти. Также, использование в коде программы инструкций ассемблера PUSHA/POPA требует наличия процессора 80186 и выше.

Хочешь стать чуточку счастливее? Попробуй стать лучшим в своём деле

Reading time6 min
Views8.8K
image

Это история для тех, чьё единственное сходство с Эйнштейном — бардак на рабочем столе.
Фото рабочего стола великого физика сделано через несколько часов после его смерти, 28 апреля 1955 года, в Princeton, New Jersey.


Миф о Мастере


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

Один из таких архетипов — это человек, который овладел своим ремеслом в совершенстве. Виртуоз. Гуру. Булгаков в самом известном своём романе назвал такого героя прямолинейно — Мастер. Первый приходящий в голову пример такого виртуоза — это гениальный сыщик, способный расследовать дело и найти преступника по нескольким, казалось бы, несвязанным, очень косвенным уликам. Это настолько избитый сюжет, что казалось бы: доколе это может быть интересно читать / смотреть с экрана? Но согласитесь: такая история не перестаёт быть интересной. А это значит, что по какой-то причине нас волнует образ человека, который достиг в своём ремесле совершенства.

Книга «Машинное обучение: алгоритмы для бизнеса»

Reading time5 min
Views11K
image Привет, Хаброжители! Маркос Лопез де Прадо делится тем, что обычно скрывают, — самыми прибыльными алгоритмами машинного обучения, которые он использовал на протяжении двух десятилетий, чтобы управлять большими пулами средств самых требовательных инвесторов.

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

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

Работа с API КОМПАС-3D → Урок 15 → Составные строки на основе параграфа

Reading time13 min
Views2.7K
В уроке 12 мы познакомились с составными строками и рассмотрели недокументированный способ их создания. В уроке 13 были представлены параграфы. Сегодня мы рассмотрим, как их использовать для создания составных строк. Для начала возьмем строки, включающие в свой состав отклонения и дроби, и познакомимся с такими компонентами составных строк, как надстрока, подстрока и спецсимволы.


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

HBO, cпасибо что напомнил… «Чернобыльская аптечка» беларуского фармацевта

Reading time20 min
Views126K
Что бы ни сказали — не станем спорить
Что бы ни дарили — не станем верить

Егор Летов «Как листовка»

Думаю не стоит лишний раз говорить о нашумевшем сериале Чернобыль и эффективности такого «сериального» воздействия на массы. Особенно на массы, проживающие на территориях, показанных в фильме. Выход каждой новой серии сопровождается всплеском публикаций в FB. В каждой из которых горечь, страх, боль. Что в такой ситуации я могу сделать ("кто виноват и что делать?")? Могу только описать свой взгляд на терапию лучевых поражений. Спасибо родненькой кафедре химии высоких энергий и проф. Шадыро О.И., которые пестовали в своих лабораториях нас, непутевых фармацевтов-радиохимиков. Надеюсь своей статьей честь этой, легендарной некогда, кафедры я не опорочу.

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

В общем, спасибо, сценаристы HBO, за то, что всколыхнули Память. Мой посильный вклад — под катом. Рейтинг доступных (и не очень) антидотов, способных сработать при радиационном выбросе. В закладки — класть строго ВСЕМ! И прочитал сам — перекинь другу.

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

«Смотри какой у меня реактивный ранец!» — «Ха, смотри, какая у меня ракета!» (заметки с ракетостроительного чемпионата)

Reading time5 min
Views14K
image

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

Краткое содержание:


Воссоздание старой DOS-игры на C++ 17

Reading time6 min
Views13K
В 2016 году я начал работу над хобби-проектом по реверс-инжинирингу игры Duke Nukem II и воссозданию с нуля его движка. Проект имеет название Rigel Engine и выложен в open source (его страница на GitHub). Сегодня, более чем два с половиной года спустя на моём движке уже можно пройти весь shareware-эпизод оригинальной игры с практически идентичным оригиналу игровым процессом. Вот видео с прохождением первого уровня:


Что же он может делать? Rigel Engine работает как полная замена оригинального двоичного файла DOS (NUKEM2.EXE). Можно скопировать его в каталог игры и он считает из него все данные, или же указать путь к данным игры как аргумент командной строки. Движок собирается и выполняется под Windows, Mac OS X и Linux. Он основан на SDL и OpenGL 3/OpenGL ES 2, а написан на C++ 17.

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

Information

Rating
Does not participate
Registered
Activity