Pull to refresh
0
0
Евгений @SJack

User

Send message

7 правил создания красивых интерфейсов. Часть 2

Reading time9 min
Views104K


Недавно мы в «Я люблю ИП» закончили курсы по дизайну от trydesignlab.com. И это одна из самых важных статей, которую нам посоветовал ментор в процессе обучения. Сегодня мы публикуем вторую часть перевода. Посмотреть все наши работы с курсов можно в ВКонтакте по тэгу #design101@iloveip.

Мы говорили о правилах создания чистых и красивых интерфейсов.

Вот эти правила:
  1. Свет падает сверху (Часть 1)
  2. Сначала черное и белое (Часть 1)
  3. Увеличьте белое пространство (Часть 1)
  4. Научитесь накладывать текст на изображения
  5. Научитесь выделять и утапливать текст
  6. Используйте только хорошие шрифты
  7. Крадите как художник

Читать дальше →
Total votes 46: ↑44 and ↓2+42
Comments15

Наш путь через тернии к звездам. История былого величия и мечты о будущем…

Reading time9 min
Views21K
Последнее время в Сети активизировалось брожение вокруг космических изысканий. И это понятно, то там новые солнечные батареи изобрели, с удивительным КПД, то здесь микроспутники стандартизировали и Arduino в космос запустили, то то, то это. А когда Curiosity удачно примарсился и стал передавать изображения, тут уж сам Бог велел общественности взорваться в обсуждениях.
И это закономерно, назрело уже, так сказать. Больно уж много времени прошло с полета первого спутника, первого человека и высадки на луну. А воз, как говорится, и ныне там. Кардинально нового в космической отрасли ничего не произошло, никаких громких прорывов, только улучшения и улучшения… Отсюда и повышенный интерес к теме, люди чувствуют, что пришло время для новых свершений.

Далее прошу под кат, будет много эмоций и фотографий.
Читать дальше →
Total votes 94: ↑81 and ↓13+68
Comments77

3D-кинотеатр дома

Reading time15 min
Views23K
После просмотра всяческих Аватаров, Алис и прочей загадочной трехмерности, которая начала сыпаться на нас в последнее время, захотелось получить у себя дома хоть маленький, зато свой, персональный 3D кинотеатр. Как именно я действовал в достижении данной цели, что из этого получилось, и какие шишки набил по пути – об этом я и хочу рассказать в данной статье.

Для начала несколько существенных для меня предупреждений. Во-первых, статья выражает моё собственное ИМХО, которое может не совпадать с вашим; наверное, это даже хорошо, но чревато холиварами. Во-вторых, я считаю нецелесообразным скрывать названия производителей и фирм, товарами и услугами которых я пользовался при воплощении в жизнь моей мечты: стоит рассматривать бренды и ссылки не как product placement, а как необходимую составляющую часть моего обзора, ибо «сферические проекторы в вакууме» хоть и политкорректны, но не позволяют в полной мере описать полученный опыт.

Итак, приступим.
Total votes 88: ↑82 and ↓6+76
Comments64

По следам интеллекта

Reading time3 min
Views9.3K

По следам интеллекта


С момента первых попыток моделировать процессы, протекающие в человеческом мозге, наука прошла множество ступенек приближающих нас к ИИ. Но мозг человека, совершает пока что неподъемную и слабо отслеживаемую работу по непрерывной обработке потока сенсорной информации. Я попытаюсь осмысленно рассказать основные вехи эволюции искусственных нейронных сетей (ИНС).
Читать дальше →
Total votes 48: ↑39 and ↓9+30
Comments68

Обзор бесплатных и условно бесплатных VPN сервисов\анонимайзеров\прокси

Reading time2 min
Views17K
Однажды тёплым весенним вечером после прочтения очередной статьи на тему компьютерной опасности\безопасности меня посетила ничуть не странное, а вполне обоснованное желание найти способ более-менее безопасного серфинга. Мой взор был направлен в сторону SHH туннелей и VPN. Одними из главных параметров было простота использования и небольшая стоимость, а в идеале бесплатность сервиса.

С туннелями сразу как-то все сразу не заладилось. Нашел множество ссылок на сервера предоставляющие шэл эккаунт, но, к сожалению, мне они ничем не помогли: то не понятно, где форма регистрации, то еще какая проблема.
В итоге решил «завязывать».

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

Ниже я приведу список найденных мной сервисов.
Читать дальше →
Total votes 45: ↑42 and ↓3+39
Comments14

Неправильное использование атомов и трудноуловимая бага в VCL

Reading time5 min
Views22K
image

Поиск бага


Мучила меня долгое время бага, связанная с неадекватным поведением дельфийских контролов после длительного аптайма системы и интенсивной отладки. Списки переставали обновляться, кнопки нажиматься, поля ввода начинали терять фокус. И все было печально, и перезапуск IDE не помогал. Более того, после перезапуска IDE — она сама начинала так же глючить. Приходилось перезагружаться.
Сегодня меня это достало, и я принялся её искать. Надо сказать не безрезультатно.
Залогировав оконные сообщения я стал анализировать что же пошло не так.
И что же?
Total votes 68: ↑63 and ↓5+58
Comments13

Еще раз об утечке атомов и баге VCL

Reading time3 min
Views7.6K
Введение

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

В статье MrShoor описывается переполнение т.н. таблицы атомов в случае, если приложение на Delphi завершено некорректно, и некоторые атомы не удаляются. Оказывается, для переполнения таблицы атомов вовсе необязательно «убивать насильно» ваше приложение. Вполне достаточно его запустить и корректно закрыть, но много-много раз подряд.
Давайте посмотрим, как это происходит:
Читать дальше →
Total votes 27: ↑25 and ↓2+23
Comments12

Здравствуйте, я ошибка 217 и я вам ничего не скажу

Reading time10 min
Views101K
Вероятно многие встречались с таким вот «партизаном» при старте или завершении приложения:



Очень информативное сообщение, сразу понятна причина ошибки, место и способ ее решения.
Впрочем, если без шуток, что это вообще такое?
Конечно-же это исключение, но ни тип исключения, ни его описание нам не доступны — просто «Runtime error 217» и адрес, а дальше сами…

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

И тратил бы его в дальнейшем, если бы на днях со мной не связался Виктор Федоренков и не рассказал о своих мыслях по поводу ошибки за номером 217.
Читать дальше →
Total votes 137: ↑114 and ↓23+91
Comments51

STM32 и USB-HID — это просто

Reading time14 min
Views371K
На дворе 2014 год, а для связи микроконтроллеров с ПК самым популярным средством является обычный последовательный порт. С ним легко начать работать, он до примитивности прост в понимании — просто поток байт.
Однако все современные стандарты исключили COM порт из состава ПК и приходится использовать USB-UART переходники, чтобы получить доступ к своему проекту на МК. Не всегда он есть под рукой. Не всегда такой переходник работает стабильно из-за проблем с драйверами. Есть и другие недостатки.
Но каждый раз, когда заходит разговор о том, применять USB или последовательный порт, находится множество поклонников логической простоты UART. И у них есть на то основания. Однако, хорошо ведь иметь альтернативу?

Меня давно просили рассказать как организовать пакетный обмен данными между ПК и МК на примере STM32F103. Я дам готовый рабочий проект и расскажу как его адаптировать для своих нужд. А уж вы сами решите — нужно оно вам или нет.

У нас есть плата с современным недорогим микроконтроллером STM32F103C8 со встроенной аппаратной поддержкой USB, я рассказывал о ней ранее

Заставим ее работать
Total votes 103: ↑101 and ↓2+99
Comments105

Раскрываем магию MySQL или о строгости и мягкости MySQL

Reading time15 min
Views136K
Очень часто в интернете встречаюсь со статьями, в которых приводят кучу примеров с якобы странным поведением MySQL по сравнению с другими БД. Чтобы стало понятно, о чём я говорю, приведу несколько примеров:
1. Деление на ноль возвращает NULL вместо ошибки
2. Выход за диапазон допустимых значений неявно приводит число к допустимому значению, а не к ошибке и откату транзакции
3. Вставка неверного типа данных также приводит к неявному преобразованию и успешному выполнению операции
Таких примеров я могу привести огромное число, но цель статьи не сделать очередное собрание высосанных из пальца примеров, а объяснить, почему происходит то или иное действие. Вся эта мистика MySQL давно описана в документации и легко объяснима, в чём вы сможете убедиться сами, прочитав статью до конца.
Для меня эта первая статья на хабре, поэтому я старался писать дотошно подробно. Уверен, что она будет полезна всем, кто работает с MySQL. Большую помощь в написании статьи оказала подготовка к сдаче на сертификат разработчика MySQL, а точнее книга «MySQL Certification Study Guide».
Итак, мой друг, начнём!
Читать дальше →
Total votes 69: ↑66 and ↓3+63
Comments13

Свет и освещение

Reading time7 min
Views165K
Часто (в том числе и на хабре) всплывает вопрос освещения, особенно «нанотехнологиченого» светодиодного и зачастую говны священных войн «светодиод» против люминисцентных ламп начинают подбурливать. Больше года я уже собирался написать статью о свете, и оно наконец свершилось.
Из этой статьи вы узнаете почему в фотостудиях не снимают с люминесцентными лампами, почему светодиоды до сих пор не захватили мир и стоит ли ими освещать улицы. Поехали!
Читать дальше →
Total votes 302: ↑297 and ↓5+292
Comments208

Энергосберегающие лампы: как же их выбирать?

Reading time4 min
Views127K
Лампы накаливания медленно и печально уходят из повседневного быта, а на замену сгоревшим уже нельзя приобрести лампы мощнее 95Вт. Для предотвращения тёмных времён предназначены люминесцентные лампы, но выбрать хорошую лампу не так просто, особенно потому, что китайские и турецкие заводы работают в полный рост и заваливают магазины откровенным барахлом.

Если Вы хотите постичь таинство выбора лампы, которая порадует глаз и не подпортит зрение — добро пожаловать под кат.
Читать дальше →
Total votes 139: ↑114 and ↓25+89
Comments185

JavaScript в диаграммах (Часть 1)

Reading time5 min
Views1.9K
Одним из секретов эффективного JavaScript-разработчика является глубокое понимание семантики языка. В этой статье я объясню основные элементарные части языка, используя максимально простые и понятные диаграммы.
Читать дальше →
Total votes 55: ↑48 and ↓7+41
Comments18

[42]magnets — стартап за один день

Reading time3 min
Views1.7K


Все большую популярность у гиков набирает развлечение в формате One-day Project или Funky Friday. Идея состоит в том, чтобы в очень сжатые сроки разработать и зарелизить проект. Польза состоит не только в том, чтобы почувствовать себя настоящим стартапером и проверить себя и свою команду на прочность. Польза в том, что такой формат позволяет проверить работоспособность идеи и найти подводные камни до того, как вы целиком посвятите себя проекту. Кроме того, дополнительный бонус в том, что вы научитесь разбивать идею на части, выделяя Самое Главное. Ведь за сутки невозможно, да и не нужно реализовывать все задумки — нужно сконцентрироваться на основном, чтобы успеть в срок.

Для нас это был второй проект, который мы разрабатывали в таком формате. С разработкой первого мы не уложились в сроки даже близко. Нас это научило лучше оценивать свои силы и подбирать инструментарий. К реализации второй идеи мы подошли более серьезно. Заранее была проработана идея, определен минимальный функционал и подобран инструментарий. Так что накануне, в четверг, на доске был разрисован план действий, распределены роли и выбран доставщик пиццы. Одним словом, все было готово к пятнице.
Читать дальше →
Total votes 111: ↑99 and ↓12+87
Comments85

Улучшаем производительность HTML5 canvas

Reading time10 min
Views39K
В последнее время мне везет натыкаться на интересные статьи для перевода. На этот раз – статья на HTML5Rocks о производительности HTML5 canvas. Автор пишет о некоей стене, в которую упираются разработчики при создании приложений. Какое-то время назад в нее уперся и я при портировании старой-доброй игры на canvas.

К сожалению, графики в оригинале вставлены через iframe. Я мог бы сделать снимки и разместить их изображения, но сам автор позиционирует графики актуальными и такими, которые будут обновляться, потому я просто разместил на них ссылки. Приятного чтения!


image
  1. Вступление
  2. Тестирование производительности
  3. Предварительно отрисовывайте в виртуальный canvas
  4. Группируйте вызовы
  5. Избегайте ненужных изменений состояния
  6. Отрисовывайте только разницу, а не весь холст
  7. Используйте многослойных canvas для сложных сцен
  8. Избегайте shadowBlur
  9. Различные способы очистить экран
  10. Избегайте нецелых координат
  11. Оптимизируйте анимации с помощью 'requestAnimationFrame'
  12. Большинство мобильных реализаций canvas – медленные
  13. Заключение
  14. Ссылки



Вступление


HTML5 canvas, который начинался, как эксперимент компании Apple, – наиболее широко распространенный стандарт для 2D режима непосредственной графики в интернет. Многие разработчики использую его в широком круге мультимедиа проектов, визуализаций и игр. Как бы то ни было, с ростом сложности приложений, разработчики нечаянно натыкаются на стену производительности.
Читать дальше →
Total votes 116: ↑113 and ↓3+110
Comments42

Эффективная обработка фотографий в Gimp

Reading time2 min
Views46K
Прочитав недавно на Хабре статью по обработке фотографий в Photoshop, захотелось рассказать, как можно cделать практически то же самое без использования таких монстров, как Photoshop, и без перезагрузок в windows.
Читать дальше →
Total votes 131: ↑116 and ↓15+101
Comments107

Оценка вредоносности файлов с помощью песочниц: Часть 1. Онлайн-сервисы

Reading time6 min
Views31K
В практике исследования исполняемых файлов с возможным вредоносным функционалом имеется богатый арсенал инструментария — от статического анализа с дизассемблированием до динамического анализа с отладчиками. В настоящем обзоре я не буду пытаться дать информацию по всем возможным приёмам, поскольку они требуют некоторых специфических знаний, однако я хотел бы вооружить неискушённого пользователя набором приёмов, которые позволяют довольно быстро провести анализ неизвестного файла.

Итак, ситуация: у нас есть странный файл с подозрением на вредоносность, при этом существующий мультисканеры типа VirusTotal не дают никакой информации. Что же делать?
Читать дальше →
Total votes 89: ↑86 and ↓3+83
Comments20

Горячие клавиши в шелле

Reading time3 min
Views113K
Посвящается B_dot, пост которого заставил заинтересоваться возможностями консоли плотнее.
cat /dev/cheat-sheet >> /dev/head

Краткое вступление


В этом посте будет рассказано о некоторых сочетания клавиш, которые могут упросить жизнь администраторам, работающим в консоли. Все они работают в bash'e. Сочетания клавиш я дополнительно проверял на циске (Cisco IOS Software, s72033_rp Software (s72033_rp-ADVIPSERVICESK9_WAN-M), Version 12.2(33)SXH4), csh и zsh. Рассмотренное в других записях повторять особо не буду. Сочетания сгруппированы по использованной функциональной клавише.
Особенно полезен этот текст будет людям, которые любят использовать клавиши Home, End и Delete (которые в цисковой консоли «не работают»).
Читать дальше →
Total votes 150: ↑145 and ↓5+140
Comments59

pv — маленькая, но очень полезная утилита

Reading time2 min
Views80K
Один мой друг сказал по поводу pv следующее «Я админю семь лет, мне нужна была эта тулза десятки раз, а я даже не знал что она существует». В размышлениях над тем как заполучить инвайт на Харбе, я набрал в поиске pv. И ничего не нашел.
Читать дальше →
Total votes 290: ↑280 and ↓10+270
Comments94

Что интересного нам расскажет EXPLAIN EXTENDED?

Reading time6 min
Views13K
Большинство разработчиков на MySQL знакомы с командой EXPLAIN, однако значительно меньше людей знают о команде EXPLAIN EXTENDED, появившуюся ещё в MySQL 4.1, и ещё меньше умеют ею пользоваться.

EXPLAIN EXTENDED умеет показывать, что же конкретно делает с Вашим запросом оптимизатор MySQL. Для разработчика может быть совсем не очевидно, насколько сильно может отличаться написанный им запрос от того, который в действительности будет выполнен сервером. Этот процесс называется механизмом перезаписи запросов (query-rewrite), и он является частью любого хорошего SQL-оптимизатора. Команда EXPLAIN EXTENDED добавляет дополнительные предупреждения (warnings) к выводу команды EXPLAIN, в том числе и переписанный SQL-запрос.
Читать дальше →
Total votes 63: ↑60 and ↓3+57
Comments29
1

Information

Rating
Does not participate
Location
Тернополь, Тернопольская обл., Украина
Registered
Activity