Search
Write a publication
Pull to refresh
14
0

Software Developer

Send message

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

Reading time6 min
Views171K

Предисловие


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

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

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

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

Reading time1 min
Views1.7K
Частенько в процессе работы бывает нужно проверить какую-нибудь идею, фичу какой-то библиотеки, быстренько набросать прототип класса и т.д. Дабы не ломать рабочий проект, программист создаёт новый временный и имеет при этом два неудобства:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Reading time14 min
Views1M


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

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

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

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

Вышел KDE 4.7 для Windows

Reading time1 min
Views30K
И вы знаете, беглый осмотр показал, что оно теперь вполне сносно работает. То есть оно вообще работает — в предыдущих версиях без плясок не запускался даже kate, не говоря уж об amarok. Прогресс налицо.

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

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

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

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

Релиз Qt Creator 2.3.0

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

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

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

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

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

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

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

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

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

Читаем QR код

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

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

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

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

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

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

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

Reading time8 min
Views22K

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


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

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

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

Reading time5 min
Views98K
Поздравляю всех поступивших в ВУЗ!

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

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

Чему учат

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

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

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

Reading time9 min
Views5.2K

Всем привет!


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

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


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

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

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

Information

Rating
Does not participate
Location
Россия
Registered
Activity