Search
Write a publication
Pull to refresh
14
0
Мухаммад @muhammad_97

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

Send message

5 возможностей LESS, о которых вы могли не знать

Reading time3 min
Views15K

LESS


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

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

Комиксы Даниэля Стори

Reading time1 min
Views27K
Привет, Хабр! Мы подумали, что если среда — это маленькая пятница, значит можно немножко расслабиться и развлечься. Мы подготовили подборку юмористических IT-комиксов от Даниэля Стори (Daniel Stori). Желаем приятного просмотра.

Arduino-проект


Хайп Detected

«Скоро все будут использовать Docker»
Читать дальше →

May the Code Review be with you

Reading time9 min
Views27K
Code review может быть большой болью для команды, которая только начинает его внедрять. Вы в любом случае наступите на много граблей: будете проводить ревью дольше, чем пишете код, устраивать смертельные споры про расположение скобочек и разбираться, можно ли сливать ветку в master до аппрува команды или нет. Я собрал ряд практик, которые помогут вам сделать процесс адаптации чуть менее болезненным — по крайней мере, мне они точно помогли.
 
Этот материал — краткая выжимка моего опыта, накопленного за несколько лет работы в крупных командах мобильной разработки. Опыт по большей части в мобильной разработке, что оказало влияние на используемые примеры и ссылки. Для тех, кто предпочитает не читать, а смотреть, в течение пары месяцев должно появиться видео с конференции Mobius, где я рассказываю доклад на эту же тему, но с кучей подробных практических примеров.
 

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

Очень грубый подход к определению языка человека (или как понять язык человека по обычной корпоративной базе)

Reading time5 min
Views4.1K
image

Что общего у этой картинки, Excel и прикладной работы с базами данных? Правильно — байесовский подход к анализу данных.

Если я не заинтриговал вас картинкой выше, то давайте я расскажу вам самую малость про байесовы сети и как использовать их на коленке (и почему их мало используют на практике). Этот предмет довольно технический (вот условно бесплатный курс от Стенфорда, он немного скучноват и очень технический, но зато в тему. Там еще есть странность — пройти курс и все понять можно за 10 часов, а чтобы решить задачи в матлабе, нужно часов 50 — такое ощущение, что задачи — это PhD автора курса...).
Читать дальше →

Один урок программирования

Reading time8 min
Views43K
На днях мне довелось провести практическое занятие по программированию для учеников десятого класса одного из харьковских лицеев. Шесть лет назад я читал курс программирования в политехе, но тогда на посвящение студентов в эту, не побоюсь сказать, науку у меня было целых два семестра времени на лекционные и лабораторные занятия. А здесь было всего от силы полтора часа, да и с таким юным контингентом я ещё не работал. «Ладно», сказал я себе. И приступил к подготовке. Мне дали несколько задач, которые можно было бы порешать со школьниками. Первая из них занимала аж 70 строк индусского кода. Подготовил своё решение из 10 строк. Думал, «Сначала дам одно решение, потом покажу другое». Ещё одну задачу переписал для того, чтобы сместить акценты с программистских особенностей в предметную область (задача была геометрическая). Третья задача была наиболее простой – один человек вводит с клавиатуры число, другой отгадывает. Неинтересно. Пусть лучше компьютер загадывает и даёт подсказки. Для каждой задачи придумал последовательность подачи материала. Когда пришло время, а школьники расселись за компьютеры, я их спросил: «Кто-нибудь из вас имеет опыт программирования? Какие-то языки программирования уже изучали?». Получив отрицательный ответ, мысленно сказал себе «Печально», отложил в сторону два листа с распечаткой кода из трёх и сделал заявление: «Ну, что ж… Тогда начнём программировать!».

Для кодеров данная статья, наверняка, интереса не представляет. Мой рассказ будет о методике преподавания в условиях ограниченного времени для людей с неокрепшей детской психикой на примере всего одного урока. Всех желающих приглашаю под кат!
Читать дальше →

Дизайн как всемирный язык 21 века

Reading time9 min
Views11K
Когда человек говорит, что знает всего один язык, то на самом деле он знает их куда больше. Почти наверняка он понимает простейший язык жестов, а также профессиональный сленг своих сотрудников. Если он меломан, то обязательно понимает особенный неповторимый язык своей любимой музыки и, в конце концов, понимает современный цифровой язык общения с современными интерфейсами смартфона, компьютера, банкомата, ноутбука.

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

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

image

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

image

С помощью данного примера мне бы хотелось показать, что же именно относится к форме языка и его акцентам, а что составляет саму сущность и смысл послания; ведь многим изначально кажется, что единственное требование к форме — полное соответствие гайдлайнам iOS/ Material Design, но в дальнейшем мы увидим, что это не совсем так.
Читать дальше →

Как сделать красивую аватарку? Новый маркетинг в социальных медиа

Reading time2 min
Views9K


Каждый год WebCanape организует большой фестиваль Tabtabus для айтишников и предпринимателей. В 2016 году мы поставили себе цель собрать с ночевкой в палатках 400+ человек на берегу красивого озера. Нижеописанный лайф-хак очень помог нам в этом.
Читать дальше →

Цена ошибки: кто и сколько платит за промахи программистов?

Reading time7 min
Views29K

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


Picture 4

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

Тёмные паттерны — как зловредные интерфейсы пытаются атаковать и обманывать

Reading time5 min
Views38K
Любые покупки — как поход по минному полю. Есть довольно тонкая граница между «не стоит упоминания» и «лучше тебе этого до покупки не знать». Давайте попробуем для начала найти её эмпирически. Вот это лично для меня — очевидный “dark pattern”:



Вот это тоже:



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

Теперь давайте посмотрим на менее очевидные вещи.
Читать дальше →

Junior, который в первый день работы удалил базу данных с production

Reading time2 min
Views146K
Reddit и другие иностранные ресурсы буквально покорила история о младшем разработчике, который, придя на свою первую работу, в первый же день удалил базу данных на production.


«Два типа людей в эксплуатации: кто уже сломал production, кто ещё только собирается это сделать»

Опубликованная 10 дней назад заметка собрала более 23 тысяч положительных голосов на Reddit и разошлась по другим специализированным ресурсам вроде The New Stack. Суть истории такова:
Читать дальше →

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

Reading time3 min
Views21K
image

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

Пишем софт, который будут ненавидеть

Reading time5 min
Views24K
Куда ни посмотришь — всюду статьи о лояльности клиентов, об удовлетворённости пользователей, об интуитивной понятности интерфейсов и о прочем подобном. Хватит уже об этом. Поговорим лучше о создании плохого софта, такого, поработав с которым, пользователь возненавидит и сам этот софт, и его разработчиков, и свои мышь с клавиатурой заодно.


Читать дальше →
Иннополис задумывался как идеальный город айтишников, место силы и место обучения, особая экономическая зона и зона особых человеческих отношений. Как здесь все устроено? Насколько эффективно работает? Правда ли, что люди здесь более открыты (и более наивны), чем «на материке»? И что будет с Иннополисом через десять лет?
Читать далее

Favicon сегодня: форматы, поддержка, автоматизация

Reading time10 min
Views132K
На сегодняшний день favicon — это не просто значок 16x16 во вкладке браузера. Он является важной составляющей интерфейса, а также играет немаловажную роль в прогрессивных веб-приложениях. Существует немало способов подключения и использования favicon, о которых я расскажу в данной статье.



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

Как получить оффер в день собеседования. Часть вторая, для PHP-разработчика

Reading time4 min
Views36K


Привет, Хабр! Меня зовут Павел Мурзаков, я – PHP-тимлид в Badoo, и сегодня я расскажу вам о новой возможности получить предложение по работе в Лондоне за один день. Как вы, возможно, знаете, недавно в Москве прошло рекрутинговое мероприятие Badoo по поиску мобильных разработчиков. Оно оказалось очень успешным – мы предложили работу в Лондоне восьми ребятам и надеемся скоро увидеть их в составе нашей мобильной команды.


И, чтобы не отставать от наших iOS- и Android-команд (ведь их теперь на восемь человек больше!), мы решили ответить достойно и провести аналогичное мероприятие, на котором рассчитываем найти server-side-коллег нашим новым мобильным разработчикам!

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

Подходы к версионированию изменений БД

Reading time19 min
Views46K

Намного лучше дисциплинарные ограничения убирать инструментарным расширением
Автор статьи


Введение


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


На протяжении 5 лет разработки нескольких корпоративных ИС, я ставил и пытался решать вопросы, как тот или иной аспект разработки БД сделать удобным. Искал инструменты, помогающие что-то делать с БД, методологии. На удивление в этой области мало наработок. И в каждом подходе сразу видно – вот это нельзя, вот тут будет неудобно, тут слишком много дисциплинарных правил (см эпиграф)… В этой статье я попытался собрать те походы, которые считаю наиболее эффективными, и один, в добавление к собранным, представлю как венец моих исканий, который считаю наиболее «бронебойным».

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

Красно-черные деревья: коротко и ясно

Reading time3 min
Views290K
История из жизни. Девушка предложила своему парню-программисту пройти психологический тест:
Девушка: Нарисуй дерево.
Программист: (рисует бинарное дерево)
Девушка: Нет, другое.
Программист: Я и красно-черное дерево могу нарисовать.

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

Вы — не Google

Reading time7 min
Views103K
Мы, программисты, иногда почему-то сходим с ума. Причём по каким-то совершенно нелепым причинам. Нам нравится думать о себе, как о супер-рациональных людях, но когда дело доходит до выбора ключевой технологии нового продукта, мы погружаемся в какое-то безумие. Вдруг оказывается, что кто-то слышал что-то об одной классной вещи, а его коллега читал комментарий о другой на Хабре, а третий человек видел пост в блоге о ещё чём-то похожем… и вот мы уже пребываем в полнейшем ступоре, беспомощно барахтаясь в попытках выбора между совершенно противоположными по своей сути системами, уже и забыв, что мы вообще пытаемся выбрать и почему.

Рациональные люди не принимают решения таким образом. Но именно так программисты часто решают использовать что-то вроде MapReduce.

Вот как комментировал этот выбор Joe Hellerstein своим студентам (на 54-той минуте):

Дело в том, что в мире сейчас есть где-то 5 компаний, обрабатывающие данные подобных объёмов. Все остальные гоняют все эти данные туда-сюда, добиваясь отказоустойчивости, которая им на самом деле не нужна. Люди страдают гигантоманией и гугломанией где-то с середины 2000-ых годов: «мы сделаем всё так, как делает Google, ведь мы же строим один из крупнейших (в будущем) сервисов по обработке данных в мире!»

image

Сколько этажей в вашем датацентре? Google сейчас строит четырёхэтажные, как вот этот в Оклахоме.
Читать дальше →

Путешествие внутрь Avito: платформа

Reading time4 min
Views33K
image

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

Задай вопрос разработчикам облачных сервисов Mail.Ru Group

Reading time7 min
Views10K


Благодаря Reddit становится популярен формат Ask Me Anything (AMA) — когда команда специалистов, ответственных за какой-то большой, популярный проект, предлагает всем желающим задавать им любые вопросы об их работе и о том, что у сервиса «под капотом», как всё устроено. Первыми формат AMA на Хабре использовали разработчики Badoo. Мы тоже решили попробовать. Надеемся, что другие компании последуют нашему примеру и начнут впускать читателей на свои внутренние кухни.


Стартовать AMA мы решили с командой Облака Mail.Ru. Это молодой, активно развивающийся проект, о котором нам всегда задают много вопросов. К тому же с момента запуска (с августа 2013 года) Облако разрослось в большую семью проектов.


Исторически Облако начиналось как B2C-продукт с веб-, десктопной и мобильными версиями. Однако B2B — это тоже очень перспективный рынок. Поэтому у нас появилась платформа Mail.Ru для бизнеса, объединяющая все B2B-сервисы компании Mail.Ru Group, в том числе Облако для архивов (Icebox), Облако для рабочих групп (Teambox) и Горячее хранилище (Hotbox).


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

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

Information

Rating
Does not participate
Registered
Activity