2023年11月29日 星期三
for .net core mvc ,關於json輸出、反序列化一二事
2023年10月28日 星期六
informix之.net core EF 套用.
直接參考這文章做就差不多了
很多人會卡在Scaffold-DbContext這一關
重點是要注意一下PORT ,因為informix EF Core用的是DRDA的port,所以不是之前我們用odbc的(預設)9088而是9089.
如同上述內文說的:Please note: The IBM Data Server providers only works with the Distributed Relational Database Architecture™ (DRDA) protocols, and you therefore need to ensure that your Informix server is configured accordingly.
(這點你要跟你們家的DBA問一下給不給連,也要問網管開不開port,說真的,我也沒把握一次要他們從DEV、UAT到Production這樣一次開這麼多東西給你,所以本單元真的就是自己練功用的)
上述超連結提到的package有點舊了,我實驗的package有update,也都正常
-----------project target framework是.net 6.0------------------
-----------------------------
這是我localhost的scaffold-Dbcontext script,留做我日後小抄用
-------------------------------------------------------------
Scaffold-DbContext -Connection "user id=informix;server=localhost:9089;database=db_with_log;Password=xxxOOO" -Provider IBM.EntityFrameworkCore -OutputDir Models -Force -UseDatabaseNames -Tables test_user,test_data
--------------------------------------------
彩蛋一下:
這份PDF不錯,如果你是.net+informix的重度使用者,可以看一下
OS:明明用到的機會渺茫.我還是堅持到底地把它試出來玩了幾番,這也是種職業病吧
2023年10月20日 星期五
拜見老前輩--informix使用記錄(.net 4.5用)
最近因為案子需要,所以接觸到informix
為此在本機(win11)安裝了informix develper version
照理說應該不需要管到informix server的管理,這應該是DBA的工作
不過如果是本機開發測試需要,真的都要自己來
註:以下是為ODBC+.net4.5準備的操作,如果是可以用 .net core開發informix應用的話,請用entity framework core即可,IBM有為.net core發行了相關的EFcore套件.比較不必費心在transaction控管上面.既然上面要求要用.net4.x就老老實實配合就是了
----言歸正傳-----
安裝informix develper server不是問題,我們是用Odbc連線做之後的增刪修查
(因為這樣日後移機會比較好改比較簡單,只要做odbc 設定就好)
雖說「比較簡單」,一點也不簡單
首先來說,你要怎麼測能不能連,當然是用他們自家的工具--ConnectTesst Demo 測比較快
如果連不上,或是想把上面的host改成ip的話,請到「C:\Program Files\IBM Informix Software Bundle\etc\sqlhosts.ol_informix1410」去改把host pc name改成 ip
ol_informix1410 olsoctcp 127.0.0.1 ol_informix1410
dr_informix1410 drsoctcp 127.0.0.1 dr_informix1410
lo_informix1410 olsoctcp 127.0.0.1 lo_informix1410
--------------------
必要時,連「C:\Program Files\IBM Informix Software Bundle\ol_informix1410.cmd」的內容也要改
一般只會講到這一頁
「可是....我怎麼試,transaction總是auto commit,到底要怎樣才能支援transaction?」
「很好,這表示你真的有在玩下去,你可以
在create db時,log mode一定不能選「none」,好歹有個log模式就是了(不知道就用「with log」)
2023年7月5日 星期三
小試一下,FSMC之於LCD(NT35510),在F103的設定(by Stm32CubeMx)
雖然用GPIO會比較快,也可以省卻「如果你的chip不支援FSMC...」的問題
(即0x60000000~0x6FFFFFFF分成區,第四區起始位址即為0x6C000000,參考「STM32F103 战舰开发指南V1.1.pdf」P365)
2023年6月18日 星期日
For Xamarin.android 如何用Android.Hardware.usbconnect來做HID 的write report類似的動作
---
2023年5月15日 星期一
for STM32F103,抓輸入的PWM的週期及高電位時間
別看原子哥老師的程式碼寫的落落長,
測量器TIM8的slave mode用reset mode (即:一有輸入,即觸發一次reset /update 事件)
「一定要,因為預設是update優於input capture」
STM32 timer系列可以參考這個播放 清單, 這位老師也是座寶山....
2023年4月12日 星期三
for stm32,如果要在GPIO的EXTI中斷處理裡面用delay的話,怎麼設計比較好
因為預設的SysTick的優先序是排到15去,而後續定義的EXTI的優先層級都比它還高
既然是分時多工之用,那一定是會有時間分割上的出入,自然不若GPIO那樣要即時處理電位起伏帶來的事件/中斷來得緊急(優先)之故,畢竟GPIO是在最前線作戰的單位,其所關注的事件一定是有很高的優先處理順序.這點很合理的
void delay_us (uint16_t us)
{
__HAL_TIM_SET_COUNTER(&htim1,0); // set the counter value a 0
while (__HAL_TIM_GET_COUNTER(&htim1) < us); // wait for the counter to reach the us input in the parameter
}
}
2023年3月30日 星期四
For mac 如何製作開機碟並進入「 Startup Manager」
Apple Silicon Mac Startup Key Combinations
It is simple for Apple Silicon Mac users to remember the startup key combination because you just need to press the power button or Touch ID.
You can press the power button or Touch ID and release it until the startup options show up on the screen.
What can you do in the Mac startup window? The following tools or options are available:
- macOS Recovery.
- System Restore Mac.
- Install or reinstall macOS.
- Safari.
- Disk Utility Mac.
- Startup Security Utility.
- Terminal.
- Startup Disk.
- -----------------
- 以上,祝開機大吉
- P.S. chatGPT不錯用啦,只是你一定要去驗證監督就是了 (不然公司請它就夠了咩)
其他的要設為APFS格式
他們的partition type都是GUID Partition Map格式
sudo /Applications/Install\ macOS\ Ventura.app/Contents/Resources/createinstallmedia --volume /Volumes/UsbBoot
--nointeraction再選擇欲安裝到的目的碟(剛才的UsbMain)
2023年2月26日 星期日
在mac之下的vs2022,點擊「*.xib」檔,卻不見xcode開啟設計介面,即便開啟,也無法看到其他相關檔案(如*.h檔)
如果你要用純粹的xamarin.ios架構設計,而不用xamarin.form架構的話
2023年2月4日 星期六
用winrar解簡體中文壓縮檔產出成亂碼目錄、檔案名稱!? 如何解決?
如果有一堆簡中檔名的zip檔要解的話,不用一直重複上面的動作,直接在winrar裡的「.. 」(回上層目錄),開啟檢視其他要解開的zip檔,這樣就不必一直切換「名稱編碼」,檢視得到正確的檔案目錄名稱便可直接拖出到目的資料夾裡,比較省事
2023年1月12日 星期四
for ROS2 同一個 package 即要有cpp的node,又想加入python node,如何定義這樣的package?
放心,這需求不是今天才出現的,有時網路上找到的lib是cpp或是python ,而又不想各別定義成不同的package,就會需要樣的應用了( 當然你也可以用ctypes來解決 python call c's dll/so ,
-------------------------------
-----------------
2023年1月8日 星期日
ROS2 colcon build遇到的問題 (distro:foxy on ubuntu 20.04)
Q1.錯誤訊息「undefined reference to `rosidl_message_type_support_t const* rosidl_typesupport_cpp::get_message_type_support_handle<sensor_msgs::msg::Imu_<std::allocator<void> > >()' collect2: error: ld returned 1 exit status」
sol:請檢查 CMakeLists.txt 的ament_target_dependencies 及 c_cpp_properties.json includePath 及 package.xml 的 depend ,套件/路徑有沒有加入(以上述的訊息,是「sensor_msgs」套件定義漏了)
Q2.錯誤訊息「python3.8/site-packages/setuptools/dist.py:717: UserWarning: Usage of dash-separated 'script-dir' will not be supported in future versions. Please use the underscore name 'script_dir' instead 」
sol:除了要「pip install setuptools==58.2.0」把setuptools降級之外,也要把package裡的「setup.cfg」
的「script-dir」及「install-scripts」改為「script_dst」「install_script」
Q3.For python: 執行node時找不到自己定義的模組(明明colcon build都沒錯!!)
sol:請在setup.py的「data_files」裡加上「('lib/' + package_name, [package_name+'/SimpleOneTrailerSystem.py']),」
data_files=[
('share/ament_index/resource_index/packages',
['resource/' + package_name]),
('share/' + package_name, ['package.xml']),
('lib/' + package_name, [package_name+'/DC_Motor.py']),
],
--------