Pull to refresh
0
0
Send message

Бертран Мейер. Объектно-ориентированное конструирование программных систем

Reading time 5 min
Views 65K

DISCLAIMER: более навороченной книги по ООП в природе нет и в ближайшее время, скорее всего, не будет; эта книга заслуженно считается классической книгой по объектной технологии и не зря является первой в списке рекомендуемых книг по этой теме (причем она первая не только в моем списке).

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

Читать дальше →
Total votes 33: ↑33 and ↓0 +33
Comments 42

TCP против UDP или будущее сетевых протоколов

Reading time 27 min
Views 169K
Перед каждым сервисом, генерирующим хотя бы 1 Мбит/сек трафика в интернете возникает вопрос: «Как? по TCP или по UDP?» В прикладных областях, в том числе и платформах доставки уже сложились предпочтения и традиции принятия подобных решений.

По идее, если бы, к примеру, однажды один ленивый разработчик не попробовал развернуть свой ML на Python (потому что только его и знал), мир скорее всего никогда не проникся бы такой любовью к презренному «супер-джава-кодерами» языку. А сегодня слабости этого языка в прошлом контексте применения безоговорочно обеспечивают ему первенство в развертывании и запуске многочисленных майнерских А/Б.

Сравнивать можно многое: ARM с Intel, iOS и Android, а Mortal Kombat с Injustice. И нарваться на космический холивар, поэтому вернемся к теме доставки огромных объемов разноформатного контента.

Десять лет назад все были абсолютно уверены, UDP — это что-то про негарантированную доставку. Если нужен надежный протокол — это TCP. И вопреки традициям в этой статье мы будем сравнивать такие, кажущиеся несравнимыми вещи, как TCP и UDP.


Осторожно, под катом 99 иллюстраций и схем и все важные.
Total votes 162: ↑159 and ↓3 +156
Comments 75

Ресурсы для дизайнеров и front-end-разработчиков

Reading time 5 min
Views 64K
Ниже представлена подборка инструментов для дизайнеров и front-end-разработчиков. Мы настоятельно рекомендуем вам просмотреть их все. Надеемся, что вы найдете для себя что-то полезное.

Читать дальше →
Total votes 41: ↑30 and ↓11 +19
Comments 7

Два по сто: самые читаемые статьи и авторы Хабра и ГТ

Reading time 10 min
Views 66K
Если кто не знает, на Хабре, как и Гиктаймсе, всегда можно посмотреть все самые рейтинговые статьи за всё время. Но по просмотрам ни статьи, ни авторы никак не сортируются. Список ниже отражает почти полную правду о самых читаемых статьях «Хабра» и «Гиктаймса» за всё время. Почти — потому что, к сожалению, публичный счётчик был включён только 27 сентября 2012 года (примерная дата), поэтому если вам кажется, что какие-то ваши любимые тексты эпохи, когда Хабр был более торт, недосчитались просмотров — может, вы и правы. Впрочем, отчасти фактор неработавшего ранее счётчика нивелируется мощным хвостом в виде поискового траффика, так что действительно сильные тексты в любом случае должны были получить то, что им причитается — но об этом позже.

Итак, самые топ-100 самых читаемых постов за всё время на Хабре и ГТ в сумме. Megamozg included by default, т.к. данные собраны 21 мая, уже после обратного слияния с «Хабром»:

  1. «Скрытые смайлы в Skype», G0rDi — 1599K (2009)
  2. «Взломать Wi-Fi за… 3 секунды», ushanov90 — 1511K (2012)
  3. «Взломать Wi-Fi за 10 часов», gorl — 1181K (2012)
  4. «300 потрясающих бесплатных сервисов», shimapa23 — 1052K (2015)
  5. «Пишем своё первое приложение на Android», Hoorsh — 997K (2010)
  6. «Обновление с Windows 7/8.1 до Windows 10 TP через Windows Update», akibkalo — 840K (2015)
  7. «Простая стратегия игры 2048», WhatIsGTO — 820K (2014)
  8. «Откровенные фото Дженнифер Лоуренс и еще десятков знаменитостей утекли через iCloud», Akr0n — 795K (2014)
  9. «Подарок от Skype на новый год», gmikhail94 — 781K (2013)
  10. «Wi-Fi: неочевидные нюансы (на примере домашней сети)», apcsb — 757K (2012)

Читать дальше →
Total votes 60: ↑60 and ↓0 +60
Comments 66

Адаптивная навигация: куда деть меню на смартфонах

Reading time 6 min
Views 52K

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

Так как я имею отношение к опен-сорсному адаптивному HTML5-шаблону Simpliste, то решил все существующие возможности работы с навигацией испробовать на практике. Но кроме получения собственного опыта, мне удалось создать несколько наглядных примеров, доступных для использования любым желающим, а также подготовить описание процесса, с которым приглашаю вас ознакомиться.
Читать дальше →
Total votes 25: ↑19 and ↓6 +13
Comments 3

Медиа-запросы в адаптивном дизайне 2018

Reading time 8 min
Views 90K
image

В июле 2010 года я написала статью «Как использовать CSS3 медиа-запросы для создания мобильной версии вашего сайта» для журнала Smashing. Спустя почти восемь лет эта статья по-прежнему очень популярна. Я решила вернуться к этой теме, поскольку теперь у нас есть такие методы компоновки, как Flexbox и CSS Grid. В этой статье мы рассмотрим современные методы использования медиа-запросов в адаптивном дизайне, а также рассмотрим, что может произойти в будущем.
Total votes 18: ↑17 and ↓1 +16
Comments 5

Разработка бизнес-процесса в Битрикс24. Советы директору

Reading time 6 min
Views 8.8K

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

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

Читать далее
Total votes 11: ↑6 and ↓5 +1
Comments 7

Все врут, а ты не ври, или Развенчание мифа о запоминании

Reading time 5 min
Views 92K
Сколько человек запоминает после пройденного им обучения? Обучаемый в среднем запоминает 10% прочитанного, 20% услышанного, 30% увиденного … 90% того, что сделал сам. Многие сталкивались c этими цифрами. Они приводятся отдельно или часто совмещаются с так называемой пирамидой обучения или конусом опыта. И все было бы хорошо и замечательно, если бы этими цифрами не был заполнен весь интернет, а сами они не являлись обманом и мистификацией.


Читать дальше →
Total votes 47: ↑36 and ↓11 +25
Comments 51

Кинетическая скульптура «Сизиф» из LEGO Technics

Reading time 2 min
Views 19K
image

Джейсон Аллерман, давний энтузиаст конструирования необычных вещей из Lego, представил на суд общественности кинетическую скульптуру «Сизиф». Она изображает героя древнего мифа, толкающего камень. Благодаря хитроумной системе шестерёнок и рычагов, фигура достаточно правдоподобно двигается, оставаясь при этом на месте – строго в соответствии с сутью мифа.

Фигура находится на красивом постаменте, у которого даже есть барельефы, отражающие разные периоды жизни мифического героя. Для изготовления фигуры используется 475 деталей. Джейсон конструировал своего «Сизифа» при помощи специального ПО, поэтому на сайте имеется как список деталей, так и сгенерированная в красивом виде подробная инструкция по самостоятельному изготовлению скульптуры.


Ролик о скульптуре и подробное пояснение схемы работы
Читать дальше →
Total votes 35: ↑33 and ↓2 +31
Comments 4

Как научиться делать игры: полезные ресурсы

Reading time 9 min
Views 110K
Когда я начинал строить свою карьеру в игровой индустрии шесть лет назад, то часто задавался вопросами по геймдеву. Начиная от поиска общего понимания того, как разрабатываются и оперируются онлайн-игры, до частных вопросов типа того, как лучше рекламировать конкретную игру. Тогда было мало структурированной информации по созданию и продвижению игр, новичку разобраться и найти ответы было исключительно сложно. Практически единственным источником информации был собственный опыт и консультации более опытных коллег. Сейчас ситуация кардинально изменилась. Информации по игровой индустрии настолько много, что рискуешь в ней просто утонуть. Для того, чтобы упростить процесс получения нужных мне знаний, я структурировал и делал себе пометки по всем источникам информации о геймдеве. Далее в статье предлагаю всю эту информацию в удобной форме для общего пользования.

image
Читать дальше →
Total votes 52: ↑49 and ↓3 +46
Comments 52

Несколько интересностей и полезностей для веб-разработчика #43

Reading time 5 min
Views 40K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Ramjet


image
Нереально крутой скрипт, который производит морфинг DOM элементов. Выглядит потрясающе! Работает с HTML и SVG элементами, а также с изображениями. Ramjet содержит в себе базовую коллекцию функций анимации и максимально прост в использовании:
<div id='a' style='background-color: red; font-size: 4em; padding: 1em;'>a</div>
<div id='b' style='background-color: blue; font-size: 4em; padding: 1em;'>b</div>

<script src='ramjet.js'></script>
<script>
    // to repeat, run this from the console!
    ramjet.transform( a, b );
</script>

Читать дальше →
Total votes 54: ↑49 and ↓5 +44
Comments 3

Делаем HTML5-квест: создаём персонажа и базовую анимацию

Reading time 6 min
Views 23K


Мы продолжаем рассказывать о разработке первой игры для нашей образовательной платформы Learzing — это будет квест, помогающий в изучении английских идиом. Сегодня расскажем о создании персонажа и его анимации в форме пошагового руководства.
Читать дальше →
Total votes 22: ↑18 and ↓4 +14
Comments 5

Читаем электронные книги на английском без словарей и переводчиков

Reading time 3 min
Views 98K
1. Интро. Личное



Я готовлюсь к языковому экзамену IELTS (International English Language Testing System) — пожалуй, самому популярному
тесту на знание английского. Если хочется эмигрировать, найти работу в международной компании — диплом IELTS очень пригодится. Шкала оценок — от 0 (от испытуемого не удалось получить даже внятного мычания) до 9 (экcперт — испытуемый чертовски хорош и может устроиться даже редактором лондонской газеты).

Для учебы, например, в США, нужно не менее 6.5 баллов (бывает и 6, но не часто), для работы — 7 и выше. А для эмиграции, допустим, в Канаду — чем выше оценка, тем лучше. Мой прогнозируемый балл перед сдачей теста — 5.5. Значит, что я могу читать газеты, смотреть кино, вести беседы в знакомых ситуациях, писать ответы на письма. Но для работы в центральном офисе Гугла явно недостаточно.

Что же делать, чтобы подтянуть уровень языка? Конечно же, начать использовать его в своей жизни как можно чаще и больше. Например, читать книги на английском.
Далее
Total votes 90: ↑88 and ↓2 +86
Comments 109

Создание скелетной анимации в Spriter

Reading time 3 min
Views 39K


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

Сегодня мы поработаем в редакторе скелетной анимации Spriter. На готовом примере рассмотрим достоинства этого вида анимации, отличия от классической спрайтовой и расскажем про перспективы ее использования в HTML5-играх.
Читать дальше →
Total votes 13: ↑12 and ↓1 +11
Comments 8

В поисках справедливости: Очевидные принципы мотивации профессионалов, которые не сразу пришли в голову

Reading time 14 min
Views 29K


Привет, Мегамозг!

Сегодня мы хотели бы поделиться текстом Михаила Завилейского, генерального директора DataArt и автора другой замечательной статьи о менеджменте. Надеемся, вам понравится!

Disclaimer и благодарности

Хочется поделиться множеством мыслей, которые стали моими существенно позднее, чем мне хотелось бы и не пришли в мою голову «сами по себе». Просто довелось нечто услышать, увидеть, прочитать или получить совет, и в голове что-то «встало на место». Я бы хотел сказать спасибо всем поимённо, но не могу — помню только книжки Дэвида Майстера, пересказы семинаров Михаила Гринфельда и еще лица полудюжины умнейших людей, чьи имена я забыл… А скольких уже совсем не помню, но всё равно — всем спасибо! И вдруг еще кому-то пригодятся ваши идеи.
Читать дальше →
Total votes 27: ↑22 and ↓5 +17
Comments 4

Новый adware встраивается непосредственно в браузер

Reading time 3 min
Views 88K

Появился новый вид adware, который встраивается в сам браузер.


Очередной компьютер с жалобой на рекламу в браузере — как обычно по словам пользователя ничего не запускалось, но факт налицо — реклама вылазит почти на каждом сайте из всех щелей и подменяются поисковые запросы. Обычно большинство подобных проблем решаются сразу же за пять минут с помощью AntiSMS, затем проверяется журнал работы программы и при необходимости подчищаются хвосты вроде сторонних расширений в браузерах, но не в этом случае. Сходу не помогло ничего из обычных средств, даже антивирусы не видели в системе никаких проблем, а потому стало интересно — откуда же берётся реклама?
Читать дальше →
Total votes 53: ↑53 and ↓0 +53
Comments 45

Вы неправильно пишете животных

Reading time 5 min
Views 357K
Животные – это платформы с очень ограниченной памятью, вычислительными способностями и возможностями модификаций. Разработчикам энимал-сцены приходится выдавать практически гениальные низкоуровневые алгоритмы. Правда, большое количество хардкода вызывает характерные проблемы с отсутствием проверки в экзотических условиях. Та же фильтрация входных данных делается очень и очень криво.


Уязвимость рекурсивных алгоритмов навигации муравья: спираль смерти

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

Но пойдём далее. Я не знаю, кто разрабатывал архитектуру ящериц, но они бегают в одном процессе, а дышат в другом. При этом платформа не поддерживает многозадачность, поэтому костыль с максимальной длиной бега в 4-6 секунд просто эпичен.
Читать дальше →
Total votes 442: ↑438 and ↓4 +434
Comments 350

Цифровая археология: как спасают давно утерянные данные

Reading time 10 min
Views 32K


Чертежи позабытых процессоров, исходные коды легендарных игр, неизвестные произведения искусства, — чего только не находят в архивах любители старины. Их задача — восстановить, надёжно сохранить и каталогизировать.

Может показаться, что мы живём в век, когда информация практически не способна потеряться: что однажды было оцифровано или создано на компьютере, будет, имей оно хоть какую-то ценность, тиражироваться и вечно кочевать с одного цифрового носителя на другой. Это, к сожалению, не совсем так: стандарты и форматы меняются с поразительной скоростью, а носители информации (в особенности — магнитные диски) имеют крайне ограниченный срок службы. «Цифровая археология» — то есть извлечение данных со старых носителей и перекодирование в современные форматы становится всё более актуальной дисциплиной. В этой области существуют специалисты, и раз за разом появляются истории о том, как они героически извлекли из цифровых руин нечто, имеющее неоспоримую ценность.
Читать дальше →
Total votes 61: ↑60 and ↓1 +59
Comments 11

Простые догмы при работе с цветом в интерфейсах

Reading time 5 min
Views 110K
image

Привет, username!

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

Читать дальше →
Total votes 149: ↑131 and ↓18 +113
Comments 128

Вы тоже можете стать жертвой паралича разработчика

Reading time 3 min
Views 93K
Дорогие разработчики, вы чувствуете себя неуютно, потому что вы быстро пишете только на восьми языках для трех семейств устройств? Вздрагиваете ли вы, едва заслышав о переходе на очередной фреймворк? Откладывали ли вы любимый проект из-за того, что не могли определить, какая облачная платформа подойдет лучше всего?
Возможно, у вас тоже паралич разработчика. Бойтесь! Это не лечится.

Богатство доступных программистам опций сегодня просто чудовищно. Мы задохнулись под тем, что извергает рог изобилия. Последние несколько лет я зарабатывал на том, что писал на Java, Objective-C, C, C++, Python, Ruby, JavaScript, PHP (прошу прощения) с разными вариантами SQL/баз данных (MySQL, PostgreSQL, MongoDB, BigTable, Redis, Memcached и другими). Нравится ли это мне? Черт побери, нет. По большей части я просто чувствую вину за то, что не делал ничего на Erlang, Clojure, Rust, Go, C#, Scala, Haskell, Julia, Scheme, Swift или OCaml.
image

Я — жертва паралича разработчика: чувства ущербности из-за того, что индустрия софта развивается быстрее, чем может успеть один человек.
Читать дальше →
Total votes 201: ↑168 and ↓33 +135
Comments 149
1

Information

Rating
Does not participate
Location
Пермский край, Россия
Registered
Activity