Pull to refresh
14
0
Антон @aohorodnyk

User

Send message

Резервное копирование: Кейс Google

Reading time2 min
Views46K
Сегодня мы разберем профильную тему на основе кейса Google Tech Talks, которым поделился один из инженеров компании, а тематических журнал High Scalability проанализировал рассказ ИТ-специалиста Google.

Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments4

Подборка: 40+ полезных инструментов, ресурсов и исследований о работе с email

Reading time3 min
Views13K


В нашем блоге на Хабре мы часто пишем о создании почтовых рассылок — верстке HTML и CSS, работе с plain-text сообщениями и описываем интересные эксперименты. Сегодня мы представляем вашему вниманию подборку полезных ресурсов, туториалов и исследований на английском и русском языках, посвященных работе с email.
Читать дальше →
Total votes 10: ↑8 and ↓2+6
Comments2

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

Reading time16 min
Views718K

Рад представить дополнение оригинального списка из 300 потрясающих бесплатных сервисов. Автор оригинальной статьи Ali Mese добавил ещё +100 новых сервисов, которые помогут найти все — от источников вдохновения и редакторов фотографий до создания опросов и бесплатных иконок.

И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



A. Бесплатные веб-сайты

  • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
  • Bootswatch: Бесплатные темы для Bootstrap.
  • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
  • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
  • Strikingly: Конструктор веб-сайтов.
  • Layers: Создание сайтов на WordPress (new).
  • Bootstrap Zero: Самая большая коллекция бесплатных шаблонов Bootstrap (new).
  • Landing Harbor:  Продвижение мобильного приложения c помощью бесплатного лендинга (new).
Читать дальше →
Total votes 108: ↑89 and ↓19+70
Comments38

О профессиональных наказаниях подчиненных в интеллектуальной IT-среде

Reading time8 min
Views40K


Текст написан по мотивам выступления руководителя студии «Сибирикс» Владимира Завертайлова на летней партнерской конференции «1С-Битрикс» BitrixSummerFest и представляет личное мнение выступавшего.

Полное выступление Владимира можно посмотреть по ссылке.

Тема это болезненная, и говорить о ней открыто не любят. Конечно, каждому хотелось бы работать в коллективе, где никто и никого не наказывает. Увы, но теория управления пока не дает нам рецептов построения совершенно бесконфликтных коллективов, в которых все работают ответственно и с полной самоотдачей, не проявляя никаких пороков в рабочее время, где начальники сплошь тактичны и мудры. Впервые о проблематике наказаний я задумался несколько лет назад, сидя в офисе часов в 12 ночи. В тот момент я, будучи директором компании, выполнял обязанности программиста. Я отлаживал код, написанный сотрудником, который всё бросил, не дописал и ушел домой. В скайп стучится заказчик, пишет грозные слова, «срочно, всё пропало», давит и торопит меня. А в таких ситуациях у меня начинает болеть спина. И я сидел и думал, а что для программиста означает «нести ответственность за проект»?

Скажем, я, как директор, за срыв проекта огребаю по полной, в первую очередь — финансово. Ведь вся ответственность за работу компании лежит на директоре. А как быть с программистом или дизайнером?
Читать дальше →
Total votes 75: ↑37 and ↓38-1
Comments109

Безопасная авторизация с PHPixie 3

Reading time6 min
Views9.2K
image
Сегодня вышел самый долгожданный компонент PHPixie 3 — Auth для авторизации пользователей. Авторизация это наиболее критическая часть любого приложения, сделать ее правильно трудно, а ошибки могут скомпрометировать множество пользователей, особенно если речь идет об оупенсорсе. Использование устарелых hash-функций, криптографически небезопасных генераторов случайных чисел, неправильная работа с кукисами встречаются слишком часто. Я уже когда-то писал о старой уязвимости в Laravel, которую кстати полностью так не исправили. Поэтому в PHPixie Auth я очень внимательно отнёсся к аутентификации, особенно к долгим сессиям и кукисам.

Кстати в конце статьи у меня для вас есть очень радостная новость (спойлер: PHPixie теперь член PHP-FIG)
Читать дальше →
Total votes 18: ↑14 and ↓4+10
Comments22

Шпаргалка Java программиста 2: Триста пятьдесят самых популярных не мобильных Java opensource проектов на github

Reading time39 min
Views167K
Что это и зачем оно надо: Как известно, главное преимущество Java мира в том в нем существует огромное количество open-source проектов на на все случаи жизни, однако найти нужный на github'e не так просто, так как описание проекта часто мало информативно, зачастую сложно даже понять этот проект для Android'a или нет. В этой статье я автоматически и полуавтоматически собрал Java проекты, убрал старые и проекты только для Android'a, выбрал 350 набравших больше всего звезд, разделил по категориям и перевел описания.

Если вы хотите убедиться что базы данных пишут не только на C, найти проекты для работы с большими данными или нейронными сетями, пишите свой язык программирования для JVM и хотите посмотреть как это уже сделано или же просто хотите узнать какие новые возможности можно найти в Java мире open-source то это статья вам, думаю, может пригодится.

В чем смысл серии статей 'Шпаргалки Java программиста'
За время работы Java программистом я заметил, что как правило программисты постоянно и планомерно используют от силы 10-20% от возможностей той или иной технологии, при этом остальные возможности быстро забываются и при появлении новых требований, переходе на новую работу или подготовке к техническому интервью приходится перечитывать все документации и спецификации с нуля. Зато наличие краткого конспекта особенностей тех или иных технологий (шпаргалок) позволяет быстро освежить в памяти особенности той или иной технологии.


Другие статьи серии: часть 1. JPA и Hibernate в вопросах и ответах

Update: Внимание, актуальная версия со много большим количеством ссылок, находиться теперь в моем github'e проекте useful-java-links, по этой ссылке.


Читать дальше →
Total votes 51: ↑43 and ↓8+35
Comments49

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

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

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

Релиз Phalcon 2.1.0 beta 1

Reading time6 min
Views7.9K
Мы рады представить вам первый бета-релиз Phalcon 2.1!

Релизы 2.1.x будут поддерживаться в течении более длительного периода, 2.1 будет нашей первой версией с долгострочной поддержкой (LTS).

В 2.0.x мы ввели несколько новых фич и поправили множество багов. Однако, наше внимание всегда было обращено на сохранение обратной совместимости с Phalcon 1.3.x, в то же время мы стимулировали разработчиков обновляться до 2.0.x. Это дало достаточно времени разработчикам на внесение изменений в свои приложения для работы с новой веткой.

Phalcon 2.1 предоставляет новые возможности, некоторые из которых несовместимы с предыдущими версиями, поэтому убедитесь, что вы проверили свои приложения перед обновлением production-систем.

Мы уверены, что изменения в этом релизе оправдают обновление :)
Читать дальше →
Total votes 16: ↑14 and ↓2+12
Comments0

Мой подход к настройке экономики игры: электронные таблицы

Reading time7 min
Views26K
Этот пост был написан в ответ на предложение Бренды Ромеро и Яна Шрайбера о том, чтобы разработчики поделились своими любимым методами работы в Excel.

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


Читать дальше →
Total votes 22: ↑19 and ↓3+16
Comments7

Сравниваем Nim и Rust

Reading time10 min
Views34K
Предлагаю читателям «Хабрахабра» перевод статьи «A Quick Comparison of Nim vs. Rust». Мои замечания будут выделены курсивом.

Rust и Nim — два новых языка программирования за развитием которых я слежу. Вскоре, после моего первого поста о Rust, вышел в свет Nim 0.10.2. Это побудило меня поближе познакомиться с Nim и, естественно, сравнить его с Rust.

В этом посте я собираюсь показать вам две простых программы написанных на Nim и Rust с грубым сравнением их времени выполнения и выскажу мои субъективные впечатления от программирования на этих языках.

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

Как бороться с OutOfMemoryError на практике, или ох уж мне эти базы данных

Reading time17 min
Views73K
Приветствую, Хабр!
Немного лирики
Сегодня, 2015-03-21, я решил сделать пол-дела, и всё-таки начать писать статью о том, как же всё-таки начать понимать, что же делать с OOM, да и вообще научиться ковырять heap-dump'ы (буду называть их просто дампами, для простоты речи. Также я постараюсь избегать англицизмов, где это возможно).
Задуманный мной объём «работ» по написанию этой статьи кажется мне не однодневным, а посему статья должна появиться лишь через пару недель спустя день.

В этой статье я постараюсь разжевать, что делать с дампами в Java, как понять причину или приблизиться к причине возникновения OOM, посмотреть на инструменты для анализа дампов, инструмент (один, да) для мониторинга хипа, и вообще вникнуть в это дело для общего развития. Исследуются такие инструменты, как JVisualVM (рассмотрю некоторые плагины к нему и OQL Console), Eclipse Memory Analyzing Tool.
Очень много понаписал, но надеюсь, что всё только по делу :)
Читать дальше →
Total votes 50: ↑49 and ↓1+48
Comments31

Как REST-архитектура влияет на скорость и надежность работы сайта

Reading time3 min
Views48K
В основе REST-архитектуры лежит несколько важных базовых принципов, которые часто упускаются из вида начинающими программистами. Между тем, эти принципы имеют критическое значение для скорости и надежности работы веб-сайта. В некотором смысле REST — это архитектура, концентрирующаяся на совместимости и эффективном взаимодействии с другими узлами сети и клиентским ПО. Для них веб-сайт — черный ящик, реализующий HTTP интерфейс.

Унифицированный программный интерфейс


Ключевой момент: совместимость с HTTP-методами в плане безопасности и идемпотентности.

Безопасный запрос — это запрос, который не меняет состояние приложения.

Идемпотентный запрос — это запрос, эффект которого от многократного выполнения равен эффекту от однократного выполнения.
Читать дальше →
Total votes 29: ↑22 and ↓7+15
Comments31

Дизайн блога: какой он должен быть

Reading time5 min
Views52K


Предлагаю перевод статьи How To Desing Blogs за авторством Ezequiel Bruni.

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

Для людей, у которых есть собственные блоги, преимущества очевидны:
  1. Гибкий формат. Полная свобода, чтобы обсудить различные темы. Даже если блог имеет центральную тему, они могут время от времени отрываться от нее, чтобы исследовать другие идеи, которые их интересуют;
  2. Записи могут быть как короткими, так и длинными, как вам нравится;
  3. Записи не обязательно должны содержать текст. Видео и фото блоги могут быть привлекательными и популярными;
  4. Блоги можно использовать для становления кого-то в качестве эксперта в своей области, тем самым увеличивая возможности для бизнеса;
  5. Блоги невероятно легко создавать благодаря таким сервисам, как WordPress.com, Blogger и так далее.

Читать дальше →
Total votes 20: ↑14 and ↓6+8
Comments2

Всё о версиях Windows 8.1 и о том, как легально загрузить последний образ без подписки

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

Недавно я писал о том, как можно совершенно легально загрузить самый последний Microsoft Office с сайта Microsoft — как корпоративную версию, так и коробочную Retail — любые языки и продукты, со всеми интегрированными обновлениями. Сегодня я расскажу, как сделать то же самое и с операционной системой — средствами предоставляемыми самой Microsoft.

Но для начала я хочу рассказать о версиях Windows 8.1. Не об изданиях — этого добра в сети много, а именно о публичных версиях сборок ОС. Ведь для любого администратора удобно загрузить образ со всеми интегрированными обновлениями, чем устанавливать сотню самостоятельно. Причём загрузить образ с сайта Microsoft, а не самодельную сборку с торрентов. Всё что я буду рассказывать о версиях ОС Windows 8.1 применимо и к Windows Server 2012 R2, за исключением канала для бесплатной загрузки образов для переустановки ОС. Но давайте всё по порядку.
Читать дальше →
Total votes 75: ↑71 and ↓4+67
Comments60

Настройка современного Puppet сервера с нуля

Reading time9 min
Views64K
Недавно я переосмыслил процедуру установки нового сервера Puppet с нуля на Ubuntu 12.04, включая все современные свистелки и перделки. В итоге у меня получился этот гайд.

Для начала нам потребуется чистая Ubuntu c работающей сетью и настроенным DNS.

В итоге мы должны получить:
  • Установленый везде Puppet 3-й версии
  • Конфиги в git репозитории с общим доступом
  • Динамические окружения, управляемые r10k
  • Поддержку PuppetDB
  • Поддержку Hiera


Данное руководство довольно длинное, т.к. все настройки делаются вручную, чтобы впоследствии легко можно было пользоваться результатом и подстраивать его под себя. Единственным исключением является PuppetDB, который проще установливать через собственный модуль от Puppet Labs, а не вручную.

Предполагается, что все команды будут выполнены от пользователя root на сервере Puppet, если не указано иное.
Читать дальше →
Total votes 33: ↑30 and ↓3+27
Comments15

Время против памяти на примере хеш-таблиц на Java

Reading time3 min
Views18K
Эта статья иллюстрирует т. н. компромисс скорости и памяти — правило, которое выполняется во многих областях CS, — на примере разных реализаций хеш-таблиц на Java. Чем больше памяти занимает хеш-таблица, тем быстрее выполняются операции над ней (например, взятие значения по ключу).

Читать дальше →
Total votes 31: ↑27 and ↓4+23
Comments28

Что должен делать стартап, чтобы выжить?

Reading time8 min
Views25K
В прошлом материале блога мы рассказывали о проекте SHOPPILOT (История проекта SHOPPILOT: От факапа до стартапа). С ними мы познакомились будучи в Акселераторе ФРИИ. На этот раз хотим поделиться теми знаниями, которые дает процесс обучения в акселераторах. Расскажем о том, как за 3 дня нам дали азы стартаперства на программе Web Ready GenerationS 2014, которая проходила на базе ФРИИ. Из данной статьи можно узнать, какие стадии проходит стартап, прежде чем превратиться в бизнес, как лучше прописать бизнес-модель проекта для привлечения инвестиций и несколько лайфхаков, которые помогут стартапу выжить. Сначала заставим немного «поскучать» над теорией, а затем «развеселим» реальными кейсами.

В первый день обучения директор акселерационных и образовательных программ ФРИИ Дмитрий Калаев рассказал о том, как стартапу просчитать для инвестора сумму необходимых инвестиций, что делать, если у проекта сложная бизнес-модель, а также остановился на других полезных для начинающего предпринимателя вещах, подкрепляя теоретическую часть практическими кейсами проектов Акселератора ФРИИ.
Читать дальше →
Total votes 28: ↑17 and ↓11+6
Comments6

Меняем Java на Scala. Базовое приложение

Reading time16 min
Views33K
Здравствуй, Хабр.

Лето на дворе, скоро отпуск и появилось немного свободного времени поделиться наработками, каким-то опытом по написанию Web приложений на Java платформе. Как основной язык я буду использовать Scala. Это будет похоже на небольшой гайд, как человеку с опытом Java постепенно начать использовать Scala и не отказываться от уже имеющихся у него наработок.

Это первая часть из серии статей, в которой мы уделим внимание базовой структуре приложения. Ориентирована на людей знающих Java, работавших со Spring, Hibernate, JPA, JSP и другими 3-4ех буквенными сокращениями. Я попытаюсь рассказать как максимально быстро и безболезненно начать использовать Scala в ваших проектах и по-другому проектировать ваше новое приложение. Все это будет вокруг проекта, который должен выполнять ряд требований:
1. Приложение полностью закрыто, работаем только после авторизации
2. Наличие удобного API (REST мы забудем (он уже история) и напишем что-то вроде Google AdWords API, со своим SQL like запросником)
3. Возможность запуска на сервере приложений так и без него
4. i18n
5. Миграция БД
6. Среда для разработки должна разворачиваться через Vagrant
7. И, по мелочи, логирование, развертывание…

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

Читать дальше →
Total votes 36: ↑27 and ↓9+18
Comments14

10 полезных советов: Под каким соусом собирать контакты посетителей сайта

Reading time7 min
Views6.6K

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

В данном материале мы аккумулировали опыт наших клиентов и некоторых игроков рынка. Опыт наш базируется на длительной практике в маркетинге и на работе с клиентами нашего сервиса Witget, который помогает владельцам сайтов и маркетологам, собирать контакты посетителей сайта.
Читать дальше →
Total votes 41: ↑7 and ↓34-27
Comments13

Динамическое добавление свойств в языке Java

Reading time3 min
Views11K
Disclaimer

Инструмент родился как способ побороть недочеты проектирования малой кровью. Я с трудом могу представить ситуацию, где использование инструмента могло бы быть продиктовано иными причинами.
Читать дальше →
Total votes 11: ↑8 and ↓3+5
Comments4
1

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity