Pull to refresh
7
0
Send message

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

Reading time3 min
Views14K
В прошлом году наша команда прошла через жесткий слом процесса разработки, но смогла восстановить его и сделать еще лучше: понятней, приятней и продуктивней.

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

Читать дальше →
Total votes 18: ↑16 and ↓2+14
Comments19

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

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



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

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

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

Reading time4 min
Views22K
Читать дальше →
Total votes 22: ↑18 and ↓4+14
Comments10

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

Reading time4 min
Views68K
Для читателей Geektimes (а еще для своего мужа) я составила список интересных Sсi-Fi фильмов ушедшего 2016 года. Фильмы, указанные ниже, доступны в сети и имели относительно небольшой или неуспешный релиз, поэтому я предполагаю, вы пропустили, по крайней мере, некоторые из них.
Total votes 77: ↑47 and ↓30+17
Comments188

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

Reading time12 min
Views106K

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

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

Reading time7 min
Views8.5K

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




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

график или ad-hoc?
Total votes 21: ↑20 and ↓1+19
Comments10

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

Reading time5 min
Views6.3K


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

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

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

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

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

Reading time5 min
Views49K

Этот пост является вольным переводом статьи 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 и был создан.

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

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

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

Reading time6 min
Views44K

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

Жизнь прекрасна. А затем происходит нечто.
Читать дальше →
Total votes 103: ↑84 and ↓19+65
Comments98

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

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

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

Reading time23 min
Views9.6K
В первой части нашего урока мы использовали Storyboard для настройки view. Во второй и заключительной части мы наконец-то добрались до самих блоков. Мы поговорим о том, что блоки собой представляют, каков их синтаксис, как их использовать и затронем кучу примеров. Будет показано, как использовать блоки с NSArray, UIView-анимациями, Grand Central Dispatch, и многим другим.
Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments5

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

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


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

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

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

Reading time4 min
Views43K
Финские ученые считают, что EmDrive не нарушает закон сохранения импульса



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

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

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

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

Victory Roll Girl tutorial

Reading time15 min
Views25K
image

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

image
Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments4

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

Reading time7 min
Views23K
Ранее я написал статью о своем опыте поиска работы заграницей. Там же я упомянул об агентах про трудоустройству, с которыми я работал и которые часто спрашивали меня, знаю ли я толковых программистов, которым как раз нужна работа заграницей. Тогда я предложил всем читателям вышеуказанной статьи, что если кому-то интересно, я могу связать их с агентами.

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

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

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

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

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

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

Reading time5 min
Views19K
После прочтения этой статьи, и ее обсуждения возникли некоторые мысли по поводу возможного развития интернета в сторону независимости, децентрализованности и анонимности. С этими мыслями я и хочу познакомить вас, уважаемые пользователи сего замечательного ресурса.
Читать дальше →
Total votes 39: ↑29 and ↓10+19
Comments43

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

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

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


Читать дальше →
Total votes 96: ↑89 and ↓7+82
Comments38

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

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

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

Читать дальше →
Total votes 18: ↑16 and ↓2+14
Comments2
1

Information

Rating
Does not participate
Registered
Activity