Как стать автором
Обновить
-3
Карма
0
Рейтинг
Дэн @iit

php backed + js frontend

  • Подписчики 6
  • Подписки 7

Как я в одиночку сделал игру и выводы

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

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

Эффективное хранение: как мы из 50 Пб сделали 32 Пб

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

Эффективное хранение: как мы из 50 Пб сделали 32 Пб

Меня интересует вероятность коллизии — так как используеться sha1 она очень мала но все-же есть.
Были ли такие случаи, когда вместо договора человек при открытии письма получит открытку с котиками?

Защитить диплом. Пять минут позора или достойное выступление

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

Когда я сдавал диплом я выдал простую cms — человек вводит название URL и сам контент страницы. Если на url приходится 2 страницы и больше то они формируются в ленту и посмотреть их можно было по id — в итоге 9 классов на php и две сторонние библиотеки (jevix,medoo). Само много времени было убито на дизайн.

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

Для комиссии я приготовил отличные презентацию, на которые у меня ушло 4 часа. Качественные изображения и глянцевая бумага сделали свое дело. В итоге я презентовал эту SimpleCMS которая заранее развёрнута на бесплатном хостинге на ура!
Когда я объяснял работу — комиссия сверялась со слайдами где предоставлены скрины пяти шаблонов системы и основные функции работы системы, так что вопросы отпадают сами собой и их не задают, так как ответы уже есть в презентации. В итоге был только один вопрос — можно ли получить исходники и мануал по установке — на что я ответил что два cd диска с исходниками и инструкциями уже есть в самом дипломе.

Домашний хостинг сайтов с динамическим IP

Извиняюсь, что именно позволяет делать старый D-Link? Если что, у меня был D-Link T500 (с родной и кастомной прошивками), но не могу догадаться как он поможет мне хостить сайты.


У большиснтва роутеров серии D-link есть вкладва DDNS — которая позволяет автоматом привязать домен к роутеру, что и делает в ручную автор статьи. Точную модель роутера я не скажу, так как я отдал его уже года 2 назад.

ADSL да, Ethernet (или оптоволокно) нет.


Хорошо — тут вы меня уделали, у меня до сих про ADSL

Если можно, чуть больше конкретики. Вот мол, такой-то сервис, заходим туда-та, получаем то-то.


Берем AWS micro инстанс — он будет стоить первый год почти ничего
Мелкомягкие тоже дают облако попробовать https://azure.microsoft.com/en-us/free/?b=16.43
OpenShift дает машины пока у них preview https://www.openshift.com/devpreview/register.html

Стоит ввести free vds в гугл — увидим кучу ресурсов, которые их предоставляют.

Домашний хостинг сайтов с динамическим IP

Какой смысл делать все это вручную, если даже старый D-Link может автоматом все это настроить прямо из веб-панели? потом просто пробросить порт на 80 порт своего устройства.
Когда-то я так создал свою файлопомойку. Но теперь я разочаровался в этом подходе.

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

Раньше, когда хостинг был проблемой — то да такой подход имел место, я так диплом сдавал лет шесть назад.

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

Так что у меня закономерный вопрос — зачем это сейчас?

Даже такой нищеброд как я может позволить себе аренду сервачка виртуализации у того же hetzner чтобы держать там несколько сайтиков, owncloud, gitlab, vpn и еще пару полезных вещей.

В сети появился сайт содержащий базу номеров и адресов абонентов

Добавляю еще один источник — mail.ru так как там указано моё ненастоящее отчество которое радостно высветилось в журнальчике.

Структуры данных для самых маленьких

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

Только разные языки и разные платформы дают разные средства для оптимизации. В с/с++ множество подобных средств, думаю в C# тоже парочка найдется. Но вот в тех-же Ruby/Python/Ruby таких средств маловато в php способы писать эффективный код вообще на грани лайвхаков.

Структуры данных для самых маленьких

Если разрабатывать на c или c++ то да можно эффективно управлять памятью и разбор этих файлах на НКА будет действительно занимать пару минут и эффективно расходовать память и время но вот на написание, отладку и деплой всей этой радости на с++ времени не было. Так что работал с тем что было и что знаю.

Хотя в итоге все оказалось как обычно — не нужно. Партнеры которые отдавали эти суровые xml теперь открыли публичное json api, написали модуль для популярной cms и даже запилили об этом статью на хабре. В итоге пол года отработавший код заменили на cms+модуль.

Структуры данных для самых маленьких

Посмотрел в сторону xml_parser_create — классная вещь однако, думаю когда вернусь к этому проекту — перепишу парсер.

Структуры данных для самых маленьких

В сторону xml_parser_create и прочего пока не смотрел.

Само создание и обход xml древа выполняется достаточно быстро. Но вот dom и simpleXML как результат разбора возвращают объект. И вот обработка коллекции из более миллиона объектов средствами php вызывает просто дикие тормоза и нагрузку на память и процессор, если при разборе сразу перевести объекты в массивы и построить коллекцию уже из массивов — тогда обработка идет уже намного быстрее.

Структуры данных для самых маленьких

Отличный перевод статьи!

Списки реализовывали еще в колледже на старом добром pascal, к сожалению про деревья рассказывали что они просто есть и ни одного сами не реализовывали.

Понимание принципов работы структур данных сильно упрощает жизнь разработчику. Вот по деревьям упоролся на совсем странной ситуации: делал сторонний проект суть которого — разбор xml файлов размером ~3гб.

Язык php (можете кинуть в меня камень, но не я такой — специфика заказчика).
Изначально работая с dom обработка файла с сохранением в базу занимала около 3 часов. Если посмотреть в сторону более легковесного simpleXML то уже 2.5 часа, сам объект simpleXmlElement компактнее серии объектов из dom.

Далее если изначально перегнать все данные из XML объектов в дерево на массивах то разбор обработка уже сократится до 20 минут (массивы куда более производительны чем объекты). Отказавшись от старого доброго mysql в пользу postgres с переносом некоторых операций разбора на саму базу время уже сократилось до 20-30 секунд.

Итог — понимание того как устроены структуры данных в конкретном языке сократило выполнение операции с 3 часов до 30 секунд, при этом еще и уменьшились затраты памяти и процессорного времени. Так что учите структуры данных и способы работы с ними — пригодиться в самый внезапный момент.

30 вредных советов для php-разработчиков

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

Ну вряд ли кто-то вручную подключает все файлы.
А стоит ли использовать тяжеловесные фреймворки? :)

У него legacy проект где нет composer и из за кучей инклюдов в разных файлах он долго пытался понять где и что подключается.

Разве GLOBALS страшны закончившейся озушкой. Я такого не слышал :)


В том проекте храниться в них все, начиная от результатов выборки бд на более 1ккк строк, заканчивая данными из сессий пользователей.

Хм, а как вывести список по другому? :)


Тут мы постоянно спорим IRL — автор сразу создает DOM объект и рендерит уже чистый html добавляя в него данные списка. Я же юзаю laravel и использую конструкции for в blade

Когда существует только один инстанс/нету привязки у метода к инстансу, то часто так и делаю :)

В этом случае все ок, но когда все начиная от моделей и заканчивая шаблонами и бизнес-логикой сделано статикой, это превращается в ад.

Храните всю информацию о пользователях в одной таблице — данные для авторизации, анкетные данные, домашние адреса и телефоны, места работы, да вообще любую информацию храните в одной таблице и не забывайте про serialize

В проекте автора есть три таблицы на +100 полей причем в них есть 3-5 поля с php serialize на еще +50 полей. Причем некоторые serialize были поправлены без десериализации чьими-то кривыми ручками в базе и окончательно испорчены.

PCB Cube — настольный календарь или абсолютно нежизнеспособная идея

2014 год, на hackday в Алматы один из участников показал рабочий прототип такого куба из четырех экранов. Но вот аудитория не поняла…

Станет ли OpenStack «новым LAMP»?

Это конечно так, но от этого отнюдь не легче их использовать и настраивать, и глючность это нисколько не уменьшает.

Станет ли OpenStack «новым LAMP»?

Про порог вхождения согласен. В свое время успел поднять OpenStack OpenNebula и CloudStack когда выбирал систему виртуализации.

Управлять ими было очень сложно.
В OpenStack постоянно глючил Horizon и Cinder.
В OpenNebula глючил nfs шара, которая нужна для виртуальных машин.
CloudStack не хотел подниматься если самому не сделать патч.

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

В итоге, поскольку хост у меня один — поставил ProxMox. Достаточно простой и надежный софт, трудности были только в выпиливании openVZ и настройке KVM. А так уже больше года полет нормальный.

В Швейцарии открыт самый длинный в мире железнодорожный тоннель: 57 км

Это точно, такое ощущение что что вот вот на тебя прыгнет хэдкраб или еще что похуже.

Linux для начинающего разработчика или как навсегда забыть о Windows

У меня были следующие проблемы:
1) мой wifi-adapter TL-WN725N — постоянно глючит, пробовал вручную собирать драйвера с сайтов tp-link пробовал эмуляцию через драйвера windows в общем не помогло, в итоге использую мобильник с android на борту в режиме usb модема

2) Так как видеокарта поддерживает только DVI и HDMI а оба монитора только vga ось не правильно определяет разрешения экрана второго монитора. В итоге через xrandr и nvidia controls удалось достичь приемлемого результата. Хотя второй монитор на прочь отказывался принимать кастомные значения из xrandr.

3) Так как по привычке как DE использую gnome3 есть проблема начиная с 14.10 в виде переключения клавиатуры через ctrl+shift

4) SSD диск периодически отваливается в readonly из за чего стоит сразу переписать конфиги монтирования и grub советую также отрубить экран загрузки так как лог загрузки важнее и можно на глаз заметить что отвалилось в случае чего.

Хотя есть и множество плюсов

Игры из steam вроде той же dota2 или arc survival работают более производительнее чем на win7 и win10.

Для веб-разработчика разработка на линухе просто рай.

Куча открытого софта на все случаи жизни.

Вместо обычного LAMP рекомендую следующую связку:

Локальный dns bind который позволит более удобно тестить проекты используя домен. Плюс dns кэш ускорит загрузку всех внешних сайтов и спасет от глюков dns провайдера если резервным dns назначить те же dns гугла,
вместо apache лучше поставить nginx что позволит использовать не только php через php-fpm но и HHVM, ROR, python и java проекты.

Еще можно поднять виртуальные машины, самый удобный вариант virtualbox и более сложные — XEN, KVM и docker. Это позволит работать в том же photoshop и других программах аналогов которых на Linux нет или прогонять проекты на других средах.

Сравнение SSD и HDD дисков в реальных условиях использования

Данная софтина сканит весь диск как физическое устройство или только разделы, если по разделам то сканит ext2 и ext4?

Сравнение SSD и HDD дисков в реальных условиях использования

Восстановление данных сложнее и по этому и дороже, на счет внезапной смерти сам мучаюсь этим вопросом.

На всякий случай храню копии проектов на HDD и в облаке

Информация

В рейтинге
Не участвует
Откуда
Алматы (Алма-Ата), Алма-Атинская обл., Казахстан
Дата рождения
Зарегистрирован
Активность