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

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

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

Как мы починили свой процесс и стали меньше отвлекаться

Время на прочтение3 мин
Количество просмотров14K
В прошлом году наша команда прошла через жесткий слом процесса разработки, но смогла восстановить его и сделать еще лучше: понятней, приятней и продуктивней.

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

Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии19

Gixy — open source от Яндекса, который сделает конфигурирование Nginx безопасным

Время на прочтение10 мин
Количество просмотров35K
Nginx, однозначно, один из крутейших веб-серверов. Однако, будучи в меру простым, довольно расширяемым и производительным, он требует уважительного отношения к себе. Впрочем, это относится к почти любому ПО, от которого зависит безопасность и работоспособность сервиса. Признаюсь, нам нравится Nginx. В Яндексе он представлен огромным количеством инсталляций с разнообразной конфигурацией: от простых reverse proxy до полноценных приложений. Благодаря такому разнообразию у нас накопился некий опыт его [не]безопасного конфигурирования, которым мы хотим поделиться.



Но обо всем по порядку. Нас давно терзал вопрос безопасного конфигурирования Nginx, ведь он — полноправный кубик веб-приложения, а значит, и его конфигурация требует не меньшего контроля с нашей стороны, чем код самого приложения. В прошлом году нам стало очевидно, что этот процесс требует серьезной автоматизации. Так начался in-house проект Gixy, требования к которому мы обозначили следующим образом:

— быть простым;
— но расширяемым;
— с возможностью удобного встраивания в процессы тестирования;
— неплохо бы уметь резолвить инклюды;
— и работать с переменными;
— и про регулярные выражения не забыть.
Читать дальше →
Всего голосов 112: ↑112 и ↓0+112
Комментарии18

Чистый javascript. Объекты и структуры данных. Асинхронность. Обработка ошибок

Время на прочтение4 мин
Количество просмотров22K
Читать дальше →
Всего голосов 22: ↑18 и ↓4+14
Комментарии10

Интересные Sсi-Fi фильмы, которые вы (не должны были, но) могли пропустить в 2016 году

Время на прочтение4 мин
Количество просмотров68K
Для читателей Geektimes (а еще для своего мужа) я составила список интересных Sсi-Fi фильмов ушедшего 2016 года. Фильмы, указанные ниже, доступны в сети и имели относительно небольшой или неуспешный релиз, поэтому я предполагаю, вы пропустили, по крайней мере, некоторые из них.
Всего голосов 77: ↑47 и ↓30+17
Комментарии188

Экзотичные заголовки HTTP

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

Привет Хабрахабр! В этой статье будут наглядно продемонстрирован результат применения некоторых важных и экзотичных HTTP заголовков, большинство из которых связаны с безопасностью.
Читать дальше →
Всего голосов 83: ↑80 и ↓3+77
Комментарии35

Ранний релиз или выдержанный?

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

Что общего между mutt, mplayer и gzip помимо того, что это качественные проекты с открытым кодом? В качестве подсказки даю наводящий вопрос: вы можете точно назвать месяц выхода очередной версии Debian Linux, до официального объявления на вебсайте?




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

график или ad-hoc?
Всего голосов 21: ↑20 и ↓1+19
Комментарии10

Время — деньги, или аргументы за и против почасовой оплаты

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


Недавно я рассказал приятелю, что собираюсь нанять фрилансера на разовую работу. Приятель, 15 лет назад уехавший в США, спросил меня — “А сколько в час ты планируешь ему платить?”.

-В час? — удивился я. — У нас никто за время не платит, только за выполненную работу.

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

Надо сказать, что картина получилась весьма не однозначная. Итак…
Читать дальше →
Всего голосов 18: ↑9 и ↓90
Комментарии28

Xcode: наверное, лучший способ работы со сторибордами

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

Этот пост является вольным переводом статьи Xcode: A Better Way to Deal with Storyboards by Stan Ostrovskiy


Некоторые примеры кода в оригинальной статье устарели (ввиду выхода Swift 3) и в переводе были изменены.


Советы и рекомендации по работе с Interface Builder.


Apple серьезно улучшили Interface Builder в новом Xcode 8. Использование size classes стало более интуитивным, возможность масштабирования сториборда — очень удобной, а полное превью прям в Interface Builder — просто великолепным. Для тех у кого были сомнения насчет использования Interface Builder, это может стать хорошими плюсами.


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


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


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

В вашем проекте есть один файл main.storyboard, который выглядит вот так?



С точки зрения дизайнера, все хорошо: полностью видно UI и навигацию. И это именно то, для чего Interface Builder и был создан.

Но для разработчика это несет множество проблем:

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

Итак, менеджер попросил пофиксить баг…

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

Вы были здесь прежде. Ваша программа элегантна. Вы использовали точно требуемое количество абстракций. Ваши модули безупречно модульные. Ваша система имеет дело с внешним миром через продуманные интерфейсы и не имеет никакой прямой зависимости от внешних систем. Ваши тесты пройдены безукоризненно. Ваш отчёт о покрытии тестами кода требует целую минуту для загрузки. 97% это значит…

Жизнь прекрасна. А затем происходит нечто.
Читать дальше →
Всего голосов 103: ↑84 и ↓19+65
Комментарии98

Objective-c блоки и c++ лямбды

Время на прочтение10 мин
Количество просмотров25K
Надеюсь, что пост будет полезен людям которые знакомы с лямбдами C++, но хотят изучить блоки Objective-C и наоборот.
Здесь я постарался описать синтаксис замыканий, механизмы захвата контекста, управление памятью и взаимодествие лямбд и блоков между собой.
Во всех примерах использовался Apple LLVM Compiler 4.2 (Clang). Для приведенного Obj-C кода не используется ARC, т.к я придерживаюсь мнения, что необходимо знать как работает non-ARC код, чтобы понять как работает ARC.
Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии19

Использование блоков в iOS. Часть 2

Время на прочтение23 мин
Количество просмотров9.6K
В первой части нашего урока мы использовали Storyboard для настройки view. Во второй и заключительной части мы наконец-то добрались до самих блоков. Мы поговорим о том, что блоки собой представляют, каков их синтаксис, как их использовать и затронем кучу примеров. Будет показано, как использовать блоки с NSArray, UIView-анимациями, Grand Central Dispatch, и многим другим.
Читать дальше →
Всего голосов 14: ↑12 и ↓2+10
Комментарии5

Способы продвижения мобильных приложений

Время на прочтение5 мин
Количество просмотров39K
Способов продвижения мобильных приложений существует немало, но какие из них будут наиболее эффективны для разработчика можно понять лишь путем проб и ошибок. Компания Applead решила поделиться своим опытом в этом вопросе. На сегодняшний день приложений в маркетах более чем достаточно и многие из них используют одни и те же проверенные каналы.


Прежде чем составить свой план продвижения, который должен включать в себя минимум две составляющие, необходимо ответить на несколько вопросов:

1) Какого качества приложение?
2) На кого направлено приложение, целевая аудитория (этот вопрос нужно было задавать перед началом разработки)
3) Кто основные конкуренты?
Читать дальше →
Всего голосов 14: ↑11 и ↓3+8
Комментарии0

Новое объяснение принципа работы «невозможного» двигателя EmDrive: это все фотоны

Время на прочтение4 мин
Количество просмотров43K
Финские ученые считают, что EmDrive не нарушает закон сохранения импульса



Эпопея с так называемым «невозможным» двигателем EmDrive на электромагнитных волнах продолжается. На данный момент ряд известных ученых и научных организаций подтвердили работоспособность EmDrive. Двигатель представляет собой систему, состоящую из резонатора (металлический усеченный конус) и магнетрона. Двигатель работает, это факт. Каким образом? Такая система каким-то образом создает тягу под влиянием электромагнитного излучения. Существует несколько гипотез, объясняющих появление тяги. Пока что ни одна гипотеза не была доказана. Собственное объяснение принципа работы EmDrive в этом месяце предложили финские ученые.

По их мнению, образование тяги в этой системе объясняется определенным типом интерференции волн, а именно — деструктивной интерференцией. Под конструктивной интерференцией понимается такой тип комбинирования отраженных волн при резонансе, когда происходит усиление волнами друг друга. В случае деструктивной интерференции максимумы одних волн приходятся на минимумы других, при этом резонанс отсутствует. Если речь идет о волнах на воде, то при деструктивной интерференции они накладываются друг на друга, и поверхность воды выглядит спокойной.
Читать дальше →
Всего голосов 30: ↑24 и ↓6+18
Комментарии208

Проишествие в облаках (рассказ)

Время на прочтение8 мин
Количество просмотров16K
Самолет компании Swissair следующий рейсом в Эритрею попал в зону турбулентности на высоте 10 000 метров над уровнем моря. До посадки оставался примерно час, когда салон самолета тряхнуло и пластиковый стаканчик, выскользнув из руки Евгения Владимировича, опрокинул отвратительный растворимый кофе с молоком ему на брюки. Практически сразу раздался голос командира экипажа, который попросил пассажиров сохранять спокойствие и пристегнуть ремни. Салфетки, разумеется, остались на подносе с остатками обеда, который заботливая стюардесса унесла перед тем как раздать напитки. «Хана брюкам, рубашку может еще удастся спасти, но брюкам хана. Если б сразу замочить, то может еще удалось бы отстирать, но к тому времени как доберусь до гостиницы можно даже не пытаться. Впрочем, все равно рубашку отдавать в прачечную, можно и брюки попробовать, думал Евгений Владимирович без всякой надежды на то, что его надежды сбудутся. Хорошо что хоть пиджак снял». Его расстройство было отягощено тем фактом, что вылетел он налегке, практически без багажа, в ручной клади был только лэптоп с зарядками и бритвенный набор, вот собственно и все. По идее больше и не должно было понадобиться. Командировка случилась внезапной и короткой.
Читать дальше →
Всего голосов 65: ↑49 и ↓16+33
Комментарии34

Victory Roll Girl tutorial

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

. conf файлы
Для меня необходимо иметь расшаренные кисти, настройки горячих клавиш,. conf файлы для программ, они все лежат у меня в
Dropbox на постоянной основе, которые я могу из любого места загрузить и без промедления начать работать. Считаю необходимым
хотя бы часть программ перелопатить под себя.

image
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии4

Start-up — поиск работы за границей для IT специалистов

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

В тот же день я получил 18 личных сообщений с просьбой скинуть контакты агентов.

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

Полагаю, что у ряда читателей уже сейчас справедливо возник вопрос, не является ли этот сервис попыткой сделать второй Monster или LinkedIn. Я также задавался этим вопросом и для меня было важно идентифицировать отличия чтобы решить, стоит ли развивать данную идею.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии2

Cubietruck. Дорожный мини сервер. Часть 1

Время на прочтение5 мин
Количество просмотров39K
image
Идея такого сервера родилась на отдыхе. Вечером хотелось посмотреть онлайн сериальчик на планшете, а из-за не устойчивого приема 3G, просмотр превращался в муку. Как вариант можно было скачать серию, но опять же при скачивании сигнал постоянно плавал, скорость прыгала и планшет надо было держать постоянно включенным и на зарядке (специфика приложения). К вечеру скачивалось пару серий и можно было спокойно посмотреть сериальчик.
В это время то и зародилось идея создания данного девайса. В инете большое количество реализации хранилища информации на одноплатных компьютерах разных производителей, но объединения нескольких решений найдено не было.
Читать дальше →
Всего голосов 25: ↑21 и ↓4+17
Комментарии29

Плавный переход к распределенному интернету?

Время на прочтение5 мин
Количество просмотров19K
После прочтения этой статьи, и ее обсуждения возникли некоторые мысли по поводу возможного развития интернета в сторону независимости, децентрализованности и анонимности. С этими мыслями я и хочу познакомить вас, уважаемые пользователи сего замечательного ресурса.
Читать дальше →
Всего голосов 39: ↑29 и ↓10+19
Комментарии43

Шпаргалка по HTTP-библиотекам для С++

Время на прочтение12 мин
Количество просмотров107K
К сожалению, в стандартной библиотеке языка С++ нет никаких средств для работы с протоколом HTTP. Возможно, в будущем появятся, но на данный момент каждый раз при необходимости дёрнуть какой-нибудь REST-сервис, пропарсить веб-страничку, написать простенького бота или краулера приходится задаваться вопросами «А какую же библиотеку взять, так чтобы побыстрее и попроще?». Иногда проект уже использует какой-то фреймворк (а иногда даже несколько) и тогда приходится вспоминать «А как же сделать HTTP-запрос имеющимися средствами?». Чтобы не путаться я решил написать для себя шпаргалку с примерами HTTP-запросов на С++ с применением разных библиотек. А самое удобное место для хранения подобных шпаргалок — Хабр: и сам не потеряешь, и другим может пригодиться.

Будут рассмотрены:
  • WinInet
  • WinHttp
  • Casablanca
  • Qt
  • POCO
  • wxWidgets
  • Boost.Asio
  • libcurl
  • neon
  • .NET (С++/CLI)
  • IXMLHTTPRequest
  • HappyHttp
  • cpp-netlib


Читать дальше →
Всего голосов 96: ↑89 и ↓7+82
Комментарии38

Unity3d. Уроки от Unity 3D Student (B25-B28)

Время на прочтение7 мин
Количество просмотров59K
Всем привет. Это заключительная серия базовых уроков по Unity 3D от сайта Unity3DStudent. Далее будут еще два урока среднего уровня. Upd: планы изменились, этих уроков не будет, так как второй урок (по анимации) уже довольно сильно устарел, а выкладывать перевод только одного урока не вижу смысла. Пусть он останется на самостоятельное изучение =)

Ссылки на предыдущие уроки:

Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии2
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность