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

Пользователь

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

Хорошего кода не бывает

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

Серьезно. Кода на который можно посмотреть и сказать "это сделано на отлично" почти не бывает – в основном один фарш из легаси, гвоздей, и иероглифов.

Это не пессимизм. Откройте почти любой коммерческий проект, где люди решают задачи, живут с тем что есть, проект уже прожил сравнительно долгую жизнь, а команда меняется (и это нормально).

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

Серьезно
Всего голосов 20: ↑19 и ↓1+18
Комментарии41

Хорошо ли вы помните nullable value types? Заглядываем «под капот»

Время на прочтение11 мин
Количество просмотров13K
image1.png

В последнее время модной темой стали nullable reference types. Однако старые добрые nullable value types никуда не делись и всё так же активно используются. Хорошо ли вы помните нюансы работы с ними? Предлагаю освежить или проверить свои знания, ознакомившись с этой статьёй. Примеры кода на C# и IL, обращения к спецификации CLI и коду CoreCLR прилагаются. Начать предлагаю с интересной задачки.
Читать дальше →
Всего голосов 45: ↑45 и ↓0+45
Комментарии5

Стивен Вольфрам: кажется, мы близки к пониманию фундаментальной теории физики, и она прекрасна

Время на прочтение70 мин
Количество просмотров380K
В продолжение моего поста про вычислимую Вселенную я хочу представить вам свой перевод статьи Стивена Вольфрама, созданной в рамках его проекта The Wolfram Physics Project.


Неожиданное открытие


За прошедшие несколько веков произошел настоящий прорыв в наших знаниях о принципах работы окружающего нас мира. Но несмотря на это, у нас все еще нет фундаментальной теории физики, и мы все так же не имеем ответа на вопрос о том, как именно работает наша Вселенная. Я занимаюсь этой темой уже порядка 50-и лет, но только в последние несколько месяцев все кусочки пазла наконец-то начали складываться вместе. И получающаяся картина оказалась гораздо прекрасней, чем все, что я только мог себе представить.
Читать дальше →
Всего голосов 317: ↑312 и ↓5+307
Комментарии459

Похмелье 8 марта: ещё одна статья на Хабре о женщинах в ИТ

Время на прочтение13 мин
Количество просмотров18K
«Если, по-вашему, женщина может быть кузнецом,
то почему бы мужчине не быть педикюршей?
Она кует, он пилит, прекрасная пара!»
К/ф «Берегите женщин»


Я читаю Хабр года так с 2009-го. Последние несколько лет накануне 8 марта случается вал публикаций, спецпроектов, мегапостов и других форматов о женщинах в ИТ-сфере. Все они как один топят за равноправие, буквально кричат о том, что все разработчики одинаковы, женщина в ИТ — молодец, а Ада Лавлейс, Грейс Хоппер и Маргарет Гамильтон — иконы айтишного мира, которые всем всё доказали. Но, как известно, если вокруг какой-то проблемы есть шум, это говорит об одном — несмотря на все эти однодневные манифесты проблема есть.

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


Между прочим, вполне обыденная ситуация :-)
Сообщение модератора: статья полностью перевыпущена, т.к. из-за технических проблем был ошибочно опубликован другой материал.
Читать дальше →
Всего голосов 62: ↑56 и ↓6+50
Комментарии55

Создание архитектуры программы или как проектировать табуретку

Время на прочтение25 мин
Количество просмотров681K
Взявшись за написание небольшого, но реального и растущего проекта, мы «на собственной шкуре» убедились, насколько важно то, чтобы программа не только хорошо работала, но и была хорошо организована. Не верьте, что продуманная архитектура нужна только большим проектам (просто для больших проектов «смертельность» отсутствия архитектуры очевидна). Сложность, как правило, растет гораздо быстрее размеров программы. И если не позаботиться об этом заранее, то довольно быстро наступает момент, когда ты перестаешь ее контролировать. Правильная архитектура экономит очень много сил, времени и денег. А нередко вообще определяет то, выживет ваш проект или нет. И даже если речь идет всего лишь о «построении табуретки» все равно вначале очень полезно ее спроектировать.

К моему удивлению оказалось, что на вроде бы актуальный вопрос: «Как построить хорошую/красивую архитектуру ПО?» — не так легко найти ответ. Не смотря на то, что есть много книг и статей, посвященных и шаблонам проектирования и принципам проектирования, например, принципам SOLID (кратко описаны тут, подробно и с примерами можно посмотреть тут, тут и тут) и тому, как правильно оформлять код, все равно оставалось чувство, что чего-то важного не хватает. Это было похоже на то, как если бы вам дали множество замечательных и полезных инструментов, но забыли главное — объяснить, а как же «проектировать табуретку».

Хотелось разобраться, что вообще в себя включает процесс создания архитектуры программы, какие задачи при этом решаются, какие критерии используются (чтобы правила и принципы перестали быть всего лишь догмами, а стали бы понятны их логика и назначение). Тогда будет понятнее и какие инструменты лучше использовать в том или ином случае.

Данная статья является попыткой ответить на эти вопросы хотя бы в первом приближении.
Читать дальше →
Всего голосов 88: ↑85 и ↓3+82
Комментарии45

Интерны глазами компании

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


Вероятно, вы знаете, что Parallels работает с талантливыми студентами практически с первого дня своего основания. Во-многом, потому что компания сама появилась благодаря таким же юным «дарованиям». МФТИ и МГТУ им.Баумана вообще можно считать колыбелью для наших бывших и настоящих лидеров. А как обстоят дела сейчас?
Читать дальше →
Всего голосов 25: ↑21 и ↓4+17
Комментарии5

Python + OpenCV + Keras: делаем распознавалку текста за полчаса

Время на прочтение12 мин
Количество просмотров200K
Привет Хабр.

После экспериментов с многим известной базой из 60000 рукописных цифр MNIST возник логичный вопрос, есть ли что-то похожее, но с поддержкой не только цифр, но и букв. Как оказалось, есть, и называется такая база, как можно догадаться, Extended MNIST (EMNIST).

Если кому интересно, как с помощью этой базы можно сделать несложную распознавалку текста, добро пожаловать под кат.


Читать дальше →
Всего голосов 37: ↑35 и ↓2+33
Комментарии27

Литература на выходные: легкое чтение для технарей

Время на прочтение4 мин
Количество просмотров29K
Летом мы публиковали подборку книг, в которой не было справочников или руководств по алгоритмам. Она состояла из литературы для чтения в свободное время — для расширения кругозора. В качестве продолжения мы подобрали научную фантастику, книги о технологическом будущем человечества и другие издания, написанные специалистами для специалистов.

Всего голосов 34: ↑31 и ↓3+28
Комментарии10

Один язык чтобы править всеми

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

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



На момент написания этой статьи запрос «программирование какой язык изучать первым» выдаёт 517 миллионов поисковых результатов. Каждый из этих сайтов будет нахваливать один определённый язык, и 90% из них, в конечном итоге, порекомендуют Python или JavaScript.


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


Просто знать как кодить ещё не достаточно. Рынок настолько насыщен выпускниками институтов и курсов, что позиция джуниора практически перестала существовать*. Чтобы преуспеть в сегодняшнем мире, вы должны и кодить, и иметь продвинутое фундаментальное логическое мышление.


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


Мой первый урок информатики


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


«Сегодня мы будем дегустировать самостоятельно приготовленные пломбиры. Но с одним условием: вы должны составить список конкретных инструкций, как приготовить десерт, а я — буду им следовать»

Читать дальше →
Всего голосов 59: ↑49 и ↓10+39
Комментарии53

Что будет с аутентификацией и паролями? Перевод отчета Javelin «Состояние строгой аутентификации» с комментариями

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


Спойлер из заголовка отчета «Количество случаев использования строгой аутентификации выросло благодаря угрозам новых рисков и требованиям регуляторов».
Исследовательская компания «Javelin Strategy & Research» опубликовала отчёт «The State of Strong Authentication 2019» ( оригинал в формате pdf можно скачать тут). В этом отчете написано: какой процент американских и европейских компаний используют пароли (и почему пароли сейчас мало кто использует); почему так быстро растет процент использования двухфакторной аутентификации на основе криптографических токенов; почему одноразовые коды, отправляемые по SMS, небезопасны.

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

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

Космос как смутное воспоминание

Время на прочтение10 мин
Количество просмотров46K
Мне больно. Известный советский космонавт сказал, что космос – это факт далекого прошлого. Эпоха романтики прошла, эпоха зрелости не наступила. Мы летаем на орбиту на высоту в 180 км и уже много-много лет рассуждаем о возвращении на Луну и высадке на Марс. Космические программы прошлого заканчиваются и сворачиваются. Комплексы отслуживают свой ресурс и списываются в утиль. Одна только МКС кружит и кружит над Землей, словно обозначая наше присутствие там, как таможенный пост на далекой безлюдной границе, до которой мало кому есть дело.
Читать дальше →
Всего голосов 197: ↑190 и ↓7+183
Комментарии404

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность