Pull to refresh
0
0
Тарас @Kolts

User

Send message

PHP, статические переменные внутри методов класса и история одного бага

Reading time7 min
Views20K

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

Читать дальше →
Total votes 26: ↑22 and ↓4+18
Comments49

uSpeech — история одного стартапа

Reading time2 min
Views3.7K
Всем привет! Хотелось бы поделиться с вами мыслями о своем стартапе.

Для начала, что это вообще такое:

Сервис решает проблему развития словарного запаса и очистки русского языка у наших пользователей.

После авторизации в приложении (сейчас доступно только ВКонтакте) вы получите рейтинги ваших слов, а после вы будете получать задания. Каждое задание содержит в себе 2 пункта:

1. Слово, которое лучше не использовать вообще
2. Слово, которое надо стараться заменять синонимами

После отправки определенного количества сообщений ваше задание проверяется и в зависимости от успешности выполнения меняется ваш рейтинг.
Читать дальше →
Total votes 10: ↑8 and ↓2+6
Comments15

Как можно взломать свой же Web проект?

Reading time4 min
Views28K


Недавно мне позвонили и попросили помочь разобраться с очень странными симптомами на сайте. А симптомы выглядели вот так. Cовершенно разные клиенты звонили и рассказывали, что они на сайте попадают в личные кабинеты других случайных клиентов. Логинятся под собой. Входят в свой аккаунт, а потом бац – и уже в аккаунте другого клиента. Правда они не догадывались, что кто-то другой так же мог оказаться в их личном кабинете.


Давайте я расскажу «историю неуспеха», чтобы другие на эти грабли не наступали.

Читать дальше →
Total votes 31: ↑29 and ↓2+27
Comments31

Не путайте разработку ПО и программирование

Reading time11 min
Views137K

Каждый разработчик ПО умеет программировать, но не каждый программист может разрабатывать ПО



Большинство может легко научиться готовить, но когда нужно накормить большое число людей, мы нанимаем повара.

Возможно, кому-то больше нравится говорить не «разработчик», а инженер-программист, ведь инженер — это звучит гордо! Или нет? К счастью, эта статья не о терминах. Если мой термин вам не нравится — подставьте свой: «автор ПО», «мастер ПО»… и даже «творец приложений»!

Говоря «разработчик ПО», я имею в виду человека, для которого написание качественного ПО — профессия. Человека, который использует в своей работе научные подходы и статистику и считает свое занятие чем-то большим, чем просто зарабатывание денег.

Чтобы стать разработчиком, уметь программировать недостаточно.

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

Мне нравится такая аналогия: каждый может ради собственного развлечения петь в ду́ше, но вы же не ставите треки с записями этого пения на вечеринке — вы обращаетесь к произведениям профессиональных музыкантов.

Хотите еще аналогий? Пожалуйста:

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

Главная задача этого текста — донести, что создание простых программ серьезно отличается от разработки ПО.

Переведено в Alconost
Читать дальше →
Total votes 58: ↑40 and ↓18+22
Comments107

Проект завяз: ныряем с головой

Reading time4 min
Views23K
Ой, что это только что пролетело? Еще один год вашей жизни в ожидании обещанного карьерного и профессионального роста, доли, опциона и полной финансовой независимости. Упс! Ещё один! Поздравляю, вы — в завязшем проекте.

Как же вы сюда попали? Выбрали кривую короткую дорожку с молодой перспективной командой мечты и мега-интересной инновационной задачей? Нужно просто быть смелым, дерзким, умелым, и вот он, успешный успех торчит изо всех щелей. Молодые миллионеры уже ждут вас в своем клубе.

А может быть, вы предпочли надежную федеральную трассу карьерного роста во всемирно известном ИТ-гиганте, готовы учиться и расти от джуниора до ведущего спеца? Ехать долго, зато, доедете наверняка.

Каждый вариант по-своему хорош: на кривой дорожке можно завязнуть криво, а на федеральной трассе — федерально. Сейчас расскажу как.


Читать дальше →
Total votes 36: ↑30 and ↓6+24
Comments38

13 сюрпризов неайтишной компании

Reading time9 min
Views93K
Отработав много лет в компаниях, занимающихся разработкой программного обеспечения на заказ, невольно начинаешь задумываться — а как всё-таки выглядит вся эта суета с другой стороны, со стороны заказчика? Грешным делом начинает казаться, что там всё просто и понятно, все люди сведущи и профессиональны, решения принимаются осмысленно и обоснованно, да и вообще, жизнь кипит, а не как в этом нашем айтишном болоте…

Пару-тройку лет назад подобные соображения подтолкнули меня попробовать поработать в компании, где источником дохода является что угодно, только не разработка софта. Удачно подвернулось предложение от бывших коллег занять должность IT-директора в одной из ведущих организаций финансовой сферы, и я приступил к кипучей деятельности, браво закатав рукава. Теперь, спустя некоторое время, с высоты, так сказать, полученного опыта, хочу поделиться сюрпризами, что ожидали меня на этом пути – конечно, те, кому уже довелось поработать в разных сферах и разных организациях, скорее всего не обнаружат тут для себя ничего ни нового, ни удивительного, однако для наивных айтишников вроде меня, видавших доселе только однотипные «бодишопы»-аутсорсеры, что-то может показаться и вправду неожиданным.
Итак, поехали
Total votes 185: ↑177 and ↓8+169
Comments251

Открываем доступ к видеозаписям HighLoad++ за последние пять лет

Reading time1 min
Views28K
image

Мы выложили в открытый доступ видеозаписи последних пяти лет конференции разработчиков высоконагруженных систем HighLoad++. Смотрите, изучайте, делитесь и подписывайтесь на канал YouTube.

Более терабайта записей и 500 видеороликов! Это всё, под катом только реклама :)

Перейти в канал YouTube!

Читать дальше →
Total votes 115: ↑110 and ↓5+105
Comments19

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

Reading time2 min
Views20K


Предприниматели, которые запустили первый бизнес в интернете не всегда легко разобраться с тонкостями его продвижения — в результате они расходуют маркетинговый бюджет без должных результатов. И даже тем, кто вроде бы неплохо знаком с онлайн-маркетингом далеко не всегда удается избежать ошибок.

Я собрал небольшой дайджест, в котором собраны ссылки на практические материалы, в которых рассказывается о том, как действенно привлечь трафик на свой сайт и после этого повысить его конверсию, а также каких ошибок стоит избегать в процессе работ.
Читать дальше →
Total votes 20: ↑13 and ↓7+6
Comments0

Становимся профессиональными PHP разработчиками. Часть 4: Работа в команде на практике

Reading time6 min
Views8K
Предлагаю вашему вниманию перевод четвертой части цикла статей «Becoming PHP professional».

» Первая часть. «Недостающее звено»
» Вторая часть. «Важность других людей»
» Третья часть. «Работа в команде»

Ранее мы рассмотрели социальные аспекты работы в команде и ее плюсы и минусы. Однако, осталось еще много вещей, на которые стоит обратить внимание и многому научиться в работе с другими людьми.

В этот раз, давайте поговорим о практическом применении полученных знаний, в частности, о виртуальных командах (где все или некоторые члены команды работают удаленно).
Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments8

Становимся профессиональными PHP разработчиками. Часть 1: Недостающее звено

Reading time7 min
Views28K
Предлагаю вашему вниманию перевод статьи «Becoming PHP professional. Missing link».

Введение


Когда я читаю различные блоги, связанные с PHP, вопросы на Quora (англоязычный сервис вопрос-ответ, прим. переводчика), сообщества в Google+, газеты и журналы, я часто замечаю крайнюю поляризацию навыков программирования. Вопросы бывают или уровня «А как же мне подключиться к базе данных MySQL», или что-то из области «Как мне лучше распределить ресурсы моей почтовой системы для того, чтобы отправлять более одного миллиона писем в час без использования нового сервера?»

Лично я выделяю 4 четких уровня «славы» в PHP (применимо так же и для любого другого языка или профессии): новичок, среднячок, профессионал и элита.
Читать дальше →
Total votes 26: ↑10 and ↓16-6
Comments16

Становимся профессиональными PHP разработчиками. Часть 2: Важность других людей

Reading time5 min
Views17K
Предлагаю вашему вниманию перевод второй части цикла статей «Becoming PHP professional».
Первая часть. «Недостающее звено»

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

Читать дальше →
Total votes 20: ↑15 and ↓5+10
Comments1

Реализуем http/2 server push с помощью nghttp2

Reading time3 min
Views20K
Всем привет, сегодня я расскажу о том, как настроил server push на своём сайте и добился увеличения скорости рендеринга страниц. Для начала о том, что же такое server push в HTTP/2. Это технология, позволяющая серверу «протолкнуть» дополнительные данные клиенту, в момент запроса основного документа. То есть в обычной ситуации запрашивает браузер html-страничку, затем обрабатывает её и приходит к выводу, что ему для корректного отображения необходимо подгрузить дополнительные файлы: стили, скрипты, изображения. После чего скачивает их и отображает конечный результат. Server push позволяет отправить дополнительные файлы уже в момент получения основного документа, и они уже будут иметься в кэше, когда они потребуются браузеру. За счёт этого возрастает скорость загрузки сайта.

На этот раз схема будет следующая:



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

Почему за GraphQL будущее

Reading time3 min
Views39K

И что это значит лично для вас


Вы наверняка уже слышали про GraphQL, среду выполнения и язык запросов данных с открытым кодом. Про него много говорят в последнее время – в частности, на конференции React Europe, недавно проходившей в Париже, было сделано три выступления про GraphQL. И прочитав этот пост, вы узнаете, почему.

1. Вы уже его используете


Даже если вы впервые слышите о GraphQL, вам интересно будет узнать, что вы пользуетесь им ежедневно последние несколько лет. У Facebook есть миллиард ежедневных активных пользователей, и GraphQL лежит в основе работы соцсети. Если вы используете Facebook, вы используете и GraphQL.

Facebook используют GraphQL с 2012 года – задолго до того, как его код был открыт в прошлом июле. С тех пор наблюдается шквал активности по его поводу, а экосистема вокруг его открытого кода быстро растёт.

2. GraphQL решает реальные задачи, и это заметно


Существование GraphQL радует не только разработчиков на React. Работающие с Angular, iOS и Android также интересуются тем, что GraphQL может им предложить. Причина роста популярности GraphQL в том, что он решает некоторые вполне реальные задачи, с которыми разработчики борются каждый день. Именно поэтому его уже адаптируют такие компании, как Twitter, Intuit и Drupal.

Платформа мобильной разработки Fabric от Twitter уже сделала анонс перехода на GraphQL:


С тех пор, как мы работаем над Apollo, стеком данных для GraphQL, почти каждый день к нам обращаются компании, жаждущие использовать GraphQL для создания новых продуктов, или даже переписать под него всю свою инфраструктуру.
Читать дальше →
Total votes 13: ↑4 and ↓9-5
Comments12

Важные аспекты работы браузера для разработчиков. Часть 1

Reading time9 min
Views85K

Автор: Антон Реймер

Статья основана на вебинаре, который я проводил некоторое время назад. Рассчитана она, в первую очередь на тех, кто не знает, как работают браузеры, или тех, у кого есть пробелы в знаниях. Вероятно, здесь будет много очевидного для тех кто не первый день в веб-разработке. Статью я решил разделить на две части. В первой рассмотрим общие принципы работы браузера. Во второй части я акцентирую внимание на некоторых важных моментах: reflow и repaint, event loop.

Что такое браузер?


Браузер — программа, работающая в операционной системе. Большинство браузеров написано на языке C++. Основное предназначение браузера — воспроизводить контент с веб-ресурсов. В качестве веб-ресурса в большинстве случаев выступает html-страница. Это также может быть pdf-файл, png, jpeg, xml-файлы и другие типы. Среди огромного количества браузеров можно выделить самые популярные: Chrome, Safari, Firefox, Opera и Internet Explorer. Мы рассмотрим браузеры с открытым исходным кодом: Chrome, Firefox, Safari.

Из чего состоит и как работает браузер?



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

Пользовательский интерфейс — то, что видит перед собой пользователь, т. е. адресная строка, элементы навигации, собственное меню и т. д. Несмотря на то что пользовательские интерфейсы очень похожи друг на друга, никакого стандарта, который их описывал бы, не существует. Так исторически сложилось, что браузеры постепенно перенимали интерфейс друг у друга и становились все более похожими.
Читать дальше →
Total votes 32: ↑27 and ↓5+22
Comments30

Information

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