Как стать автором
Обновить
2
0

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

Отправить сообщение

Как построить систему найма, когда ее у вас нет и еще и удешевить

Уровень сложности Простой
Время на прочтение 16 мин
Количество просмотров 1.8K

Видели ли вы глаза HRD, когда ему говорят, что надо вырасти в два раза за полгода? В компании 200 разработчиков, а через полгода должно быть 400. А Артур Дементьев видел.

Артур — не HR. Он не будет говорить про корпоративный дух, как правильно писать вакансии и делиться пошаговым планом «Как построить систему найма за две копейки и 7 дней». Артур опишет несколько историй и поделится несколькими советами, над которыми можно задуматься. Например, о том, как можно не нанимать людей и уже на этом сэкономить.

Читать далее
Всего голосов 11: ↑10 и ↓1 +9
Комментарии 3

Чтение на выходные: «Взломать всё. Как сильные мира сего используют уязвимость систем в своих интересах» Брюса Шнайера

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 5.3K

Брюс Шнайер — эксперт по кибербезопасности и преподаватель Гарварда.

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

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Комментарии 4

Как я случайно сэкономил компании полмиллиона долларов

Время на прочтение 7 мин
Количество просмотров 66K

Разработчик под ником Ludic*, автор технического блога Ludicity, сэкономил своей компании полмиллиона долларов за пять минут. Это больше, чем он заработал для работодателей за всю его карьеру, поскольку сфера деятельности, о которой далее пойдёт речь, — обман. Он всего лишь нажал на пять кнопок.

Под катом Ludic рассказывает, как так получилось, и почему ему обидно, что произошедшая ситуация возможна в принципе.

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.

Читать далее
Всего голосов 109: ↑103 и ↓6 +97
Комментарии 107

Конструктор базы для браузерной стратегии в духе Dune 2/2000 на Three.js, Vue3 + TS

Время на прочтение 11 мин
Количество просмотров 5K

Самой успешной моей статьей для сообщества был подробный отчет о разработке браузерного FPS. Судя по статистике в базе данных — неожиданно огромное количество людей зашло и попробовало сыграть, я получал заинтересованные вопросы в личку и так далее. В дальнейшем, я предпринял еще одну попытку крафтового браузерного геймдева «на javascript», и попробовал создать конструктор для стратегии в духе культовой Dune из детства. В какой-то момент я уперся в неудовлетворительную производительность получающейся разработки, заскучал и уже почти год как забросил это дело. Но у меня вполне получилось построить работающий полноценный контрол, сейчас можно возводить и демонтировать здания. Поэтому хочу, прежде всего, поставить точку для себя самого, немного рассказав и о данной затее — возможно, для кого-то окажутся полезными мои усилия, изыскания. Статья не будет такой объемной, дотошной и разнообразной как первая о создании действительно полноценного шутера, зато сам код репозитория, кажется, немного интереснее, так как использует более актуальный стек из Vue3 и TypeScript. Во многом, эта разработка продолжает идеи и методы первой, с тем отличием, что мы пилим стратегию, а не шутер от первого лица. Я совсем не буду повторять то что было уже пройдено и рассмотрено на первом примере, бегло покажу только «новые фичи».

Читать далее
Всего голосов 12: ↑11 и ↓1 +10
Комментарии 1

«Весь» HR в IT на одной схеме

Время на прочтение 6 мин
Количество просмотров 42K
Как-то раз, наткнувшись на схему развития областей знаний тимлида, подумала, что это прекрасный способ систематизации и для HR в IT. Теперь хочу поделиться тем, что у меня получилось со всеми, кто знает эту область компетенций пятнами и без особой систематизации:



На верхнем уровне у меня получилось 10 областей компетенций. Было бы неплохо, чтобы по каждой из них был выделенный HR. Но, как правило, это утопия. По факту HR-ы вынуждены заниматься всем и одновременно. В результате, эффект такой, как лучше бы вообще не брались.
Читать дальше →
Всего голосов 22: ↑16 и ↓6 +10
Комментарии 22

Имитируем функционал зависимых типов в системе типов Rust

Время на прочтение 30 мин
Количество просмотров 7.4K

Системы типов — это настоящее безумие.


КДПВ в подражание XKCD


Некоторое время назад я уже отметился здесь со статьёй, в которой пытался разобрать, какие гарантии в compile-time может дать система типов Rust. Кое-какие интересные моменты удалось выловить уже тогда, однако больше всего меня зацепил весьма развёрнутый комментарий, описывающий некоторые вещи, доступные в зависимо-типизированном Idris.
Разумеется, я не мог остаться в стороне. Результат исследований доступен на github, а детальный разбор — под катом.

Читать дальше →
Всего голосов 42: ↑42 и ↓0 +42
Комментарии 24

25 полезных шорткатов для Photoshop

Время на прочтение 3 мин
Количество просмотров 187K
Здравствуй, дорогой хабрадруг! В этой статье приводятся 25 самых полезных сочетаний клавиш (шорткатов) в Photoshop, которые вы можете использовать, для того чтобы ускорить выполнение вашей работы. Некоторые из них редко упоминаются, некоторые применяются довольно часто, а некоторые вообще доступны только в Photoshop CS5. Я надеюсь, что каждый из вас найдет новые и полезные шорткаты в этой статье. Итак, давайте же начнем!


Читать дальше →
Всего голосов 126: ↑103 и ↓23 +80
Комментарии 76

В Windows 8 также доступен «Режим Бога»

Время на прочтение 1 мин
Количество просмотров 215K
Ранее, в Windows 7 был обнаружен так называемый «Режим Бога» (специальная возможность, которая предоставляет удобный доступ ко множеству настроек системы из единой точки), который можно было активировать с помощью нескольких бесхитростных действий. В Windows 8 эта возможность была сохранена. Напомню, как ее активировать.

  1. Создаем на рабочем столе новую папку.
Читать дальше →
Всего голосов 179: ↑105 и ↓74 +31
Комментарии 87

Карьера в IT

Время на прочтение 9 мин
Количество просмотров 35K
Что является основным критерием карьерного успеха? Как попасть на желанную работу, если недостаточно опыта? В этой статье я попытался ответить на эти и другие вопросы, связанные с карьерой IT-специалиста.

Читать дальше →
Всего голосов 192: ↑167 и ↓25 +142
Комментарии 145

Введение в анализ сложности алгоритмов (часть 3)

Время на прочтение 6 мин
Количество просмотров 125K
От переводчика: данный текст даётся с незначительными сокращениями по причине местами излишней «разжёванности» материала. Автор абсолютно справедливо предупреждает, что отдельные темы могут показаться читателю чересчур простыми или общеизвестными. Тем не менее, лично мне этот текст помог упорядочить имеющиеся знания по анализу сложности алгоритмов. Надеюсь, что он окажется полезен и кому-то ещё.
Из-за большого объёма оригинальной статьи я разбила её на части, которых в общей сложности будет четыре.
Я (как всегда) буду крайне признательна за любые замечания в личку по улучшению качества перевода.


Опубликовано ранее:
Часть 1
Часть 2

Логарифмы


image
Если вы знаете, что такое логарифмы, то можете спокойно пропустить этот раздел. Глава предназначается тем, кто незнаком с данным понятием или пользуется им настолько редко, что уже забыл что там к чему. Логарифмы важны, поскольку они очень часто встречаются при анализе сложности. Логарифм — это операция, которая при применении её к числу делает его гораздо меньше (подобно взятию квадратного корня). Итак, первая вещь, которую вы должны запомнить: логарифм возвращает число, меньшее, чем оригинал. На рисунке справа зелёный график — линейная функция f(n) = n, красный — f(n) = sqrt(n), а наименее быстро возрастающий — f(n) = log(n). Далее: подобно тому, как взятие квадратного корня является операцией, обратной возведению в квадрат, логарифм — обратная операция возведению чего-либо в степень.
Читать дальше →
Всего голосов 74: ↑60 и ↓14 +46
Комментарии 4

Охотимся за утечками памяти в Node.js (1-я из 12 статей о Node.js от команды Mozilla Identity)

Время на прочтение 7 мин
Количество просмотров 26K
От переводчика: Это первая статья из цикла о Node.js от команды Mozilla Identity, которая занимается проектом Persona. Как клиентская, так и серверная часть Persona написаны на JavaScript. В ходе работы команда проекта создала несколько инструментов на все случаи жизни — от локализации до отладки, управления зависимостями и многого другого. В этой серии статей разработчики Mozilla делятся с сообществом своим опытом и этими инструментами, которые пригодятся любому, кто пишет высоконагруженный сервис на Node.js.

Первая статья цикла посвящена распространённой проблеме Node.js — утечкам памяти, особенностям утечек в высоконагруженных проектах и библиотеке node-memwatch, которая помогает найти и устранить такие утечки в Node.




Зачем заморачиваться?


Вы можете спросить, зачем вообще отслеживать утечки памяти? Неужели нет более важных дел? Почему бы просто не перезапускать процесс время от времени, или просто добавить памяти на сервер? Есть три причины, по которым устранять утечки всё-таки важно:

  1. Возможно, вы не сильно переживаете об утечках памяти, но этого нельзя сказать о V8 (движок JavaScript на котором работает Node). Чем больше памяти занято, тем активнее работает сборщик мусора, замедляя ваше приложение. Так что в Node утечки напрямую вредят производительности.
  2. Утечки могут привести к другим проблемам. Протекающий код может блокировать ограниченные ресурсы. У вас могут закончиться файловые дескрипторы или вы вдруг не сможете открыть ещё одно соединение с БД. Такие проблемы могут возникнуть задолго до того, как кончится память, но обрушат ваше приложение ничуть не хуже.
  3. Рано или поздно ваше приложение упадёт. И это наверняка случится во время наплыва посетителей. Вас все засмеют и будут писать про вас гадости на Hacker News.

Откуда доносится звук падающих капель?
Всего голосов 63: ↑61 и ↓2 +59
Комментарии 1

Времена меняются для веб-разработчиков — 6 советов чтобы выжить

Время на прочтение 4 мин
Количество просмотров 16K
image

Контекст данного поста об изменениях для веб-разработчиков, я вижу многих разработчиков которые «застряли», особенно в .NET.
Если вы еще не начали совершенствоваться в Вашем искусстве и адаптироваться к изменяющимся трендам, вы должны начать это делать сегодня.

Подумайте о разработке веб-приложений должным образом. Используйте здравый смысл чтобы смешивать и сочетать основываясь на данных советах.
А теперь 6 советов для веб-разработчиков, чтобы оставаться на пике того что вы делаете.
Читать дальше →
Всего голосов 52: ↑28 и ↓24 +4
Комментарии 15

Уроки написания утилитки на $1 000 000

Время на прочтение 4 мин
Количество просмотров 197K


Осенью 2008 года мы с приятелем потратили две-три недели свободного от основной работы времени, чтобы написать маленькую утилитку для бэкапа баз данных (MS SQL Server и потом MySQL). Сегодня она приносит нам около $230 000 в год и можно с уверенностью говорить, что суммарно мы заработаем на ней больше $1 000 000.

Под катом я расскажу, как это получилось и какие уроки мы из этого извлекли. Вполне возможно, что нам просто глупо повезло и опыт этот целиком неверен и теории не соответствует и только навредит вашему начинанию — читайте на свой страх и риск.
Читать дальше →
Всего голосов 471: ↑457 и ↓14 +443
Комментарии 247

Развиваем ритм, слух и просто отличный инструмент для репетиций

Время на прочтение 2 мин
Количество просмотров 17K
Пару лет назад я начал пользоваться различными сервисами для развития своих способностей — LinguaLeo, Codecademy, Coursera. Это просто отличные инструменты. Удивительно, но тогда я не нашел подобного сервиса, который помог бы моему хобби — музыка (гитара). Идея создать отличный сервис для гитаристов, включающий в себя образовательную платформу, созрела в декабре 2011 года. История проекта Totallicks банальна.

Читать дальше →
Всего голосов 73: ↑68 и ↓5 +63
Комментарии 79

Как начать работать с GitHub: быстрый старт

Время на прочтение 6 мин
Количество просмотров 1.2M


Распределенные системы контроля версий (DVCS) постепенно замещают собой централизованные. Если вы еще не используете одну из них — самое время попробовать.

В статье я постараюсь показать, как можно быстро начать экспериментировать с git, используя сайт github.com.

В статье не будут рассмотрены различия между разными DVCS. Также не будет детально рассматриваться работа с git, по этой теме есть множество хороших источников, которые я приведу в конце статьи.
Читать дальше →
Всего голосов 182: ↑165 и ↓17 +148
Комментарии 51

Подборка инструментов для фронт-энд разработки

Время на прочтение 2 мин
Количество просмотров 134K
Как разработчику, мне очень нравятся инструменты, которые помогают сэкономить время или упростить процесс разработки фронт-энда. В этой статье я собрал мои любимые веб-инструменты для упрощения разработки веб-интерфейсов.

Картинки кликабельны.

Form builder


Формы являются очень важной частью любого веб-сайта, но их верстка может занять продолжительное время. Этот очень удобный инструмент, поможет вам создать красивую веб-форму очень быстро.
image
Читать дальше →
Всего голосов 202: ↑184 и ↓18 +166
Комментарии 40

Дайджест интересных новостей и материалов из мира PHP за последние две недели №5 (17.11.2012 — 30.11.2012)

Время на прочтение 6 мин
Количество просмотров 21K


Предлагаем вашему вниманию очередную подборку с ссылками на новости и материалы.

Приятного чтения!
Читать дальше →
Всего голосов 86: ↑62 и ↓24 +38
Комментарии 16

Новое для веб-дизайнера за ноябрь 2012

Время на прочтение 1 мин
Количество просмотров 57K
Продолжаю подборку новых полезных штук для веб-дизайнера за прошедший месяц. Прошлые выпуски: октябрь, сентябрь.

Сервисы и инструменты


Photo Raster — новый мощный графический редактор онлайн.

Читать дальше →
Всего голосов 92: ↑86 и ↓6 +80
Комментарии 27

Кто использует Node.js: Trello (Часть 2)

Время на прочтение 5 мин
Количество просмотров 16K
Это продолжение перевода «The Trello Tech Stack».

Часть 1
  • CoffeeScript
  • Клиент
    * Backbone.js
    * HTML5 History API
    * Mustache
  • Pushing and Polling
    * Socket.io and WebSockets
    * AJAX запросы

Часть 2
  • Сервер
    * node.js
    * HAProxy
    * Redis
    * MongoDB
  • Итак, нравится ли нам это?

Читать дальше →
Всего голосов 21: ↑20 и ↓1 +19
Комментарии 63

The Modal — правильные модальные окна

Время на прочтение 2 мин
Количество просмотров 180K
Очень часто модальные окна и диалоги делаются при помощи плагинов jQuery. Например, SimpleModal или jqModal. К сожалению, все они, в варианте по умолчанию, работают неправильно.

Что же такое «правильно»?

Модальное окно по определению блокирует работу пользователя с родительским окном до тех пор, пока пользователь его не закроет. То есть:

  1. Пользователю нельзя позволять прокручивать страницу под ним.
  2. При этом, если содержимого в модальном окне очень много, нужно позволить прокручивать содержимое.


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

Чтобы не мучать вас заранее деталями реализации, покажу сначала демо плагина jQuery: http://rmcreative.ru/playground/modals_plugin/demo.html.

Ну а теперь немного про реализацию.
Читать дальше →
Всего голосов 77: ↑67 и ↓10 +57
Комментарии 81

Информация

В рейтинге
5 063-й
Зарегистрирован
Активность