Разработка сайта: техническое задание или концепция?


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

О разработке ТЗ на Хабре было много статей. Нужно ли оно, как оно должно быть сделано в студии и т.п.

Я хочу показать, что перед созданием именно технического задания во многих случаях имеет смысл сделать еще один документ.
04/28/2017 14:52:05
0

Поиск неисправностей с помощью WinDbg, Sos и Sosex


Изображение: Julien Dumont, Flickr


К сожалению, иногда случаются ситуации, когда система перестает работать или начинает безудержно потреблять ресурсы, а логи и системные метрики не могут помочь. Ситуация еще усугубляется тем, что на системе в продакшене нет Visual Studio или какого-либо отладчика, невозможно поотлаживаться удаленно. Чаще всего даже нет возможности получить доступ этой машине. В данном случае единственным решением является анализ дампа памяти процесса. Я хочу описать несколько общих сценариев поиска проблем на таких дампах. Это поиск взаимоблокировок, утечек памяти и высокого потребления процессорных ресурсов.

04/28/2017 14:49:40
0

Контекстные интервью. Заметки для разработки дизайна исследования

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

Проблема в том, что для разработки IT-продуктов нам нужно, чтобы пользователь подробно описал свои повседневные действия. Созданный продукт должен решать реальные задачи и органично вписаться в социальную и физическую среду пользователя. Как получить такое описание? Один из методов — это контекстные интервью (contextual interviews, contextual inquiry).
04/28/2017 14:48:10
0

DevTools в браузере Vivaldi 1.10.289.3

image

Всем привет!

Как правило, в последнее время на Хабре мы публикуем только новости о стабильных версиях браузера Vivaldi, не отвлекая «по пустякам» на тестовые сборки. Но сегодня случай особый. Мы добавили в браузер функцию, о которой давно просили многие разработчики, в том числе и на Хабре, поэтому мы решили сообщить новость пораньше, не дожидаясь стабильного релиза. Ну и, конечно, будет лучше, если собственно разработчики и потестируют запрашиваемую функцию. Подробности под катом.
04/28/2017 14:30:17
0

[Перевод] Сравнение структур разделов GPT и MBR

Вы когда-нибудь задумывались о том, как загружается компьютер? Независимо от аппаратуры и операционной системы, все компьютеры при загрузке используют или традиционный метод BIOS-MBR, или более современный UEFI-GPT, реализованный в последних версиях ОС.

В этой статье мы сравним структуры разделов GPT и MBR; GPT означает GUID Partition Table, а MBR — Master Boot Record. Начнём с того, что разберём сам процесс загрузки.

В следующих главах выделяются различия между стилями разделов GPT и MBR, в том числе приводятся инструкции, как осуществить преобразование между двумя стилями, и советы, какой из них выбрать.
04/28/2017 14:23:27
0

[Перевод] Функциональное программирование в JavaScript с практическими примерами

image


Функциональное программирование (ФП) может улучшить ваш подход к написанию кода. Но ФП непросто освоить. Многие статьи и руководства не уделяют внимания таким подробностям, как монады (Monads), аппликативность (Applicative) и т. д., не приводят в качестве иллюстраций практические примеры, которые могли бы помочь нам в повседневном использовании мощных ФП-методик. Я решил исправить это упущение.


Хочу подчеркнуть: в статье сделан упор на том, ЗАЧЕМ нужна фича Х, а не на том, ЧТО такое фича Х.

04/28/2017 14:20:41
0

[Из песочницы] Простой и быстрый сервер на C/C++ с клиентом на C#: TCP версия

Всем привет. Потихоньку перебирая листы книг, занимаюсь я серверным программированием. И дошёл мой разум до того, что можно было бы и на C++ сервер написать. Ну и недолго думая(точнее вообще не думая и плохо зная плюсы), я пошёл писать сервер.

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

Начнём с самого главного элемента — класс сервера SServer:
04/28/2017 14:11:55
0

Dive into Ethereum

Сегодня платформа Ethereum стала одним из самых узнаваемых брендов блокчейн сферы, вплотную приблизившись по популярности (и капитализации) к Bitcoin. Но из-за отсутствия "полноценного" рускоязычного гайда, отечественные разработчики все еще не очень понимают, что это за зверь и как с ним работать. Поэтому в данной статье я попытался максимально подробно охватить все аспекты разработки умных контрактов под Ethereum.


Я расскажу про инструменты разработки, сам ЯП, процесс добавления UI и еще много интересного. В конечном итоге мы получим обычный сайт-визитку, но "под капотом" он будет работать на умных контрактах Ethereum. Кого заинтересовало — прошу под кат.


preview


04/28/2017 13:30:43
0

[Перевод] Учимся у мастеров: дизайн уровней Legend Of Zelda

image

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

Мне кажется, что в них отсутствуют многие элементы современного дизайна игр: никакого обучения, резкие изменения сложности, непродуманный дизайн уровней, и так далее. До написания этой статьи у меня было впечатление, что многие освоенные мной «правила хорошего дизайна» изобретены и начали использоваться в эру SNES.
04/28/2017 13:16:47
0

[Из песочницы] Семь раз ALTER один DROP

image

Все началось с того, что я начал писать стандарт оформления T-SQL для своей компании. В этой теме я остановлюсь на конструкции удаления объекта перед его созданием.

В нашей команде порядка двадцати SQL Ninja разработчиков и все описывают данную конструкцию по разному, например вот так:

IF OBJECT_ID('dbo.Function', 'TF') IS NOT NULL
	DROP FUNCTION dbo.Function;
GO
CREATE FUNCTION dbo.Function ..
04/28/2017 13:01:01
0