Питання, що в нас по альтернативам 1С? Є якісь єдині системи ведення складу та бухгалтерії?
готуйтесь перероблювати ваші кукі банери)) https://www.politico.eu/article/europe-cookie-law-messed-up-the-internet-brussels-sets-out-to-fix-it/
POLITICO
Europe’s cookie law messed up the internet. Brussels wants to fix it. – POLITICO
The European Commission wants to take a bite out of privacy rules that force websites to run cookie banners.
👏13❤3
Ми розширюємо виробництво літаків, треба будуть складальники, пайщики та налаштувальники бортів. Всьому навчаємо. На налаштування треба бажано трошки технічну людину яка шось шарить в компах.
Може в кого серед знайомих чи родичів є люди (часто це студенти) які шукають роботу? Київ, робота на виробництві по місцю.
Буду вдячний за поширення.
https://skydefenders.com.ua/
Може в кого серед знайомих чи родичів є люди (часто це студенти) які шукають роботу? Київ, робота на виробництві по місцю.
Буду вдячний за поширення.
https://skydefenders.com.ua/
🔥12😁3
Донатні книжки всім відправив.
Пес нагадує вам про збір на корча Т5 для однокласника та його побратимів з fpv підрозділу в 1 бригаді ТРО
Вже є 160к з 420 👉 https://send.monobank.ua/jar/8czBpeXpDu
Пес нагадує вам про збір на корча Т5 для однокласника та його побратимів з fpv підрозділу в 1 бригаді ТРО
Вже є 160к з 420 👉 https://send.monobank.ua/jar/8czBpeXpDu
❤10👍2
В кого вигорання чи інші захворювання, запрошую вас на толоку.
Тут можна покосити бурʼян, зламати паркан, спалити його, нарубати дров, вкрасти в сусіда гарбуза, розвалити сарай, залатати дах, поштукатурити стіни.
І все це безкоштовно!
Тут можна покосити бурʼян, зламати паркан, спалити його, нарубати дров, вкрасти в сусіда гарбуза, розвалити сарай, залатати дах, поштукатурити стіни.
І все це безкоштовно!
🔥30❤2
Класне інтерв'ю з розробником софту для війська https://www.youtube.com/watch?v=FauHsTVBdmQ
YouTube
Як рососіянци ламають укр. військовий софт? Ярослав Шерстюк (MyGun, TacticMap, MilChat, Кропива)
Стати спонсором каналу:
https://www.youtube.com/@hackyourmom-hackyoumom6166
Сьогодні у гостях — пан Ярослав Шерстюк: розробник софту для військових MyGun, TacticMap, MilChat, Ukrop, співрозробник Кропива. Через Ярослава знищили до 30% української артилерії?…
https://www.youtube.com/@hackyourmom-hackyoumom6166
Сьогодні у гостях — пан Ярослав Шерстюк: розробник софту для військових MyGun, TacticMap, MilChat, Ukrop, співрозробник Кропива. Через Ярослава знищили до 30% української артилерії?…
🔥11
This media is not supported in your browser
VIEW IN TELEGRAM
Тільки мене тригерить оце плаваюче меню поверх стрічки? Наче і не заважає, але створюється відчуття перекритого контенту.
Я так розумію це те, що нас чекає коли всі підтягнуться під дизайн iOS 26
Я так розумію це те, що нас чекає коли всі підтягнуться під дизайн iOS 26
💯34👍4😁4
This media is not supported in your browser
VIEW IN TELEGRAM
нарешті fpv каміки в новій батлі
❤9👍4🤩1
господи поможи, у фронтенді революція, люди дивляться на Remix 3, і не викупають шо ми повертаємось в часи бекбону
чювакі не роздуплили сигнали походу
https://frantic.im/remix-3/
function Counter(this: Remix.Handle) {
// State is just a closure
let count = 0;
return () => (
<div>
<div>{count}</div>
<button
class="p-2 text-green-500"
on={dom.click((event, signal) => {
count++;
this.update();
})}
>
Inc
</button>
</div>
);
}this.update() ви шо серйозно?чювакі не роздуплили сигнали походу
https://frantic.im/remix-3/
frantic.im
Thoughts on Remix 3
The pendulum is about to swing the other direction
🤔4🤮2💯2
Ладно, напишу шо думаю. Як на мене, то це все виглядає так, що більшості проєктам треба HTML і трохи JS. Але тому шо за роки досягнень та маркетингу всі пересіли на React, плюс Vercel пушить непотрібну складність, то є запит на щось модернове і просте.
Але люди вже звикли к отаким типу фулстек фреймворкам, де в тебе і бекенд з серверним рендерингом і роутер і дата фетчинг і клієнт і все це інтегровано. Тому хочеться щоби було комплексне і просте рішення.
Тому повертаючись до React. Keep calm і продовжуйте робити на ньому те, для чого він був створений — виключно клієнтські високо-інтерактивні застосунки. Саме в таких проєктах декларативність UI допомагає не загрузнути у складності. А для лендосів і конструкторів з формочками воно не треба.
В моїй роботі мало що змінилось за роки використання реакту, хіба що хуки прийшли, але і ними я мало користуюсь, бо для нетривіальних проєктів краще підходить стейт менеджер. З усіх апішок доданих за останні роки я майже нічого не використовую. І це не заважає будувати такі апки як https://pitch.com/ та https://whimsical.com/
Найкраще що дав реакт — це декларативний UI
Але люди вже звикли к отаким типу фулстек фреймворкам, де в тебе і бекенд з серверним рендерингом і роутер і дата фетчинг і клієнт і все це інтегровано. Тому хочеться щоби було комплексне і просте рішення.
Тому повертаючись до React. Keep calm і продовжуйте робити на ньому те, для чого він був створений — виключно клієнтські високо-інтерактивні застосунки. Саме в таких проєктах декларативність UI допомагає не загрузнути у складності. А для лендосів і конструкторів з формочками воно не треба.
В моїй роботі мало що змінилось за роки використання реакту, хіба що хуки прийшли, але і ними я мало користуюсь, бо для нетривіальних проєктів краще підходить стейт менеджер. З усіх апішок доданих за останні роки я майже нічого не використовую. І це не заважає будувати такі апки як https://pitch.com/ та https://whimsical.com/
Найкраще що дав реакт — це декларативний UI
👍16❤2
Давайте розкажу вам про всілякі performance штуки.
Нещодавно дивився як в ClojureScript прискорити деякі операції в іммутабельних векторах. Вектор це типу масив, але усі операції на ньому створюють новий вектор і під капотом він імплементований як дерево з 32 нодами в кожній гілці. Отут можна більш детально почитати про імплементацію векторів https://hypirion.com/musings/understanding-persistent-vector-pt-1
Як порівняти два таких вектори? Типу зробити
Замість того, щоб використовувати загальний механізм (тут це ітератор), можна спеціалізувати код для порівняння двох векторів і використати деталі імплементації вектору щоб прискорити операцію порівняння. По суті можна пройтись по дереву, порівнюючи його гілки (масиви по 32 елементи). Так як вектор імутабельний, його гілки теж імутабельні. Тому порівняння пари гілок в більшості випадків можна робити по посиланню, а коли гілки відмінні по посиланню, то перевірити їх глибоким обходом.
Таким чином worst case виграш по швидкості виходить близько 30%, що дуже непогано.
Ще одна штука. Є в нас вектор
У реальному коді конвертація векторів у chunked seq відбувається доволі часто. Я помітив, що порівняння вектору з chunked seq повільніше ніж порівняння двох векторів між собою. Виявилось що як і у випадку з векторами, порівняння відбувається лінійниим перебором. А так як chunked seq тримає в собі оригінальний вектор, то задача оптимізації цього випадку по суті зводиться знов до порівняння двох векторів через спеціалізацію коду під цей випадок.
Тут результати бенчмарку показали приріст у швидкості операції від 300% до 500%.
Здавалося б що це непотрібні мікро оптимізації, але коли вони робляться у самій мові програмування чи її стандартній бібліотеці, то всі користувачі мови автоматично отримують покращення при цьому не сплачуючи за це ні центу.
Також це хороший приклад того, як на перших порах можна зробити працююче рішення на абстракціях і пізніше покращити конкретні кейси через спеціалізацію алгоритму на більш низькому рівні. В таких випадках точкове ускладнення коду цілком виправдане.
Нещодавно дивився як в ClojureScript прискорити деякі операції в іммутабельних векторах. Вектор це типу масив, але усі операції на ньому створюють новий вектор і під капотом він імплементований як дерево з 32 нодами в кожній гілці. Отут можна більш детально почитати про імплементацію векторів https://hypirion.com/musings/understanding-persistent-vector-pt-1
Як порівняти два таких вектори? Типу зробити
[1 2 3] == [1 2 3]. По класиці — це пройтись по кожному елементу і порівняти їх. Це реалізовано через ітератор, порівнюємо кожні наступні значення поки не знайдемо пару відмінних значень it1.next() == it2.next(). Аллокація ітератору і виклик його методів займає час і пам'ять. Але є інший спосіб.Замість того, щоб використовувати загальний механізм (тут це ітератор), можна спеціалізувати код для порівняння двох векторів і використати деталі імплементації вектору щоб прискорити операцію порівняння. По суті можна пройтись по дереву, порівнюючи його гілки (масиви по 32 елементи). Так як вектор імутабельний, його гілки теж імутабельні. Тому порівняння пари гілок в більшості випадків можна робити по посиланню, а коли гілки відмінні по посиланню, то перевірити їх глибоким обходом.
Таким чином worst case виграш по швидкості виходить близько 30%, що дуже непогано.
Ще одна штука. Є в нас вектор
[1 2 3 4 5 6 7 8], і ми робимо йому (drop v 4) щоб видалити перші 4 значення. Під капотом насправді оригінальний вектор не змінюється, а огортається в тип даних ChunkedSeq (послідовність значень розбита на групи) і трекає позицію з якою ця послідовність починається. Якщо ми дропнули перші 4 значення у векторі, то chunked seq буде починати вичитувати значення з індексу 4 у оригінальному векторі.У реальному коді конвертація векторів у chunked seq відбувається доволі часто. Я помітив, що порівняння вектору з chunked seq повільніше ніж порівняння двох векторів між собою. Виявилось що як і у випадку з векторами, порівняння відбувається лінійниим перебором. А так як chunked seq тримає в собі оригінальний вектор, то задача оптимізації цього випадку по суті зводиться знов до порівняння двох векторів через спеціалізацію коду під цей випадок.
Тут результати бенчмарку показали приріст у швидкості операції від 300% до 500%.
Здавалося б що це непотрібні мікро оптимізації, але коли вони робляться у самій мові програмування чи її стандартній бібліотеці, то всі користувачі мови автоматично отримують покращення при цьому не сплачуючи за це ні центу.
Також це хороший приклад того, як на перших порах можна зробити працююче рішення на абстракціях і пізніше покращити конкретні кейси через спеціалізацію алгоритму на більш низькому рівні. В таких випадках точкове ускладнення коду цілком виправдане.
Hypirion
Understanding Clojure's Persistent Vectors, pt. 1
Ever wondered how Clojure's persistent vector actually works? This is part 1 of a blog series which aims to explain them.
👍21🤯2
Прийшов час збирати ваші донати на пластик для друку бімб для ЗСУ. За останні три місяці ми надрукували виробів на 750кг
Гроші на банці закінчуються, а вже треба купляти пластик. Цього місяця ми ще й розширили команду друкарів.
Тому як завжди, буду вдячний за допомогу та поширення 👉 https://send.monobank.ua/jar/8TTMjgaRFy
Гроші на банці закінчуються, а вже треба купляти пластик. Цього місяця ми ще й розширили команду друкарів.
Тому як завжди, буду вдячний за допомогу та поширення 👉 https://send.monobank.ua/jar/8TTMjgaRFy
🔥20❤4👏1
Хтось шукає роботу розробником (веб та/або мобайл)? Знайомим у медичний стартап треба людина для розробки mvp. Пишіть в коментах, передам контакт.
доречі класна штука за кермом — це включити chatgpt у голосовому режимі і обговорювати свої штуки з ним поки кудись їдеш, працює дуже класно в дорозі
я іноді використовую його як туристичний гайд, питаю про населені пункти які проїзжаю
кльово було б інтегрувати в нього геолокацію та камеру переднього/заднього виду )
я іноді використовую його як туристичний гайд, питаю про населені пункти які проїзжаю
кльово було б інтегрувати в нього геолокацію та камеру переднього/заднього виду )
❤18🔥14👍6