Search
Write a publication
Pull to refresh
0
Lidia Borisova @IamLAread⁠-⁠only

User

Send message

Так почему джуны все-таки не нужны?

Reading time7 min
Views102K

Для джуна поиск работы похож на полосу препятствий. Тот, кто успешно преодолел ров с крокодилами, катящиеся шары, лаву и дротики с ядом, получает приз — классную работу. 

Всем привет, это Макс Кравец. В 2021 году я написал серию статей о том, почему джуны никому не нужны и куда катится рынок зарплат разработчиков в IT. В них я посмотрел на вопросы со стороны нанимателя. Рассказал, почему джуны — это рисковая инвестиция. Дал общие советы, как новичку не застрять на начальном уровне, прокачать самостоятельно soft- и hard-скиллы и достигнуть желаемого роста в зарплате. Спустя полгода я решил дополнить эти материалы. 

Читать далее

Запись данных в формате JSON

Reading time6 min
Views244K

Запись данных в формате JSON


В одной из моих программ понадобилась запись данных в формате JSON. Вкратце — XML-подобный формат, вполне подходит на замену Windows INI-файлам или тому же XML. Удобен тем, что поддерживает массивы и вложенность собственных структур, но при этом не замусоривает файл данных своими тегами до полной нечитабельности человеком. Вот пример файла данных:
{
  "Comment":"My comment",
  "Count":10,
  "DiskParam":
  {
    "DB":10.000000,
    "DBAngle":1.234000
  },
  "Range":true,
  "Blades":
  [
    {
      "Caption":"A",
      "Value":65
    },
    {
      "Caption":"B",
      "Value":66
    },
    {
      "Caption":"C",
      "Value":67
    }
  ],
  "Slots":
  [
    0,1,2
  ]
}

Формат довольно простой, вполне можно работать с ним без всяких библиотек. Поэтому первоначально за запись отвечал примерно такой участок кода:
    fprintf(pOut, "{\n");
      fprintf(pOut, "  \"Comment\":\"%s\"", Header->Comment);
      fprintf(pOut, ",\n  \"NumSt\":%d", Header->NumSt);
      //Пропущено немного кода
      fprintf(pOut, ",\n  \"DBMax\":%lf", Header->DBMax);
      fprintf(pOut, ",\n  \"Range\":%s", Header->Range?"true":"false");
      
      fprintf(pOut, ",\n  \"Blades\":\n  [");
      for(int i=0; i<Header->Count; i++)
      {
        TElement &e=Element[i];
        fprintf(pOut, i?",\n    {":"\n    {");
          fprintf(pOut, "\"Caption\":\"%s\"", e.Caption);
          fprintf(pOut, ",\"Value\":%lf", e.BaseChar);
        fprintf(pOut, "}");
      }
      fprintf(pOut, "\n  ]");
      //Пропущено много кода
    fprintf(pOut, "\n}");

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

Решил я этот техпроцесс слегка механизировать и создать микробиблиотеку для работы с JSON.
Читать дальше →

Программа самоподготовки младшего системного аналитика

Reading time2 min
Views63K

Мы решили узнать, как работает старый тезис «в интернете всё есть и бесплатно, курите маны, глупцы».

И подготовили программу самоподготовки, собранную из лучших бесплатных или совсем недорогих материалов, которые мы знаем. Общая длительность программы для освоения — от 150 часов.

Читать далее

Как подружиться с межсистемной интеграцией?

Reading time12 min
Views37K

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

Читать далее

IT интервью. Чего ждать? Какие есть шаги? Как я провожу собеседования?

Reading time10 min
Views17K

В статье вы найдёте: как проходит интервьюкакие там вообще есть шаги и чего ждать от этого процесса, если вы с этим пока не сталкивались

Если же сталкивались, то вы сможете узнать, как мы в компании iTechArt, и в частности я, проводим интервью и сравнить со своим опытом.

Читать далее

Функциональная спецификация интерфейса: что это, зачем нужна, как её писать

Reading time15 min
Views21K

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

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

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

Надеюсь, это поможет вам в написании спецификаций для своих интерфейсов.

Читать далее

Обзор книги «Искусство объяснять: Как сделать так, чтобы вас понимали с полуслова», автор Ли ЛеФевер

Reading time7 min
Views21K

Чему учит эта книга: быть понятным

Чему она научила меня: вести коммуникацию так, чтобы после нее люди выходили уверенные и окрыленные

Что я хочу от материала: кратко объяснить основные идеи книги, которые помогают упаковать свои мысли в более понятную форму 

Читать далее

TDDx2, BDD, DDD, FDD, MDD и PDD, или все, что вы хотите узнать о Driven Development

Reading time13 min
Views142K

Просматривая статьи по проектированию ПО, я постоянно встречал тучу невиданных сокращений и вскользь упоминаемых практик разработки.



  • TDD — ну, это все знают, сначала пишем тесты, а потом остальной код.
  • BDD — что-то знакомое, вроде как, тоже тесты, но особенные.
  • TDD — снова? Так, стоп, тут речь уже не о тестах совсем. Но почему называется так же?
  • DDD — bound contexts, ubiquitous language, domain...
  • FDD — да сколько можно?
  • MDD — cерьезно, на основе диаграмм?
  • PDD — ...

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


Мы начнем знакомиться с ними от самых простых до довольно сложных, рассмотрим примеры использования и плюсы и минусы каждого из них.

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

Обзор книги «Грокаем алгоритмы», поймёт даже кот

Reading time6 min
Views48K

Всем доброго времени суток!

Публикую обзор книги "Грокаем алгоритмы". Автор: Адитья Бхаргава

Стоит читать? Да! Почему? Опишу в статье.

Алгоритмы - важны для программиста, а это лучшая книга для начала их изучения с нуля.

Читать далее

Нормализация отношений. Шесть нормальных форм

Reading time8 min
Views1.6M
В данной теме я затрону 6 нормальных форм и методы приведения таблиц в эти формы.

Процесс проектирования БД с использование метода НФ является итерационным и заключается в последовательном переводе отношения из 1НФ в НФ более высокого порядка по определенным правилам. Каждая следующая НФ ограничивается определенным типом функциональных зависимостей и устранением соответствующих аномалий при выполнении операций над отношениями БД, а также сохранении свойств предшествующих НФ.
Читать дальше →

Моделирование данных: обзор

Reading time5 min
Views132K

В работе мы с коллегами часто видим как компании сталкиваются с проблемой управления данными – когда таблиц и запросов становится сильно много и управлять всем этим очень сложно. В таких ситуациях мы рекомендуем моделировать данные. Чтобы разобраться, что это такое – я перевела статью-обзор про моделирование данных от Towards Data Science, в которой кроме основных терминов и понятий можно найти наглядный пример использования моделирования данных в ритейле. Вперед под кат!

Читать далее

Что такое RESTful на самом деле

Reading time8 min
Views240K
А ваше приложение — RESTful? Чтобы ответить на этот вопрос нужно сначала разобраться что такое RESTful. Бытует мнение, что отдавать правильные коды ответов в HTTP — это уже RESTful. Или делать правильные идемпотентные HTTP-запросы — это вообще очень RESTful. Мы в Хекслете сделали практический курс по протоколу HTTP (отличия версий, отправка форм, аутентификация, куки и пр.), и в нем мы стараемся рассказать о правильном использовании запросов, но нужно понимать, что RESTful это не про HTTP, это вообще не про протоколы интернета. Современный веб и взаимодействие между браузером и сервером с помощью HTTP и URI могут удовлетворять принципам RESTful, а могут и не удовлетворять.

В сегодняшнем переводе — простое и понятное описание RESTful, и какой должна быть система, чтобы ее можно было так называть.

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

Основы компьютерных сетей. Тема №6. Понятие VLAN, Trunk и протоколы VTP и DTP

Reading time20 min
Views808K

Всех с наступившим новым годом! Продолжаем разговор о сетях и сегодня затронем такую важную тему в мире коммутации, как VLAN. Посмотрим, что он из себя представляет и как с ним работать. А также разберем работающие с ним протоколы VTP и DTP.
Читать дальше →

Основы компьютерных сетей. Тема №4. Сетевые устройства и виды применяемых кабелей

Reading time26 min
Views318K


Приветствую всех! Добрались мы до 4-ой темы. Поговорим сегодня про различные сетевые устройства и применяемые кабели. Узнаем, чем отличается коммутатор от маршрутизатора, что такое концентратор и многое другое. Приглашаю заинтересовавшихся под кат.
Читать дальше →

Основы компьютерных сетей. Тема №2. Протоколы верхнего уровня

Reading time29 min
Views652K
И снова всем привет! Сегодня речь пойдет о протоколах верхнего уровня. Разберем, как они работают, из чего состоят и где применяются теоретически и на практике.


Приятного чтения

Основы компьютерных сетей. Тема №1. Основные сетевые термины и сетевые модели

Reading time14 min
Views1.5M
Всем привет. На днях возникла идея написать статьи про основы компьютерных сетей, разобрать работу самых важных протоколов и как строятся сети простым языком. Заинтересовавшихся приглашаю под кат.


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

5 шагов для создания надежного подхода к элиситации

Reading time6 min
Views2.6K

Для бизнес-аналитика выявление потребностей (элиситация) — одна из самых интересных и творческих частей проекта. Но если она не будет выполнена правильно, это может аукнуться впоследствии.

Читать далее

[Карьера в IT] Софт-скилы: типовые вопросы, которые ждут на интервью, и шаблоны ответов для IT-инженеров

Reading time6 min
Views62K

В прошлой статье нашей серии «Карьера в IT» мы обсуждали собеседования в крупные компании. В них (да и в некоторых стартапах) вас обязательно будут тестировать на софт-скилы. Разберем, что под ними обычно имеют в виду, посмотрим на типовые вопросы и на примерах покажем, как грамотно пройти тестирование на софт-скилы, чтобы не потерять должность мечты.

Читать далее

Как сделать удобную дизайн-систему. Цвета. Часть 1

Reading time3 min
Views11K

Дизайн-система позволяет быстро взаимодействовать с компонентами, легко вносить изменения во все макеты и в целом прививает дизайнеру навык организации больших объемов информации.

Зачастую, дизайнер начинает делать дизайн-систему аккуратно, придавая ей должное внимание. Но в по мере увеличения экранов становится, как мне кажется, морально труднее вносить новые компоненты и корректировки. Но помните одну вещь - чем больше времени уделить дизайн-системе, тем больше времени она сэкономит в будущем.

Основное правило дизайн-систем: чем меньше компонентов — тем лучше и вам, разработчику и конечному юзеру. Это касается количества цветов, шрифтов, иконок и так далее. Дизайн будет выглядеть более консистентным и единым.

Читать далее

Information

Rating
Does not participate
Location
Тверская обл., Россия
Date of birth
Registered
Activity

Specialization

Systems Analyst
BPMN
UML
System analysis
Software Software
ER diagram
Design information systems
Analytics of requirements