Рубрика «никто не читает теги»

Правила работы с динамическими массивами и пользовательскими классами коллекций - 1

Правила работы с динамическими массивами и пользовательскими классами коллекций
Здесь представлены правила, которых я придерживаюсь при работе с динамическими массивами. По сути, это руководство по проектированию массивов, но я не захотел помещать его в руководство по проектированию объектов, потому что не в каждом объектно-ориентированном языке есть динамические массивы. Примеры написаны на PHP, потому что он похож на Java (с которым вы, возможно, уже знакомы), однако с динамическими массивами вместо встроенных классов коллекций и интерфейсов.
Читать полностью »

Стандарты проектирования баз данных - 1

Переходя от проекта к проекту, мы сталкиваемся, к сожалению, с отсутствием единообразных стандартов проектирования баз данных, несмотря на то, что SQL существует уже несколько десятилетий. Подозреваю, причина отчасти в том, что большинство разработчиков не понимают архитектуру БД. За годы моей работы по найму разработчиков, я лишь несколько раз встречал тех, кто мог корректно нормализовать базу данных. Честно говоря, это бывает сложной задачей, но многие разработчики, которых я собеседовал, даже прекрасно владеющие SQL, не имели навыков проектирования БД.

Эта статья не про нормализацию БД. Если хотите этому научиться, то здесь я вкратце рассказал основы.

Если у вас есть рабочая БД, то нужно ответить себе на вопрос: «какие стандарты можно применить для облегчения использования этой базы данных?». Если эти стандарты применялись широко, то вам будет легко пользоваться БД, потому что не придётся изучать и запоминать новые наборы стандартов каждый раз, начиная работу с новой БД.
Читать полностью »

Особенности профилирования программ на C++ - 1

Временами бывает нужно отпрофилировать производительность программы или потребление памяти в программе на C++. К сожалению, зачастую это сделать не так просто как может показаться.

Здесь будут рассмотрены особенности профилирования программ с использованием инструментов valgrind и google perftools. Материал получился не очень структурированным, это скорее попытка собрать базу знаний «для личных целей», чтобы в будущем не приходилось судорожно вспоминать, «а почему не работает то» или «а как сделать это». Скорее всего, здесь будут затронуты далеко не все неочевидные случаи, если вам есть что добавить, пишите пожалуйста в комментарии.

Все примеры будут запускаться в системе linux. Читать полностью »

Ванильный JavaScript и HTML. Никаких фреймворков. Никаких библиотек. Никаких проблем - 1

Используете для создания приложений Vue, React, Angular или Svelte? Я использую, и если вы тоже, и уверен, что вам уже давно не приходилось писать приложение, которое выводит информацию без этих прекрасных инструментов.

Когда-то многие из нас писали веб-приложения только с помощью тех средств, что были встроены в браузер. И хотя современные инструменты помогают нам абстрагироваться от этого (и имеют много других преимуществ), всё ещё полезно знать, что происходит у них под капотом.

При выводе небольшого количества информации вам может потребоваться использовать HTML, JavaScript и DOM без каких-либо инструментов. Недавно я написал несколько базовых примеров, которые иллюстрируют основы веб-разработки и помогают в изучении DOM, HTML, JavaScript и принципов работы браузера. Этот опыт позволил мне понять, что другие разработчики — возможно, вы, — будут рады вспомнить, как выводить информацию без использования библиотек.

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

Давайте рассмотрим разные способы вывода информации. И держите под рукой эту документацию!
Читать полностью »

Непричёсанные мысли по поводу формата сохранения: теория - 1

Начнём с вводных. Мы разрабатываем программу, которая будет сохранять свои данные в файл, и при этом…

  • будет расширяться, и существенно (отпадают уровни и сохранения большинства игр: после пары патчей бросаем игру и пишем новую);
  • тем не менее программа не рассчитывает на то, чтобы быть стандартом (отпадает LibreOffice). То есть по формату сохранения она должна быть совместима только с собой-старой и собой-новой;
  • все её данные надо держать одномоментно в памяти; СУБД типа SQLite не даёт каких-то преимуществ (отпадают базы переписки в почте или мессенджере);
  • но файл сохранения будет очень велик (отпадают программы фотопроявки вроде Lightroom, где документ — это всего лишь положения сотни-другой ползунков: мелочь по сравнению с 40-мегабайтным RAW);
  • нет нужды в ручной корректировке файлов (отпадает пользовательский интерфейс типа «файл конфигурации», присущий, например, серверу Apache).

Таких программ на самом деле немало. Это AutoCAD, Photoshop, Microsoft Office (будем честными: даже пытаясь протащить его через ISO, «мелкомягкие» рассчитывали, что он будет совместим в первую очередь с самим собой).

И для простоты добавим ещё одно требование, которое отбросит все три этих программы, но довольно реалистичное (ему отвечают Windows 10 и куча программ помельче).

  • программа разрабатывается по непрерывной схеме, так что нет денежных барьеров обновляться, а достаточно старые версии программы по факту неподдерживаемые.Читать полностью »

Хабра-анализ: когда лучше публиковать свой пост? - 1
Вы ведь заходите на Хабр больше одного раза в день? Не чтобы прочитать что-то полезное, а просто пролистать главную в поисках "чего бы добавить в список на прочитать позже"? Когда-то замечали, что посты, опубликованные посреди ночи, собирают меньше просмотров и рейтинга, чем дневные? А что скажете о публикациях, вишедших посреди выходных?

Когда я опубликовал предыдущий пост-анализ о зависимости показателей публикации от её длины, Exosphere в комментариях сказала, что "есть некоторая связь времени выхода и показателей публикации (но также корелляция слабая)". Вы ведь понимаете, что я не мог пройти мимо?

Итак, важно ли публиковаться на Хабре с 09:00 до 18:00? Или может только во вторники? А что скажете о дне после зарплаты? Период отпусков? Ну, вы поняли. Сегодня попробуем узнать временной рецепт лучшей публикации на свете.

Читать полностью »

Часть первая, теоретическая | Часть вторая, практическая


По мотивам твита от Evgeny Mandrikov aka godin:

В нём он задаётся вопросом, какое максимальное количество значений может быть определено в перечислении (enum) в Java. После ряда экспериментов и применения чёрной магии ConstantDynamic (JEP 309) автор вопроса приходит к числу 8191.

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

Читать полностью »

Хабра-анализ: важна ли длина публикации? - 1
Вы ведь знаете, что Хабр — это вам не одна популярная социальная площадка с ограничением на длину публикации в 280 символов? И хотя периодически появляются посты длиной в один абзац, они достаточно редко встречают одобрение от вас, Хабра-жители.

Сегодня мы узнаем, правда ли, что длинные публикации более популярны, а короткие — наоборот. Или снова наоборот? В общем, есть ли на Хабре дискриминация по длине статьи.

Итак, 5 самых популярных хабов из раздела "Разработка". Все профильные, у всех по более чем 100 000 подписчиков. Что же они могут нам рассказать? Приступим!

Читать полностью »

Хабра-детектив: они дружат с НЛО - 1
Вы ведь знаете, что НЛО заботится о вас? Ну, во всяком случае, об этом регулярно напоминают в публикациях редакторского отдела Хабра — новостях на околополитические, околоскандальные и другие околотемы.

Давайте выясним, как часто редакторы используют эту стандартную "заглушку" и для каких именно публикаций? А также выполним и другие пожелания из комментариев к предыдущему Хабра-детективу о редакторах.

Итак, когда же у вас, Хабра-пользователи, возникают "противоречивые чувства", которые вы не можете сдержать и высказываете в комментариях? А самое главное — что их вызывает? Начнём наше новое расследование!

Читать полностью »

Хабра-детектив на выходных 2. Новый уровень - 1
Вы ведь помните историю про студентов? Ту самую, где за перевод технической статьи, опубликованный на Хабре, ставили зачёт. Я ведь знаю, что помните. Сам недавно видел комментарий к очередному переводу из песочницы: "Зачёт-то поставили?".

Поскольку уже прошел целый месяц с того самого, первого Хабра-детектива, я решил узнать, что же случилось с этими "подозрительными пользователями" и сколько ещё таких пришло на Хабр и опубликовало статью / перевод. А самое главное — кто эти студенты и откуда.

Итак, новое расследование и пища для ваших размышлений об отсутствии анонимности. А также, приятный бонус — старая Хабра-теория заговора в новых красках. Пока Boomburum ещё не опубликовал очередную AMA и список нововведений, на Хабре меняется favicon, а обсуждать толком нечего, добро пожаловать!

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js