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

Откуда берутся NaNы?

Время на прочтение 3 мин
Количество просмотров 3.7K
C++ *
Пользователь yruslan опубликовал хорошую статью про арифметику с плавающей запятой: «Что нужно знать про арифметику с плавающей запятой».

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

Возможно, я сейчас буду рассказывать прописные истины, но вызывает удивление частота, с которой люди забывают, что числа которые описывает стандарт IEEE754 это не то же самое, что вещественные числа.
Читать дальше →
Всего голосов 79: ↑77 и ↓2 +75
Комментарии 22

Почему бакалавриат в России готовит ИТ-недоучек? Советы первокурсникам

Время на прочтение 5 мин
Количество просмотров 95K
Учебный процесс в IT
Поздравляю всех поступивших в ВУЗ!

Хочу поделиться некоторыми мыслями по поводу ИТ-образования в России. Шо, опять?!

В настоящее время Россия переходит на систему бакалавр+магистр. Переходит с большим скрипом.

Чему учат

Что же за зверь такой «бакалавр»?
Откроем новый образовательный стандарт (для примера специальность 230200 «Информационные системы и технологии»).
Бакалавра учат 4 года, из них:
13% Гуманитарный, социальный и экономический цикл
27% Математический и естественнонаучный цикл
1% Физ-ра
3% Практика, НИР
6% Аттестация, диплом
Собственно на предметы по специальности остается ровно 50%. В предыдущем стандарте было 45%.
В эти 50% еще входят такие далекие от компьютеров предметы, как метрология и БЖД.

Читать дальше
Всего голосов 196: ↑152 и ↓44 +108
Комментарии 268

Американцам нужен только iPad

Время на прочтение 1 мин
Количество просмотров 933
Планшеты
Перевод
Согласно отчету, опубликованному 17 августа, 95% владельцев планшетных компьютеров и тех, кто хотят его приобрести, мечтают об Apple iPad.



Читать дальше →
Всего голосов 52: ↑36 и ↓16 +20
Комментарии 113

Groupon. Show me the money или как знание цифр может помочь бизнесу

Время на прочтение 6 мин
Количество просмотров 1.7K
Управление продажами *
Из песочницы
На Хабре было уже множество статей по поводу Групона, в большинстве своем в отрицательных тонах. Читая их можно сделать вывод, что Групон типичное кидалово, когда клиент получает непонятно что, непонятно за какие деньги, непонятно с каким выхлопом. Но если немного изменить ракурс, все становится чуть-чуть не так, или даже совсем не так. О правильном использовании Групона и не только под катом.
Читать дальше →
Всего голосов 88: ↑69 и ↓19 +50
Комментарии 56

5 основных анти-паттернов системного администрирования

Время на прочтение 4 мин
Количество просмотров 46K
Системное администрирование *Puppet *
Из песочницы

Введение


Эта статья – скорее из разряда «для самых маленьких», чем «для умудренных опытом», но она призвана повышать профессиональную культуру системных администраторов.
В силу специфики работы мне «по наследству» достается самый разнообразный облачный ад, который приходится разгребать, оптимизировать, приводить в чувство и делать прозрачным и красивым. Эти заметки, пожалуй, иллюстрация к тем моментам, которые вообще недопустимы в системном администрировании.
В причинах, которыми порождаются эти анти-паттерны, можно разбираться очень долго: дедлайны, законы и темпы бизнеса, да и просто идиотизм, наконец. Но цель статьи другая. Мне бы хотелось породить конструктивную дискуссию. А вот уже её результаты и являются основной целью статьи.
Читать дальше →
Всего голосов 81: ↑71 и ↓10 +61
Комментарии 59

Введение во фреймворки (Часть 1)

Время на прочтение 5 мин
Количество просмотров 22K
Тестирование IT-систем *
Перевод
Автоматизированное тестирование
Автоматизированное тестирование (АТ) наиболее эффективно, когда реализовано с помощью фреймворка. Несмотря на то, что в АТ термин фреймворк зачастую используется для описания совокупности объектов, которая формирует инструмент модульного тестированиия, эта статья будет в основном сфокусирована на фреймворках другого рода. Мы обсудим типы фреймворков, которые могут быть определены как совокупность абстрактных понятий, процессов, процедур и сред, с помощью которой автоматические тесты проектируются, создаются и реализуется. Кроме того, это определение фреймворка включает в себя физические объекты, используемые для создания тестов и их реализации, а также для организации логического взаимодействия между компонентами.
Автоматизированное тестирование (и, следовательно, фреймворки) развивалось годами, формируясь и усложняясь с каждой новой фазой эволюции. Эти фазы могут быть описаны в терминах трех поколений, каждое из которых обладает набором недостатков и преимуществ, благодаря которым каждое из них остается актуальным, несмотря на новые разработки. Представленные ниже понятия обычно используются для автоматизации функционального тестирования, но в некоторых случаях их можно применить и для решения задач модульного тестирования.
Читать дальше →
Всего голосов 17: ↑10 и ↓7 +3
Комментарии 0

Введение во фреймворки (Часть 2)

Время на прочтение 6 мин
Количество просмотров 12K
Тестирование IT-систем *
Перевод
Тестирование
Часть 1

Второе поколение фреймворков

Это поколение является промежуточным уровнем фреймворков автоматизированного тестирования, среди них могут быть и достаточно простые фреймворки, а могут быть и достаточно хорошо спроектированные. Подобные фреймворки должны рассматриваться в случае, когда поддержка автотестов является важным фактором. Хорошее понимание этого поколения фреймворков является важным, так как на концепциях фреймворков этого уровня основываются фреймворки третьего поколения.
К фреймворкам второго поколения относятся фреймворки ориентированные на данных и фреймворки использующие функциональную декомпозицию. Большинство фреймворков этого уровня являются гибридами и используют оба подхода, но так как возможно использование только одного из них, то эти подходы будут рассмотрены независимо друг от друга.
Читать дальше →
Всего голосов 8: ↑4 и ↓4 0
Комментарии 3

Три правила хорошего программирования

Время на прочтение 4 мин
Количество просмотров 59K
Разработка веб-сайтов *
Из песочницы
В последнее время я видел мало действительно хорошего кода, много посредственного и очень много — плохого. (Много того, что я писал раньше — особенно, когда я только начинал — относится к последним, увы.) Читая случайные статьи в интернете и профессиональные книги, я пришел к выводу, что писать хороший код — легко. Невероятно трудно, но в то же время легко. На самом деле, это настолько просто, что сводится к трем правилам.
Читать дальше →
Всего голосов 70: ↑55 и ↓15 +40
Комментарии 20

Product management: от неплохой идеи к уместной фиче

Время на прочтение 4 мин
Количество просмотров 26K
Управление проектами *
Product manager – позиция неоднозначная. На постсоветском пространстве еще не сложилось полноценной культуры управления продуктом, хотя продуктовых компаний уже в общем-то немало. «Продактами» становятся бывшие бизнес-аналитики, проектные менеджеры, маркетологи и другие специалисты, каждый из которых по-своему подходит к своим новым задачам. Я хотел бы поделиться несколькими тезисами о работе с новыми фичами продукта, которые кажутся важными с моей колокольни.

image
Это тоже в своем роде управление продуктами, но речь пойдет о другом.

Disclaimer:

Едва ли хоть что-то из сказанного ниже может являться универсальным советом. Я в основном занимаюсь сервисами, с которыми практически не сталкивается пользователь, что накладывает своеобразный отпечаток на работу и те правила, которыми я руководствуюсь.
Читать дальше →
Всего голосов 18: ↑15 и ↓3 +12
Комментарии 7

Локальный интернет?

Время на прочтение 1 мин
Количество просмотров 5.5K
Информационная безопасность *IT-стандарты *
Recovery mode
Несмотря на всю «желтизну».
Надёжность – это правильно, но люди, не делайте Интернет «нашим» или «вашим».

Сделайте его лучше действительно общим, чтобы никто не смог его контролировать при всём желании – ни Штаты, ни Россия, ни кто-то ещё.
Как – это вопрос к спецам.

www.interfax.ru/russia/397541
russian.rt.com/article/50608
Всего голосов 47: ↑14 и ↓33 -19
Комментарии 19

Какая-такая Data? Или ещё раз про MapReduce

Время на прочтение 10 мин
Количество просмотров 19K
Блог компании InterSystems C++ *Алгоритмы *
Big Fish Small Fry by John Pollack Если Вы последние 10 лет провели на удаленном острове, без интернета и в отрыве от цивилизации, то специально для Вас мы попытаемся еще раз рассказать про концепцию MapReduce. Введение будет небольшим, в объеме достаточном, для реализации концепции MapReduce в среде InterSystems Caché. Если же Вы не сильно далеко удалялись последние 10 лет, то сразу переходите ко 2ой части, где мы создаем основы инфраструктуры.


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

Киллер фича Vim

Время на прочтение 4 мин
Количество просмотров 47K
Программирование *VIM *

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


Гуглим, выясняется, что для превращения вима в нормальный редактор нужно нажать i. Только сохранить поредактированный текст нельзя, перед этим надо несколько раз нажать эскейп, а потом набрать :w. А, чтобы его закрыть, нужно нажать эскейп, а потом набрать :q. Тяжёлое наследие прошлого. Ну, зато вим есть везде.


Но в какой-нибудь из статей, рассказывающей, как провести 5 минут в виме и остаться в живых, обязательно будет написано, что вим — лучший текстовый редактор в мире. И ещё выяснится, что люди в нём программируют. То есть, натурально, пишут код. То есть, на дворе 21 век, в любой момент можно скачать Visual Studio, Intellij Idea или, прости господи, Eclipse, а они пишут код в виме. Добровольно.


Читать дальше →
Всего голосов 123: ↑82 и ↓41 +41
Комментарии 622