Рубрика «Программирование» - 640

Правила плохого и хорошего тона в программировании — мнения экспертов - 1

Пока спрос на программистов в ИТ-индустрии и за ее пределами достаточно высокий. Но в любой отрасли «хороший» специалист ценится всегда, вне зависимости от ее популярности. Возникает вопрос, как стать таким специалистом? Какие критерии профессионализма высокого уровня можно выделить? Ответы на эти вопросы во многом зависят от конкретных работодателей.

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

Для слабых разработчиков работа в изоляции может стать непреодолимым препятствиемЧитать полностью »

Разработка прикладных приложений для KolibriOS. Обзор вариантов - 1

Опустим вопрос, зачем это нужно. Это одна из немногих компактных операционных систем open source с поддержкой русского языка, которые шагнули дальше концептуальной версии.

Что нужно для начала разработки для Колибри ОС (КОС)?

Источниками информации для вас будут (начало тут):

  • Форум, чтобы знать в каком направлении двигаться;
  • Вики, хотя к сожалению достаточно фрагментирована, но даст необходимый минимум обзорной информации;
  • Исходные тексты программ в хранилище Subversion (SVN);
  • Справочник по системным функциям на русском и английском языке SVN:/kernel/trunk/docs/sysfunc*.txt, или на Вики;

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

image

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

Насколько сложно построить полноценный сервис email-маркетинга? Что для этого нужно предусмотреть? Какие подводные камни могут встретиться на пути пытливых умов разработчиков?

Что нам стоит сервис email-маркетинга построить? Взгляд изнутри, часть первая - 1

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

Сразу оговорюсь, что в статье рассмотрена только техническая сторона вопроса.
Читать полностью »

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

Предыстория и проблематика

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

Получилось похоже на MS Visio с определенной степенью кастомизации и плагинизации. Никаких технических сложностей здесь нету, однако есть ряд особенностей.

Во-первых, сцен несколько. А значит и оконных редакторов нужно несколько, каждый из которых работает по своим правилам.

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

В-третьих, когда я сделал все, что хотел, и показал результаты другу (который даже не программист), то он потыкал и сказал, что неплохо бы сделать Ctrl+Z. Я загорелся идеей, но вот реализовать это оказалось не такой тривиальной задачей. В этой статье я опишу, к чему пришел в итоге.

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

Много дней назад я решил записать некоторые наблюдения, сформировавшиеся пока, в последние годы, я занимался тестированием. Рассматривая области, которые получают наибольшую отдачу от тестирования я понял, что у меня накопилось много конкретных мыслей о том, как мы — программисты — склонны небрежно обращаться с понятием «время» в программировании.

Тогда я написал пост «Заблуждения программистов относительно „времени“», в котором указал 34 ошибочных представления и заблуждения, относящихся как к календарному, так и к системному времени. С большинством из них я столкнулся сам, занимаясь дебаггингом программ (как рабочих, так и тестовых).

Заблуждения большинства программистов относительно «времени» - 1

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

Новости онлайн-курсов Mail.Ru Group на Stepik - 1

Теперь онлайн-курсы «Разработка на Java 1», «Разработка на Java 2» и «Анализ безопасности веб-проектов» на платформе Stepik.org лежат в свободном доступе! Мы убрали дедлайны, чтобы вы прошли курсы в удобное время и получили сертификаты. В ближайшие десять дней мы перезапустим еще два онлайн-курса. «Постановка задач на разработку ПО» откроется 28 октября, а 3 ноября станут доступны «Web-технологии».

Stepik.org — платформа онлайн-курсов. С ее помощью можно научиться чему-либо прямо из дома — нужен только доступ в интернет. Авторы рассказывают материал на видеолекциях и предлагают выполнить практические задания. Большинство курсов открыты только в отведенное время — это стимулирует нерешительных участников записываться. Курс делится на модули, которые нужно сдавать в срок. Наличие дедлайнов повышает мотивацию студентов. Справляются не все — сертификаты получает в среднем 9% учащихся. Открытый доступ решает проблему времени, теперь нужно только желание.

Первый курс от Mail.Ru Group открылся 1 сентября 2015 года. С этого момента к нам записались 50 000 человек, которым мы выдали 4 500 сертификатов. В феврале этого года на «Web-технологии» зарегистрировалось 8 500 человек. Это в два раза больше среднего, поэтому мы хотим рассказать об этом курсе.
Читать полностью »

Различия между MVVM и остальными MV*-паттернами - 1

От переводчика:
Уже опубликовано много материалов по MVC и его производным паттернам, но каждый понимает их по-своему. На этой почве возникают разногласия и холивары. Даже опытные разработчики спорят о том, в чем отличие между MVP, MVVM и Presentation Model и что должен делать тот или иной компонент в каждом паттерне. Ситуация усугубляется еще и тем, что многие не знают истинную роль контроллера в классическом варианте MVC. Предлагаю вашему вниманию перевод хорошей обзорной статьи, которая многое проясняет и расставляет всё по своим местам.Читать полностью »

JavaScript сильно изменился за последние годы. Вот 12 новых возможностей, которые можно начать использовать уже сегодня!

История

Новые добавления в язык называются ECMAScript 6. Или ES6 или ES2015+.

С момента появления в 1995, JavaScript развивался медленно. Новые возможности добавлялись каждые несколько лет. ECMAScript появился в 1997, его целью было направить развитие JavaScript в нужное русло. Выходили новые версии – ES3, ES5, ES6 и так далее.

Обзор базовых возможностей ES6 - 1

Как видите, между версиями ES3, ES5 и ES6 есть пропуски длиной в 10 и 6 лет. Новая модель – делать маленькие изменения каждый год. Вместо того, чтобы накопить огромное количество изменений и выпустить их все за раз, как это было с ES6.Читать полностью »

The Pros & Cons of Test-Driven Development - 1

Test-driven development (TDD) — практика, известная уже довольно давно. Разработка через короткие циклы «прежде всего пишем юнит-тест, затем код, потом проводим рефакторинг, повторяем» в ряде компаний принята в качестве стандарта. Но обязательно ли команда, достигшая хорошей степени зрелости процесса разработки, должна принимать TDD? Как и для большинства других практик Extreme Programming, споры по поводу TDD до сих пор не стихают. Оправдываются ли первоначальные затраты на обучение и внедрение TDD? Даёт ли TDD ощутимый выигрыш? Можно ли этот выигрыш измерить? Нет ли случаев, когда TDD проекту вредит? А есть ли ситуации, когда без TDD решить задачу просто невозможно?

Об этом мы поговорили с разработчиками-экспертами Андреем Солнцевым asolntsev (разработчик из таллинской компании Codeborne, который практикует Extreme Programming и придерживается TDD) и Тагиром Валеевым lany (разработчик в JetBrains, также разрабатывает опенсорсную библиотеку StreamEx и анализатор байткода Java HuntBugs; убежден, что TDD — бесполезная практика). Интересно? Добро пожаловать под кат!
Читать полностью »


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