Pull to refresh
46
0

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

Send message

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

Reading time4 min
Views16K

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

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

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

Серьезно
Total votes 20: ↑19 and ↓1+18
Comments41

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

Reading time11 min
Views13K
image1.png

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

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

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


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


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

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

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


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

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


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

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

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

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

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

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

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

Reading time4 min
Views5.4K


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

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

Reading time12 min
Views200K
Привет Хабр.

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

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


Читать дальше →
Total votes 37: ↑35 and ↓2+33
Comments27

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

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

Total votes 34: ↑31 and ↓3+28
Comments10

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

Reading time6 min
Views28K

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



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


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


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


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


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


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


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

Читать дальше →
Total votes 59: ↑49 and ↓10+39
Comments53

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

Reading time17 min
Views8.8K


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

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

Вторая часть отчета
Читать дальше →
Total votes 23: ↑23 and ↓0+23
Comments6

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

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

Information

Rating
Does not participate
Registered
Activity