Pull to refresh
54
0
Антон Медведев @Elfet

Программист

Send message

Энтузиасты построили модель Солнечной системы в масштабе 1:847 638 000 в пустыне Невады

Reading time2 min
Views28K


Двое молодых людей — кинематографисты Алекс Горош(Alex Gorosh) и Уайли Оверстрит (Wylie Overstreet) — основой для своего короткого фильма To Scale: The Solar System решили сделать модель Солнечной системы, масштаб которой дал бы почувствовать человеку всю глубину космоса и значительность расстояний даже до ближайших планет. Они задумали построить свою модель в пустыне Блэк-Рок в штате Невада, строго соблюдая принятый масштаб 1:847 638 000 и размеры планет, роль которых играли стеклянные шарики с LED-подсветкой. Расположив «Солнце» в условном центре, они вычислили «орбиту» самой дальней планеты — Нептуна — радиус которой оказался равен в принятой системе координат 5.6 км.
Узнать подробности
Total votes 34: ↑33 and ↓1+32
Comments10

PostgreSQL: Приемы на продакшене

Reading time9 min
Views90K
Можно прочитать много книг по базам данных, написать кучу приложений на аутсорс или для себя. Но при этом невозможно не наступить на грабли, при работе с действительно большими базами/таблицами особенно, когда downtime на большом проекте хочется свести к минимуму, а еще лучше совсем избежать. Вот здесь самые простые операции, как например изменение структуры таблицы может стать более сложной задачей. Наиболее интересные случаи, проблемы, грабли и их решения из личного опыта с которыми нам на проекте Pushwoosh пришлось столкнуться описаны под катом. В статье нет красивых картинок, зато есть много сухого текста.

image
Читать дальше →
Total votes 75: ↑70 and ↓5+65
Comments18

Неочевидные проблемы с быстродействием в Doctrine, связанные с гидрацией объектов

Reading time2 min
Views11K
Недавно я реализовал функции API в проекте с бэк-эндом Symfony2, использущем Doctrine в качестве ORM.

И, как это иногда бывает, скороость отрабатывания не вполне меня устроила. На несложный запрос ответ генерировался аж 7,2 сек.



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

Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments11

Статический анализ кода в PHP: регулярные выражения

Reading time3 min
Views14K
Продолжая развивать тему статического анализа, который в общем случае занимается поиском любых дефектов в исходных кодах программ, давайте коснёмся проверки правильности регулярных выражений.

Тема регулярных выражений для PHP довольно щекотлива (примерно как манипулирование массивами), поэтому я вкратце напомню, с чем мы имеем дело.

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

Итак, давайте посмотрим, на примере многим знакомых ZF2 и Symfony2, какие из упомянутых проблем можно найти с помощью статического анализа.
Читать дальше →
Total votes 24: ↑20 and ↓4+16
Comments21

Оптическая компенсация

Reading time3 min
Views76K


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

Такой подход казался мне логичным, но он оказался неверным.

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

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

Давайте взглянем на небольшое количество показательных примеров.
Читать дальше →
Total votes 66: ↑63 and ↓3+60
Comments29

Уолтер Левин — Во имя физики

Reading time1 min
Views20K


16 мая 2011 года Уолтер Левин, заслуженный профессор MIT в отставке, вернулся в свой старый лекционный зал, чтобы провести последнюю лекцию, которая была приурочена к публикации его новой книги «FOR THE LOVE OF PHYSICS: From the End of the Rainbow to the Edge Of Time — A Journey Through the Wonders of Physics», написанной совместно с Уорреном Гольдштейном.

«Эта книга раскрывает перед нами незаурядный интеллект Уолтера Левина, его страсть к физике и блестящий навык преподавания. Надеюсь, благодаря ей еще больше людей узнает об этом потрясающем преподавателе и учёном».

— Билл Гейтс


Оригинальное видео

P.S. В комментариях вы можете предложить интересное видео на перевод и озвучивание.
Total votes 27: ↑27 and ↓0+27
Comments12

Простое суффиксное дерево

Reading time12 min
Views75K
ДеревоСуффиксное дерево – мощная структура, позволяющая неожиданно эффективно решать мириады сложных поисковых задач на неструктурированных массивах данных. К сожалению, известные алгоритмы построения суффиксного дерева (главным образом алгоритм, предложенный Эско Укконеном (Esko Ukkonen)) достаточно сложны для понимания и трудоёмки в реализации. Лишь относительно недавно, в 2011 году, стараниями Дэни Бреслауэра (Dany Breslauer) и Джузеппе Италиано (Giuseppe Italiano) был придуман сравнительно несложный метод построения, который фактически является упрощённым вариантом алгоритма Питера Вейнера (Peter Weiner) – человека, придумавшего суффиксные деревья в 1973 году. Если вы не знаете, что такое суффиксное дерево или всегда его боялись, то это ваш шанс изучить его и заодно овладеть относительно простым способом построения.
Читать дальше →
Total votes 41: ↑40 and ↓1+39
Comments20

Обзор столов для работы сидя-стоя

Reading time6 min
Views150K
За последние 4-5 лет тема столов для работы сидя-стоя из диковинной стала обыденной, один из хабровчан даже опубликовал статью про поиск и выбор такого стола, но в статье, к сожалению, на выбор были предложены только два варианта. Зато его статья послужила поводом самому «побороздить» просторы интернета и сделать более расширенный обзор, какие вообще бывают варианты столов для работы сидя-стоя, чем они отличаются и, по возможности, сколько денег стоят.
Читать дальше →
Total votes 30: ↑26 and ↓4+22
Comments45

Преобразователь направления

Reading time1 min
Views19K
Не ускоритель частиц, а всего лишь мост.



Мост Lotus Bridge связывает Макао с остальным Китаем, и попутно меняет левостороннее движение автомобилей (Макао) на правостороннее (Китай) без остановок.
Читать дальше →
Total votes 35: ↑30 and ↓5+25
Comments41

Мифы нашего времени: генетически модифицированные организмы. Так ли страшен черт?

Reading time21 min
Views573K
Человеку давно свойственно интересоваться окружающим миром и находить объяснения тому окружающим вещам и событиям. Собственно, без этого человек не стал бы человеком. На базе верований, мифов развивалась сначала религия, а потом — и современная наука, которая уже весьма успешно объясняет окружающий мир от очень малых до впечатляющих масштабов. Но всегда оставались люди, которые противились прогрессу и распространяли устоявшиеся мифы, уверяя, что они отвечают на все вопросы и незачем двигаться дальше. Гром гремит — это Перун-громовержец злится; кто-то заболел — это Бог его наказывает, вот тебе объяснения, отстань, не задавай вопросов, а лучше помолись.
Современные мифы более глубоки и обычно связаны с наукой. Причины понятна — наука развилась (особенно в последнее время) до такой степени, что часто нужен колоссальный объем знаний, чтобы просто понять, о чем вообще идет речь. У многих людей этого объема нет или безвозвратно потерян, что и снижает их сопротивляемость к разного рода мифам нашего времени. Миф про вредность пищевых добавок Exxx; миф про полезность натурального и вредность «химии»; миф про врачей-убийц, травящих людей прививками; миф про настолько страшное ГМО, что наклейки с надписью «без ГМО» надо клеить даже на салфетки и на пачки с солью.
Картинка для привлечения внимания
Что такое ГМО? Зачем они нужны? Как велика опасность и польза от их использования? Есть ли доказательства безопасности этих организмов?
Рассуждения дилетанта на тему - под катом
Total votes 319: ↑291 and ↓28+263
Comments832

Подробно об объектах и классах в PHP

Reading time25 min
Views94K
Сегодня объекты используются очень активно, хотя это трудно было предположить после выхода PHP 5 в 2005 году. Тогда я ещё мало что знал о возможностях этого языка. Пятую версию PHP сравнивали с предыдущей, четвёртой, и главным преимуществом нового релиза стала новая, очень мощная объектная модель. И сегодня, десять лет спустя, около 90% всего PHP-кода содержит объекты, не изменившиеся со времени PHP 5.0. Это убедительно говорит о том, какую роль сыграло внедрение объектной модели, неоднократно улучшавшейся на протяжении последующих лет. В этом посте я хотел бы рассказать о том, как всё устроено «под капотом». Чтобы люди понимали суть процессов — почему сделано так, а не иначе — и лучше, полнее использовали возможности языка. Также я затрону тему использования памяти объектами, в том числе в сравнении с эквивалентными массивами (когда это возможно).

Я буду рассказывать на примере версии PHP 5.4, и описываемые мной вещи справедливы для 5.5 и 5.6, потому что устройство объектной модели там почти не претерпело изменений. Обратите внимание, что в версии 5.3 всё не так хорошо с точки зрения возможностей и общей производительности.

В PHP 7, который пока ещё активно разрабатывается, объектная модель переработана не сильно, были внесены лишь незначительные изменения. Просто потому что всё и так хорошо работает, а лучшее — враг хорошего. Были добавлены возможности, не затрагивающие ядро, но здесь об этом речи не пойдёт.
Читать дальше →
Total votes 58: ↑54 and ↓4+50
Comments15

Затмение Солнца и МКС: редкая фотография

Reading time1 min
Views25K


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

Испанская обсерватория Fregenal de la Sierra смогла сделать редкие снимки — прохождение МКС по диску Солнца. МКС прошла это расстояние всего за 0,6 секунды. Фотография получилась просто замечательной, и работники обсерватории решили поделиться изображением со всем миром.
Total votes 57: ↑55 and ↓2+53
Comments6

Поиск опечаток в проекте

Reading time1 min
Views12K
Вычитывая документацию к одной библиотеке, обнаружил более десятка опечаток. Документация увесистая и редактируют её несколько человек.

Многократно просматривать тексты на опечатки нет времени и желания, копипастить тексты в онлайн-сервисы — долго и утомительно, хотелось как-то автоматизировать процесс. В итоге появился yaspeller на основе API Яндекс.Спеллера.
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments12

Как создавать и зарабатывать на SaaS | Часть 14 | Кувырки с ценами

Reading time8 min
Views8.2K
И да, продолжаю свою серию исключительно практических постов о SaaS. Пока инженеры команды заканчивают сборку и тестирование довольно нишевого cтартапа DentalCloud позволю себе в рамках NPD (new product development) порассуждать о том, как мы подошли к вопросам а) ценообразования б) методах формирования тарифных планов для сервиса. DC мы анонсируем позже, ну и надо ли просто анонсировать его на уважаемой аудитории Хабрахабр, даже не знаю.

image
Читать дальше →
Total votes 15: ↑12 and ↓3+9
Comments0

7 советов по созданию GIF анимаций

Reading time3 min
Views215K
61563fa3ab3147239dc7777662290fbe

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

В конце концов люди начали спрашивать нас: «Как вы создаете GIF анимации?». Пришло время раскрыть секрет.
Читать дальше →
Total votes 51: ↑44 and ↓7+37
Comments23

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

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

Unheap




Огромная коллекция реально качественных и нужных jQuery плагинов, грамотно расфасованная по области применения. В Unheap 5 основных разделов UI, Inputs, Media, Nav, Other и каждый из них содержит еще с десяток подкатегорий. В общей сложности на данный момент каталог насчитывает более 1000 различных плагинов.
Читать дальше →
Total votes 45: ↑42 and ↓3+39
Comments8

Невероятные нарко-субмарины из Колумбии

Reading time3 min
Views64K
Неделю назад я познакомил вас с невероятными нарко-танками, но если вы считаете, что это был верх инженерного гения картелей, то я вас разочарую. Встречайте! Нарко-субмарины прямиком из тропической Колумбии! И если вы думаете, что это плавающие ведра — вы ошибаетесь. Кокаин, или желание его продать в США, творит чудеса.

image
Читать дальше →
Total votes 84: ↑79 and ↓5+74
Comments38

Программа вывода лабиринта в 13… нет. 10 байт!

Reading time5 min
Views44K
В прошлом, найдя интересное решение при написании демки, я тихо его использовал или же хвастался узкому кругу друзей на демосцене. Но теперь мои возможности достигнуть чего-либо на демосцене подошли к концу, а турниры по минималистскому программированию не проводятся, поэтому я решил написать в блог о своём достижении: генераторе лабиринтов объёмом всего в 13 байт машинного кода x86.

Чтобы понять суть достижения, вам надо знать о команде 10 PRINT. Это строчка кода Commodore 64 BASIC, которая при запуске создаёт бесконечный лабиринт. Конечно, её вывод – это не настоящий лабиринт, входа и выхода там нет, и полно закрытых помещений и тупиков. Но выглядит он как лабиринт. Поражает то, как простая команда выдаёт бесконечно сложный шаблон.
Читать дальше →
Total votes 84: ↑78 and ↓6+72
Comments34

Удаляем сертификаты зловредной adware от Lenovo

Reading time2 min
Views23K
Недавно было обнародовано вопиющее поведение компании Lenovo, предустанавливающей на свои ноутбуки рекламное ПО. Оно не только вставляет рекламу в страницы, но и внедряет в систему SSL-сертификат, позволяющий сканировать зашифрованный трафик. Конечно же, этот сертификат был взломан и теперь безопасность всех пользователей ноубуков Lenovo под угрозой.
Читать дальше →
Total votes 39: ↑33 and ↓6+27
Comments13

300 потрясающих бесплатных сервисов

Reading time11 min
Views1.6M


Автор оригинальной статьи Ali Mese добавил ещё 100 новых бесплатных сервисов. Все 400 потрясающих сервисов доступны здесь. И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



A. Бесплатные Веб-Сайты + Логотипы + Хостинг + Выставление Счета

  • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
  • Bootswatch: Бесплатные темы для Bootstrap.
  • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
  • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
  • Strikingly.com Domain: Конструктор веб-сайтов.
  • Logaster: Онлайн генератор логотипов и элементов фирменного стиля (new).
  • Withoomph: Мгновенное создание логотипов (англ.).
  • Hipster Logo Generator: Генератор хипстерских логотипов.
  • Squarespace Free Logo: Можно скачать бесплатную версию в маленьком разрешении.
  • Invoice to me: Бесплатный генератор счета.
  • Free Invoice Generator: Альтернативный бесплатный генератор счета.
  • Slimvoice: Невероятно простой счет.

Читать дальше →
Total votes 341: ↑325 and ↓16+309
Comments107

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity