Как стать автором
Поиск
Написать публикацию
Обновить
14
0

Software Developer

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

Нормализация отношений. Первая и вторая нормальные формы

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

Предисловие


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

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

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

Быстрое создание временного проекта

Время на прочтение1 мин
Количество просмотров1.7K
Частенько в процессе работы бывает нужно проверить какую-нибудь идею, фичу какой-то библиотеки, быстренько набросать прототип класса и т.д. Дабы не ломать рабочий проект, программист создаёт новый временный и имеет при этом два неудобства:

  1. Диалог создания проекта обязывает дать ему название и указать папку для сохранения
  2. По окончанию работы нужно не забыть удалить не нужный более проект

Всё это кажется лишним и отвлекает от нахлынувшего творческого настроения. Оказывается, в Visual Studio есть финт ушами для таких лентяев, как мы.
Читать дальше →

Что может Ctrl в Visual Studio

Время на прочтение2 мин
Количество просмотров234K
Одна простая клавиша Ctrl может значительно упростить работу в Visual Studio. Помимо типичных комбинаций, которые нам очень хорошо знакомы, существует также и большое количество других, менее известных, но от этого и более ценных.

Далее список того, что можно делать с клавишей Ctrl.

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

Скромное руководство по прохождению интервью: часть 2

Время на прочтение5 мин
Количество просмотров20K
Во второй части поста будут рассматриваться “Алгоритмы и концепции”, если вы не читали предыдущий пост или хотите “вспомнить” список тем, то загляните сюда.

Алгоритмы и концепции

Сортировка и поиск

Понимание/знание известных алгоритмов сортировки очень важно, поскольку многие решения связанные с сортировкой или поиском, мягко говоря, требуют владения этими алгоритмами. Хороший способ показать свои знания перед интервьюером, когда дана здача на сортировку – это «пробежать» по известным алгоритмам и увидеть/выяснить какой из них лучше всего подходит для решения данной задачи. Вы получите и решение и то, что интервьюер будет довольным вашими «разными» способов решения одной и той же задачи.
Читать дальше →

Скромное руководство по прохождению интервью: часть 1

Время на прочтение5 мин
Количество просмотров30K
Пост подготовлен с целью помочь программистам при подготовке к собеседованиям по программированию. Здесь рассматриваются все основные темы, которые, как минимум, желательно знать перед собеседованием. Использован собственный опыт, опыт и рассказы коллег, специализированная литература.
Некоторые рассмотренные здесь темы могут вообще не пригодиться некоторым программистам, а могут и быть обязательными, решать вам. Мой совет – старайтесь как можно больше изучать темы/разделы/аспекты указанные здесь.
И так, в качестве обязательных знаний:
  • Структуры данных
  • Алгоритмы и «концепции»
  • Язык программирования

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

Исправляем ACPI на Samsung N250

Время на прочтение8 мин
Количество просмотров16K
В этой статье я хотел бы описать типичные ошибки проектирования, найденные в BIOS современного нетбука, и методы их обнаружения, изучения и исправления.
Читать дальше →

Что нужно знать про арифметику с плавающей запятой

Время на прочтение14 мин
Количество просмотров1M


В далекие времена, для IT-индустрии это 70-е годы прошлого века, ученые-математики (так раньше назывались программисты) сражались как Дон-Кихоты в неравном бою с компьютерами, которые тогда были размером с маленькие ветряные мельницы. Задачи ставились серьезные: поиск вражеских подлодок в океане по снимкам с орбиты, расчет баллистики ракет дальнего действия, и прочее. Для их решения компьютер должен оперировать действительными числами, которых, как известно, континуум, тогда как память конечна. Поэтому приходится отображать этот континуум на конечное множество нулей и единиц. В поисках компромисса между скоростью, размером и точностью представления ученые предложили числа с плавающей запятой (или плавающей точкой, если по-буржуйски).

Арифметика с плавающей запятой почему-то считается экзотической областью компьютерных наук, учитывая, что соответствующие типы данных присутствуют в каждом языке программирования. Я сам, если честно, никогда не придавал особого значения компьютерной арифметике, пока решая одну и ту же задачу на CPU и GPU получил разный результат. Оказалось, что в потайных углах этой области скрываются очень любопытные и странные явления: некоммутативность и неассоциативность арифметических операций, ноль со знаком, разность неравных чисел дает ноль, и прочее. Корни этого айсберга уходят глубоко в математику, а я под катом постараюсь обрисовать лишь то, что лежит на поверхности.
Читать дальше →

Настройка и оптимизация Ubuntu после установки

Время на прочтение7 мин
Количество просмотров345K
В данной статье я постараюсь ответить на вопросы, которые, я думаю, возникают у каждого пользователя, впервые установившего себе GNU/Linux. Я и сам пользуюсь данными ОС только пару лет, и у меня самого возникали подобные вопросы, поэтому, думаю, что смогу немного помочь новичкам разобраться с данными системами. На первый взгляд все кажется сложным и непонятным, я же постараюсь убедить Вас, что это не так. В качестве ОС Linux для начинающих я выбрал Ubuntu, и думаю, что не ошибся, так как этот дистрибутив действительно дружественен к пользователю: его очень легко установить, он имеет удобный графический интерфейс (вне зависимости, будь то Gnome, KDE или Unity), наиболее полная локализация и конечно же Центр приложений, устанавливать софт из которого — дело нажатия одной клавиши мыши. Но после установки системы в ней имеются ряд ненужных на мой взгляд программ и настроек, которые неплохо было бы изменить и дополнить чем то более удобным и функциональным. Этим мы и займемся в этой статье. Какие действия выполнять, а какие — нет это личный выбор каждого пользователя, возможно, Вам пригодится только пара из ниже перечисленных команд, а может быть Вы настроите свой Ubuntu GNU/Linux в точности, как изложено в статье.
Читать дальше →

Вышел KDE 4.7 для Windows

Время на прочтение1 мин
Количество просмотров30K
И вы знаете, беглый осмотр показал, что оно теперь вполне сносно работает. То есть оно вообще работает — в предыдущих версиях без плясок не запускался даже kate, не говоря уж об amarok. Прогресс налицо.

Основные изменения:

  1. 64-битная версия.
  2. Дебаг-пакеты, призванные улучшить качество сообщений об ошибках.
  3. И, естественно, новшества из KDE SC 4.7.
Скрины под катом

Программирование в облаке: Небольшой обзор Онлайн-IDE

Время на прочтение6 мин
Количество просмотров53K
Похоже, что всё сегодня переходит в «облака», которые являются туманным термин для определения программных приложений и хранилищ данных, размещенных на удаленных серверах где-то далеко по всему Интернету. Так что, если всё наше ПО переходит на облака, то почему бы не перейти инструментам, используемым для создания этого ПО? Ну, а некоторые инструменты, есть там прямо сейчас. Черт, даже GitHub недавно добавил базовые возможности редактирования. В этой статье мы рассмотрим некоторые многообещающие Онлайн-IDE.
Читать дальше →

Релиз Qt Creator 2.3.0

Время на прочтение1 мин
Количество просмотров1.5K
image
Мы рады сообщить сегодня о выпуске нового релизе Qt Creator 2.3.0. Релиз включает множество как мелких, так и крупных улучшений для разработчиков. Так как вы, возможно, не следили за пререлизами, повторю некоторые из наиболее важных изменений:
Читать дальше →

20 бесплатных дополнений для Visual Studio

Время на прочтение4 мин
Количество просмотров39K
Для Visual Studio 2010 создано уже около 900 дополнений. Многие из них позволяют облегчить решение рутинных задач, добавить удобства. Ниже представлено двадцать популярных дополнений, которые вы возможно найдете полезными для вашей работы.
Читать дальше →

Пишем вирус на c#

Время на прочтение5 мин
Количество просмотров124K
Доброго времени суток читатели Хабра!
В этой статье я хотел бы поделиться опытом написания вредоносной программы на языке C# в Visual Studio. Для подтверждения своих слов я выложу пример полученного ПО для проверки.
Цели:

  • Написать вредоносную программу, которую не увидят антивирусы
  • Использовать только средства языка C#

Нам понадобится:

  1. Visual Studio 2005-2010 (я использовал 2010 Ultimate)
  2. Знания и опыт работы на языке c#
  3. Компьютер для опытов

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

Читаем QR код

Время на прочтение5 мин
Количество просмотров1.1M
Иногда возникают такие ситуации, когда нужно прочитать QR код, а смартфона под рукой нет. Что же делать? В голову приходит лишь попробовать прочитать вручную. Если кто-нибудь сталкивался с такими ситуациями или кому просто интересно как же читается QR код машинами, то данная статья поможет вам разобраться в этой проблеме.

В статье рассмотрены базовые особенности QR кодов и методика дешифрирования информации без использования вычислительных машин.

Иллюстраций: 14, символов: 8 510.
Читать дальше →

История одной компьютерной войны

Время на прочтение4 мин
Количество просмотров53K
Данная заметка — сокращенный пересказ почти 10-летнего эпоса о находчивости и предательстве, изобретательности и хитрости, происходящих от человеческой лени. Началось все с того, что на неком айтишном факультете некого университета запустили для контроля знаний учащихся по одному из семестровых курсов систему дистанционного обучения. Дальнейшая борьба представляла из собой пошаговую стратегию с фазами в семестр, причем со стороны студентов каждый раз были новые люди со свежими идеями.

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

Паттерны проектирования для iOS разработчиков. Observer, часть I

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

Вместо предисловия


Прошло уже 17 лет с тех пор, как вышла легендарная книга Банды Четырех, посвященная Паттернам проектирования (Design patterns). Несмотря на столь солидный срок, тяжело оспорить актуальность описанных в ней методик. Паттерны проектирования живут и развиваются. Их применяют, обсуждают, ругают и хвалят. К сожалению, для многих они до сих пор остаются излишней абстракцией.

Обсуждая разные вопросы программирования с коллегами как в жизни, так и на различных ресурсах, довольно часто приходится объяснять важность того или иного паттерна. Так и родилась идея на конкретных примерах показать, насколько их использование может облегчить жизнь программиста. Даже если речь идет о такой платформе, как iOS.
О том, как Света вышла замуж и чем девушки похожи на футболистов

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

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

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

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

Чему учат

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

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

Visual C# for beginners. Лекция 6. Функции

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

Всем привет!


Прошу простить за столько долгое отсутствие лекций видео-курса. Было несколько причин, по которым не было возможности записать, но теперь, думаю, что дальше видео буду записывать более-менее стабильно.

А теперь по теме


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

Visual C# for beginners. Лекция 5. Преобразование типов. Перечисления, структуры, массивы

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

Всем привет!


Наконец-таки, записал пятую лекцию Visual C# for beginners.
Читать дальше →

Visual C# for beginners. Лекция 4. Условия и циклы

Время на прочтение5 мин
Количество просмотров3.3K
Доброго времени суток, хабражители!
Для желающих начать программировать на языке C# выкладываю четвертую лекцию на тему: «Условия и циклы». Лекция получилась очень большая (на целый час), поэтому, кто готов смотреть так долго я желаю терпения и большого желания не останавливаться на достигнутом.
Читать дальше →

Информация

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