Как стать автором
Обновить
0
0
lutifer @lutifer

Пользователь

Отправить сообщение

MVVM: полное понимание (+WPF) Часть 1

Время на прочтение8 мин
Количество просмотров303K
В настоящей статье задействован мой опыт доведения некоторого числа студентов до полного и окончательного понимания паттерна MVVM и реализации его в WPF. Паттерн описывается на примерах возрастающей сложности. Сначала теоретическая часть, которая может использоваться безотносительно конкретного языка, затем практическая часть, в которой показано несколько вариантов реализации коммуникации между слоями с использованием WPF и, немножко, Prism.

Зачем вообще нужно использовать паттерн MVVM? Это ведь лишний код! Написать тоже самое можно гораздо понятнее и прямолинейнее.

Отвечаю: в маленьких проектах прямолинейный подход срабатывает. Но стоит ему стать чуть больше — и логика программы размазывается в интерфейсе так, что потом весь проект превращается в монолитный клубок, который проще переписать заново, чем пытаться распутать. Для наглядности можно посмотреть на две картинки:
Читать дальше →

Введение в Git

Время на прочтение17 мин
Количество просмотров157K

Оглавление


Предисловие
1. Настройка git
....1.1 Конфигурационные файлы
....1.2 Настройки по умолчанию
....1.3 Псевдонимы (aliases)
2. Основы git
....2.1 Создание репозитория
....2.2 Состояние файлов
....2.3 Работа с индексом
....2.4 Работа с коммитами
....2.5 Просмотр истории
....2.6 Работа с удалённым репозиторием
3. Ветвление в git
....3.1 Базовые операций
....3.2 Слияние веток
....3.3 Rerere
4. Указатели в git
....4.1 Перемещение указателей
5. Рекомендуемая литература

Предисловие


Git — самая популярная распределённая система контроля версиями.[1][2]

Основное предназначение Git – это сохранение снимков последовательно улучшающихся состояний вашего проекта (Pro git, 2019).
Читать дальше →

Почему полезно изобретать колёса

Время на прочтение4 мин
Количество просмотров7.7K


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

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

Но увы. Да, было очевидно, что подобный код встречался ему раньше. Он в общих чертах знал, как там все работает. Нам хватило бы наброска решения, который демонстрировал бы понимание концепта. Однако код, который кандидат писал на доске, был полной бессмыслицей. У него сложилось крайне туманное представление о том, что такое промисы в JavaScript и он не мог толком объяснить, зачем они нужны. Для джуниора это было бы еще простительно, но на позицию сениора уже не тянуло. Как бы этот разработчик сумел устранить баги в сложной цепочке с промисами и объяснить остальным, что именно он сделал?
Читать дальше →

12 книг, которыми мы зачитались

Время на прочтение3 мин
Количество просмотров15K
Хотите лучше разбираться в людях? Узнать, как укрепить силу воли, повысить личную и профессиональную эффективность, прокачать управление эмоциями? Под катом вы найдете список книг для развития этих и других навыков. Конечно, советы авторов — не лекарство от всех бед, и подходят они не каждому. Но немного поразмыслить, что вы делаете не так (или, напротив, что именно вы делаете правильно), никогда лишним не будет.

Этот список — топ-12 самых востребованных книг в библиотеке Plarium Krasnodar за последний год.

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

Дайджест свежих материалов из мира фронтенда за последнюю неделю №383 (1 — 6 октября 2019)

Время на прочтение3 мин
Количество просмотров10K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.

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

Курение, ЗОЖ, мотивация и скорость разработки ПО

Время на прочтение4 мин
Количество просмотров23K
Я не курю табак уже лет 10 или вроде того, не скажу точно. А первую свою сигарету взатяжку я выкурил лет в 7-8. Так что бросить курить, даже при очень большом стаже, таки возможно (это я подтверждаю тем, кто хочет, но сомневается). Но не о том сейчас речь. Речь о мотивации.



Живу я весьма долго, были перерывы в курении и до сей поры. Перерывы разной длительности, от нескольких месяцев, до двух лет. Но тогда основным мотивом было то обстоятельство, что курение мешало мне заниматься активными видами спорта. Знаете, когда дымишь как паровоз — выложиться на тренировке на 100% практически невозможно — сначала сдает дыхалка, а уже потом мышечная система, сложно нагрузить мышцы полностью. И хотя я потом неизменно начинал курить вновь (всегда под алкоголем, ибо одно тянет за собой другое), эти периоды жизни без сигарет дали мне важный опыт:
— Я заметил, что когда долгое время обхожусь без сигарет — моя способность к пониманию — ощутимо возрастает. Мышление становится более объемным, связным и креативным. И в конечном итоге это влечет за собой увеличение скорости написания кода.

И вот когда я лет 10 назад вновь решил отказаться от курения, то основным мотивом была чистота ума, бо по субъективным ощущениям, курение загрязняет не только легкие, оно здорово затуманивает и мозги, влияя на работоспособность в целом. Кстати, этот вывод-наблюдение пришел ко мне в виде эдакого инсайта. Я даже на минутку опешил сам с собой, типа:

— Даладна?! Ничесси…

И тогда я решил понаблюдать за собой, как за объектом, с целью отследить и другие возможные закономерности и связи между работой мозга, сознанием и состоянием организма в целом. И вот что получилось:
Читать дальше →

Дайджест свежих материалов из мира фронтенда за последнюю неделю №382 (22 — 29 сентября 2019)

Время на прочтение4 мин
Количество просмотров11K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.


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

Дайджест свежих материалов из мира фронтенда за последнюю неделю №381 (16 — 22 сентября 2019)

Время на прочтение3 мин
Количество просмотров12K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.


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

Книга «Дизайн-мышление. От инсайта к новым продуктам и рынкам»

Время на прочтение1 мин
Количество просмотров6.7K
Привет, Хаброжители! В последние годы произошел всплеск интереса к дизайн-мышлению. Мы живем в эпоху, когда банки отказываются от традиционных банковских операций и переходят на цифровые деньги. На наших глазах рождаются стартапы, которые создают новые рынки, используя дизайн-экосистемы. Современные компании осуществляют цифровую трансформацию, чтобы по максимуму использовать современные методы обработки данных и быть на шаг впереди конкурентов. Книгу-героиню нашего сегодняшнего поста следует рассматривать как настоящую рабочую тетрадь. Это не руководство в привычном смысле, где описываются процессы.
image Книга скорее дает вдохновляющий импульс для внедрения чего-то нового и реализации полного потенциала дизайн-мышления. Эта книга о том, как действовать, тестировать и размышлять. Авторы помогут вам: применить различные инструменты и методы дизайн-мышления в конкретных ситуациях; создать эффективную команду; ориентировать продукт на пользователя; ввести дизайн-мышление в организациях; научиться создавать цифровую продукцию; объединить дизайн-мышление с Big Data. В выбранном нами отрывке пойдёт речь об эффективном тестировании прототипа:

Дайджест свежих материалов из мира фронтенда за последнюю неделю №380 (8 — 15 сентября 2019)

Время на прочтение4 мин
Количество просмотров10K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.


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

Про одного парня

Время на прочтение14 мин
Количество просмотров192K
История реальная, я все видел своими глазами.

Несколько лет один парень, как и многие из вас, работал программистом. На всякий случай напишу так: «программистом». Потому что он был 1Сником, на фиксе, производственной компании.

До этого он пробовал разные специальности – 4 года во франче программистом, руководителем проектов, умел закрывать по 200 часов, одновременно получая процент с проекта, за руководство и немного занимаясь продажами. Пробовал самостоятельно разрабатывать продукты, был начальником IT-отдела в большой компании, численностью 6 тысяч человек, примерял разные варианты применения своей кавычечной профессии – программиста 1С.

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

Этому парню стало интересно, как можно зарабатывать больше денег, не занимаясь продажами и не создавая свой собственный бизнес.
Читать дальше →

ООП, «святая троица» и SOLID: некоторый минимум знаний о них

Время на прочтение43 мин
Количество просмотров116K

Необходимое вступление


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


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


Столь малые гарантии поднимают вопросы о причинах, по которым статья пишется. Я считаю, что этим вещам должны учить везде, где учат программированию, вплоть до уроков информатики в школах с углублённым её изучением. Тем не менее, для меня стала пугающе нормальной ситуация, когда я узнаю, что собеседник мой коллега, причём работающий уже не первый год, но про инкапсуляцию «что-то там слышал». Необходимость собрать всё это в одном месте и давать ссылку при возникновении вопросов зрела давно. А тут ещё и мой «pet-project» дал мне изрядно пищи для размышлений.


Тут мне могут возразить, что учить эти вещи в школе рановато, и вообще на ООП свет клином не сошёлся. Во-первых, это смотря как учить. Во-вторых, 70% материала этой статьи применимо не только к ООП. Что я буду отмечать отдельно.



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

Дайджест свежих материалов из мира фронтенда за последнюю неделю №378 (26 августа — 1 сентября 2019)

Время на прочтение3 мин
Количество просмотров11K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.


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

Дайджест свежих материалов из мира фронтенда за последнюю неделю №377 (19 — 25 августа 2019)

Время на прочтение3 мин
Количество просмотров11K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.


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

Четыре правила интуитивного UX

Время на прочтение12 мин
Количество просмотров36K
Это советы по улучшению UX ваших проектов БЕЗ многочасовых сессий по изучению пользовательского поведения, бумажного прототипирования или любых других модных словечек.

(Серьёзно, поищите «дизайн-мышление». 100500 результатов!)

Для кого эта статья?

  • Разработчики. Вы создали собственное приложение, но каждый пользователь мучается с ним. И вы знаете: если они говорят вам это в лицо, то дело действительно плохо.
  • Графические дизайнеры. Изучать UX по статьям в интернете — это какой-то… очень болезненный способ умереть.
  • Менеджеры проектов. Вы уже на четверть UX-дизайнер. Было бы неплохо освоить остальные навыки.
  • И остальные проходимцы. Все, кто корпит над своими проектами по вечерам и выходным. Вам тоже пригодится.

Ключевое слово this в JavaScript. Полное* руководство

Время на прочтение6 мин
Количество просмотров44K
* скорее всего, я что-нибудь да упустил, но уверен, в комментариях мне это подскажут

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

image

Содержание.

  1. Введение
  2. Заблуждения о this
  3. Как определить значение this
Читать дальше →

Дайджест свежих материалов из мира фронтенда за последнюю неделю №376 (12 — 18 августа 2019)

Время на прочтение3 мин
Количество просмотров12K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.


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

ООП в картинках

Время на прочтение20 мин
Количество просмотров872K
ООП (Объектно-Ориентированное Программирование) стало неотъемлемой частью разработки многих современных проектов, но, не смотря на популярность, эта парадигма является далеко не единственной. Если вы уже умеете работать с другими парадигмами и хотели бы ознакомиться с оккультизмом ООП, то впереди вас ждет немного лонгрид и два мегабайта картинок и анимаций. В качестве примеров будут выступать трансформеры.


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

Тяжёлое бремя времени. Доклад Яндекса о типичных ошибках в работе со временем

Время на прочтение12 мин
Количество просмотров22K
В коде самых разных проектов нередко приходится оперировать временем — например, чтобы завязать логику работы приложения на текущее время у пользователя. Старший разработчик интерфейсов Виктор Хомяков victor-homyakov описал типичные ошибки, которые встречались ему в проектах на языках Java, C# и JavaScript от разных авторов. Перед ними вставали одни и те же задачи: получить текущую дату и время, измерить интервалы или выполнить код асинхронно.



— До Яндекса я работал в других продуктовых компаниях. Это не как фрилансер — написал, сдал и забыл. Приходится очень долго работать с одной кодовой базой. И я, собственно, смотрел, читал, писал много кода на разных языках и увидел много чего интересного. В итоге у меня родилась тема этого рассказа.

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

Самые распространенные ошибки в вашем React коде, которые вы (возможно) делаете

Время на прочтение5 мин
Количество просмотров102K


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


Весь код написан в ES6 стиле, поэтому, что бы повторить его вам нужно использовать Babel в вашем проекте (а еще есть такие кто его не использует?).


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


Если вам интересно, то добро пожаловать под кат.

Читать дальше →
1
23 ...

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность