Как стать автором
Обновить
27
0
Nashev @Nashev

Delphi

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

Мои советы после 20 лет в программировании

Уровень сложностиПростой
Время на прочтение44 мин
Количество просмотров125K

Сегодня ровно 20 лет, как я начал программировать профессионально. За эти годы я:

Получил одобрение на петицию по грин‑карте за выдающиеся способности в науке.
Стал Google Developer Expert.
Стал IEEE Senior Member.
Был операционным директором в компании со 100 сотрудниками.
Написал код, который скачали 135 миллионов раз.
Выступал перед аудиторией в 2000 человек, дважды.
Стал самым честным человеком в России по версии НТВ.

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

Читать далее
Всего голосов 290: ↑180 и ↓110+70
Комментарии277

Vassbotn H. Виртуальные переменные класса

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

Приветствую всех, кто начал читать эту заметку! Хочу предложить вам (а в большей степени фанатам Object Pascal, любителям программистских трюков, технических приемов и синтаксических изысков) ознакомиться с переводом довольно старого (2007 года) поста "Hack#17: Virtual class variables, Part I" и "Hack#17: Virtual class variables, Part II" известного разработчика и автора многочисленных технических приемов, ориентированных на применение в Delphi, Халлварда Вассботна (Hallvard Vassbotn).


Сообщение Халлварда посвящено одной из интереснейших тем – возможности размещения и использования данных, связанных с конкретным классом прикладных объектов. Если вы подумали о константах или переменных класса, то вы окажетесь правы, но только частично.
Речь в этой заметке пойдет о class virtual var, по-русски это словосочетание звучит как виртуальная переменная класса (именно оно и вынесено в название данного перевода). Вы скажете, что такой синтаксической конструкции в Object Pascal’е нет, и окажетесь абсолютно правыми. Более того, я уверен, что знатоки и разработчики на других ОО-языках программирования заявят: в своей практике я не слышал, не сталкивался и не использовал ничего подобного. Как и все я «суслика не вижу…», но буду утверждать, что он может существовать. И об этом пойдет в речь в тексте предлагаемого вам перевода.

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

За секунды: полировка металлов электричеством

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров17K

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

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

Дальше мы обзорно поговорим о ней, а желающие смогут задуматься о применении её в своих проектах.
Читать дальше →
Всего голосов 79: ↑79 и ↓0+79
Комментарии32

«Чистый» код, ужасная производительность

Время на прочтение16 мин
Количество просмотров64K
Один из самых часто повторяемых советов программистам, особенно начинающим — это рекомендация писать «чистый» код. Она сопровождается длинным списком правил, сообщающих, что нужно делать, чтобы код был «чистым».

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

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

  • Отдавайте предпочтение полиморфизму, а не «if/else» и «switch»
  • Код не должен знать о внутреннем устройстве объектов, с которыми он работает
  • Функции должны быть маленькими
  • Каждая функция должна выполнять одну задачу
  • Принцип «DRY» — Don’t Repeat Yourself («не повторяйся»)

Эти правила достаточно чётко формулируют то, как должен создаваться конкретный фрагмент кода, чтобы быть «чистым». Но я задам такой вопрос: если мы создадим фрагмент кода, соответствующий этим правилам, какова будет его производительность?
Читать дальше →
Всего голосов 221: ↑185 и ↓36+149
Комментарии368

Юлия → Iuliia. Всё о транслитерации

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

Транслитерация


Транслитерация — это запись кириллических слов латиницей (Анна → Anna, Самара → Samara). Её используют в загранпаспортах, водительских удостоверениях, трансграничной доставке, библиотечных каталогах и множестве других международных процессов.


Так вышло, что я недавно окунулся в эту тему, а в Википедии она раскрыта слабо. Поэтому расскажу, что к чему (спойлер — если вы думаете, что с транслитерацией всё плохо, то на самом деле всё ещё хуже).


И конечно, поскольку это Хабр — предложу open-source библиотеки для решения проблемы.

Читать дальше →
Всего голосов 193: ↑192 и ↓1+191
Комментарии543

Нельзя так просто взять и всё успеть: как работать с задачами

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

Два года назад я задался вопросом "Как мне все успевать?". Вопрос пришел в веселой компании усталости, прокрастинации и выгорания...

Читать далее
Всего голосов 28: ↑25 и ↓3+22
Комментарии20

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

Время на прочтение12 мин
Количество просмотров8.1K
Одним из очевидных недостатков систем онлайн образования является невозможность проконтролировать самостоятельность решения задач студентами. Это приводит к массовому мошенничеству и, как следствие, к обесцениванию выдаваемых сертификатов. В статье предлагается некоторое техническое средство, позволяющее частично уменьшить ущерб от этого явления в онлайн образовании.
Читать дальше →
Всего голосов 20: ↑10 и ↓100
Комментарии105

Инженерная культура, которую мы потеряли?

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

Этот пост, наверно, правильно воспринимать как крик души, как попытку найти поддежку в профильном сообществе и окончательно не потерять веру в текущий уровень высшего инженерно-технического образования. То, что сейчас все крайне непросто в этой сфере, не говорит только ленивый, но я хочу постараться дать вам некую объективную информацию, а выводы… Выводы, думаю, все сделают сами. Кому интересно, прошу под кат.
Читать дальше →
Всего голосов 212: ↑199 и ↓13+186
Комментарии728

Кризис в стоматологии: готовьтесь чистить зубы 3 раза в день

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

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

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

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

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

Русских врачей поливают помоями в международном сообществе.

Пациенты плачут на приёмах.

Многие вещи подорожали. Когда я увидел новый прайс на зубные щётки с повышением на 70%, то сначала не поверил своим глазам, перезвонил спросить. Да, это правда.

Всё вокруг напоминает старый добрый 2014-й год, когда доллар вместо 30 рублей вдруг стал 90. Но паники больше.
Читать дальше →
Всего голосов 238: ↑199 и ↓39+160
Комментарии119

Dart: как правильно начать знакомство с языком?

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

image


Всем привет! На прошлой неделе мы провели вторую ежегодную встречу русскоязычного сообщества Dart (ака Dartup) и получили очень информативную и полезную обратную связь от людей, пришедших на мероприятие. В этом году нас было около 130 человек. Если вы не были и хотите посмотреть, вот ссылка на записи. Спасибо за митап всем участникам, организаторам и партнерам.


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


Про что

Давайте начнем с базового плана:


  • Где узнать про Dart больше?
  • Как и где попробовать?
  • Настройка среды разработки
  • Запуск Hello world
Читать дальше →
Всего голосов 21: ↑18 и ↓3+15
Комментарии5

Почему налоговая не верит в айтишников-индивидуальных предпринимателей?

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

Сколько может зарабатывать айтишник на ИП? У ФНС свое мнение


Когда один человек много зарабатывает и честно платит налоги, налоговики смотрят со стороны и думают: «Как такое возможно? Наверняка у него масса помощников! Пусть и за них налоги заплатит!»

Рассказываем, как при наличии электронной подписи в пару кликов забыть о подобных притязаниях налоговой.
Читать дальше →
Всего голосов 125: ↑122 и ↓3+119
Комментарии233

Логика мышления. Часть 1. Нейрон

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


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

В настоящем цикле статей планируется рассказать о той концепции интеллекта над которой мы сейчас работаем и продемонстрировать некоторые решения, являющиеся принципиально новыми в сфере моделирования работы мозга. Но чтобы повествование было понятным и последовательным оно будет содержать не только описание новых идей, но и рассказ о работе мозга вообще. Какие-то вещи, особенно в начале, возможно покажутся простыми и общеизвестными, но я бы советовал не пропускать их, так как они во многом определяют общую доказательность повествования.
Читать дальше →
Всего голосов 62: ↑53 и ↓9+44
Комментарии23

Гигиена удалённой работы или о пользе телепатии

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

Приходилось ли вам запинаться в работе? Вот берёте таск: зафигачить красивый отсчитыватель времени "До конца супер предложения осталось всегда 2 часа". Открываете редактор… и щёлк: а как делать-то? Вроде я что-то слышал, что мы лэндинги начали на Vue делать. Или тут еще реакт?


Хорошо, когда вы в опенспейсе сидите через два стола. Всегда можно встать, и тихо спросить соседа "Напомни, мы Vue для всех теперь берём?". Хуже, если ТЛ в другом часовом поясе. Тот же вопрос — но ответ завтра. А если он закрутился, то послезавтра. И всё, вместо 1 минуты — двое суток задержки.


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

А в конце статьи -- сюрприз
Всего голосов 54: ↑48 и ↓6+42
Комментарии18

TJBOT как иллюстрация IBM Watson services

Время на прочтение6 мин
Количество просмотров2.9K
Привет, Хабр! Весной 2019 года прошел очередной Think Developers Workshop, на котором все желающие могли собрать картонного робота TJBota под управлением IBM Watson Services. Под катом находится подробная инструкция, из чего и как собрать такого робота, полезные ссылки и простейшие рецепты, демонстрирующие некоторые когнитивные возможности сервисов Watson, а также небольшой анонс двух июльских семинаров о Watson Services в московском офисе IBM.

image

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

Интернет для дачника. Часть 4. Достаточно одной SIM-карты

Время на прочтение6 мин
Количество просмотров16K
Тема дачного мобильного Интернета не отпускает меня и я решил продолжить тесты. В прошлый раз я протестировал российский промышленный роутер, а на этот раз я сравню готовые изделия, в которые достаточно вставить sim-карту и смонтировать на стойке, чтобы получить вполне приличный Интернет. Испытуемыми будут уличные роутеры Zyxel LTE7460 и Microdrive NR-410. Вперед, к стабильному и быстрому интернету в своем доме!


Всего голосов 11: ↑11 и ↓0+11
Комментарии6

Краткий конспект по языку JavaScript

Время на прочтение15 мин
Количество просмотров113K
Я —.NET разработчик. Но в последнее время всё чаще сталкиваюсь с JavaScript. Причём, процентах в 50 случаев я что-то на нём пишу, в остальных 50 — разбираюсь с чужим кодом, да ещё и прошедшим через минификацию, а иногда и обфускацию. В этой статье захотелось поделиться теми моментами, которые мне показались важными для понимания языка и эффективной работы с ним. Тут не будет ничего нового или неизвестного для людей, уже имевших дело с языком, и не будет чего-то такого, чего нельзя найти в других источниках. Для меня статья будет полезна как способ лучше разобраться в предмете, для читателей, я надеюсь, — как повод освежить знания.

Брендан Айк упоминал, что JavaScript был создан за 10 дней. Думаю, идея вынашивалась дольше. Как бы то ни было, язык получился и с тех пор только набирает популярность. Особенно после появления AJAX.

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

JavaScript состоит из трёх обособленных частей:

  • ядро (ECMAScript),
  • объектная модель браузера (Browser Object Model или BOM),
  • объектная модель документа (Document Object Model или DOM).


В статье, в основном, пойдёт речь о ядре. Конечно, в примерах кода будут использоваться элементы DOM и BOM, но заострять на них внимание не буду.
Читать дальше →
Всего голосов 75: ↑65 и ↓10+55
Комментарии20

Горький урок отрасли ИИ

Время на прочтение5 мин
Количество просмотров53K
Об авторе. Ричард Саттон — профессор компьютерных наук в университете Альберты. Считается одним из основателей современных вычислительных методов обучения с подкреплением.

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

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

Стремясь к улучшению в краткосрочной перспективе, исследователи пытаются применить человеческие знания в предметной области, но в долгосрочной перспективе имеет значение только мощность вычислений. Эти две тенденции не должны противоречить друг другу, но на практике противоречат. Время, потраченное на одно направление, — это время, потерянное для другого. Есть психологические обязательства инвестировать в тот или иной подход. И внедрение знаний в предметной области имеет тенденцию усложнять систему таким образом, что она хуже подходит для использования общих вычислительных методов. Было много примеров, когда исследователи слишком поздно усваивали этот горький урок, и полезно рассмотреть некоторые из самых известных.
Читать дальше →
Всего голосов 123: ↑119 и ↓4+115
Комментарии368

AlphaStar — новая система искусственного интеллекта для StarCraft II от DeepMind (полный перевод)

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


Игры десятилетиями использовались как один из главных способов тестирования и оценки успешности систем искусственного интеллекта. По мере того как росли возможности, исследователи искали игры с постоянно возрастающей сложностью, которые бы отражали различные элементы мышления, необходимые для решения научных или прикладных проблем реального мира. В последние годы StarCraft считается одной из самых многогранных и сложных стратегий реального времени и одной из самых популярных на сцене киберспорта за всю историю, а сейчас StarCraft стал еще и главным вызовом для исследований ИИ.
Всего голосов 54: ↑51 и ↓3+48
Комментарии54

Как и зачем мы делали распознавание достопримечательностей в Облаке Mail.ru

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


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

Одной из целей Облака Mail.ru является обеспечение наиболее удобного доступа и поиска по своему фото и видеоархиву. Для этого мы — команда машинного зрения Mail.ru — создали и внедрили системы «умной» обработки фотографий: поиск по объектам, сценам, лицам и др. Еще одной такой яркой технологией является распознавание достопримечательностей. И сегодня я расскажу про то, как с помощью Deep Learning мы решили эту задачу.
Читать дальше →
Всего голосов 39: ↑38 и ↓1+37
Комментарии6

Как сделать из сайта приложение и выложить его в Google Play за несколько часов. Часть 1/2: Progressive Web App

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


Наверное, все близкие к веб-разработке люди уже наслышаны о Progressive Web App. Ещё бы! Эта технология практически уравняла веб и мобильную разработку с точки зрения распространения продуктов и вовлечённости пользователей.

Да, современный фронтенд, написанный, например, на React, работает как приложение. Но вот только скачивается это приложение в браузер и запускается из него. В этом и заключается огромный гандикап, который всегда имела мобильная разработка. Давайте подумаем, чем с точки зрения обычного пользователя, «приложение» отличается от «сайта». Сразу в голову приходит, что приложение в телефоне, а сайт на компьютере. Но ведь есть мобильный браузер, так что сайт и в телефоне тоже. Тогда остаётся 3 существенных отличия:
Читать дальше →
Всего голосов 52: ↑52 и ↓0+52
Комментарии31
1
23 ...

Информация

В рейтинге
5 028-й
Откуда
Россия
Дата рождения
Зарегистрирован
Активность