Пользуетесь ли вы структурами данных и алгоритмами в повседневной работе? Я обратил внимание на то, что всё больше и больше людей считает алгоритмы чем-то таким, чем, без особой связи с реальностью, технические компании, лишь по собственной прихоти, интересуются на собеседованиях. Многие жалуются на то, что задачи на алгоритмы — это нечто из области теории, имеющей слабое отношение к настоящей работе. Такой взгляд на вещи, определённо, распространился после того, как Макс Хауэлл, автор Homebrew, опубликовал твит о том, что произошло с ним на собеседовании в Google:
Просмотров:
393
|
Добавил:
niko
|
Дата:
29.08.2020
|
Как это часто бывает, архитектору БД нужно разработать базу данных под конкретное решение.
Однажды в пятницу вечером, возвращаясь на электричке домой с работы, я подумал о том, как бы я создал сервис по найму сотрудников в разные компании. Ведь ни один из существующих сервисов не позволяет быстро понять насколько подходит тебе кандидат. Нет возможности создать сложные фильтры, включающие или исключающие совокупность определенных навыков, проектов или позиций. Максимум, что обычно предлагают сервисы — фильтры по компаниям и частично по навыкам.
В данной статье я позволю себе немного разбавить строгое изложение материала, смешав техническую информацию с не техническими примерами из жизни.
Для начала, разберем создание базы данных в MS SQL Server для сервиса пои
...
Читать дальше »
Просмотров:
413
|
Добавил:
niko
|
Дата:
29.08.2020
|
Рассказываем, как работать с IP-адресами классического протокола IPv4 в теории и на практике – в коде Python. Показываем, как проверить связь между группой IP-адресов и их соответствие подсетям и диапазонам частных IP-адресов.
Просмотров:
398
|
Добавил:
niko
|
Дата:
29.08.2020
|
Логическая – это такая разновидность функции, которая может возвращать одно из возможных значений – истинное, если содержатся внутри ячейки значения, подпадающее под определенный критерий и ложное, если этого не происходит. Используются логические функции с целью программирования электронных таблиц с целью добиться разгрузки себя от часто повторяющихся действий.
Кроме этого, логические функции могут применять с целью проверить, в какой мере содержимое ячейки соответствует определенному критерию. Также могут проверяться и другие логические значения.
Просмотров:
475
|
Добавил:
niko
|
Дата:
29.08.2020
|
Привет, Хабр!
Перейдем сразу к делу, но небольшая предыистория все таки нужна: полтора года назад возникла необходимость реализовать простую стейт — машину (конечный автомат), владея теорией с университета, я был уверен в тривиальности данной задачи (все мы оптимисты).
Просмотров:
405
|
Добавил:
niko
|
Дата:
29.08.2020
|
Продолжаем серию статей об объектно-ориентированном программировании. Кажется я в одной из своих статей написал, что обективно-ориентированный подход эффективен для достаточно больших программ. Что касается наследования, то некоторые авторы вообще считают, что это вред. Но с другой стороны, используя библиотеки классов мы как раз и используем наследование. Надо только понимать, что слишком большое дерево классов в вашей программе может вместо облегчения принести вам дополнительную головную боль.
Сегодня разберем такой вопрос как
...
Читать дальше »
Просмотров:
405
|
Добавил:
niko
|
Дата:
29.08.2020
|
Хэй! Знаком ли тебе IP - адрес 172.217.7.206? Наверняка нет. И нам нет. А это один из IP - адресов, на который обращается твой браузер, при вводе youtube.ru в адресной строке. И да, нам определенно не нужно знать наизусть эту информацию, ведь у нас есть DNS - Domain Name System. О нем и поговорим.
Просмотров:
383
|
Добавил:
niko
|
Дата:
29.08.2020
|
Всем привет! Сегодня мы напишем загрузчик, который будет выводить «Hello World» и запустим его на VirtualBox. Писать будем на ассемблере FASM. Скачать его можно отсюда. Также нам понадобится собственно VirtualBox и UltraISO. Перед тем как писать код, разберемся как загружаются операционные системы.
Итак, когда мы нажимаем большую кнопку включения на нашем компьютере запускается система, которая есть на любом компьютере — BIOS (Basic Input/Output System или базовая система ввода/вывода). Задача BIOS это:
- Обнаружить все подключенные устройства и проверить их на работоспособность. За это от
...
Читать дальше »
Просмотров:
445
|
Добавил:
niko
|
Дата:
29.08.2020
|
Решил написать статью об указателях на методы классов. Недавно мне пришлось столкнуться с тем, как они работают изнутри, когда писал некоторые вещи ориентированные под компилятор. Эти указатели работают не совсем как обычные указатели, не имеют возможности быть приведенными в void, и часто имеют размер больше 8 байт. Информации на эту тему в интернете я нашел относительно немного, потому решил разобраться сам.
Особенно пугают такие страшилки, которые мало что объясняют о том как происходит на самом деле и почему, а лишь пытаются приучить программиста слепо следовать требованиям.
Давайте разберемся что и почему происходит.
Все манипуляции будут произведены для архитектуры x86-64.
Просмотров:
393
|
Добавил:
niko
|
Дата:
29.08.2020
|
Текущее состояние в области программирования — это обучение ремеслу по большей части личной практикой или разборами примеров стороннего кода, с которым по каким-то причинам приходится сталкиваться.
В результате программированию учишься по наитию. Лишь немного в этом труде помогают сборники алгоритмов, прикладных техник и шаблонов проектирования. Общая совокупность предлагаемых ими рецептов выстраивается длинным списком, и его длина грозит каждому из прочитанных приемов быть позабытым (как была забыта 53-яя личная группа в "телеге" до введения разбиения по каталогам). Но даже тот прием, который остался в памяти, чаще всего просто является описанием прикладной задачи, в которой было успешно его использование.
Почему конкретный прием был успешен
...
Читать дальше »
Просмотров:
376
|
Добавил:
niko
|
Дата:
29.08.2020
|
Парадокс в том, что даже многие опытные пользователи Excel оставляют её без внимания. Но я считаю, что к ней нужно обращаться, как минимум, дважды: в самом начале изучения Excel (чтобы значительно облегчить себе этот путь) и в момент, когда пользователь начинает считать себя опытным (чтобы раз и навсегда закрепить этот материал).
Что мы считаем ошибкой в Excel? Это ситуация, когда прописанная формула вместо результата выдает нечто неприятное из списка ниже:
Просмотров:
455
|
Добавил:
niko
|
Дата:
29.08.2020
|
У каждого компьютера есть ОЗУ, встроенное в процессор или находящееся на отдельной подключенной к системе плате — вычислительные устройства просто не смогли бы работать без оперативной памяти. ОЗУ — потрясающий образец прецизионного проектирования, однако несмотря на тонкость процессов изготовления, память ежегодно производится в огромных объёмах. В ней миллиарды транзисторов, но она потребляет только считанные ватты мощности. Учитывая большую важность памяти, стоит написать толковый анализ её анатомии.
Итак, давайте приготовимся к вскрытию, выкатим носилки и отправимся в анатомический театр. Настало время изучить все подробности каждой ячейки, из которых состоит современная память, и узнать, как она работает.
Просмотров:
447
|
Добавил:
niko
|
Дата:
29.08.2020
|
Процессор состоит из миллиардов транзисторов сопоставимых по размеру с молекулой ДНК. Действительно размер молекулы ДНК составляет 10 нм. И это не какая-то фантастика! Каждый день процессоры помогают нам решать повседневные задачи. Но вы когда-нибудь задумывались, как они это делают? И как вообще люди заставили кусок кремния производить за них вычисления?
Просмотров:
420
|
Добавил:
niko
|
Дата:
29.08.2020
|
Сегодня попробуем вникнуть в изречение Кронекера: "Натуральные числа создал Господь, а остальное --- дело человека".
С натуральными числами мы знакомимся с раннего детства. Это числа, выражающие количества: один, два, три, сорок два. Если строго, то они строятся на базе пустого множества: пустое множество это нуль, множество, содержащее только пустое --- единица, ну и далее: множество, изображающее число n+1, содержит все множества, от нуля до n.
В некоторых теориях натуральные числа с
...
Читать дальше »
Просмотров:
413
|
Добавил:
niko
|
Дата:
29.08.2020
|
Просмотров:
412
|
Добавил:
niko
|
Дата:
29.08.2020
| |