Как стать автором
Обновить
1
0
Артём @Shybko

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

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

Создание архитектуры программы или как проектировать табуретку

Время на прочтение25 мин
Количество просмотров692K
Взявшись за написание небольшого, но реального и растущего проекта, мы «на собственной шкуре» убедились, насколько важно то, чтобы программа не только хорошо работала, но и была хорошо организована. Не верьте, что продуманная архитектура нужна только большим проектам (просто для больших проектов «смертельность» отсутствия архитектуры очевидна). Сложность, как правило, растет гораздо быстрее размеров программы. И если не позаботиться об этом заранее, то довольно быстро наступает момент, когда ты перестаешь ее контролировать. Правильная архитектура экономит очень много сил, времени и денег. А нередко вообще определяет то, выживет ваш проект или нет. И даже если речь идет всего лишь о «построении табуретки» все равно вначале очень полезно ее спроектировать.

К моему удивлению оказалось, что на вроде бы актуальный вопрос: «Как построить хорошую/красивую архитектуру ПО?» — не так легко найти ответ. Не смотря на то, что есть много книг и статей, посвященных и шаблонам проектирования и принципам проектирования, например, принципам SOLID (кратко описаны тут, подробно и с примерами можно посмотреть тут, тут и тут) и тому, как правильно оформлять код, все равно оставалось чувство, что чего-то важного не хватает. Это было похоже на то, как если бы вам дали множество замечательных и полезных инструментов, но забыли главное — объяснить, а как же «проектировать табуретку».

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

Данная статья является попыткой ответить на эти вопросы хотя бы в первом приближении.
Читать дальше →
Всего голосов 88: ↑85 и ↓3+82
Комментарии45

Форматирование сообщений для Yii::t()

Время на прочтение16 мин
Количество просмотров29K
В данной статье рассмотрены особенности форматирования сообщений для системы интернационализации фреймворка Yii 2. В основном, это сведения из документации фреймворка и библиотеки ICU, с дополнительными пояснениями и примерами. Большая часть информации подойдет для любого фреймворка, который использует библиотеку ICU для интернационализации сообщений. В примерах подразумевается перевод сообщений с английского на русский ('en-US' => 'ru-RU'). Настройка системы интернационализации в статье не рассматривается.
Читать дальше →
Всего голосов 17: ↑14 и ↓3+11
Комментарии9

Числа-гиганты

Время на прочтение9 мин
Количество просмотров347K
В этой статье я хочу поделиться с вами некоторыми впечатляющими фактами из окружающего нас мира. Мы рассмотрим по-настоящему большие и даже гигантские числа, с которыми можем столкнуться либо в реальности (порой сами того не замечая), либо в расчетах, говорящих кое-что важное о нашей Вселенной. Некоторые числа настолько поражают воображение, что даже для того чтобы только их представить, уже необходимо приложить немало умственных усилий. Статья будет построена следующим образом. Мы будем двигаться по пути возрастания степеней десятки, начав от миллиона и дальше, насколько у нас хватит знаний, терпения и сил. Давайте же отправимся в путь.
Читать дальше →
Всего голосов 56: ↑54 и ↓2+52
Комментарии50

Внутреннее представление значений в PHP 7 (часть 2)

Время на прочтение11 мин
Количество просмотров20K
image
Kore Nordmann

В первой части мы рассматривали высокоуровневые различия во внутреннем представлении значений между PHP 5 и PHP 7. Как вы помните, главное отличие заключается в том, что zval больше не выделяются отдельно и не хранят в себе refcount. Простые значения, вроде целочисленных или с плавающей точкой, могут храниться прямо в zval, в то время как сложные значения представляются с помощью указателя на отдельную структуру.
Читать дальше →
Всего голосов 50: ↑44 и ↓6+38
Комментарии3

52 вопроса, которые вы должны задать на собеседовании

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



Задавать вопросы бывает сложно. Мы это знаем. Для того, чтобы упростить вам это задание, мы приводим список ключевых вопросов для интервью. Мы определённо не рекомендуем задавать их все. Пожалейте рекрутера!
Читать дальше →
Всего голосов 26: ↑24 и ↓2+22
Комментарии13

Поиск работы в США: «Силиконовая Долина»

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


Решил обобщить свой более чем десятилетний опыт поиска работы в США на рынке ИТ. Так или иначе вопрос довольно злободневный и часто обсуждаемый в русском зарубежье.
Читать дальше →
Всего голосов 25: ↑22 и ↓3+19
Комментарии26

Безумный PHP. Фьюри код

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

Сборник PHP ненормальностей или что надо знать чтобы не сойти с ума и не прострелить себе что-нибудь


Прочитал статью mnv: "Приведение типов в PHP == табурет о двух ножках?" и захотелось в комментариях добавить немного дополнений, но… Но потом увидел комментарий и понял, что лучше дополню статью тем, про что мало кто пишет и мало где это имеется в централизованном виде. Вроде бы всем известная тема, а все же кому-то в новинку. Это не совсем про приведение типов, но они тоже есть. Это про особенности, зная которые можно делать меньше ошибок. Если интересно, го под кат, я создал!
Читать дальше →
Всего голосов 91: ↑82 и ↓9+73
Комментарии74

Новое исследование Гарвардского университета обнаружило забавный способ стать успешнее

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

Мы все хотим достичь успеха. Но прочитанные вами советы, вероятно, сводятся к пожеланию «больше работать». В этой статье мы расскажем, почему не успех приносит счастье, а счастье является причиной успеха.
Читать дальше →
Всего голосов 33: ↑31 и ↓2+29
Комментарии19

Хождение по MOOCам: опыт обучения на онлайн-курсах

Время на прочтение11 мин
Количество просмотров28K
Тема онлайн-курсов (MOOC, Massive Open Online Course) за последние пару лет набрала такую популярность, что наверное только ленивый не слышал об этой форме обучения, а очень многие уже успели и распробовать. Я сам пришёл к теме онлайн-обучения в прошлом году, когда осознал, что для текущих рабочих задач мне требуется срочно подтянуть некоторые технические знания, местами подзабытые и частично разрозненные, а что-то и вовсе изучить с нуля. С тех пор я успел освоить две крупнейших MOOC-платформы — Coursera и edX (в «большой тройке» есть ещё Udacity, а также множество мелких образовательных проектов различного формата). Там я успешно закончил несколько курсов (в частности, R programming от John Hopkins University, Machine Learning от Stanford University, Statistical Learning от Stanford Online) и останавливаться на этом не намерен. В своей статье я хочу поделиться своими мыслями и впечатлениями от процесса дистанционного обучения, рассказать о плюсах и минусах, да и просто вдохновить тех, кто слышал и хочет, но пока не знает, как подступиться к онлайн-обучению. Это не обзор конкретных курсов и платформ, а именно личные впечатления от занятий. Речь пойдёт в основном о Coursera и edX, как основных провайдерах дистанционного обучения.
Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии15

Опыт поиска работы на бирже Elance

Время на прочтение4 мин
Количество просмотров20K
Добрый день! Я поделюсь с вами опытом поиска работы на международной бирже Elance. Скажу сразу, что это не история успеха и в этом посте вы не найдете секретов бытия и рекомендаций как стать успешным фрилансером. Это мой опыт, наблюдения и мысли.

Для тех, кто не в курсе или кому нужны четкие указания как что делать – «Как начать работать на Elance.com», плюс один текст для студий и команд «Путь фрилансера».


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

Путь фрилансера. Часть 1. Советы новичкам

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


Доброго времени суток, друзья, люди, фрилансеры, инопланетяне.

Заметив тенденцию на спрос постов по тематике фриланса подумал, что, пожалуй, пора и мне внести свою лепту по этой тематике. Много чего уже было сказано, но, на мой взгляд, не всегда конкретизировано в конкретные пункты.

Вкратце в двух словах о себе и прочем чтобы пост имел некоторую большую содержательность: на фрилансе 3 последних года с копейками. Работаю не один. Команда. Объединены интернетом и рамками СНГ. Большинство никогда не видел и даже с ними ни разу не созванивался. Офиса нет. С одним из таких граждан общаюсь и работаю уже лет 5-6. Как это ни странно барьером это не послужило. Знакомых, друзей, бывший сотоварищей по работе в команде нет и никогда не было, как и не было этой самой другой работы. Да, есть и такие странные люди на свете, кто никогда не работал в офисе и ничем иным не занят и это ни разу мне не помешало, а скорее наоборот.

Как я «докатился до такой жизни» и всю иную историю, предысторию и реалии опишу как-нибудь в другой раз, если сообщество посчитает это нужным (на этот случай предусмотрен опрос). А сейчас перейдём к тому, что и было запланировано.
Читать дальше →
Всего голосов 76: ↑63 и ↓13+50
Комментарии51

Если вы решили перейти с PHP на Python, то к чему следует подготовиться

Время на прочтение14 мин
Количество просмотров191K
Думали ли вы когда-нибудь о том, что однажды слишком быстро втянулись в веб-программирование на PHP? И вот уже прошло много лет, у вас хороший опыт, и вы не думаете ни о каких других способах „делать“ веб, кроме как на PHP. Может быть, у вас возникают сомнения в правильности выбора, однако непонятно, как найти способ быстро его проверить. А хочется примеров, хочется знать, как изменятся конкретные аспекты деятельности.

Сегодня я попробую ответить на вопрос: «А что если вместо PHP писать на Python?».

Сам я долгое время задавался этим вопросом. Я писал на PHP 11 лет и даже являюсь сертифицированным специалистом. Я научился его «готовить» так, чтобы он работал в точности, как мне надо. И когда я в очередной раз читал на Хабре перевод статьи о том, как всё в PHP плохо, я просто недоумевал. Однако подвернулся случай пересесть на Ruby, а потом и на Python. На последнем я и остановился, и теперь попробую рассказать вам PHP-шникам, как нам питонистам живётся.


Python с точки зрения PHP-программиста...
Всего голосов 122: ↑116 и ↓6+110
Комментарии205

9 способов ускорить фриланс

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

Удивительно, что большинство из нас попросту не замечает, как экстенсивно занимается фрилансом. То, на что можно тратить всего несколько минут, мы тратим достаточно много времени. Давайте я отсыплю вам советов, ускорю работу в интернете и, возможно, некоторые из вас начнут зарабатывать больше, работая меньше.
Читать дальше →
Всего голосов 21: ↑19 и ↓2+17
Комментарии3

Cоветы начинающему фрилансеру: как продавать услуги на развитые рынки через открытые площадки

Время на прочтение16 мин
Количество просмотров64K
Я занимаюсь разработкой программного обеспечения в роли ведущего программиста-проектировщика с конца 90х годов. Фриланс никогда не был основным источником моего дохода. Но в 2010 году я начал всерьез заниматься фрилансом как побочным видом деятельности, приносящим существенный доход (за несколько месяцев я вышел на уровень продаж порядка $5k в месяц с фрилансерских контрактов с практически нулевыми расходами на исполнение контрактов, за исключением моего времени). Позднее я переехал в Северную Америку, но фриланс продолжает оставаться для меня важным побочным бизнесом. Кроме того, в своей работе я постоянно общаюсь с фрилансерами, в т.ч. профессиональными full-time фрилансерами из Северной Америки.

В этой статье я хотел бы поделиться своим опытом работы на площадках вроде elance.com с коллегами из экс-СССР и дать конкретные рекомендации по входу на рынок, позиционированию услуг, конкуренции с демпингом из Южной Азии, а также дать ликбез по общей профессиональной подготовке.
Много текста с конкретными примерами
Всего голосов 32: ↑31 и ↓1+30
Комментарии24

Как развивать силу воли

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

Одной из самых важных вещей в GTD является сила воли. Без нее вы не будет доводить дела до завершения, любая выбранная вами система не буде работать. Первый же приступ лени не даст вам заглянуть в список дел. GTD, todo list, канбан доска — это всё инструменты. Мы про них много читаем, учимся их использовать, даже программируем. Только самый важный инструмент, который всегда при нас, это сила воли.

До не давнего времени я не понимал, как работает сила воли, не знал, в какой момент времени меня покинет самообладание. Это изменила одна книга. Я рекомендую ее прочесть каждому ITшнику, особенно фрилансерам. У нас, как правило, слабый внешний контроль, поэтому приходиться полагаться только внутренний. Поэтому так важно его настроить. Почему я рекомендую именно эту книгу в качестве руководства под катом.
Читать дальше →
Всего голосов 98: ↑74 и ↓24+50
Комментарии62

oDesk (Upwork). Мой опыт за полтора года

Время на прочтение12 мин
Количество просмотров445K
Вот уже полтора года я зарабатываю фрилансом на бирже oDesk. За это время у меня накопилось много материалов по данной теме. В данном топике я собрал все в одну статью и адаптировал для аудитории хабра.
image
Читать дальше →
Всего голосов 192: ↑185 и ↓7+178
Комментарии321

Хочешь выучить английский? Начни его «Больше слушать»

Время на прочтение2 мин
Количество просмотров150K
Вот уже несколько недель я изучаю английский язык по методике, которая меня зацепила. Суть метода Больше слушать и читать материал, который вам интересен на изучаемом языке.

Эту методику используют многие. Ухватился я за нее, увидев пару раз здесь, на хабрахабр, ссылку на Lingq.com(реф.) и посмотрев видео с автором стартапа Стивом Кауфманом.

Сам Стив овладел уже 11 языками, в том числе и русским.
Читать дальше →
Всего голосов 46: ↑43 и ↓3+40
Комментарии35

Запоминайте эффективно: два важных принципа в изучении языка

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

В июне к команде LinguaLeo присоединился Артур Думчев, рекордсмен «Книги рекордов России» по запоминанию, признанный эксперт в области развития памяти, тренер и консультант. Артур помнит число «Пи» до 22 528 знаков после запятой и является автором книги «Помнить все. Практическое руководство по развитию памяти».

В настоящий момент Артур работает в LinguaLeo над внедрением дополнительных эффективных методов запоминания слов и фраз. Мы попросили его поделиться советами по быстрому и качественному изучению языков с читателями нашего блога, и Артур расказал про такие хаки, как «разумное применение мнемотехники» и «систематика в обучении». Итак, что же это такое, и поможет ли оно в развитии памяти и изучении языка? Давайте разберемся.

Разумное применение мнемотехники


Мнемотехника — это совокупность приемов, облегчающих запоминание. Пример использования мнемотехники: нам нужно занести в память слово Shrug — «пожимать плечами». Чтобы это сделать, достаточно представить какой-нибудь визуальный образ, который позволит вам вспомнить слово и его перевод. Например, Шрек пожимает плечами. Когда вы услышите Shrug, вам тут же вспомнится этот образ, а затем перевод слова.
Читать дальше →
Всего голосов 49: ↑46 и ↓3+43
Комментарии34

Обзор инфраструктуры Кремниевой долины

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

Введение


Последние четыре года я живу и работаю программистом в США, в Кремниевой долине. За это время у меня скопились некоторые наблюдения, которыми я бы хотел поделиться. Я сосредоточусь на вопросах инфраструктуры: как там с транспортом, интернетом, дорогами, преступностью, водой, развлечениями и т. п. Я буду рассказывать лишь о том, с чем встретился сам. Надеюсь, этот пост будет интересен специалистам, думающим о работе в долине.

Читать дальше →
Всего голосов 340: ↑336 и ↓4+332
Комментарии361

ITшник в Австралии

Время на прочтение4 мин
Количество просмотров24K
Данной статьей я постараюсь продолжить обзор стран, начатый в Денег нет, погода дрянь и правительство ввело новые поборы. Что делать?. Я не хочу обсуждать почему, зачем, что меня двигало к переезду (кому-то весело и комфортно только в Нью-Йорке/Лондоне, а кто-то весьма доволен и в деревне), а постараюсь просто привести некоторую информацию. Здесь на сайте довольно много людей из Австралии, надеюсь где-то меня поправят, что-то добавят. С удовольствием отвечу на все вопросы в комментариях.

Читать дальше →
Всего голосов 114: ↑107 и ↓7+100
Комментарии99
1

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность